Timeline
Jun 4, 2016:
- 8:46 PM Changeset in webkit [201693] by
-
- 9 edits in trunk/Source/WebCore
Modern IDB: Crash seen in IDBConnectionProxy::putOrAdd on GuardMalloc bot
https://bugs.webkit.org/show_bug.cgi?id=158124
Reviewed by Darin Adler.
No new tests (Covered by existing test configurations).
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::putOrAddOnServer):
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::putOrAdd):
- Modules/indexeddb/client/IDBConnectionProxy.h:
(WebCore::IDBClient::IDBConnectionProxy::callConnectionOnMainThread):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::writeBlobsToDiskForIndexedDB):
- bindings/js/SerializedScriptValue.h:
- platform/network/BlobRegistry.h:
- platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::writeBlobsToTemporaryFiles):
- platform/network/BlobRegistryImpl.h:
- 5:59 PM Changeset in webkit [201692] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: add a keyboard shortcut to open the new tab tab
https://bugs.webkit.org/show_bug.cgi?id=158365
<rdar://problem/26631897>
Reviewed by Timothy Hatcher.
Make Cmd-t show the new tab tab if it's not already open and
there is at least one tab type that's not currently in the tab bar.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._updateNewTabButtonState):
(WebInspector.showNewTabTab):
(WebInspector.isNewTabWithTypeAllowed):
Clean up the code that decides whether we can show the new tab tab.
It is now a special case inside WebInspector.isNewTabWithTypeAllowed.
- UserInterface/Views/NewTabContentView.js:
(WebInspector.NewTabContentView.prototype._updateShownTabs):
Use Array.from.
- 5:36 PM Changeset in webkit [201691] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r201474): Should set overflow: hidden on -webkit-media-controls when placeholder is showing
https://bugs.webkit.org/show_bug.cgi?id=158377
Reviewed by Darin Adler.
In r201474, we defer removing the hidden class from inlinePlaybackPlaceholder until
showInlinePlaybackPlaceholderWhenSafe(). We also need to move the code that adds the
placeholder-showing class to -webkit-media-controls to that method.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.showInlinePlaybackPlaceholderWhenSafe):
Add the "placeholder-showing" class to -webkit-media-controls when we show the placeholder.
(Controller.prototype.handlePresentationModeChange):
Remove the "placeholder-showing" class from -webkit-media-controls when we hide the
placeholder. Remove the old code that adds and removes that class.
- 4:02 PM Changeset in webkit [201690] by
-
- 3 edits in trunk/Source/WebCore
leaks seen in fast/css/variables tests
https://bugs.webkit.org/show_bug.cgi?id=150728
Reviewed by Anders Carlsson.
Fixes leaks seen running fast/css/variables tests with leak checking turned on.
- css/CSSPrimitiveValue.cpp:
(WebCore::isStringType): Added. For debugging purposes so we catch cases where we
are not treating strings consistently between construction and destruction.
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Assert isStringType returns true.
(WebCore::CSSPrimitiveValue::cleanup): Added CSS_DIMENSION and CSS_PARSER_IDENTIFIER
to the list of types that have to decrement the reference count of the string we own.
Both types are passed to the string constructor above.
- css/CSSValueList.cpp:
(WebCore::CSSValueList::buildParserValueListSubstitutingVariables): Restructured the
code so we destroy any CSSParserValue that we don't use. This is needed because of the
peculiar requirements of CSSParserValue: it has a be a struct without a destructor so
it can be used in the CSS grammar, so we have to destroy it explicitly. Ideally we would
minimize any use of it outside the CSSParser itself, but as long as we are using it, we
need to do this explicit destruction.
- 3:48 PM Changeset in webkit [201689] by
-
- 15 edits4 deletes in trunk/Source/WebKit
Remove NPSPI that is no longer used
https://bugs.webkit.org/show_bug.cgi?id=158384
Reviewed by Sam Weinig.
Source/WebKit:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKit/mac:
- Configurations/WebKitLegacy.xcconfig:
- Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCCheckIfAllowedToLoadURL): Deleted.
(WKPCCancelCheckIfAllowedToLoadURL): Deleted.
(WKPCResolveURL): Deleted.
- Plugins/Hosted/NetscapePluginInstanceProxy.h:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Deleted.
(WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURL): Deleted.
(WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL): Deleted.
(WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURLResult): Deleted.
(WebKit::NetscapePluginInstanceProxy::resolveURL): Deleted.
- Plugins/Hosted/WebHostedNetscapePluginView.h:
- Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Deleted.
(-[WebHostedNetscapePluginView _containerCheckResult:contextInfo:]): Deleted.
- Plugins/Hosted/WebKitPluginClient.defs:
- Plugins/WebBaseNetscapePluginView.h:
- Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]): Deleted.
- Plugins/WebNetscapeContainerCheckContextInfo.h: Removed.
- Plugins/WebNetscapeContainerCheckContextInfo.mm: Removed.
(-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]): Deleted.
(-[WebNetscapeContainerCheckContextInfo checkRequestID]): Deleted.
(-[WebNetscapeContainerCheckContextInfo callback]): Deleted.
(-[WebNetscapeContainerCheckContextInfo context]): Deleted.
- Plugins/WebNetscapeContainerCheckPrivate.h: Removed.
- Plugins/WebNetscapeContainerCheckPrivate.mm: Removed.
(browserContainerCheckFuncs): Deleted.
- Plugins/WebNetscapePluginView.h:
- Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]): Deleted.
(-[WebNetscapePluginView _containerCheckResult:contextInfo:]): Deleted.
(-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Deleted.
(-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Deleted.
(-[WebNetscapePluginView fini]): Deleted.
(-[WebNetscapePluginView getVariable:value:]): Deleted.
(-[WebNetscapePluginView resolveURL:forTarget:]): Deleted.
- Plugins/npapi.mm:
(WKN_CheckIfAllowedToLoadURL): Deleted.
(WKN_CancelCheckIfAllowedToLoadURL): Deleted.
(WKN_ResolveURL): Deleted.
- 3:34 PM Changeset in webkit [201688] by
-
- 3 edits in trunk/Source/WebKit/mac
Temporary build fix. (This function is going away).
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURLResult): Deleted.
- Plugins/Hosted/WebKitPluginHost.defs:
- 2:28 PM Changeset in webkit [201687] by
-
- 2 edits in trunk/Source/WebCore
32-bit build fix
https://bugs.webkit.org/show_bug.cgi?id=158383
rdar://problem/26628125
Reviewed by Dan Bernstein.
Synthesize the webPlaybackSessionInterfaceMac property.
- platform/mac/WebPlaybackControlsManager.mm:
- 2:09 PM Changeset in webkit [201686] by
-
- 8 edits in trunk/Source/WebInspectorUI
Web Inspector: discontinuous recordings should have discontinuities in the timeline memory graph
https://bugs.webkit.org/show_bug.cgi?id=158052
<rdar://problem/26516695>
Reviewed by Joseph Pecoraro.
Add gaps to the overview and category line charts where discontinuities
exist in the timeline recording.
- UserInterface/Models/Timeline.js:
(WebInspector.Timeline.prototype.recordsInTimeRange):
Replaces_visibleRecordsmethods found in various views.
- UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.reset):
(WebInspector.TimelineRecording.prototype.addDiscontinuity):
(WebInspector.TimelineRecording.prototype.discontinuitiesInTimeRange):
Allow discontinuities to be added to the recording, and have a means to
look up gaps within a time range.
- UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js:
(WebInspector.HeapAllocationsTimelineOverviewGraph.prototype._visibleRecords): Deleted.
Replaced by Timeline helper method.
- UserInterface/Views/MemoryTimelineOverviewGraph.js:
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.insertDiscontinuity):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout):
Insert zero-points into the chart at discontinuity boundaries to create
gaps. Data points for records immediately before or after a gap are extended
to the edge of the discontinuity.
(WebInspector.MemoryTimelineOverviewGraph.prototype._visibleRecords): Deleted.
Replaced by Timeline helper method.
- UserInterface/Views/MemoryTimelineView.js:
(WebInspector.MemoryTimelineView.prototype.layout):
Insert zero-points into each category chart at discontinuity boundaries
to create gaps.
Insert zero-points into the chart to create gaps.
(WebInspector.MemoryTimelineView.prototype._visibleRecords): Deleted.
Replaced by Timeline helper method.
- UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview.prototype.discontinuitiesInTimeRange):
Forward to the TimelineRecording, which isn't exposed to clients.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
(WebInspector.TimelineRecordingContentView.prototype._capturingStopped):
(WebInspector.TimelineRecordingContentView.prototype._recordingReset):
Track discontinuities (recording stop followed by a start) and add them
to the current recording.
- 1:59 PM Changeset in webkit [201685] by
-
- 3 edits2 copies4 adds in trunk/LayoutTests
Modern IDB: Add -private.html variants of crypto/subtle IndexedDB tests.
https://bugs.webkit.org/show_bug.cgi?id=153323
Reviewed by Darin Adler.
- crypto/subtle/resources/rsa-indexeddb-non-exportable.js: Copied from LayoutTests/crypto/subtle/rsa-indexeddb-non-exportable.html.
- crypto/subtle/resources/rsa-indexeddb.js: Copied from LayoutTests/crypto/subtle/rsa-indexeddb.html.
- crypto/subtle/rsa-indexeddb-non-exportable-private-expected.txt: Added.
- crypto/subtle/rsa-indexeddb-non-exportable-private.html: Added.
- crypto/subtle/rsa-indexeddb-non-exportable.html:
- crypto/subtle/rsa-indexeddb-private-expected.txt: Added.
- crypto/subtle/rsa-indexeddb-private.html: Added.
- crypto/subtle/rsa-indexeddb.html:
- 1:53 PM Changeset in webkit [201684] by
-
- 4 edits2 deletes in trunk/Source/WTF
Get rid of WorkItemWin
https://bugs.webkit.org/show_bug.cgi?id=158381
Reviewed by Sam Weinig.
- wtf/PlatformWin.cmake:
- wtf/WorkQueue.h:
- wtf/win/WorkItemWin.cpp: Removed.
(WTF::WorkItemWin::WorkItemWin): Deleted.
(WTF::WorkItemWin::create): Deleted.
(WTF::WorkItemWin::~WorkItemWin): Deleted.
- wtf/win/WorkItemWin.h: Removed.
(WTF::WorkItemWin::function): Deleted.
(WTF::WorkItemWin::queue): Deleted.
- wtf/win/WorkQueueWin.cpp:
(WTF::WorkQueue::performWorkOnRegisteredWorkThread):
(WTF::WorkQueue::dispatch):
- 12:26 PM Changeset in webkit [201683] by
-
- 5 edits in trunk/Source/WTF
Get rid of HANDLE registration code in WorkQueueWin
https://bugs.webkit.org/show_bug.cgi?id=158375
Reviewed by Darin Adler.
- wtf/WorkQueue.h:
- wtf/win/WorkItemWin.cpp:
(WTF::HandleWorkItem::HandleWorkItem): Deleted.
(WTF::HandleWorkItem::createByAdoptingHandle): Deleted.
(WTF::HandleWorkItem::~HandleWorkItem): Deleted.
- wtf/win/WorkItemWin.h:
(WTF::HandleWorkItem::setWaitHandle): Deleted.
(WTF::HandleWorkItem::waitHandle): Deleted.
- wtf/win/WorkQueueWin.cpp:
(WTF::WorkQueue::handleCallback): Deleted.
(WTF::WorkQueue::platformInvalidate): Deleted.
(WTF::WorkQueue::unregisterWaitAndDestroyItemSoon): Deleted.
(WTF::WorkQueue::unregisterWaitAndDestroyItemCallback): Deleted.
- 12:11 PM Changeset in webkit [201682] by
-
- 5 edits in trunk
REGRESSION (r201263): Some tests have become flaky timeouts.
https://bugs.webkit.org/show_bug.cgi?id=157990
Reviewed by Darin Adler.
Tools:
- WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::invoke):
It is somewhat legitimate for WebContent to not respond to messages after the test
is done; it can be e.g. re-doing a costly repaint. So, we should restart is silently,
without making the current test fail.
LayoutTests:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 12:10 PM Changeset in webkit [201681] by
-
- 3 edits in trunk/Source/WebCore
Avoid redundant isUndefined() check for parameters that are both optional and nullable in overloads
https://bugs.webkit.org/show_bug.cgi?id=158380
Reviewed by Brady Eidson.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheckExpression):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter):
- 11:58 AM Changeset in webkit [201680] by
-
- 3 edits6 adds in trunk
Add better basic isNaN test coverage
https://bugs.webkit.org/show_bug.cgi?id=158379
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-06-04
Reviewed by Benjamin Poulain.
- js/Number-isNaN-expected.txt: Added.
- js/Number-isNaN.html: Added.
- js/global-isNaN-expected.txt: Added.
- js/global-isNaN.html: Added.
- js/script-tests/Number-isNaN.js: Added.
(objectWithNumberValueOf.valueOf):
(objectWithNaNValueOf.valueOf):
(objectRecordConversionCalls.toString):
(objectRecordConversionCalls.valueOf):
- js/script-tests/global-isNaN.js: Added.
(objectConvertToString.toString):
(objectRecordToStringCall.toString):
(objectThrowOnToString.toString):
(objectWithValueOf.valueOf):
(objectThrowOnValueOf.valueOf):
(objectThrowOnValueOf.toString):
(objectRecordValueOfCall.valueOf):
(objectRecordConversionCalls.toString):
(objectRecordConversionCalls.valueOf):
- js/script-tests/math-clz32.js:
- 12:20 AM Changeset in webkit [201679] by
-
- 22 edits64 adds in trunk
CSP: Content Security Policy directive, upgrade-insecure-requests (UIR)
https://bugs.webkit.org/show_bug.cgi?id=143653
<rdar://problem/23032067>
Reviewed by Andy Estes.
Source/WebCore:
Modify our loading logic so that we recognize and upgrade insecure requests to secure
requests if the Content Security Policy directive 'upgrade-insecure-requests' is
present.
Add a static helper function to ContentSecurityPolicy to upgrade insecure URLs so
that we don't have to sprinkle the same code all over the loader system.
Tests: http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure.php
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-cors.https.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade.https.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/form-upgrade.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-auxiliary.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-nested.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-subresource.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-top-level.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-nested-upgrades.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-open-window-upgrades.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-audio-video-in-main-frame.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-css-in-iframe.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-image-in-main-frame.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-simple-ws.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-xhr-in-main-frame.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-http-to-https-script-in-iframe.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrades-mixed-content.html
http/tests/ssl/iframe-upgrade.https.html
http/tests/ssl/upgrade-origin-usage.html
http/tests/websocket/tests/hybi/upgrade-simple-ws.html
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect): Upgrade insecure requests if the CSP
indicates we should.
- dom/Document.cpp:
(WebCore::Document::initSecurityContext): Populate new document CSP with sets of upgrade host and port combinations.
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestScript): Upgrade insecure requests if
the CSP indicates we should.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadResource): Ditto.
- loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin): Ditto.
- loader/FormSubmission.cpp:
(WebCore::FormSubmission::create): Ditto.
(WebCore::FormSubmission::populateFrameLoadRequest): Add "Upgrade-Insecure-Requests"
header to frame load requests.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::addExtraFieldsToMainResourceRequest): Add the
'Update-Insecure-Requests' header field if necessary.
(WebCore::FrameLoader::addHTTPUpgradeInsecureRequestsIfNeeded): Added helper function.
(WebCore::FrameLoader::loadPostRequest): Upgrade insecure requests if the CSP
indicates we should.
(WebCore::FrameLoader::loadResourceSynchronously): Ditto.
(WebCore::FrameLoader::loadDifferentDocumentItem): If loading a form, add the
'Update-Insecure-Requests' header field if necessary.
(WebCore::createWindow): Upgrade insecure requests if the CSP
indicates we should.
- loader/FrameLoader.h:
- loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage): Upgrade insecure requests if the CSP
indicates we should.
(WebCore::PingLoader::sendPing): Ditto.
(WebCore::PingLoader::sendViolationReport): Ditto.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequestInternal): Ditto.
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestFrame): Ditto.
(WebCore::SubframeLoader::requestObject): Ditto.
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache): Ditto.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestImage): Ditto.
(WebCore::CachedResourceLoader::requestResource): Ditto.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow): Add the 'Update-Insecure-Requests' header
field if necessary.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::copyStateFrom): Populate upgraded resource set
from other context.
(WebCore::ContentSecurityPolicy::upgradeInsecureRequestIfNeeded): Added helper function
to upgrade requests when the upgrade-insecure-requests CSP policy is present, or if
the host and port combination have previously been upgraded.
(WebCore::ContentSecurityPolicy::upgradeInsecureNavigationRequestIfNeeded): Added
helper function to upgrade requests that have been previously upgraded. Cross-site
navigations only get upgraded when they have been previously upgraded.
(WebCore::ContentSecurityPolicy::addInsecureNavigationRequestsToUpgrade): Added.
(WebCore::ContentSecurityPolicy::populateInsecureNavigationRequestsToUpgradeFromOther): Added.
- page/csp/ContentSecurityPolicy.h:
(WebCore::ContentSecurityPolicy::setUpgradeInsecureRequests): Added.
(WebCore::ContentSecurityPolicy::upgradeInsecureRequests): Added.
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::ContentSecurityPolicyDirectiveList::ContentSecurityPolicyDirectiveList): Use
more C++11 initializations.
(WebCore::ContentSecurityPolicyDirectiveList::setUpgradeInsecureRequests): Added.
(WebCore::ContentSecurityPolicyDirectiveList::addDirective): Teach this function to
recognize the new directive.
- page/csp/ContentSecurityPolicyDirectiveList.h:
- page/csp/ContentSecurityPolicyDirectiveNames.cpp:
- page/csp/ContentSecurityPolicyDirectiveNames.h:
- platform/network/HTTPHeaderNames.in: Add new 'Upgrade-Insecure-Requests' header field.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::open): Upgrade insecure requests if the CSP if needed.
LayoutTests:
Some of these tests are based on a set of Blink patches by Mike West <mkwst@chromium.org>.
<https://src.chromium.org/viewvc/blink?revision=192607&view=revision>,
<https://codereview.chromium.org/1178093002>, <https://codereview.chromium.org/1964303003>
The rest of them are based on our own mixedContent tests, revised for upgraded requests.
Note that WebSockets are not part of this testing at present due to https://bugs.webkit.org/show_bug.cgi?id=157884.
- http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure.php: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-cors.https-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-cors.https.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade.https-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade.https.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/form-upgrade-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/form-upgrade.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-auxiliary-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-auxiliary.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-nested-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-nested.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-subresource-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-subresource.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-top-level-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/https-header-top-level.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-nested-upgrades-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-nested-upgrades.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-open-window-upgrades-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-open-window-upgrades.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/basic-upgrade-cors.https.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/check-https-header.pl: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/echo-https-header.pl: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-insecure-audio-video.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-insecure-css.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-insecure-image.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-redirect-http-to-https-script.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-redirect-https-to-http-script.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-xhr-in-main-frame-window.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/mixed-content-with-upgrade.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/post-https-header.pl: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-audio-video-in-main-frame-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-audio-video-in-main-frame.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-css-in-iframe-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-css-in-iframe.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-image-in-main-frame-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-image-in-main-frame.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-xhr-in-main-frame-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-xhr-in-main-frame.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-http-to-https-script-in-iframe-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-http-to-https-script-in-iframe.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe.html: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrades-mixed-content-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrades-mixed-content.html: Added.
- http/tests/security/resources/post-origin-to-parent.html: Added.
- http/tests/ssl/iframe-upgrade.https-expected.txt: Added.
- http/tests/ssl/iframe-upgrade.https.html: Added.
- http/tests/ssl/upgrade-origin-usage-expected.txt: Added.
- http/tests/ssl/upgrade-origin-usage.html: Added.
- http/tests/ssl/resources/origin-usage-iframe-1.html: Added.
- http/tests/ssl/resources/origin-usage-iframe-1.manifest: Added.
- http/tests/ssl/resources/origin-usage-iframe-2.html: Added.
- http/tests/ssl/resources/origin-usage-iframe-2.manifest: Added.
- http/tests/websocket/tests/hybi/upgrade-simple-ws-expected.txt: Added.
- http/tests/websocket/tests/hybi/upgrade-simple-ws.html: Added.
- TestExpectations: Skip http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-simple-ws.html since the
WebSocket server does not currently support wss sockets.
Jun 3, 2016:
- 8:28 PM Changeset in webkit [201678] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
Eager FTL failure for strict comparison of NaN with number check
https://bugs.webkit.org/show_bug.cgi?id=158368
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-06-03
Reviewed by Darin Adler.
DoupleRep with a RealNumberUse starts by handling double
then falls back to Int32 if the unboxed double is NaN.
Before handling integers, the code is checking if the input
is indeed an int32. The problem was that this check failed
to account for NaN as an original input of the DoubleRep.
The call to isNotInt32() filter the doubles checks because
that was handled by the previous block.
The problem is the previous block handles any double except NaN.
If the original input was NaN, the masking by "~SpecFullDouble"
filter that possibility and isNotInt32() fails to test that case.
This patch fixes the issue by changing the filter to SpecDoubleReal.
The type SpecDoubleReal does not include the NaN types.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileDoubleRep):
- tests/stress/double-rep-real-number-use-on-nan.js: Added.
To ensure the isNotInt32() does not test anything, we want
proven numbers as input. The (+value) are there to enforce
a ToNumber() which in turn give us a proven Number type.
- 7:04 PM Changeset in webkit [201677] by
-
- 5 edits2 adds in trunk
Bopomofo ruby in Dictionary.app is written horizontally (when it should be written vertically)
https://bugs.webkit.org/show_bug.cgi?id=158245
<rdar://problem/25675318>
Reviewed by Darin Adler.
Source/WebCore:
With orthogonal flows, the inner element gets a logical width that is computed from two values:
- The containing block's available logical height
- The FrameView's visibleHeight
In Dictionary.app, the FrameView's height changes, but this element doesn't get relaid out.
This is because of our optimization where normal-flow elements don't get relaid out if their
parent's width doesn't change (which is the case here).
Therefore, this orthogonal writing mode element should be relaid out when the FrameView changes
size. Luckily, we already have machinery for doing this: percentage heights. In quirks mode, a
div with a percentage height may walk arbitrarily far up the DOM tree in order to determine which
element the percentage should be resolved against. Therefore, we have a map of percentage-sizing-
ancestors to percentage-sizing-descendants which speeds up this search. If a percentage-sizing-
ancestor gets relaid out, all the relevant percentage-sizing-descendants get relaid out too.
Therefore, we can simply mark the FrameView as a percentage-sizing-ancestor and the orthogonal
flow element as a percentage-sizing-descendant. The lifetime of this relationship is already
managed correctly - it gets reset when style changes and when the renderer is destroyed, and
is created during layout.
Unfortunately, this same treatment should also be done to the element which dictates the
containing block's logical height (which caused https://bugs.webkit.org/show_bug.cgi?id=158286).
Implementing this would require giving RenderBox::availableLogicalHeight() a second result
of the necessary element which dictates the return. In an effort to keep this patch small and
focused, I'll do this secondary (much larger) work in a patch on that bug. This patch,
therefore, is kept small and focused.
Test: fast/text/orthogonal-writing-mode-containing-block-frameView-resize-relayout.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
LayoutTests:
Rebaselined fast/table/border-collapsing/004-vertical.html to show a progression.
- fast/text/orthogonal-writing-mode-containing-block-frameView-resize-relayout-expected.html: Added.
- fast/text/orthogonal-writing-mode-containing-block-frameView-resize-relayout.html: Added.
- platform/mac/fast/table/border-collapsing/004-vertical-expected.png: Rebased
- platform/mac/fast/table/border-collapsing/004-vertical-expected.txt: Rebased
- 7:00 PM Changeset in webkit [201676] by
-
- 11 edits4 adds in trunk
Text not visible while external font downloading
https://bugs.webkit.org/show_bug.cgi?id=25207
<rdar://problem/15167413>
Reviewed by Dean Jackson.
Source/WebCore:
I already laid the groundwork for this when implementing the CSS Font Loading API.
We only have to create a timer and correctly respond to it timing out (by setting
state).
This patch also adds a new internal setting which puts us in a mode where font
loads never complete and the timeout occurs immediately. This is so we can test
the fallback behavior.
Test: fast/text/web-font-load-fallback-during-loading.html
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::CSSFontFace):
(WebCore::CSSFontFace::fontLoadEventOccurred):
(WebCore::CSSFontFace::timeoutFired):
(WebCore::CSSFontFace::setStatus):
(WebCore::CSSFontFace::fontLoaded):
(WebCore::CSSFontFace::webFontsShouldAlwaysFallBack):
(WebCore::CSSFontFace::pump):
(WebCore::CSSFontFace::font):
- css/CSSFontFace.h:
- css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::fontLoaded):
- css/FontFace.cpp:
(WebCore::FontFace::fontStateChanged):
- page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setWebFontsAlwaysFallBack):
- page/Settings.h:
(WebCore::Settings::webFontsAlwaysFallBack):
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setWebFontsAlwaysFallBack):
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
LayoutTests:
- fast/text/web-font-load-fallback-during-loading-no-multiple-expected.txt: Added.
- fast/text/web-font-load-fallback-during-loading-no-multiple.html: Added.
- fast/text/web-font-load-fallback-during-loading-expected.html: Added.
- fast/text/web-font-load-fallback-during-loading.html: Added.
- 6:31 PM Changeset in webkit [201675] by
-
- 12 edits in trunk/Source
Modernize a few more lambda captures
https://bugs.webkit.org/show_bug.cgi?id=158370
Reviewed by Brady Eidson.
Source/WebCore:
- workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::postMessage):
- workers/DedicatedWorkerGlobalScope.h:
- workers/Worker.cpp:
(WebCore::Worker::postMessage):
- workers/Worker.h:
- workers/WorkerEventQueue.cpp:
(WebCore::WorkerEventQueue::enqueueEvent):
- workers/WorkerGlobalScopeProxy.h:
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
- workers/WorkerMessagingProxy.h:
- workers/WorkerObjectProxy.h:
Source/WebKit:
- Storage/StorageTracker.cpp:
(WebCore::StorageTracker::deleteOrigin):
- 6:08 PM Changeset in webkit [201674] by
-
- 5 edits3 adds in trunk
JSON.stringify replacer function calls with numeric array indices
https://bugs.webkit.org/show_bug.cgi?id=158262
Source/JavaScriptCore:
rdar://problem/26613876
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-06-03
Reviewed by Saam Barati.
The spec of SerializeJSONArray is pretty clear that the index
should be transformed into a string before calling SerializeJSONProperty.
See http://www.ecma-international.org/ecma-262/6.0/#sec-serializejsonarray
- runtime/JSONObject.cpp:
(JSC::PropertyNameForFunctionCall::value):
LayoutTests:
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-06-03
Reviewed by Saam Barati.
- js/JSON-stringify-exposes-array-indices-as-strings-expected.txt: Added.
- js/JSON-stringify-exposes-array-indices-as-strings.html: Added.
- js/script-tests/JSON-stringify-exposes-array-indices-as-strings.js: Added.
(replacer):
(testObject.toJSON):
(toJSONArrayHelper):
- js/resources/JSON-stringify.js:
- js/dom/JSON-stringify-expected.txt:
Update the test results for the native implementation.
- 5:56 PM Changeset in webkit [201673] by
-
- 55 edits1 move in trunk/Source
Unreviewed, rolling out r201663.
https://bugs.webkit.org/show_bug.cgi?id=158374
Broke the Windows build (Requested by andersca on #webkit).
Reverted changeset:
"Rename NoncopyableFunction to Function"
https://bugs.webkit.org/show_bug.cgi?id=158354
http://trac.webkit.org/changeset/201663
- 5:34 PM Changeset in webkit [201672] by
-
- 3 edits in trunk/Source/JavaScriptCore
Proxy.ownKeys should no longer throw an exception when duplicate keys are returned and the target is non-extensible
https://bugs.webkit.org/show_bug.cgi?id=158350
<rdar://problem/26626211>
Reviewed by Michael Saboff.
The spec was recently changes in Proxy OwnPropertyKeys
to allow for duplicate property names under certain circumstances.
This patch fixes our implementation to match the spec.
See: https://github.com/tc39/ecma262/pull/594
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::performGetOwnPropertyNames):
- tests/stress/proxy-own-keys.js:
(i.catch):
(ownKeys):
(assert):
- 5:04 PM Changeset in webkit [201671] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: add a keyboard shortcut to close the current tab bar item
https://bugs.webkit.org/show_bug.cgi?id=158363
<rdar://problem/22677254>
Reviewed by Timothy Hatcher.
Make Cmd-w close the current tab. This matches Safari's keyboard shortcut.
- UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser):
Don't do anything if the New Tab tab is the only tab bar item besides the
pinned "new tab" button.
- 4:51 PM Changeset in webkit [201670] by
-
- 2 edits in trunk/Source/JavaScriptCore
Some shadow chicken code is wrong when run on a big endian CPU
https://bugs.webkit.org/show_bug.cgi?id=158361
Reviewed by Mark Lam.
This code was wrong on a big endian CPU, and it was
also an anti-pattern in the file. The code was harmless
on a little endian CPU, but it's better to remove it.
- llint/LowLevelInterpreter64.asm:
- 4:27 PM Changeset in webkit [201669] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: setter for debugging flag InspectorBackend.dumpInspectorTimeStats does not work
https://bugs.webkit.org/show_bug.cgi?id=158366
Reviewed by Timothy Hatcher.
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.set dumpInspectorTimeStats):
Actually update the backing member when the setter is called.
- 4:06 PM Changeset in webkit [201668] by
-
- 26 edits1 add in trunk/Source/JavaScriptCore
Add argument_count bytecode for concat
https://bugs.webkit.org/show_bug.cgi?id=158358
Reviewed by Geoffrey Garen.
This patch adds a new argument count bytecode. Normally, we would
just make sure that the argument.length bytecode was fast enough
that we shouldn't need such an bytecode. However, for the case of
Array.prototype.concat the overhead of the arguments object
allocation in the LLInt was too high and caused regressions.
- bytecode/BytecodeIntrinsicRegistry.h:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emit_intrinsic_argumentCount):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getArgumentCount):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_argument_count):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- tests/stress/argument-count-bytecode.js: Added.
(inlineCount):
(inlineCount1):
(inlineCount2):
(inlineCountVarArgs):
(assert):
- 4:01 PM Changeset in webkit [201667] by
-
- 7 edits2 adds in trunk
Crash under VisibleSelection::firstRange()
https://bugs.webkit.org/show_bug.cgi?id=158241
Reviewed by Enrica Casucci.
Source/WebCore:
The crash was commonly caused by parentAnchoredEquivalent returning null when the anchored node was a shadow root.
Fixed it by returning a shadow root in parentAnchoredEquivalent.
Also guard against other kinds of crashes by adding a null check in VisibleSelection::firstRange() since we've seen
a crash in the same code path outside of a shadow tree.
This patch also fixes other Position methods to stop using nonShadowBoundaryParentNode in place of parentNode as
that would cause a similar crash and/or a bug elsewhere.
Test: fast/shadow-dom/selection-at-shadow-root-crash.html
- accessibility/AXObjectCache.cpp:
(AXObjectCache::startCharacterOffsetOfParagraph): Fixed a bug uncovered by the assertion fix in Position::Position.
This code was sometimes creating a position inside a BR, which is wrong.
(AXObjectCache::endCharacterOffsetOfParagraph): Ditto.
- dom/Position.cpp:
(WebCore::Position::Position): Fixed an assertion which was checking that this constructor wasn't being called
with m_anchorNode set to an element editing ignores content of. ing it with isShadowRoot() made this assertion useless because it's true whenever m_anchorNode is not a shadow root.
(WebCore::Position::containerNode): Use parentNode() instead of findParent() which calls nonShadowBoundaryParentNode
since Position should
(WebCore::Position::parentAnchoredEquivalent): Fixed the bug by letting this function return a shadow root.
(WebCore::Position::previous): Use parentNode() instead of findParent().
(WebCore::Position::next): Ditto.
(WebCore::Position::atStartOfTree): Ditto.
(WebCore::Position::atEndOfTree): Ditto.
(WebCore::Position::findParent): Deleted.
- dom/Position.h:
- editing/VisibleSelection.cpp:
(VisibleSelection::firstRange): Added a null check.
LayoutTests:
Added a regression test.
- fast/shadow-dom/selection-at-shadow-root-crash-expected.txt: Added.
- fast/shadow-dom/selection-at-shadow-root-crash.html: Added.
- 3:47 PM Changeset in webkit [201666] by
-
- 3 edits2 adds in trunk
Incorrect rendering on boostmobile FAQ page
https://bugs.webkit.org/show_bug.cgi?id=158303
<rdar://problem/26603462>
Reviewed by Chris Dumez.
Initial value for background-color is 'transparent'. see https://drafts.csswg.org/css-backgrounds-3/#background-color
Source/WebCore:
Test: fast/selectors/non-visited-link-backround-color.html
- css/CSSPropertyNames.in:
LayoutTests:
- fast/selectors/non-visited-link-backround-color-expected.html: Added.
- fast/selectors/non-visited-link-backround-color.html: Added.
- 3:31 PM Changeset in webkit [201665] by
-
- 8 edits in trunk/Source/WebCore
More miscellaneous IDBBindingUtilities cleanup.
https://bugs.webkit.org/show_bug.cgi?id=158359
Reviewed by Tim Horton.
No new tests (Straight refactor, yo).
Replace more ScriptExecutionContext&s with ExecState&s.
Combine more unnecessarily separate functions.
Remove some cruft.
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord):
(WebCore::IDBServer::MemoryObjectStore::populateIndexWithExistingRecords):
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::updateOneIndexForAddRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::updateAllIndexesForAddRecord):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::deserializeIDBValueToJSValue):
(WebCore::idbKeyDataToScriptValue):
(WebCore::deserializeIDBValueDataToJSValue): Deleted.
- bindings/js/IDBBindingUtilities.h:
- 3:26 PM Changeset in webkit [201664] by
-
- 10 edits in trunk
CanvasRenderingContext2D.createPattern() / putImageData() throw wrong exception type
https://bugs.webkit.org/show_bug.cgi?id=158322
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline test now that it is passing.
- canvas/2d.pattern.image.undefined-expected.txt:
Source/WebCore:
CanvasRenderingContext2D.createPattern() / putImageData() were throwing the wrong
exception type when the first parameter was null. It should throw a TypeError
but it was throwing a legacy TYPE_MISMATCH_ERR:
- http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d
- http://www.w3.org/TR/2dcontext/#canvasimagesource
This patch aligns our behavior with the specification.
No new tests, covered by existing tests.
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createPattern):
(WebCore::CanvasRenderingContext2D::putImageData):
(WebCore::CanvasRenderingContext2D::webkitPutImageDataHD):
(WebCore::CanvasRenderingContext2D::didDraw): Deleted.
(WebCore::CanvasRenderingContext2D::drawFocusIfNeeded): Deleted.
(WebCore::CanvasRenderingContext2D::drawFocusIfNeededInternal): Deleted.
(WebCore::CanvasRenderingContext2D::font): Deleted.
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/CanvasRenderingContext2D.idl:
LayoutTests:
Update several outdated layout tests.
- canvas/philip/tests/2d.imageData.put.null.html:
- canvas/philip/tests/2d.pattern.image.null.html:
- canvas/philip/tests/2d.pattern.image.undefined.html:
- 3:24 PM Changeset in webkit [201663] by
-
- 55 edits1 move in trunk/Source
Rename NoncopyableFunction to Function
https://bugs.webkit.org/show_bug.cgi?id=158354
Reviewed by Chris Dumez.
Source/WebCore:
- Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::runTask):
- Modules/mediastream/MediaEndpointPeerConnection.h:
- Modules/webaudio/AudioDestinationNode.h:
(WebCore::AudioDestinationNode::resume):
(WebCore::AudioDestinationNode::suspend):
(WebCore::AudioDestinationNode::close):
- Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::resume):
(WebCore::DefaultAudioDestinationNode::suspend):
(WebCore::DefaultAudioDestinationNode::close):
- Modules/webaudio/DefaultAudioDestinationNode.h:
- dom/ActiveDOMCallbackMicrotask.cpp:
(WebCore::ActiveDOMCallbackMicrotask::ActiveDOMCallbackMicrotask):
- dom/ActiveDOMCallbackMicrotask.h:
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::Task::Task):
- fileapi/AsyncFileStream.cpp:
(WebCore::callOnFileThread):
(WebCore::AsyncFileStream::perform):
- fileapi/AsyncFileStream.h:
- page/FrameView.cpp:
(WebCore::FrameView::queuePostLayoutCallback):
(WebCore::FrameView::flushPostLayoutTasksQueue):
- page/FrameView.h:
- page/scrolling/ScrollingThread.cpp:
(WebCore::ScrollingThread::dispatch):
(WebCore::ScrollingThread::dispatchBarrier):
(WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
- page/scrolling/ScrollingThread.h:
- platform/GenericTaskQueue.cpp:
(WebCore::TaskDispatcher<Timer>::postTask):
- platform/GenericTaskQueue.h:
(WebCore::TaskDispatcher::postTask):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask):
- platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::scheduleDeferredTask):
- platform/mediastream/MediaStreamPrivate.h:
- platform/mediastream/mac/AVMediaCaptureSource.h:
- platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::scheduleDeferredTask):
- style/StyleTreeResolver.cpp:
(WebCore::Style::postResolutionCallbackQueue):
(WebCore::Style::queuePostResolutionCallback):
- style/StyleTreeResolver.h:
Source/WebKit:
- Storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::dispatch):
- Storage/StorageSyncManager.h:
- Storage/StorageThread.cpp:
(WebCore::StorageThread::dispatch):
(WebCore::StorageThread::terminate):
- Storage/StorageThread.h:
Source/WebKit2:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::fetchDiskCacheEntries):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::clearDiskCacheEntries):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::traverse):
- NetworkProcess/cache/NetworkCache.h:
- NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::runTaskInQueue):
- NetworkProcess/cache/NetworkCacheStorage.h:
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/CrossThreadTask.h:
(WTF::CrossThreadTask::CrossThreadTask):
- wtf/Function.h: Renamed from Source/WTF/wtf/NoncopyableFunction.h.
- wtf/FunctionDispatcher.h:
- wtf/MainThread.cpp:
(WTF::functionQueue):
(WTF::dispatchFunctionsFromMainThread):
(WTF::callOnMainThread):
- wtf/MainThread.h:
- wtf/RunLoop.cpp:
(WTF::RunLoop::performWork):
(WTF::RunLoop::dispatch):
- wtf/RunLoop.h:
- wtf/WorkQueue.h:
- wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):
- wtf/efl/DispatchQueueWorkItemEfl.h:
(WorkItem::WorkItem):
(TimerWorkItem::create):
(TimerWorkItem::TimerWorkItem):
- wtf/efl/WorkQueueEfl.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):
- wtf/generic/RunLoopGeneric.cpp:
(WTF::RunLoop::TimerBase::ScheduledTask::create):
(WTF::RunLoop::TimerBase::ScheduledTask::ScheduledTask):
(WTF::RunLoop::dispatchAfter):
- wtf/generic/WorkQueueGeneric.cpp:
(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):
- wtf/glib/RunLoopGLib.cpp:
(WTF::DispatchAfterContext::DispatchAfterContext):
(WTF::RunLoop::dispatchAfter):
- wtf/win/WorkItemWin.cpp:
(WTF::WorkItemWin::WorkItemWin):
(WTF::WorkItemWin::create):
(WTF::HandleWorkItem::HandleWorkItem):
(WTF::HandleWorkItem::createByAdoptingHandle):
- wtf/win/WorkItemWin.h:
(WTF::WorkItemWin::function):
- wtf/win/WorkQueueWin.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):
- 3:05 PM Changeset in webkit [201662] by
-
- 3 edits in trunk/LayoutTests
Marking fast/scrolling/scroll-container-horizontally.html as flaky on mac-wk2 and ios-simulator-wk1
https://bugs.webkit.org/show_bug.cgi?id=158237
Unreviewed test gardening.
- platform/ios-simulator-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 2:59 PM Changeset in webkit [201661] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r201474): Subtitles are not resizing in other fullscreen modes
https://bugs.webkit.org/show_bug.cgi?id=158355
Reviewed by Eric Carlson.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::syncTextTrackBounds):
Set the text track representation layer's frame based on the active video layer.
- 2:42 PM Changeset in webkit [201660] by
-
- 10 edits in trunk/Source/WebCore
Miscellaneous IDBBindingUtilities cleanup.
https://bugs.webkit.org/show_bug.cgi?id=158353
Reviewed by Tim Horton.
No new tests (Straight refactor, yo).
Starting with removing a single form of scriptValueToIDBKey(), and making the return value be
Ref<IDBKey> instead of RefPtr<IDBKey>, update a whole bunch of code to understand that the ExecState
is non-null and the resulting key is non-null.
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::continueFunction):
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::cmp):
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
- Modules/indexeddb/IDBKey.cpp:
(WebCore::IDBKey::compare):
(WebCore::IDBKey::isLessThan):
(WebCore::IDBKey::isEqual):
- Modules/indexeddb/IDBKey.h:
(WebCore::IDBKey::createMultiEntryArray):
- Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
(WebCore::IDBKeyRange::isOnlyKey):
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::modernDelete):
(WebCore::IDBObjectStore::count):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::get):
(WebCore::set):
(WebCore::createIDBKeyFromValue):
(WebCore::getNthValueOnKeyPath):
(WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::ensureNthValueOnKeyPath):
(WebCore::canInjectNthValueOnKeyPath):
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::canInjectIDBKeyIntoScriptValue):
(WebCore::deserializeIDBValueToJSValue):
(WebCore::scriptValueToIDBKey):
(WebCore::createKeyPathArray):
- bindings/js/IDBBindingUtilities.h:
- 2:36 PM Changeset in webkit [201659] by
-
- 8 edits2 moves in trunk/Source/WebCore
Rename CheckedRadioButtons into RadioButtonGroups
https://bugs.webkit.org/show_bug.cgi?id=158326
Reviewed by Alex Christensen.
CheckedRadioButtons handles the set of all the Radio Button Groups
for a particular form or document.
The name is wrong and apparently comes from former uses of this class
(see the comment above the class declaration).
This patch renames "CheckedRadioButtons" to "RadioButtonGroups" to reflect that it handles
all the Radio Button Group from a given context (form or document).
Internally it has a set of RadioButtonGroup but that is never explicitely
exposed.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/CheckedRadioButtons.cpp:
(WebCore::RadioButtonGroup::isEmpty): Deleted.
(WebCore::RadioButtonGroup::isRequired): Deleted.
(WebCore::RadioButtonGroup::checkedButton): Deleted.
(WebCore::RadioButtonGroup::RadioButtonGroup): Deleted.
(WebCore::RadioButtonGroup::isValid): Deleted.
(WebCore::RadioButtonGroup::members): Deleted.
(WebCore::RadioButtonGroup::setCheckedButton): Deleted.
(WebCore::RadioButtonGroup::add): Deleted.
(WebCore::RadioButtonGroup::updateCheckedState): Deleted.
(WebCore::RadioButtonGroup::requiredAttributeChanged): Deleted.
(WebCore::RadioButtonGroup::remove): Deleted.
(WebCore::RadioButtonGroup::updateValidityForAllButtons): Deleted.
(WebCore::RadioButtonGroup::contains): Deleted.
(WebCore::CheckedRadioButtons::CheckedRadioButtons): Deleted.
(WebCore::CheckedRadioButtons::~CheckedRadioButtons): Deleted.
(WebCore::CheckedRadioButtons::addButton): Deleted.
(WebCore::CheckedRadioButtons::groupMembers): Deleted.
(WebCore::CheckedRadioButtons::updateCheckedState): Deleted.
(WebCore::CheckedRadioButtons::requiredAttributeChanged): Deleted.
(WebCore::CheckedRadioButtons::checkedButtonForGroup): Deleted.
(WebCore::CheckedRadioButtons::isInRequiredGroup): Deleted.
(WebCore::CheckedRadioButtons::removeButton): Deleted.
- dom/RadioButtonGroups.cpp: Renamed from Source/WebCore/dom/CheckedRadioButtons.cpp.
(WebCore::RadioButtonGroup::isEmpty):
(WebCore::RadioButtonGroup::isRequired):
(WebCore::RadioButtonGroup::checkedButton):
(WebCore::RadioButtonGroup::RadioButtonGroup):
(WebCore::RadioButtonGroup::isValid):
(WebCore::RadioButtonGroup::members):
(WebCore::RadioButtonGroup::setCheckedButton):
(WebCore::RadioButtonGroup::add):
(WebCore::RadioButtonGroup::updateCheckedState):
(WebCore::RadioButtonGroup::requiredAttributeChanged):
(WebCore::RadioButtonGroup::remove):
(WebCore::RadioButtonGroup::updateValidityForAllButtons):
(WebCore::RadioButtonGroup::contains):
(WebCore::RadioButtonGroups::RadioButtonGroups):
(WebCore::RadioButtonGroups::~RadioButtonGroups):
(WebCore::RadioButtonGroups::addButton):
(WebCore::RadioButtonGroups::groupMembers):
(WebCore::RadioButtonGroups::updateCheckedState):
(WebCore::RadioButtonGroups::requiredAttributeChanged):
(WebCore::RadioButtonGroups::checkedButtonForGroup):
(WebCore::RadioButtonGroups::isInRequiredGroup):
(WebCore::RadioButtonGroups::removeButton):
- dom/RadioButtonGroups.h: Renamed from Source/WebCore/dom/CheckedRadioButtons.h.
- html/FormController.h:
(WebCore::FormController::radioButtonGroups):
(WebCore::FormController::checkedRadioButtons): Deleted.
- html/HTMLFormElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::didMoveToNewDocument):
(WebCore::HTMLInputElement::requiredAttributeChanged):
(WebCore::HTMLInputElement::isInRequiredRadioButtonGroup):
(WebCore::HTMLInputElement::radioButtonGroup):
(WebCore::HTMLInputElement::checkedRadioButtonForGroup):
(WebCore::HTMLInputElement::radioButtonGroups):
(WebCore::HTMLInputElement::addToRadioButtonGroup):
(WebCore::HTMLInputElement::removeFromRadioButtonGroup):
(WebCore::HTMLInputElement::checkedRadioButtons): Deleted.
- html/HTMLInputElement.h:
- 2:35 PM Changeset in webkit [201658] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove unused WebInspector.CSSCompletions methods
https://bugs.webkit.org/show_bug.cgi?id=158352
Reviewed by Joseph Pecoraro.
- UserInterface/Models/CSSCompletions.js:
(WebInspector.CSSCompletions.prototype.firstStartsWith): Deleted.
(WebInspector.CSSCompletions.prototype.isLonghandPropertyName): Deleted.
(WebInspector.CSSCompletions.prototype.longhandsForShorthand): Deleted.
- 2:26 PM Changeset in webkit [201657] by
-
- 4 edits in trunk/Source/JavaScriptCore
Clients of PolymorphicAccess::addCases shouldn't have to malloc
https://bugs.webkit.org/show_bug.cgi?id=158357
Reviewed by Keith Miller.
We only ever have 1 or 2 cases, so we can use inline Vector capacity.
This shows up a little in the JSBench profile.
- bytecode/PolymorphicAccess.cpp:
(JSC::PolymorphicAccess::addCases):
(JSC::PolymorphicAccess::addCase):
- bytecode/PolymorphicAccess.h:
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::addAccessCase):
- 2:13 PM Changeset in webkit [201656] by
-
- 6 edits in trunk/Source/JavaScriptCore
Fix some more INFINITI->INFINITY typos
Unreviewed.
The tests were not covering the edge cases they were supposed to test.
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-06-03
- tests/stress/math-ceil-basics.js:
(testMathCeilOnConstants):
- tests/stress/math-clz32-basics.js:
(testMathClz32OnDoubles):
(testMathClz32OnConstants):
- tests/stress/math-floor-basics.js:
(testMathFloorOnConstants):
- tests/stress/math-round-basics.js:
(testMathRoundOnConstants):
- tests/stress/math-trunc-basics.js:
(testMathTruncOnConstants):
- 1:59 PM Changeset in webkit [201655] by
-
- 14 edits in trunk/Source
Unreviewed, roll out r196633 as it broke PageCache on iOS for WebKit.org
<rdar://problem/26521101>
Source/WebCore:
- dom/Document.cpp:
(WebCore::Document::setInPageCache): Deleted.
- history/CachedPage.cpp:
(WebCore::CachedPage::restore):
(WebCore::CachedPage::clear):
- history/CachedPage.h:
(WebCore::CachedPage::markForVisitedLinkStyleRecalc):
(WebCore::CachedPage::markForFullStyleRecalc):
- history/PageCache.cpp:
(WebCore::PageCache::markPagesForVisitedLinkStyleRecalc):
(WebCore::PageCache::markPagesForFullStyleRecalc):
- history/PageCache.h:
- page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors):
- page/Page.cpp:
(WebCore::Page::setViewScaleFactor):
(WebCore::Page::setDeviceScaleFactor):
(WebCore::Page::setPagination):
(WebCore::Page::setPaginationLineGridEnabled):
(WebCore::Page::setVisitedLinkStore):
Source/WebKit/mac:
- WebCoreSupport/WebVisitedLinkStore.mm:
(WebVisitedLinkStore::removeAllVisitedLinks):
(WebVisitedLinkStore::removeVisitedLink):
(WebVisitedLinkStore::addVisitedLinkHash):
Source/WebKit/win:
- WebCoreSupport/WebVisitedLinkStore.cpp:
(WebVisitedLinkStore::removeAllVisitedLinks):
(WebVisitedLinkStore::addVisitedLinkHash):
Source/WebKit2:
- WebProcess/WebPage/VisitedLinkTableController.cpp:
(WebKit::VisitedLinkTableController::setVisitedLinkTable):
(WebKit::VisitedLinkTableController::visitedLinkStateChanged):
(WebKit::VisitedLinkTableController::allVisitedLinkStateChanged):
(WebKit::VisitedLinkTableController::removeAllVisitedLinks):
- 1:12 PM Changeset in webkit [201654] by
-
- 6 edits in trunk/Source/JavaScriptCore
JSGlobalObject::addFunction should call deleteProperty rather than removeDirect
https://bugs.webkit.org/show_bug.cgi?id=158295
Reviewed by Saam Barati.
When a function in declared in program code, this replaces any previosly existing
property from the global object. JSGlobalObject::addFunction is currently calling
removeDirect rather than deleteProperty to remove the existing property. This fails
to remove any properties from static tables.
We currently get away with this because (a) JSObject & JSGlobalObject don't currently
have any properties in static tables, and (b) the current quirky property precedence
means that the symbol table properties end up taking precedence over JSDOMWindow's
static table, so window object properties end up being shadowed.
As a part of bug #158178 the precedence of static tables will change, requiring this
to be fixed.
The deleteProperty function does what we want (has the ability to remove properties,
including those from the static tables). Normally deleteProperty will not remove
properties that are non-configurable (DontDelete) - we need to do so. The function
does already support this, through a flag on VM named 'isInDefineOwnProperty', which
causes configurability to be ignored. Generalize this mechanism for use outside of
defineOwnProperty, renaming & moving DefineOwnPropertyScope helper class out to VM.
- runtime/JSFunction.cpp:
(JSC::JSFunction::deleteProperty):
- isInDefineOwnProperty -> deletePropertyMode.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::addFunction):
- removeDirect -> deleteProperty.
- runtime/JSObject.cpp:
(JSC::JSObject::deleteProperty):
- isInDefineOwnProperty -> deletePropertyMode.
(JSC::JSObject::defineOwnNonIndexProperty):
- DefineOwnPropertyScope -> VM::DeletePropertyModeScope.
(JSC::DefineOwnPropertyScope::DefineOwnPropertyScope): Deleted.
(JSC::DefineOwnPropertyScope::~DefineOwnPropertyScope): Deleted.
- DefineOwnPropertyScope -> VM::DeletePropertyModeScope.
- runtime/VM.cpp:
(JSC::VM::VM):
- removed m_inDefineOwnProperty.
- runtime/VM.h:
(JSC::VM::deletePropertyMode):
- isInDefineOwnProperty -> deletePropertyMode.
(JSC::VM::DeletePropertyModeScope::DeletePropertyModeScope):
(JSC::VM::DeletePropertyModeScope::~DeletePropertyModeScope):
- DefineOwnPropertyScope -> VM::DeletePropertyModeScope.
(JSC::VM::setInDefineOwnProperty): Deleted.
- Replaced with deletePropertyMode, can now only be set via VM::DeletePropertyModeScope.
(JSC::VM::isInDefineOwnProperty): Deleted.
- isInDefineOwnProperty -> deletePropertyMode.
- 12:54 PM Changeset in webkit [201653] by
-
- 2 edits in trunk/LayoutTests
LayoutTest imported/w3c/indexeddb/idbcursor-advance-continue-async.htm is flaky on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=154606
Reviewed by Alex Christensen.
- platform/mac-wk2/TestExpectations: Remove expectations. Test has been working great for quite awhile.
- 12:28 PM Changeset in webkit [201652] by
-
- 5 edits in trunk/LayoutTests
storage/indexeddb/intversion-open-in-upgradeneeded.html is flaky on mac.
https://bugs.webkit.org/show_bug.cgi?id=155050
Reviewed by Alex Christensen.
The test no longer crashes/times out, but it does have text failures.
Resolve them by removing a race in the test itself.
- platform/mac-wk2/TestExpectations:
- storage/indexeddb/intversion-open-in-upgradeneeded-expected.txt:
- storage/indexeddb/intversion-open-in-upgradeneeded-private-expected.txt:
- storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
- 11:42 AM Changeset in webkit [201651] by
-
- 2 edits in trunk/Source/JavaScriptCore
ARMv7 vstm and vldm instructions can only operate on a maximum of 16 registers.
https://bugs.webkit.org/show_bug.cgi?id=158349
Reviewed by Filip Pizlo.
According to the ARM Assembler Reference, the vstm and vldm instructions can only
operate on a maximum of 16 registers. See
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0002a/ch01s03s02.html
and http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0002a/ch01s03s02.html.
The ARMv7 probe code was wrongly using these instructions to store and load all
32 'd' registers. This is now fixed.
- assembler/MacroAssemblerARMv7.cpp:
- 11:36 AM Changeset in webkit [201650] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Update NativeFunctionParameters (FontFaceSet, HTMLSlotElement, EventTarget)
https://bugs.webkit.org/show_bug.cgi?id=158333
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-06-03
Reviewed by Brian Burg.
- UserInterface/Models/NativeFunctionParameters.js:
Replace FontLoader with FontFaceSet. Add HTMLSlotElement API.
EventTarget is now actually in the prototype chain, so add it as
a first class citizen and keep mixing it in for legacy backends.
- 11:22 AM Changeset in webkit [201649] by
-
- 2 edits in trunk/Source/WebKit/win
[Win] Implement WebView::removeAllUserContentFromGroup
https://bugs.webkit.org/show_bug.cgi?id=158343
Reviewed by Brent Fulgham.
- WebView.cpp:
(WebView::removeAllUserContentFromGroup):
- 11:13 AM Changeset in webkit [201648] by
-
- 5 edits8 adds in trunk
Reflection of element does not respect backdrop-filter property
https://bugs.webkit.org/show_bug.cgi?id=158201
Patch by Antoine Quint <Antoine Quint> on 2016-06-03
Reviewed by Dean Jackson.
Source/WebCore:
We weren't cloning the PlatformCALayer for the backdrop so reflections would simply
not show their backdrops. We now follow the same pattern as other PlatformCALayers
owned by a GraphicsLayerCA and keep a list of backdrop layer clones that we add
to the structural layer when cloning to match the layer order of the original
and update the backdrop layer clone properties to match the original when the
backdrop filters or rectangle changes.
Tests: css3/filters/backdrop/backdrop-filter-with-reflection-add-backdrop.html
css3/filters/backdrop/backdrop-filter-with-reflection-remove-backdrop.html
css3/filters/backdrop/backdrop-filter-with-reflection-value-change.html
css3/filters/backdrop/backdrop-filter-with-reflection.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateBackdropFilters):
(WebCore::GraphicsLayerCA::updateBackdropFiltersRect):
Update backdrop layer clones to match new values set when the backdrop filter
configuration changes.
(WebCore::GraphicsLayerCA::ensureCloneLayers):
Create the backdrop layer clones map if needed and clone the existing backdrop layer.
(WebCore::GraphicsLayerCA::clearClones):
Clear the backdrop layer clones map.
(WebCore::GraphicsLayerCA::fetchCloneLayers):
Obtain a clone for the backdrop layer, and if we have a valid clone, add it to the
structural layer clone as its first child to match the operation in updateSublayerList().
- platform/graphics/ca/GraphicsLayerCA.h:
Modify the signature for ensureCloneLayers() to account for the new backdrop layer clone and
declare the backdrop layer clone map.
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(PlatformCALayerCocoa::clone):
Reflect the backdrop layer type when cloning a PlatformCALayer.
LayoutTests:
- css3/filters/backdrop/backdrop-filter-with-reflection-add-backdrop-expected.html: Added.
- css3/filters/backdrop/backdrop-filter-with-reflection-add-backdrop.html: Added.
Covers the case where a reflected element without a backdrop-filter initially has one added later.
- css3/filters/backdrop/backdrop-filter-with-reflection-expected.html: Added.
- css3/filters/backdrop/backdrop-filter-with-reflection-remove-backdrop-expected.html: Added.
Covers the case where a reflected element with a backdrop-filter initially has it removed later.
- css3/filters/backdrop/backdrop-filter-with-reflection-remove-backdrop.html: Added.
- css3/filters/backdrop/backdrop-filter-with-reflection-value-change-expected.html: Added.
Covers the case where a reflected element with a backdrop-filter has its backdrop-filter property changed later.
- css3/filters/backdrop/backdrop-filter-with-reflection-value-change.html: Added.
- css3/filters/backdrop/backdrop-filter-with-reflection.html: Added.
Covers the basic case of a reflected element with a backdrop-filter.
- 10:09 AM Changeset in webkit [201647] by
-
- 3 edits in trunk/Source/WebCore
ResourceResponseBase cleanup.
https://bugs.webkit.org/show_bug.cgi?id=158348
Reviewed by Chris Dumez.
No new tests (Refactor, no behavior change).
CrossThreadData can be noncopyable and WTFMove()'ed around, instead of
being in a unique_ptr.
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::crossThreadData):
(WebCore::ResourceResponseBase::fromCrossThreadData):
- platform/network/ResourceResponseBase.h:
- 9:49 AM Changeset in webkit [201646] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: CLOOP build fix (needs a #include).
Not reviewed.
- interpreter/StackVisitor.h:
- 9:43 AM Changeset in webkit [201645] by
-
- 3 edits in trunk/Source/JavaScriptCore
Eliminate two large sources of temporary StringImpl objects.
<https://webkit.org/b/158336>
Reviewed by Anders Carlsson.
We were jumping through some inefficient hoops when creating Identifiers due to the
convenience of our String(const char*) constructor.
This patch avoids just over 1 million temporary StringImpl objects on the PLUM benchmark.
- runtime/JSObject.h:
(JSC::makeIdentifier): Add an overload for string literals so we can stop creating a temporary
String just for passing to Identifier::fromString().
- runtime/Lookup.h:
(JSC::reifyStaticProperties): Use the Identifier::fromString() that takes an LChar* and a length
instead of creating a temporary String.
- 9:32 AM Changeset in webkit [201644] by
-
- 2 edits in trunk
[Win] IndexedDB worker tests are failing.
https://bugs.webkit.org/show_bug.cgi?id=158341
Reviewed by Alex Christensen.
Enable IndexedDB in workers.
- Source/cmake/OptionsWin.cmake:
- 9:13 AM Changeset in webkit [201643] by
-
- 2 edits in trunk/Source/WebKit2
Fix the !ENABLE(INDEXED_DATABASE) build after r201575
https://bugs.webkit.org/show_bug.cgi?id=158346
Reviewed by Brady Eidson.
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::fetchWebsiteData):
(WebKit::DatabaseProcess::deleteWebsiteData):
(WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
- 8:40 AM Changeset in webkit [201642] by
-
- 2 edits in trunk/Tools
[GTK] Update YouCompleteMe script to make all include paths absolute
https://bugs.webkit.org/show_bug.cgi?id=158301
Reviewed by Michael Catanzaro.
Before this patch, some include paths were not made absolute.
This could make YouCompleteMe plugin to fail extracting information or validating cpp files.
- gtk/ycm_extra_conf.py:
- 7:53 AM Changeset in webkit [201641] by
-
- 6 edits1 add in trunk/Source
Clean up how StackVisitor dumps its frames.
https://bugs.webkit.org/show_bug.cgi?id=158316
Reviewed by Keith Miller.
Source/JavaScriptCore:
- Updated to do dumping to a PrintStream.
- Added support for printing a prefix for each frame. This is currently used by JSDollarVMPrototype to print frame numbers.
- Fix the incrementing of the frame index in StackVisitor. It was initialized but never incremented before when iterating the frames.
- interpreter/StackVisitor.cpp:
(JSC::StackVisitor::gotoNextFrame):
(JSC::StackVisitor::Frame::codeType):
(JSC::StackVisitor::Frame::functionName):
(JSC::StackVisitor::Frame::sourceURL):
(JSC::StackVisitor::Frame::toString):
(JSC::StackVisitor::Frame::createArguments):
(JSC::StackVisitor::Frame::computeLineAndColumn):
(JSC::StackVisitor::Frame::retrieveExpressionInfo):
(JSC::StackVisitor::Frame::setToEnd):
(JSC::StackVisitor::Frame::dump):
(JSC::StackVisitor::Indent::dump):
(JSC::printIndents): Deleted.
(JSC::log): Deleted.
(JSC::logF): Deleted.
(JSC::StackVisitor::Frame::print): Deleted.
- interpreter/StackVisitor.h:
(JSC::StackVisitor::Indent::Indent):
(JSC::StackVisitor::Indent::operator++):
(JSC::StackVisitor::Indent::operator--):
(JSC::StackVisitor::Frame::isJSFrame):
(JSC::StackVisitor::Frame::isInlinedFrame):
(JSC::StackVisitor::Frame::vmEntryFrame):
(JSC::StackVisitor::Frame::callFrame):
(JSC::StackVisitor::Frame::Frame):
(JSC::StackVisitor::Frame::~Frame):
- tools/JSDollarVMPrototype.cpp:
(JSC::PrintFrameFunctor::operator()):
Source/WTF:
Added an Indenter class what works with dataLog.
- WTF.xcodeproj/project.pbxproj:
- wtf/Indenter.h: Added.
(WTF::Indenter::Indenter):
(WTF::Indenter::dump):
(WTF::Indenter::operator++):
(WTF::Indenter::operator--):
- 2:03 AM Changeset in webkit [201640] by
-
- 2 edits in trunk/Tools
Unreviewed: add myself to the committers list.
- Scripts/webkitpy/common/config/contributors.json:
- 12:52 AM Changeset in webkit [201639] by
-
- 4 edits in trunk
REGRESSION: WebGL doesn't show up in CSS reflections
https://bugs.webkit.org/show_bug.cgi?id=76489
Patch by Antoine Quint <Antoine Quint> on 2016-06-03
Reviewed by Dean Jackson.
Source/WebCore:
The WebGLLayer needs to notify its owning GraphicsLayer that it was displayed
such that its clones, in GraphicsLayerCA::layerDidDisplay, may have their contents
updated to match that layer's contents. The test at compositing/webgl/webgl-reflection.html
already covers this test and its expectation on Mac has been updated.
- platform/graphics/mac/WebGLLayer.mm:
(-[WebGLLayer display]):
LayoutTests:
Update the expected rendering to contain the reflected WebGL <canvas>.
- platform/mac/compositing/webgl/webgl-reflection-expected.png:
- 12:10 AM Changeset in webkit [201638] by
-
- 2 edits in trunk/Source/WebCore
Refactor showModalDialog handling in JSDOMWindowCustom
https://bugs.webkit.org/show_bug.cgi?id=158294
Reviewed by Ryosuke Niwa.
The showModalDialog property is currently implemented in a way that effectively
results in duplication of the tail of the function, but modified to call
Base::getOwnPropertySlot instead of getStaticPropertySlot. It does so based on the
assumption that Base::getOwnPropertySlot is not going to search the static tables
(containing the property we wish to omit).
However as a part of bug #158178 I plan to change it such that Base::getOwnPropertySlot
does also search the static tables. So, refactoring this code to no longer depend on
using a function that bypasses the static tables. Always perform a lookup that will
check both property storage & static tables. If the object does contain the property,
then check explicitly for the value we're intending to suppress.
Covered by exsiting tests.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
- Check result of getStaticPropertySlot for showModalDialog function.