Timeline
Feb 17, 2018:
- 9:50 PM Changeset in webkit [228602] by
-
- 11 edits in trunk/Source/WebKit
[Extra zoom mode] Form control values are stale after dismissing and representing input view controllers
https://bugs.webkit.org/show_bug.cgi?id=182877
<rdar://problem/37604395>
Reviewed by Tim Horton.
Currently, when presenting an input view controller for a focused element, we populate the initial form control
value using the WKContentView's assisted node information when it was last focused. However, if the user edits
the value of a form control, dismisses to the form control view controller (while the element is still focused)
and then begins editing the field again, the initial text will be the previous value of the input, since the
AssistedNodeInformation isn't up to date.
To fix this, we introduce a mechanism to update WKContentView's AssistedNodeInformation for the current assisted
node. This overwrites _assistedNodeInformation with new information computed from the web process, as long as
the assisted node before and after the request is made in the UI process has not changed. We accomplish this by
adding an identifier to AssistedNodeInformation, which is monotonically incremented when an element is focused
in the web process. The UI process may then use this identifier to determine whether AssistedNodeInformations
are describing the same focused element.
One interesting consideration here is that a normal AssistedNodeInformation update (propagated when focusing an
element) may be deferred in the UI process until the next layer tree commit. In the absence of the assisted node
identifier check, one could imagine a scenario in which the assisted node information in the UI process gets
"updated" from a new value to an old value:
- The web process focuses an element and sends AssistedNodeInformation
A. - WKContentView calls -updateCurrentAssistedNodeInformation.
- The web process sends AssistedNodeInformation
B. Ais received in the UI process, but deferred.- The UI process receives
Band sets _assistedNodeInformation toB. - The UI process calls -_startAssistingNode: and sets _assistedNodeInformation to
A.
This would mean that the _assistedNodeInformation is set to an earlier value,
A, after being set to a later
value,B. However, because the AssistedNodeInformation identifier in step (2) refers to the assisted node
prior to step (1), the assisted node identifier in (5) would not match this identifier, and we would simply bail
instead of overwriting assisted node information.
We use this AssistedNodeInformation update mechanism after inserting text via input view controllers, and also
after reentering edit mode from the focused form control view controller. This fixes two issues where changing
the size of the focused element after editing it results in the focused form overlay highlighting a stale frame,
and also when setting the initial text when reentering edit mode for a form control that is already focused.
- Shared/AssistedNodeInformation.cpp:
(WebKit::AssistedNodeInformation::encode const):
(WebKit::AssistedNodeInformation::decode):
- Shared/AssistedNodeInformation.h:
Add a new monotonically increasing identifier (per WebPage) which associates a AssistedNodeInformation with a
focused element. In the event that the web process crashes and relaunches (thus resetting this identifier),
AssistedNodeInformation state in the UI process is now also reset (see -cleanupInteraction), so we won't end up
confusing AssistedNodeInformations computed by different WebPages between a web process crash.
- UIProcess/WebPageProxy.h:
A bit of related refactoring here to remove an unnecessary bool flag that indicates whether we have a deferred
assisted node information. Instead, just use the presence of m_deferredNodeAssistanceArguments.
- UIProcess/WebPageProxy.messages.in:
Add a AssistedNodeInformationCallback IPC message.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView cleanupInteraction]):
Clear out the previous AssistedNodeInformation. See above for details.
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]):
(-[WKContentView updateCurrentAssistedNodeInformation:]):
Tries to update AssistedNodeInformation for the current assisted node, invoking the completion callback when
finished. This may result in the assisted node information not being updated due to the current assisted node
changing in the time between the start of the request and the information being received in the UI process.
(-[WKContentView presentViewControllerForCurrentAssistedNode]):
Refactored from -presentViewControllerForAssistedNode:, such that it no longer takes an AssistedNodeInformation
as an argument, but rather just uses WKContentView's current _assistedNodeInformation. This was just being
called with _assistedNodeInformation from all call sites anyways.
(-[WKContentView textInputController:didCommitText:]):
Request an AssistedNodeInformation update after setting the value of a form control; if the assisted node hasn't
changed, update the focused form control overlay. This is needed to handle cases where the focused element's
frame may have changed after inserting text (e.g. due to line wrapping), and the focused form control overlay
needs to be updated to reflect this change.
(-[WKContentView focusedFormControlControllerDidBeginEditing:]):
Request an AssistedNodeInformation update before reentering edit mode; if the assisted node hasn't changed since
the start of the request, present the appropriate input view controller.
(-[WKContentView presentViewControllerForAssistedNode:]): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::assistedNodeInformationCallback):
(WebKit::WebPageProxy::requestAssistedNodeInformation):
(WebKit::WebPageProxy::didCommitLayerTree):
(WebKit::WebPageProxy::startAssistingNode):
(WebKit::WebPageProxy::stopAssistingNode):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::elementDidFocus):
Increment the assisted node identifier.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestAssistedNodeInformation):
Compute and return an AssistedNodeInformation.
(WebKit::WebPage::getAssistedNodeInformation):
- 8:43 PM Changeset in webkit [228601] by
-
- 2 edits in trunk
Fix up ChangeLog entry for r228594 (https://bugs.webkit.org/show_bug.cgi?id=182900). Update bug title
and description to explain that this change was removing the code to parse the UTF-32{BE, LE} BOM and
encoding/decoding logic that is no longer needed following the removal of UTF-32{BE, LE} from the text
codec registry in r224747 (https://bugs.webkit.org/show_bug.cgi?id=179435).
- 11:10 AM Changeset in webkit [228600] by
-
- 53 edits in trunk/Source
Web Inspector: get rid of remaining uses of OptOutput<T>
https://bugs.webkit.org/show_bug.cgi?id=180607
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/AsyncStackTrace.cpp: Removed explicit Inspector prefix from code that
is inside the Inspector namespace already. Also use auto a bit.
- inspector/AsyncStackTrace.h: Ditto.
- inspector/ConsoleMessage.cpp: Ditto.
- inspector/ContentSearchUtilities.cpp: More Inspector namespace removal and ...
(Inspector::ContentSearchUtilities::getRegularExpressionMatchesByLines): Use a
Vector instead of a unique_ptr<Vector>.
(Inspector::ContentSearchUtilities::lineEndings): Ditto.
(Inspector::ContentSearchUtilities::stylesheetCommentPattern): Deleted.
(Inspector::ContentSearchUtilities::findMagicComment): Use std::array instead of
a Vector for a fixed size array; also got rid of reinterpret_cast.
(Inspector::ContentSearchUtilities::findStylesheetSourceMapURL): Moved the regular
expression here since it's the only place it was used.
- inspector/ContentSearchUtilities.h: Cut down on unneeded includes.
- inspector/InjectedScript.cpp: Removed explicit Inspector prefix from code that
is inside the Inspector namespace already. Also use auto a bit.
- inspector/InspectorProtocolTypes.h: Removed OptOutput. Simplified assertions.
Removed base template for BindingTraits; we only need the specializations.
- inspector/ScriptCallFrame.cpp: Removed explicit Inspector prefix from code that
is inside the Inspector namespace already. Also use auto a bit.
- inspector/ScriptCallFrame.h: Ditto.
- inspector/ScriptCallStack.cpp: Ditto.
- inspector/ScriptCallStack.h: Ditto.
- inspector/agents/InspectorConsoleAgent.cpp: Ditto.
- inspector/agents/InspectorConsoleAgent.h: Ditto.
- inspector/agents/InspectorDebuggerAgent.cpp: More Inspector namespace removal and ...
(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame): Use std::optional& intead of
OptOutput* for out arguments.
- inspector/agents/InspectorDebuggerAgent.h: Ditto.
- inspector/agents/InspectorHeapAgent.cpp: More Inspector namespace removal and ...
(Inspector::InspectorHeapAgent::getPreview): Use std::optional& intead of OptOutput*
for out arguments.
- inspector/agents/InspectorHeapAgent.h: Ditto.
- inspector/agents/InspectorRuntimeAgent.cpp: More Inspector namespace removal and ...
(Inspector::InspectorRuntimeAgent::parse): Use std::optional& intead of OptOutput*
for out arguments.
(Inspector::InspectorRuntimeAgent::evaluate): Ditto.
(Inspector::InspectorRuntimeAgent::callFunctionOn): Ditto.
(Inspector::InspectorRuntimeAgent::saveResult): Ditto.
- inspector/agents/InspectorRuntimeAgent.h: Ditto.
- inspector/agents/InspectorScriptProfilerAgent.cpp: More Inspector namespace removal
and removed some bogus const.
- inspector/agents/InspectorScriptProfilerAgent.h: Ditto.
- inspector/scripts/codegen/cpp_generator.py:
(CppGenerator.cpp_type_for_unchecked_formal_in_parameter): Removed some bogus const.
(CppGenerator.cpp_type_for_type_with_name): Ditto.
(CppGenerator.cpp_type_for_formal_out_parameter): Use std::optional& instead of
Inspector::Protocol::OptOutput*.
(CppGenerator.cpp_type_for_formal_async_parameter): Ditto.
(CppGenerator.cpp_type_for_stack_in_parameter): Ditto.
(CppGenerator.cpp_type_for_stack_out_parameter): Ditto.
- inspector/scripts/codegen/cpp_generator_templates.py: Removed ASSERT_DISABLED
conditional around assertion code which will now compile to nothing if ASSERT is disabled.
Build strings more simply in a few cases.
- inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:
(CppBackendDispatcherImplementationGenerator._generate_async_dispatcher_class_for_domain):
Use has_value instead of isAssigned and * operator instead of getValue() since std::optional
replace OptOutput here.
(CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):
Pass by reference instead of pointer now.
- inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
Removed ASSERT_DISABLED conditional around assertion code which will now compile to nothing
if ASSERT is disabled.
- inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:
(CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration): Generate
the assertion function unconditionally, but leave out the assertions if ASSERT_DISABLED is true.
(CppProtocolTypesImplementationGenerator): Use auto instead of writing out JSON::Object::iterator.
- inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:
(ObjCBackendDispatcherImplementationGenerator._generate_conversions_for_command): Build strings
more simply.
- inspector/scripts/tests/generic/expected/commands-with-async-attribute.json-result:
- inspector/scripts/tests/generic/expected/commands-with-optional-call-return-parameters.json-result:
- inspector/scripts/tests/generic/expected/events-with-optional-parameters.json-result:
- inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result:
Rebaselined.
Source/WebCore:
- inspector/InspectorStyleSheet.cpp:
(WebCore::buildSourceRangeObject): Take a const Vector& instead of a Vector*.
(WebCore::InspectorStyle::buildObjectForStyle const): Pass lineEndings() instead
of lineEndings().get().
(WebCore::InspectorStyle::styleWithProperties const): Ditto.
(WebCore::InspectorStyleSheet::buildObjectForSelectorList): Ditto.
(WebCore::InspectorStyleSheet::lineEndings const): Return a Vector instead of
a std::unique_ptr<Vector>.
(WebCore::InspectorStyleSheetForInlineStyle::lineEndings const): Ditto.
- inspector/InspectorStyleSheet.h: Updated for the above.
- inspector/agents/InspectorCSSAgent.h: Removed some bogus const.
- inspector/agents/InspectorCanvasAgent.cpp: Ditto.
- inspector/agents/InspectorCanvasAgent.h: Ditto.
- inspector/agents/InspectorDOMDebuggerAgent.cpp: Improved type of global strings
so we don't waste space with a pointer to the string.
(WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint): Removed
explicit creation of String, which was wasteful and unnecessary.
(WebCore::InspectorDOMDebuggerAgent::setInstrumentationBreakpoint): Ditto.
(WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint): Ditto.
(WebCore::InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint): Ditto.
(WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint): Removed bogus const.
- inspector/agents/InspectorDOMDebuggerAgent.h: Removed bogus const and use
final instead of override.
- inspector/agents/InspectorPageAgent.cpp: Ditto.
- inspector/agents/InspectorPageAgent.h: Ditto.
- 10:35 AM Changeset in webkit [228599] by
-
- 3 edits4 adds in branches/safari-605-branch
Cherry-pick r228551. rdar://problem/37615430
- 10:35 AM Changeset in webkit [228598] by
-
- 4 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r228545. rdar://problem/37615437
- 10:35 AM Changeset in webkit [228597] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r228519. rdar://problem/37615441
- 10:35 AM Changeset in webkit [228596] by
-
- 3 edits1 add in branches/safari-605-branch
Cherry-pick r228454. rdar://problem/37615380
Feb 16, 2018:
- 10:01 PM Changeset in webkit [228595] by
-
- 11 edits in trunk/Source/WebCore
[RenderTreeBuilder] Cleanup RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182899
<rdar://problem/37627888>
Reviewed by Antti Koivisto.
No change in functionality.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::styleDidChange):
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::takeChild):
(WebCore::RenderTreeBuilder::moveChildTo):
(WebCore::RenderTreeBuilder::moveAllChildrenTo):
(WebCore::RenderTreeBuilder::moveChildrenTo):
(WebCore::RenderTreeBuilder::moveAllChildrenIncludingFloatsTo):
(WebCore::RenderTreeBuilder::makeChildrenNonInline):
(WebCore::RenderTreeBuilder::splitAnonymousBoxesAroundChild):
(WebCore::RenderTreeBuilder::takeChildFromRenderMenuList): Deleted.
(WebCore::RenderTreeBuilder::takeChildFromRenderButton): Deleted.
- rendering/updating/RenderTreeBuilder.h:
(WebCore::RenderTreeBuilder::current):
- rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::dropAnonymousBoxChild):
- rendering/updating/RenderTreeBuilderBlockFlow.cpp:
(WebCore::RenderTreeBuilder::BlockFlow::moveAllChildrenIncludingFloatsTo):
- rendering/updating/RenderTreeBuilderFormControls.cpp:
(WebCore::RenderTreeBuilder::FormControls::takeChild):
- rendering/updating/RenderTreeBuilderFormControls.h:
- rendering/updating/RenderTreeBuilderMultiColumn.cpp:
(WebCore::RenderTreeBuilder::MultiColumn::createFragmentedFlow):
(WebCore::RenderTreeBuilder::MultiColumn::destroyFragmentedFlow):
- rendering/updating/RenderTreeBuilderRuby.cpp:
(WebCore::RenderTreeBuilder::Ruby::moveInlineChildren):
(WebCore::RenderTreeBuilder::Ruby::moveBlockChildren):
(WebCore::RenderTreeBuilder::Ruby::takeChild):
- rendering/updating/RenderTreeBuilderTable.cpp:
(WebCore::RenderTreeBuilder::Table::collapseAndDestroyAnonymousSiblingRows):
- 9:49 PM Changeset in webkit [228594] by
-
- 8 edits in trunk
Remove dead code for UTF-32
https://bugs.webkit.org/show_bug.cgi?id=182900
<rdar://problem/37238717>
Patch by Daniel Bates <dabates@apple.com> on 2018-02-16
Reviewed by Alexey Proskuryakov.
LayoutTests/imported/w3c:
Update expected results now that all sub-tests pass.
- web-platform-tests/encoding/unsupported-encodings-expected.txt:
- web-platform-tests/encoding/utf-32-expected.txt:
Source/WebCore:
The UTF-32 encodings were removed from the text codec registry in r224747. So,
we no longer need code to encode or decode these variants.
- dom/TextDecoder.cpp:
(WebCore::codeUnitByteSize):
- loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::checkForBOM):
(WebCore::TextResourceDecoder::checkForHeadCharset):
- platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::isNonByteBasedEncoding const):
(WebCore::UTF32BigEndianEncoding): Deleted.
(WebCore::UTF32LittleEndianEncoding): Deleted.
- platform/text/TextEncoding.h:
- 6:20 PM Changeset in webkit [228593] by
-
- 14 edits in trunk/Source/WebCore
[RenderTreeBuilder] Move RenderBoxModelObject::moveChild*() to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182896
<rdar://problem/37623051>
Reviewed by Antti Koivisto.
No change in functionality.
- rendering/RenderBlock.h:
(WebCore::RenderBlock::moveAllChildrenIncludingFloatsTo): Deleted.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::styleDidChange):
(WebCore::RenderBlockFlow::moveAllChildrenIncludingFloatsTo): Deleted.
- rendering/RenderBlockFlow.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::moveChildTo): Deleted.
(WebCore::RenderBoxModelObject::moveChildrenTo): Deleted.
(WebCore::RenderBoxModelObject::moveAllChildrenToInternal): Deleted.
- rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::moveChildTo): Deleted.
(WebCore::RenderBoxModelObject::moveAllChildrenTo): Deleted.
(WebCore::RenderBoxModelObject::moveChildrenTo): Deleted.
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::moveChildTo):
(WebCore::RenderTreeBuilder::moveAllChildrenTo):
(WebCore::RenderTreeBuilder::moveChildrenTo):
(WebCore::RenderTreeBuilder::moveAllChildrenIncludingFloatsTo):
(WebCore::RenderTreeBuilder::makeChildrenNonInline):
(WebCore::RenderTreeBuilder::splitAnonymousBoxesAroundChild):
- rendering/updating/RenderTreeBuilder.h:
- rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::moveAllChildrenToInternal):
(WebCore::RenderTreeBuilder::Block::removeLeftoverAnonymousBlock):
(WebCore::RenderTreeBuilder::Block::takeChild):
(WebCore::RenderTreeBuilder::Block::dropAnonymousBoxChild):
- rendering/updating/RenderTreeBuilderBlockFlow.cpp:
(WebCore::RenderTreeBuilder::BlockFlow::moveAllChildrenIncludingFloatsTo):
- rendering/updating/RenderTreeBuilderBlockFlow.h:
- rendering/updating/RenderTreeBuilderMultiColumn.cpp:
(WebCore::RenderTreeBuilder::MultiColumn::createFragmentedFlow):
(WebCore::RenderTreeBuilder::MultiColumn::destroyFragmentedFlow):
- rendering/updating/RenderTreeBuilderRuby.cpp:
(WebCore::RenderTreeBuilder::Ruby::moveInlineChildren):
(WebCore::RenderTreeBuilder::Ruby::moveBlockChildren):
(WebCore::RenderTreeBuilder::Ruby::takeChild):
- rendering/updating/RenderTreeBuilderTable.cpp:
(WebCore::RenderTreeBuilder::Table::collapseAndDestroyAnonymousSiblingRows):
- 6:13 PM Changeset in webkit [228592] by
-
- 3 edits in trunk/Source/WebCore
[Cocoa] Stop using non-prefixed vDSP functions in 32-bit builds
https://bugs.webkit.org/show_bug.cgi?id=182898
<rdar://problem/37195079>
Reviewed by Tim Horton.
There's no need to use non-prefixed vDSP function aliases on 32-bit builds.
The vDSP-prefixed versions are available on all Cocoa platforms we currently support.
- platform/audio/DirectConvolver.cpp:
(WebCore::DirectConvolver::process):
- platform/audio/VectorMath.cpp:
(WebCore::VectorMath::vsmul):
(WebCore::VectorMath::vadd):
(WebCore::VectorMath::vmul):
(WebCore::VectorMath::zvmul):
- 5:43 PM Changeset in webkit [228591] by
-
- 12 edits2 deletes in trunk
Unreviewed, rolling out r228575.
Introduced LayoutTest crashes under GuardMalloc.
Reverted changeset:
"Use ResourceLoader to load appcache manifest"
https://bugs.webkit.org/show_bug.cgi?id=182861
https://trac.webkit.org/changeset/228575
- 4:48 PM Changeset in webkit [228590] by
-
- 41 edits in trunk
Use OPENGL macros to be more clear about which OpenGL/ES WebGL uses on Cocoa
https://bugs.webkit.org/show_bug.cgi?id=182894
Reviewed by Tim Horton.
.:
Rename OPENGL_ES_2 to OPENGL_ES.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
PerformanceTests:
Rename OPENGL_ES_2 to OPENGL_ES.
- StitchMarker/wtf/Platform.h:
Source/WebCore:
Adjust the places where we check for PLATFORM(MAC) or
PLATFORM(IOS) related to WebGL, and instead rely
on USE(OPENGL) USE(OPENGL_ES).
- CMakeLists.txt:
- PlatformGTK.cmake:
- platform/graphics/GLContext.cpp:
(WebCore::initializeOpenGLShimsIfNeeded):
- platform/graphics/GraphicsContext3DPrivate.cpp:
- platform/graphics/OpenGLESShims.h:
- platform/graphics/cairo/ImageBufferCairo.cpp:
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::getEGLConfig):
(WebCore::GLContextEGL::createContext):
(WebCore::GLContextEGL::createSharingContext):
- platform/graphics/egl/GLContextEGLWPE.cpp:
(WebCore::GLContextEGL::createWPEContext):
- platform/graphics/egl/GLContextEGLWayland.cpp:
(WebCore::GLContextEGL::createWaylandContext):
- platform/graphics/egl/GLContextEGLX11.cpp:
(WebCore::GLContextEGL::createPixmapContext):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext):
- platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp:
(WebCore::VideoTextureCopierGStreamer::VideoTextureCopierGStreamer):
(WebCore::VideoTextureCopierGStreamer::~VideoTextureCopierGStreamer):
(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):
- platform/graphics/gstreamer/VideoTextureCopierGStreamer.h:
- platform/graphics/opengl/Extensions3DOpenGLES.cpp:
- platform/graphics/opengl/Extensions3DOpenGLES.h:
- platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::isGLES2Compliant const):
- platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp:
(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::isGLES2Compliant const):
(WebCore::GraphicsContext3D::getExtensions):
- platform/graphics/texmap/TextureMapperContextAttributes.cpp:
(WebCore::TextureMapperContextAttributes::initialize):
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::~TextureMapperGLData):
(WebCore::TextureMapperGLData::getVAO):
(WebCore::TextureMapperGL::beginPainting):
(WebCore::TextureMapperGL::endPainting):
- platform/graphics/texmap/TextureMapperGLHeaders.h:
- platform/graphics/texmap/TextureMapperShaderProgram.cpp:
(WebCore::TextureMapperShaderProgram::create):
Source/WebKit:
Rename OPENGL_ES_2 to OPENGL_ES.
- CMakeLists.txt:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::paint):
- UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::initializeEGL):
Source/WebKitLegacy/win:
Rename OPENGL_ES_2 to OPENGL_ES.
- WebCoreSupport/AcceleratedCompositingContext.cpp:
Source/WTF:
If we're on a Cocoa platform, define USE_OPENGL/USE_OPENGL_ES
depending on what we're actually going to use. In this case,
they are exclusive, but it doesn't appear that other platforms
use this approach. Ultimately the idea is to be more concerned
with the type of OpenGL we're using, rather than the platform.
- wtf/Platform.h: Define USE_OPENGL(_ES) for PLATFORM(COCOA).
- 4:46 PM Changeset in webkit [228589] by
-
- 14 edits1 add in trunk
Add an entitlement check for service worker on iOS
https://bugs.webkit.org/show_bug.cgi?id=182865
<rdar://problem/37505903>
Reviewed by Brady Eidson.
Source/WebKit:
Added an entitlement check to enable service workers on iOS.
- Shared/mac/SandboxUtilities.h:
- Shared/mac/SandboxUtilities.mm:
(WebKit::connectedProcessHasEntitlement): Added.
- StorageProcess/StorageProcess.cpp:
(WebKit::StorageProcess::createStorageToWebProcessConnection): Enforce the entitlement check by crashing
when this code is executed without the parent process having the service worker entitlement. This should
never happen unless someone is trying to bypass the entitlement check in UI Process since we ordinarily
disable service worker gracefully in WKWebView _initializeWithConfiguration.
(WebKit::StorageProcess::swServerForSession): Ditto.
(WebKit::StorageProcess::registerSWServerConnection): Ditto.
- StorageProcess/StorageProcess.h:
(WebKit::StorageProcess::parentProcessHasServiceWorkerEntitlement const): Added.
- StorageProcess/ios/StorageProcessIOS.mm:
(WebKit::StorageProcess::parentProcessHasServiceWorkerEntitlement const): Added.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]): Disable the service workers when the entitlement is
missing from the current process. The entitlement is enforced by WebContent and Storage process.
This check avoids crashing WebContent process and gracefully disabling the feature.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Enforce the entitlement check.
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const): Added.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const): Added.
Tools:
Added the service worker entitlements to WebKitTestRunner and TestWebKitAPI on iOS.
- TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
- WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
- WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- 4:05 PM Changeset in webkit [228588] by
-
- 10 edits in trunk/Source/WebCore
[RenderTreeBuilder] Move RenderElement::insertChildInternal() to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182885
<rdar://problem/37617371>
Reviewed by Antti Koivisto.
No change in functionality.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::insertChildInternal): Deleted.
- rendering/RenderObject.h:
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::insertChildToRenderElement):
- 3:31 PM Changeset in webkit [228587] by
-
- 53 edits12 adds in trunk
Allow specifying which plug-ins are supported
https://bugs.webkit.org/show_bug.cgi?id=182748
Patch by Youenn Fablet <youenn@apple.com> on 2018-02-16
Reviewed by Chris Dumez.
Source/WebCore:
Tests: http/tests/plugins/nounsupported-plugin.html
http/tests/plugins/supported-plugin-all-origin-visibility.html
http/tests/plugins/supported-plugin-on-specific-origin.html
http/tests/plugins/supported-plugin-origin-specific-visibility.html
http/tests/plugins/unsupported-plugin-on-specific-origin.html
plugins/unsupported-plugin.html
Added support for computing plugin web visibility with the added knowledge of supported plugins.
In case of a plugin failing to be created due to being unsupported, update the UI
to use mark the plugin as "Unexpected plug in".
Added internal API to retrieve the plug-in error description message.
- English.lproj/Localizable.strings:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::setReplacement):
- html/HTMLPlugInElement.h:
- loader/EmptyClients.cpp:
- platform/LocalizedStrings.cpp:
(WebCore::unsupportedPluginText):
- platform/LocalizedStrings.h:
- plugins/PluginData.cpp:
(WebCore::PluginData::initPlugins):
- plugins/PluginData.h:
(WebCore::decodePluginNames):
(WebCore::encodePluginNames):
(WebCore::SupportedPluginNames::decode):
(WebCore::SupportedPluginNames::encode const):
- plugins/PluginInfoProvider.h:
- rendering/RenderEmbeddedObject.cpp:
(WebCore::unavailablePluginReplacementText):
- rendering/RenderEmbeddedObject.h:
(WebCore::RenderEmbeddedObject::pluginReplacementTextIfUnavailable const):
- testing/Internals.cpp:
(WebCore::Internals::unavailablePluginReplacementText):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
Add a C and ObjC API to set which plug-ins are specified.
Plug-ins may be allowed by origin of the main page or for all origins.
If the API to set a supported plug-in is called, WebKit enters a mode
where it will block any plug-in that is not on the list.
The list of supported plug-ins is stored in UIProcess and sent to WebProcess.
This allows to compute the list of visible plug-ins according supported plugins.
PluginInfoStore is storing the list of supported plugins and can
answer whether a plug-in creation request is to be made unsupported or not.
It also creates the structure sent to WebProcess for computing plugin visibility.
Updated ArgumentCoders to accept modern HashSet decoders.
- Platform/IPC/ArgumentCoders.h:
- UIProcess/API/C/WKContext.cpp:
(WKContextAddSupportedPlugin):
(WKContextClearSupportedPlugins):
- UIProcess/API/C/WKContextPrivate.h:
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _addSupportedPlugin:named:withMimeTypes:withExtensions:]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::isSupportedPlugin):
(WebKit::PluginInfoStore::SupportedPlugins::isSupported):
(WebKit::PluginInfoStore::SupportedPlugin::isSupported):
(WebKit::PluginInfoStore::supportedPluginNames):
(WebKit::PluginInfoStore::addSupportedPlugin):
- UIProcess/Plugins/PluginInfoStore.h:
(WebKit::PluginInfoStore::clearSupportedPlugins):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::unavailablePluginButtonClicked):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::addSupportedPlugin):
(WebKit::WebProcessPool::clearSupportedPlugins):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPlugins):
- UIProcess/WebProcessProxy.h:
- UIProcess/WebProcessProxy.messages.in:
- WebProcess/Plugins/WebPluginInfoProvider.cpp:
(WebKit::WebPluginInfoProvider::getPluginInfo):
(WebKit::WebPluginInfoProvider::getWebVisiblePluginInfo):
(WebKit::WebPluginInfoProvider::populatePluginCache):
- WebProcess/Plugins/WebPluginInfoProvider.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton const):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
(WebKit::WebPage::canPluginHandleResponse):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebPluginInfoProvider.h:
- WebCoreSupport/WebPluginInfoProvider.mm:
(WebPluginInfoProvider::getPluginInfo):
(WebPluginInfoProvider::getWebVisiblePluginInfo):
Source/WebKitLegacy/win:
- WebCoreSupport/WebPluginInfoProvider.cpp:
(WebPluginInfoProvider::getPluginInfo):
- WebCoreSupport/WebPluginInfoProvider.h:
Tools:
Add support for a test runner API to specificy supported plug-ins.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPluginsAsUnsupported):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::setPluginsAsUnsupported):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
LayoutTests:
- http/tests/plugins/nounsupported-plugin-expected.txt: Added.
- http/tests/plugins/nounsupported-plugin.html: Added.
- http/tests/plugins/supported-plugin-all-origin-visibility-expected.txt: Added.
- http/tests/plugins/supported-plugin-all-origin-visibility.html: Added.
- http/tests/plugins/supported-plugin-on-specific-origin-expected.txt: Added.
- http/tests/plugins/supported-plugin-on-specific-origin.html: Added.
- http/tests/plugins/supported-plugin-origin-specific-visibility-expected.txt: Added.
- http/tests/plugins/supported-plugin-origin-specific-visibility.html: Added.
- http/tests/plugins/unsupported-plugin-on-specific-origin-expected.txt: Added.
- http/tests/plugins/unsupported-plugin-on-specific-origin.html: Added.
- plugins/unsupported-plugin-expected.txt: Added.
- plugins/unsupported-plugin.html: Added.
- platform/ios-wk1/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 3:18 PM Changeset in webkit [228586] by
-
- 2 edits in trunk/Source/WebCore
http/tests/security/http-0.9/xhr-blocked.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=182857
<rdar://problem/37616958>
Reviewed by Antti Koivisto.
WebCoreResourceHandleAsOperationQueueDelegate does not own the messageQueue and
the detachHandle function was failing to nullout m_messageQueue when the resourceHandle
gets destroyed. This means that callFunctionOnMainThread would sometimes try to append
to a dead messageQueue.
No new tests, already covered by:
http/tests/security/http-0.9/xhr-blocked.html is flaky
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate detachHandle]):
- 3:15 PM Changeset in webkit [228585] by
-
- 2 edits2 adds in trunk
Assert in mixed blend animation
https://bugs.webkit.org/show_bug.cgi?id=182887
<rdar://problem/37598140>
Reviewed by Zalan Bujtas.
Test: fast/css/calc-mixed-blend-crash.html
- platform/CalculationValue.cpp:
(WebCore::CalcExpressionBlendLength::CalcExpressionBlendLength):
Fix mismatch between the type test and the value used.
- 3:12 PM Changeset in webkit [228584] by
-
- 3 edits in trunk/Websites/bugs.webkit.org
Apply Bugzilla patches for CVE-2018-5123
https://bugs.webkit.org/show_bug.cgi?id=182884
Patch by Ling Ho <lingho@apple.com> on 2018-02-16
Reviewed by Alexey Proskuryakov.
- Bugzilla/CGI.pm:
(_prevent_unsafe_response):
(header):
- attachment.cgi:
- 3:02 PM Changeset in webkit [228583] by
-
- 2 edits in branches/safari-605-branch/LayoutTests
Cherry-pick r228579. rdar://problem/36837397
- 2:06 PM Changeset in webkit [228582] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r228318.
The patch that this attempted to fix was rolled out already.
Reverted changeset:
"Fix build on ARMv7 traditional JSCOnly bot after r228306"
https://bugs.webkit.org/show_bug.cgi?id=182563
https://trac.webkit.org/changeset/228318
- 2:06 PM Changeset in webkit [228581] by
-
- 12 edits in trunk/Source/WebInspectorUI
Web Inspector: TabBar redesign: remove top-level search field and pin the Search tab
https://bugs.webkit.org/show_bug.cgi?id=182353
<rdar://problem/37088644>
Reviewed by Devin Rousso.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Main.js:
(WI.contentLoaded):
Create Search UI based on experimental setting. When the new TabBar is
enabled, the Search tab is a pinned tab. Since it is also saveable, it
needs to be added to the TabBrowser (the browser adds the item to the bar).
When restoring saved tabs, make an additional check to prevent a tab
from being added twice. This can occur now that the Search tab is pinned.
- UserInterface/Images/Search.svg:
Update art to better match Safari/macOS. Slightly increase the radius of
the lens, and shorten the length of the handle.
- UserInterface/Views/GoToLineDialog.css:
(.go-to-line-dialog > div::before):
Update styles for new Search icon.
- UserInterface/Views/LegacyTabBar.js:
(WI.LegacyTabBar.prototype.get saveableTabCount):
Backported new TabBar method which is called by TabBrowser.
- UserInterface/Views/OpenResourceDialog.css:
(.open-resource-dialog > .field::before):
Update styles for new Search icon.
- UserInterface/Views/PinnedTabBarItem.js:
(WI.PinnedTabBarItem.prototype.fromTabInfo):
Match GeneralTabBarItem.fromTabInfo.
- UserInterface/Views/SearchTabContentView.js:
(WI.SearchTabContentView):
(WI.SearchTabContentView.tabInfo):
New image (magnifying glass without border) when new TabBar is enabled.
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView):
- UserInterface/Views/TabBar.js:
(WI.TabBar):
Move creation of the Settings item out of TabBar. The TabBar should
only be concerned with managing tabs.
(WI.TabBar.prototype.get saveableTabCount):
(WI.TabBar.prototype._handleContextMenu):
(WI.TabBar.prototype.get normalNonEphemeralTabCount): Deleted.
Now that the Search tab is pinned, there aren't any normal tabs that
are also ephemeral. For the LegacyTabBar, both the Search and New Tab
tabs are still in this category.
- UserInterface/Views/TabBrowser.js:
(WI.TabBrowser.prototype.addTabForContentView):
(WI.TabBrowser.prototype.closeTabForContentView):
(WI.TabBrowser.prototype._tabBarItemSelected):
(WI.TabBrowser._tabBarItemRemoved):
Recent tab list should be validated against the list of saveable tabs,
since the Search tab is no longer a normal tab (a GeneralTabBarItem),
but is still persisted across Inspector sessions.
- 1:56 PM Changeset in webkit [228580] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
[Cocoa][WebKitLegacy] REGRESSION(r221559): Coda 2 crashes when switching views
https://bugs.webkit.org/show_bug.cgi?id=182882
<rdar://problem/35672661>
Reviewed by Dan Bernstein.
Make sure the smart pointer hold the collection of subviews lives at least as
long as the loop using it.
- WebView/WebHTMLView.mm:
(-[WebHTMLView _web_makePluginSubviewsPerformSelector:withObject:]):
- 1:53 PM Changeset in webkit [228579] by
-
- 2 edits in trunk/LayoutTests
Mark fast/block/positioning/fixed-container-with-relative-parent.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181834
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 1:42 PM Changeset in webkit [228578] by
-
- 11 edits in trunk/Source/WebCore
[RenderTreeBuilder] Move RenderBlock/RenderInline::addChildIgnoringContinuation() to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182876
<rdar://problem/37607604>
Reviewed by Antti Koivisto.
No change in functionality.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringContinuation): Deleted.
- rendering/RenderBlock.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::addChildIgnoringContinuation): Deleted.
- rendering/RenderElement.h:
- rendering/RenderInline.cpp:
(WebCore::RenderInline::addChildIgnoringContinuation): Deleted.
- rendering/RenderInline.h:
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::insertChildIgnoringContinuation):
(WebCore::RenderTreeBuilder::insertChildToRenderBlockIgnoringContinuation): Deleted.
(WebCore::RenderTreeBuilder::insertChildToRenderInlineIgnoringContinuation): Deleted.
- rendering/updating/RenderTreeBuilder.h:
- rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::insertChildToContinuation):
- rendering/updating/RenderTreeBuilderInline.cpp:
(WebCore::RenderTreeBuilder::Inline::insertChildToContinuation):
(WebCore::RenderTreeBuilder::Inline::splitInlines):
- 1:39 PM Changeset in webkit [228577] by
-
- 11 edits2 adds2 deletes in trunk/Source/WebCore
[Curl] Unify logic of ResourceHandleCurlDelegate into ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=182578
Reconstruct the classes to match Curl port network layer more similar
structure with other ports. Move CurlRequest handling into ResourceHandle
and makes CurlResourceHandleDelegate simple life cycle. Also its duty is
for most of incoming data and event handling from CurRequest.
Patch by Basuke Suzuki <Basuke Suzuki> on 2018-02-16
Reviewed by Alex Christensen.
No new tests because there's no new behavior.
- platform/Curl.cmake:
- platform/network/ResourceHandle.h:
- platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
- platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::didReceiveResponse):
- platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::~CurlDownload):
(WebCore::CurlDownload::createCurlRequest):
(WebCore::CurlDownload::curlDidReceiveResponse):
(WebCore::CurlDownload::curlDidReceiveBuffer):
(WebCore::CurlDownload::curlDidComplete):
(WebCore::CurlDownload::curlDidFailWithError):
(WebCore::CurlDownload::willSendRequest):
- platform/network/curl/CurlDownload.h:
- platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::CurlRequest):
(WebCore::CurlRequest::cancel):
(WebCore::CurlRequest::callClient):
(WebCore::CurlRequest::willSendData):
(WebCore::CurlRequest::didReceiveData):
(WebCore::CurlRequest::didReceiveDataFromMultipart):
(WebCore::CurlRequest::didCompleteTransfer):
(WebCore::CurlRequest::invokeDidReceiveResponse):
- platform/network/curl/CurlRequest.h:
(WebCore::CurlRequest::create):
(WebCore::CurlRequest::invalidateClient):
(WebCore::CurlRequest::setClient): Deleted.
- platform/network/curl/CurlRequestClient.h:
- platform/network/curl/CurlResourceHandleDelegate.cpp: Added.
(WebCore::CurlResourceHandleDelegate::CurlResourceHandleDelegate):
(WebCore::CurlResourceHandleDelegate::ref):
(WebCore::CurlResourceHandleDelegate::deref):
(WebCore::CurlResourceHandleDelegate::cancelledOrClientless):
(WebCore::CurlResourceHandleDelegate::client const):
(WebCore::CurlResourceHandleDelegate::d):
(WebCore::CurlResourceHandleDelegate::curlDidSendData):
(WebCore::handleCookieHeaders):
(WebCore::CurlResourceHandleDelegate::curlDidReceiveResponse):
(WebCore::CurlResourceHandleDelegate::curlDidReceiveBuffer):
(WebCore::CurlResourceHandleDelegate::curlDidComplete):
(WebCore::CurlResourceHandleDelegate::curlDidFailWithError):
- platform/network/curl/CurlResourceHandleDelegate.h: Added.
(WebCore::CurlResourceHandleDelegate::response const):
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::cancel):
(WebCore::ResourceHandle::cancelledOrClientless):
(WebCore::ResourceHandle::createCurlRequest):
(WebCore::ResourceHandle::delegate):
(WebCore::ResourceHandle::platformSetDefersLoading):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandle::getCredential):
(WebCore::ResourceHandle::restartRequestWithCredential):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::platformContinueSynchronousDidReceiveResponse):
(WebCore::ResourceHandle::continueAfterDidReceiveResponse):
(WebCore::ResourceHandle::shouldRedirectAsGET):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::continueAfterWillSendRequest):
(WebCore::ResourceHandle::handleDataURL):
- platform/network/curl/ResourceHandleCurlDelegate.cpp: Removed.
- platform/network/curl/ResourceHandleCurlDelegate.h: Removed.
- 1:38 PM Changeset in webkit [228576] by
-
- 43 edits2 deletes in trunk/Source
Unreviewed, roll out r228306 (custom memcpy/memset) because the bots say that it was not a
progression.
Source/bmalloc:
- bmalloc/Algorithm.h:
(bmalloc::fastCopy): Deleted.
(bmalloc::fastZeroFill): Deleted.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::reallocate):
- bmalloc/Bits.h:
(bmalloc::BitsWordOwner::operator=):
(bmalloc::BitsWordOwner::clearAll):
(bmalloc::BitsWordOwner::set):
- bmalloc/IsoPageInlines.h:
(bmalloc::IsoPage<Config>::IsoPage):
- bmalloc/Vector.h:
(bmalloc::Vector<T>::reallocateBuffer):
Source/JavaScriptCore:
- assembler/AssemblerBuffer.h:
(JSC::AssemblerBuffer::append):
- heap/LargeAllocation.cpp:
(JSC::LargeAllocation::tryCreate):
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::Handle::didAddToDirectory):
- runtime/ArrayBuffer.cpp:
(JSC::ArrayBufferContents::tryAllocate):
(JSC::ArrayBufferContents::copyTo):
(JSC::ArrayBuffer::createInternal):
- runtime/ArrayBufferView.h:
(JSC::ArrayBufferView::zeroRangeImpl):
- runtime/ArrayConventions.cpp:
(JSC::clearArrayMemset):
- runtime/ArrayConventions.h:
(JSC::clearArray):
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoPrivateFuncConcatMemcpy):
- runtime/ButterflyInlines.h:
(JSC::Butterfly::tryCreate):
(JSC::Butterfly::createOrGrowPropertyStorage):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):
- runtime/GenericTypedArrayViewInlines.h:
(JSC::GenericTypedArrayView<Adaptor>::create):
- runtime/JSArray.cpp:
(JSC::JSArray::appendMemcpy):
(JSC::JSArray::fastSlice):
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::set):
- runtime/JSObject.cpp:
(JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
(JSC::JSObject::shiftButterflyAfterFlattening):
- runtime/PropertyTable.cpp:
(JSC::PropertyTable::PropertyTable):
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/BitVector.cpp:
(WTF::BitVector::setSlow):
(WTF::BitVector::clearAll):
(WTF::BitVector::resizeOutOfLine):
- wtf/BitVector.h:
(WTF::BitVector::OutOfLineBits::numWords const):
(WTF::BitVector::wordCount): Deleted.
- wtf/CMakeLists.txt:
- wtf/ConcurrentBuffer.h:
(WTF::ConcurrentBuffer::growExact):
- wtf/FastBitVector.h:
(WTF::FastBitVectorWordOwner::operator=):
(WTF::FastBitVectorWordOwner::clearAll):
(WTF::FastBitVectorWordOwner::set):
- wtf/FastCopy.h: Removed.
- wtf/FastMalloc.cpp:
(WTF::fastZeroedMalloc):
(WTF::fastStrDup):
(WTF::tryFastZeroedMalloc):
- wtf/FastZeroFill.h: Removed.
- wtf/OSAllocator.h:
(WTF::OSAllocator::reallocateCommitted):
- wtf/StringPrintStream.cpp:
(WTF::StringPrintStream::increaseSize):
- wtf/Vector.h:
- wtf/persistence/PersistentDecoder.cpp:
(WTF::Persistence::Decoder::decodeFixedLengthData):
- wtf/persistence/PersistentEncoder.cpp:
(WTF::Persistence::Encoder::encodeFixedLengthData):
- wtf/text/CString.cpp:
(WTF::CString::init):
(WTF::CString::copyBufferIfNeeded):
- wtf/text/LineBreakIteratorPoolICU.h:
(WTF::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
- wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::allocateBuffer):
(WTF::StringBuilder::append):
- wtf/text/StringConcatenate.h:
- wtf/text/StringImpl.h:
(WTF::StringImpl::copyCharacters):
- wtf/text/icu/UTextProvider.cpp:
(WTF::uTextCloneImpl):
- wtf/text/icu/UTextProviderLatin1.cpp:
(WTF::uTextLatin1Clone):
(WTF::openLatin1UTextProvider):
- wtf/threads/Signals.cpp:
- 1:31 PM Changeset in webkit [228575] by
-
- 12 edits2 adds in trunk
Use ResourceLoader to load appcache manifest
https://bugs.webkit.org/show_bug.cgi?id=182861
Patch by Youenn Fablet <youenn@apple.com> on 2018-02-16
Reviewed by Alex Christensen.
Source/WebCore:
Covered by updated tests.
Add ApplicationCacheResourceLoader to load an ApplicationCacheResource from a ResourceLoader.
Make use of it to load the app cache manifest.
Future work should load entries using the same loader.
Remove manifest handle.
Ensure that DocumentLoader does not register the manifest resource loader as its lifetime
is handled by its ApplicationCacheGroup.
Add a ResourceLoader option to bypass the application cache.
Use it for manifest loading.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::addSubresourceLoader):
- loader/ResourceLoaderOptions.h:
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::stopLoading):
(WebCore::ApplicationCacheGroup::update):
(WebCore::ApplicationCacheGroup::createRequest):
(WebCore::ApplicationCacheGroup::didReceiveResponseAsync):
(WebCore::ApplicationCacheGroup::didReceiveData):
(WebCore::ApplicationCacheGroup::didFinishLoading):
(WebCore::ApplicationCacheGroup::didFail):
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
- loader/appcache/ApplicationCacheGroup.h:
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForRedirect):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForResponse):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForError):
- loader/appcache/ApplicationCacheResourceLoader.cpp: Added.
- loader/appcache/ApplicationCacheResourceLoader.h: Added.
LayoutTests:
- http/tests/appcache/fail-on-update-2-expected.txt:
- http/tests/appcache/manifest-redirect-2-expected.txt:
- http/tests/appcache/offline-access-expected.txt:
- 1:06 PM Changeset in webkit [228574] by
-
- 3 edits3 adds in trunk
Crash under WebCore::EventTarget::fireEventListeners
https://bugs.webkit.org/show_bug.cgi?id=182880
<rdar://problem/20788804>
Reviewed by Youenn Fablet.
Source/WebCore:
Make sure the 'ended' event does not get dispatched on a
AudioScheduledSourceNode after ActiveDOMObjects have been stopped.
Test: webaudio/audiobuffersource-ended-detached-frame.html
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::finish):
LayoutTests:
Add layout test coverage.
- webaudio/audiobuffersource-ended-detached-frame-expected.txt: Added.
- webaudio/audiobuffersource-ended-detached-frame.html: Added.
- webaudio/resources/audiobuffersource-ended-detached-frame-iframe.html: Added.
- 12:59 PM Changeset in webkit [228573] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: TabBar redesign: TabBarItem close button is incorrectly positioned
https://bugs.webkit.org/show_bug.cgi?id=182844
<rdar://problem/37586749>
Reviewed by Timothy Hatcher.
- UserInterface/Views/GeneralTabBarItem.js:
(WI.GeneralTabBarItem.prototype.set title):
Insert the title before the last flexible space item.
- UserInterface/Views/TabBar.css:
(.tab-bar > .item):
(.tab-bar > .item > .close):
(.tab-bar > .item > .flex-space):
(.tab-bar > .item.ephemeral > .flex-space:last-child):
(.tab-bar.collapsed > .item):
(.tab-bar.collapsed > .item > .flex-space):
(.tab-bar.collapsed > .item > .close):
(.tab-bar.collapsed > .item:hover > .close):
(.tab-bar.collapsed > .item.ephemeral:hover > .icon):
(.tab-bar > .item:hover > .close): Deleted.
(.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon): Deleted.
- UserInterface/Views/TabBarItem.js:
(WI.TabBarItem):
Restore flexible space items before and after the icon.
- 12:43 PM Changeset in webkit [228572] by
-
- 21 edits1 copy3 adds in trunk
[WebAuthN] Implement PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
https://bugs.webkit.org/show_bug.cgi?id=182771
<rdar://problem/36459988>
Reviewed by Brent Fulgham.
Source/WebCore:
This patch implements PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
per https://www.w3.org/TR/webauthn/#isUserVerifyingPlatformAuthenticatorAvailable with some
limitations.
In addition, it changes DeferredPromise to DOMPromiseDeferred<> for all CredentialsManagement
and WebAuthN API.
Test: http/wpt/webauthn/public-key-is-user-verifying-platform-authenticator-available.html
- Modules/credentialmanagement/CredentialsContainer.cpp:
(WebCore::CredentialsContainer::get):
(WebCore::CredentialsContainer::store):
(WebCore::CredentialsContainer::isCreate):
(WebCore::CredentialsContainer::preventSilentAccess const):
- Modules/credentialmanagement/CredentialsContainer.h:
- Modules/credentialmanagement/CredentialsMessenger.cpp:
(WebCore::CredentialsMessenger::addCreationCompletionHandler):
Remove a redundant assertion.
(WebCore::CredentialsMessenger::addRequestCompletionHandler):
Remove a redundant assertion.
(WebCore::CredentialsMessenger::addQueryCompletionHandler):
(WebCore::CredentialsMessenger::takeQueryCompletionHandler):
- Modules/credentialmanagement/CredentialsMessenger.h:
- Modules/webauthn/AuthenticatorManager.cpp:
(WebCore::AuthenticatorManagerInternal::initTimeoutTimer):
(WebCore::AuthenticatorManager::create const):
(WebCore::AuthenticatorManager::discoverFromExternalSource const):
(WebCore::AuthenticatorManager::isUserVerifyingPlatformAuthenticatorAvailable const):
- Modules/webauthn/AuthenticatorManager.h:
- Modules/webauthn/PublicKeyCredential.cpp:
(WebCore::PublicKeyCredential::isUserVerifyingPlatformAuthenticatorAvailable):
- Modules/webauthn/PublicKeyCredential.h:
- testing/MockCredentialsMessenger.cpp:
(WebCore::MockCredentialsMessenger::isUserVerifyingPlatformAuthenticatorAvailable):
(WebCore::MockCredentialsMessenger::isUserVerifyingPlatformAuthenticatorAvailableReply):
- testing/MockCredentialsMessenger.h:
- testing/MockCredentialsMessenger.idl:
Source/WebKit:
This patch utilizes LocalAuthentication Framework to determine if biometrics
are enrolled on a device, which is the user verifying platform authenticator.
To do so, it links the framework to WebKit.
- UIProcess/CredentialManagement/WebCredentialsMessengerProxy.cpp:
(WebKit::WebCredentialsMessengerProxy::isUserVerifyingPlatformAuthenticatorAvailable):
(WebKit::WebCredentialsMessengerProxy::isUserVerifyingPlatformAuthenticatorAvailableReply):
- UIProcess/CredentialManagement/WebCredentialsMessengerProxy.h:
- UIProcess/CredentialManagement/WebCredentialsMessengerProxy.messages.in:
- UIProcess/CredentialManagement/cocoa/WebCredentialsMessengerProxyCocoa.mm:
(WebKit::WebCredentialsMessengerProxy::platformIsUserVerifyingPlatformAuthenticatorAvailable):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/CredentialManagement/WebCredentialsMessenger.cpp:
(WebKit::WebCredentialsMessenger::isUserVerifyingPlatformAuthenticatorAvailable):
(WebKit::WebCredentialsMessenger::isUserVerifyingPlatformAuthenticatorAvailableReply):
- WebProcess/CredentialManagement/WebCredentialsMessenger.h:
- WebProcess/CredentialManagement/WebCredentialsMessenger.messages.in:
LayoutTests:
- http/wpt/webauthn/public-key-is-user-verifying-platform-authenticator-available-expected.txt: Added.
- http/wpt/webauthn/public-key-is-user-verifying-platform-authenticator-available.html: Added.
- 11:53 AM Changeset in webkit [228571] by
-
- 2 edits in trunk/Source/WebCore
Stop using EXCLUDED_SOURCE_FILE_NAMES for touch and gesture files in WebCore
https://bugs.webkit.org/show_bug.cgi?id=182866
Reviewed by Daniel Bates.
- Configurations/WebCore.xcconfig:
These generated files already have ENABLE() flags around them,
so there's no reason to exclude them explicitly.
- 11:52 AM Changeset in webkit [228570] by
-
- 2 edits in branches/safari-605-branch/LayoutTests
Work towards rdar://problem/36837397.
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 11:38 AM Changeset in webkit [228569] by
-
- 6 edits1 add in trunk
Implement stopping of run loop in the WebContent process when using NSRunLoop.
https://bugs.webkit.org/show_bug.cgi?id=182499
<rdar://problem/37247424>
Reviewed by Brent Fulgham.
Source/WebKit:
Add the method ChildProcess::stopNSRunLoop to end the WebContent process by executing a block
with 'exit(0)' on the main run loop.
- Shared/ChildProcess.h:
- Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::stopNSRunLoop):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::stopRunLoop):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WebProcessTerminate.mm: Added.
(TEST):
- 11:35 AM Changeset in webkit [228568] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix iOS build after r228562.
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::openSQLiteDatabase):
- 11:34 AM Changeset in webkit [228567] by
-
- 3 edits2 copies in trunk/Source/WebKit
[WinCario] Add NetworkSessionCurl
https://bugs.webkit.org/show_bug.cgi?id=182680
Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2018-02-16
Reviewed by Konstantin Tokarev.
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::create):
- PlatformWin.cmake:
- 11:25 AM Changeset in webkit [228566] by
-
- 9 edits in trunk/Source/WebCore
[RenderTreeBuilder] Move RenderElement::addChild() to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182878
<rdar://problem/37608349>
Reviewed by Antti Koivisto.
This patch removes the last addChild() related mutation logic from the renderers.
No change in functionality.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::didInsertChild):
(WebCore::RenderElement::addChild): Deleted.
- rendering/RenderElement.h:
(WebCore::RenderElement::isChildAllowed const):
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::insertChild):
(WebCore::RenderTreeBuilder::insertChildToRenderElement):
- rendering/updating/RenderTreeBuilder.h:
- rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::insertChildIgnoringContinuation):
- rendering/updating/RenderTreeBuilderInline.cpp:
(WebCore::RenderTreeBuilder::Inline::insertChildIgnoringContinuation):
- rendering/updating/RenderTreeBuilderSVG.cpp:
(WebCore::RenderTreeBuilder::SVG::insertChild):
- rendering/updating/RenderTreeBuilderTable.cpp:
(WebCore::RenderTreeBuilder::Table::insertChild):
- 11:12 AM Changeset in webkit [228565] by
-
- 10 edits1 add in trunk
Fix bugs from r228411
https://bugs.webkit.org/show_bug.cgi?id=182851
<rdar://problem/37577732>
Reviewed by JF Bastien.
JSTests:
- stress/constant-folding-phase-insert-check-handle-varargs.js: Added.
Source/JavaScriptCore:
There was a bug from r228411 where inside the constant folding phase,
we used an insertCheck method that didn't handle varargs. This would
lead to a crash. When thinking about the fix for that function, I realized
a made a couple of mistakes in r228411. One is probably a security bug, and
the other is a performance bug because it'll prevent CSE for certain flavors
of GetByVal nodes. Both blunders are similar in nature.
In r228411, I added code in LICM that inserted a CheckVarargs node with children
of another varargs node. However, to construct this new node's children,
I just copied the AdjacencyList. This does a shallow copy. What we needed
was a deep copy. We needed to create a new vararg AdjacencyList that points
to edges that are deep copies of the original varargs children. This patch
fixes this goof in LICM.
r228411 made it so that PureValue over a varargs node would just compare actual
AdjacencyLists structs. So, if you had two GetByVals that had equal santized
children, their actual AdjacencyList structs are *not* bitwise equal, since they'll
have different firstChild values. Instead, we need to do a deep compare of their
adjacency lists. This patch teaches PureValue how to do that.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::copyVarargChildren):
- dfg/DFGInsertionSet.h:
(JSC::DFG::InsertionSet::insertCheck):
- dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::attemptHoist):
- dfg/DFGPureValue.cpp:
(JSC::DFG::PureValue::dump const):
- dfg/DFGPureValue.h:
(JSC::DFG::PureValue::PureValue):
(JSC::DFG::PureValue::op const):
(JSC::DFG::PureValue::hash const):
(JSC::DFG::PureValue::operator== const):
(JSC::DFG::PureValue::isVarargs const):
(JSC::DFG::PureValue::children const): Deleted.
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild):
- 11:05 AM Changeset in webkit [228564] by
-
- 10 edits in trunk/Source/WebKit
ASSERTION FAILED: !m_processes[i] *m_processes[i] == process in MessagePortChannel::entanglePortWithProcess() https://bugs.webkit.org/show_bug.cgi?id=182054
<rdar://problem/36871207>
Reviewed by Brady Eidson.
Pipe postMessage messages to and from service workers via the UIProcess instead of going
directly to the StorageProcess. This is temporarily needed to avoid races due to the
MessagePort registry currently living in the UIProcess and postMessage messages potentially
sending MessagePort objects.
This change is covered by tests on the bots that currently flakily crash in debug.
- StorageProcess/ServiceWorker/WebSWServerConnection.h:
- StorageProcess/StorageProcess.cpp:
(WebKit::StorageProcess::postMessageToServiceWorker):
- StorageProcess/StorageProcess.h:
- StorageProcess/StorageProcess.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::postMessageToServiceWorkerClient):
(WebKit::WebProcessPool::postMessageToServiceWorker):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessPool.messages.in:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::postMessageToServiceWorker):
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerClient):
- 10:52 AM Changeset in webkit [228563] by
-
- 53 edits in trunk/Source
Unreviewed, rolling out r228546.
This caused a consistent crash on all macOS WK2 platforms.
Reverted changeset:
"Web Inspector: get rid of remaining uses of OptOutput<T>"
https://bugs.webkit.org/show_bug.cgi?id=180607
https://trac.webkit.org/changeset/228546
- 10:48 AM Changeset in webkit [228562] by
-
- 2 edits in trunk/Source/WebCore
Log the error message when failing to open the database
https://bugs.webkit.org/show_bug.cgi?id=182795
<rdar://problem/37592399>
Unreviewed.
Fixing iOS simulator debug build.
Patch by Youenn Fablet <youenn@apple.com> on 2018-02-16
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::openSQLiteDatabase):
- 9:46 AM Changeset in webkit [228561] by
-
- 4 edits in trunk
fast/frames/sandboxed-iframe-navigation-top-denied.html is crashing in Inspector::createScriptCallStackForConsole::Exec for GTK
https://bugs.webkit.org/show_bug.cgi?id=172952
Patch by Fujii Hironori <Fujii Hironori> on 2018-02-16
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
Null dereference of VM::topCallFrame happens in
Inspector::createScriptCallStackForConsole if the ExecState has no
call frames.
- inspector/ScriptCallStackFactory.cpp:
(Inspector::createScriptCallStack): Do null check of topCallFrame.
(Inspector::createScriptCallStackForConsole): Ditto.
LayoutTests:
- platform/gtk/TestExpectations: Unmarked fast/frames/sandboxed-iframe-navigation-top-denied.html.
- 9:41 AM Changeset in webkit [228560] by
-
- 5 edits in trunk
IndexedDB: Several test crash in when destroying a IDBKeyData
https://bugs.webkit.org/show_bug.cgi?id=167576
Patch by Fujii Hironori <Fujii Hironori> on 2018-02-16
Reviewed by Michael Catanzaro.
Source/WebCore:
IDBKeyDataHashTraits::constructDeletedValue is using operator= to
assign deletedValue. But, the value is destructed just before
calling constructDeletedValue. You can't use operator= for a
destructed value.
No new tests (Covered by existing tests).
- Modules/indexeddb/IDBKeyData.h:
(WebCore::IDBKeyDataHashTraits::constructDeletedValue):
Construct null value before assigning deletedValue.
LayoutTests:
- platform/gtk/TestExpectations: Unmarked
imported/w3c/IndexedDB-private-browsing/idbcursor_iterating.html,
imported/w3c/IndexedDB-private-browsing/idbcursor_iterating_index.html
and storage/indexeddb/modern/index-3-private.html.
- platform/wpe/TestExpectations: Unmarked
imported/w3c/IndexedDB-private-browsing/idbcursor_iterating.html and
imported/w3c/IndexedDB-private-browsing/idbcursor_iterating_index.html.
- 7:13 AM Changeset in webkit [228559] by
-
- 13 edits in trunk/Source/WebCore
[RenderTreeBuilder] Move RenderBlock/RenderBlockFlow::addChild() to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=182862
<rdar://problem/37595464>
Reviewed by Antti Koivisto.
No change in functionality.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChild): Deleted.
- rendering/RenderBlock.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::addChild): Deleted.
- rendering/RenderBlockFlow.h:
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::insertChild):
(WebCore::RenderTreeBuilder::insertChildToRenderBlock): Deleted.
(WebCore::RenderTreeBuilder::insertChildToRenderBlockFlow): Deleted.
- rendering/updating/RenderTreeBuilder.h:
- rendering/updating/RenderTreeBuilderBlockFlow.cpp:
(WebCore::RenderTreeBuilder::BlockFlow::insertChild):
- rendering/updating/RenderTreeBuilderFormControls.cpp:
(WebCore::RenderTreeBuilder::FormControls::findOrCreateParentForChild):
- rendering/updating/RenderTreeBuilderMathML.cpp:
(WebCore::RenderTreeBuilder::MathML::makeFences):
(WebCore::RenderTreeBuilder::MathML::insertChild):
- rendering/updating/RenderTreeBuilderMultiColumn.cpp:
(WebCore::RenderTreeBuilder::MultiColumn::createFragmentedFlow):
(WebCore::RenderTreeBuilder::MultiColumn::processPossibleSpannerDescendant):
- rendering/updating/RenderTreeBuilderRuby.cpp:
(WebCore::RenderTreeBuilder::Ruby::insertChild):
(WebCore::RenderTreeBuilder::Ruby::findOrCreateParentForChild):
(WebCore::RenderTreeBuilder::Ruby::rubyBaseSafe):
- rendering/updating/RenderTreeBuilderSVG.cpp:
(WebCore::RenderTreeBuilder::SVG::insertChild):
- 7:03 AM Changeset in webkit [228558] by
-
- 2 edits in trunk/LayoutTests
[WPE] Update expectations for a couple of flaky tests
Unreviewed gardening.
http/tests/appcache/fail-on-update.html and
svg/as-image/svg-as-image-canvas.html are flaky.
- platform/wpe/TestExpectations:
- 6:35 AM Changeset in webkit [228557] by
-
- 8 edits2 adds in trunk/Source
[Extra zoom mode] Add basic support for <input type='date'> using date picker UI
https://bugs.webkit.org/show_bug.cgi?id=182847
<rdar://problem/35143111>
Reviewed by Tim Horton.
Source/WebCore:
Add new localized strings for "month", "day" and "year" as they appear in the date picker.
- English.lproj/Localizable.strings:
- platform/LocalizedStrings.cpp:
(WebCore::textInputModeWriteButtonTitle):
(WebCore::textInputModeSpeechButtonTitle):
(WebCore::datePickerDayLabelTitle):
(WebCore::datePickerMonthLabelTitle):
(WebCore::datePickerYearLabelTitle):
(WebCore::textInputModeWriteButton): Deleted.
(WebCore::textInputModeSpeechButton): Deleted.
- platform/LocalizedStrings.h:
Source/WebKit:
Add support for presenting date pickers when focusing a date input.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _stopAssistingNode]):
(-[WKContentView dismissAllInputViewControllers]):
Pull logic to dismiss input view controllers into a single helper.
(-[WKContentView presentDatePickerViewController:]):
(-[WKContentView dismissDatePickerViewController:]):
(-[WKContentView presentViewControllerForAssistedNode:]):
(-[WKContentView textInputController:didCommitText:]):
(-[WKContentView _wheelChangedWithEvent:]):
Delegate wheel events to the date picker.
- UIProcess/ios/forms/WKDatePickerViewController.h: Added.
- UIProcess/ios/forms/WKDatePickerViewController.mm: Added.
Add harness files for the WKDatePickerViewController implementation in WebKitAdditions.
- WebKit.xcodeproj/project.pbxproj:
- 6:33 AM Changeset in webkit [228556] by
-
- 2 edits in trunk/Source/WTF
Remove unused line from Platform.h
https://bugs.webkit.org/show_bug.cgi?id=182871
Reviewed by Mark Lam.
- wtf/Platform.h:
- 5:56 AM Changeset in webkit [228555] by
-
- 2 edits in trunk/LayoutTests
[WPE] New rebaseline after r228427
Unreviewed gardening
- platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt: Remove
gone AccessibleNode class.
- 5:47 AM Changeset in webkit [228554] by
-
- 2 edits in trunk/LayoutTests
Update expectations for a couple of failing tests.
Unreviewed gardening.
- platform/gtk/TestExpectations:
- 12:00 AM Changeset in webkit [228553] by
-
- 5 edits in trunk/Source/WebCore
HarfBuzzFace should operate with a FontPlatformData reference
https://bugs.webkit.org/show_bug.cgi?id=182863
Reviewed by Carlos Garcia Campos.
Instead of keeping a never-null pointer to FontPlatformData,
HarfBuzzFace should operate with a FontPlatformData reference.
- platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::harfBuzzFace const):
- platform/graphics/harfbuzz/HarfBuzzFace.cpp:
(WebCore::HarfBuzzFace::HarfBuzzFace):
- platform/graphics/harfbuzz/HarfBuzzFace.h:
- platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
(WebCore::HarfBuzzFace::createFace):
(WebCore::HarfBuzzFace::createFont):