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

Timeline



Oct 1, 2017:

11:02 PM Changeset in webkit [222698] by commit-queue@webkit.org
  • 10 edits
    1 add in trunk/Source/WebCore

[Settings] Move remaining simple settings to Settings.in
https://bugs.webkit.org/show_bug.cgi?id=177730

Patch by Sam Weinig <sam@webkit.org> on 2017-10-01
Reviewed by Darin Adler.

  • Adds new option type for Settings.in, 'getter', which allows you to specify a custom name for the setting's getter. For instance, the setting javaEnabled has a custom getter name, 'isJavaEnabled'.
  • Adds support for WTF::Seconds as a type of setting. Used by only timeWithoutMouseMovementBeforeHidingControls at the moment.
  • Moves non-generated settings from Settings.h/cpp that don't require custom action when set, to Settings.in
  • Scripts/GenerateSettings/GenerateInternalSettingsImplementationFile.py:
  • Scripts/GenerateSettings/GenerateSettingsHeaderFile.py:
  • Scripts/GenerateSettings/Settings.py:

Add support for 'getter' and the Seconds type.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/text/FontRenderingMode.h: Copied from Source/WebCore/platform/text/TextFlags.h.
  • platform/text/TextFlags.h:

Add FontRenderingMode.h. Moved out of TextFlags.h to be accessible by
the settings generator.

  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::setJavaEnabled): Deleted.
(WebCore::Settings::setJavaEnabledForLocalFiles): Deleted.
(WebCore::Settings::setPreferMIMETypeForImages): Deleted.
(WebCore::Settings::setForcePendingWebGLPolicy): Deleted.
(WebCore::Settings::setNeedsAdobeFrameReloadingQuirk): Deleted.
(WebCore::Settings::setFontRenderingMode): Deleted.
(WebCore::Settings::fontRenderingMode const): Deleted.
(WebCore::Settings::setShowTiledScrollingIndicator): Deleted.
(WebCore::Settings::setFontFallbackPrefersPictographs): Deleted.
(WebCore::Settings::setWebFontsAlwaysFallBack): Deleted.

  • page/Settings.h:

(WebCore::Settings::isJavaEnabled const): Deleted.
(WebCore::Settings::isJavaEnabledForLocalFiles const): Deleted.
(WebCore::Settings::preferMIMETypeForImages const): Deleted.
(WebCore::Settings::needsAcrobatFrameReloadingQuirk const): Deleted.
(WebCore::Settings::showTiledScrollingIndicator const): Deleted.
(WebCore::Settings::setTouchEventEmulationEnabled): Deleted.
(WebCore::Settings::isTouchEventEmulationEnabled const): Deleted.
(WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls): Deleted.
(WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls const): Deleted.
(WebCore::Settings::fontFallbackPrefersPictographs const): Deleted.
(WebCore::Settings::webFontsAlwaysFallBack const): Deleted.
(WebCore::Settings::setMediaKeysStorageDirectory): Deleted.
(WebCore::Settings::mediaKeysStorageDirectory const): Deleted.
(WebCore::Settings::setMediaDeviceIdentifierStorageDirectory): Deleted.
(WebCore::Settings::mediaDeviceIdentifierStorageDirectory const): Deleted.
(WebCore::Settings::applePayEnabled const): Deleted.
(WebCore::Settings::setApplePayEnabled): Deleted.
(WebCore::Settings::applePayCapabilityDisclosureAllowed const): Deleted.
(WebCore::Settings::setApplePayCapabilityDisclosureAllowed): Deleted.
(WebCore::Settings::isForcePendingWebGLPolicy const): Deleted.

  • page/Settings.in:

Moved hand-written settings to be Settings.in based.

9:46 PM Changeset in webkit [222697] by Alan Bujtas
  • 16 edits
    2 adds
    2 deletes in trunk/Source/WebCore

RenderView does not need to be a SelectionSubtreeRoot
https://bugs.webkit.org/show_bug.cgi?id=177713

Reviewed by Darin Adler and Antti Koivisto.

  1. SelectionSubtreeRoot -> SelectionRangeData
  2. Move all selection logic from RenderView to SelectionRangeData
  3. class RenderView : public SelectionSubtreeRoot -> SelectionRangeData m_selection;
  4. Remove redundant code
  5. General modernization

No change in functionality.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setNeedsSelectionUpdate):
(WebCore::DragCaretController::nodeWillBeRemoved):
(WebCore::FrameSelection::respondToNodeModification):
(WebCore::FrameSelection::prepareForDestruction):
(WebCore::FrameSelection::focusedOrActiveStateChanged):
(WebCore::FrameSelection::updateAppearance):
(WebCore::FrameSelection::selectionBounds const):

  • page/FrameView.cpp:

(WebCore::FrameView::paintContentsForSnapshot):

  • platform/DragImage.cpp:

(WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
(WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
(WebCore::createDragImageForRange):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::selectionState):
(WebCore::InlineTextBox::selectionStartEnd const):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::isSelectionRoot const):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::isSelectionBorder const):

  • rendering/RenderObject.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::isSelected const):

  • rendering/RenderText.cpp:

(WebCore::RenderText::collectSelectionRectsForLineBoxes):

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::setSelectionState):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):
(WebCore::SelectionIterator::SelectionIterator): Deleted.
(WebCore::SelectionIterator::current const): Deleted.
(WebCore::SelectionIterator::next): Deleted.
(WebCore::SelectionIterator::checkForSpanner): Deleted.
(WebCore::rendererAfterPosition): Deleted.
(WebCore::RenderView::selectionBounds const): Deleted.
(WebCore::RenderView::subtreeSelectionBounds const): Deleted.
(WebCore::RenderView::repaintSelection const): Deleted.
(WebCore::RenderView::repaintSubtreeSelection const): Deleted.
(WebCore::RenderView::setSelection): Deleted.
(WebCore::isValidObjectForNewSelection): Deleted.
(WebCore::RenderView::clearSubtreeSelection const): Deleted.
(WebCore::RenderView::applySubtreeSelection): Deleted.
(WebCore::RenderView::getSelection const): Deleted.
(WebCore::RenderView::clearSelection): Deleted.

  • rendering/RenderView.h:
  • rendering/SelectionSubtreeRoot.cpp:

(WebCore::rendererAfterPosition):
(WebCore::SelectionIterator::SelectionIterator):
(WebCore::SelectionIterator::current const):
(WebCore::SelectionIterator::next):
(WebCore::SelectionIterator::checkForSpanner):
(WebCore::SelectionRangeData::SelectionRangeData):
(WebCore::SelectionRangeData::set):
(WebCore::SelectionRangeData::clear):
(WebCore::SelectionRangeData::repaint const):
(WebCore::SelectionRangeData::bounds const):
(WebCore::SelectionRangeData::collectAndClear const):
(WebCore::SelectionRangeData::apply):
(WebCore::SelectionRangeData::isValidRendererForNewSelection const):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot): Deleted.

  • rendering/SelectionSubtreeRoot.h:

(WebCore::SelectionRangeData::Context::operator== const):
(WebCore::SelectionRangeData::get const):
(WebCore::SelectionRangeData::start const):
(WebCore::SelectionRangeData::end const):
(WebCore::SelectionRangeData::startPosition const):
(WebCore::SelectionRangeData::endPosition const):
(WebCore::SelectionSubtreeRoot::OldSelectionData::OldSelectionData): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStart const): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos const): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEnd const): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos const): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartEndPositions const): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection): Deleted.
(WebCore::SelectionSubtreeRoot::selectionData): Deleted.
(WebCore::SelectionSubtreeRoot::selectionData const): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionData): Deleted.

8:33 PM Changeset in webkit [222696] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222588. rdar://problem/34717517

8:17 PM Changeset in webkit [222695] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[Settings] Enums should not be passed by const reference
https://bugs.webkit.org/show_bug.cgi?id=177727

Patch by Sam Weinig <sam@webkit.org> on 2017-10-01
Reviewed by Darin Adler.

  • Scripts/GenerateSettings/GenerateSettingsImplementationFile.py:
  • Scripts/GenerateSettings/GenerateSettingsHeaderFile.py:

(printGetterAndSetter):

Use the new typeIsAggregate predicate to determine whether to
use const reference or not.

(includeForSetting): Deleted.

Move includeForSetting to Settings.py with the rest of the Setting
helpers.

  • Scripts/GenerateSettings/Settings.py:

(mapToIDLType):
(typeIsPrimitive):
(typeIsAggregate):

Add predicate to determine if a setting's type is an aggregate (struct or class)
or a primitive. Remove references to size_t, which is not used.

6:35 PM Changeset in webkit [222694] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

Skip failing tests from r222692 that have different output on each run.


Skips imported/w3c/web-platform-tests/fetch/api/abort/general.any.html
and imported/w3c/web-platform-tests/fetch/api/abort/general.any.worker.html

6:28 PM Changeset in webkit [222693] by weinig@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests/imported/w3c

Add missing results from r222690.

  • web-platform-tests/XMLHttpRequest/responseType-document-in-worker-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/responseXML-unavailable-in-worker-expected.txt: Added.
3:32 PM Changeset in webkit [222692] by weinig@apple.com
  • 16 edits
    6 adds in trunk

Add support for DOM aborting (https://dom.spec.whatwg.org/#aborting-ongoing-activities)
https://bugs.webkit.org/show_bug.cgi?id=177718

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/dom/abort/event.any-expected.txt:
  • web-platform-tests/dom/abort/event.any.worker-expected.txt:
  • web-platform-tests/dom/interface-objects-expected.txt:
  • web-platform-tests/dom/interfaces-expected.txt:
  • web-platform-tests/fetch/api/abort/cache.https-expected.txt:
  • web-platform-tests/fetch/api/abort/general.any-expected.txt:
  • web-platform-tests/fetch/api/abort/general.any.worker-expected.txt:
  • web-platform-tests/payment-request/interfaces.https-expected.txt:

Update test results.

Source/WebCore:

Adds standalone support for AbortController and AbortSignal. No integration
with other specs yet.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:


Add new files.


  • dom/AbortController.cpp: Added.
  • dom/AbortController.h: Added.
  • dom/AbortController.idl: Added.
  • dom/AbortSignal.cpp: Added.
  • dom/AbortSignal.h: Added.
  • dom/AbortSignal.idl: Added.


Add basic support AbortController and AbortSignal.


  • dom/EventTargetFactory.in:


Add AbortSignal to the list of EventTargets.

LayoutTests:

  • js/dom/global-constructors-attributes-dedicated-worker-expected.txt:

Update test results.

2:24 PM Changeset in webkit [222691] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Use WeakPtr for first-letter memory management
https://bugs.webkit.org/show_bug.cgi?id=177716

Reviewed by Darin Adler.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::destroyLeftoverChildren):

Remove first-letter special case.
Use removeAndDestroyChild instead of calling destroy() directly. The latter should
eventually stop calling takeChild and assert that the renderer is not in the tree.

  • rendering/RenderTextFragment.cpp:

(WebCore::RenderTextFragment::willBeDestroyed):
(WebCore::RenderTextFragment::setText):

  • rendering/RenderTextFragment.h:

Use WeakPtr.

2:12 PM Changeset in webkit [222690] by commit-queue@webkit.org
  • 6 edits
    4 adds in trunk

XMLHttpRequest's responseXML should be annotated with [Exposed=Window]
https://bugs.webkit.org/show_bug.cgi?id=177714

Patch by Sam Weinig <sam@webkit.org> on 2017-10-01
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/XMLHttpRequest/resources/responseType-document-in-worker.js: Added.
  • web-platform-tests/XMLHttpRequest/resources/responseXML-unavailable-in-worker.js: Added.
  • web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
  • web-platform-tests/XMLHttpRequest/responseType-document-in-worker.html: Added.
  • web-platform-tests/XMLHttpRequest/responseXML-unavailable-in-worker.html: Added.
  • web-platform-tests/XMLHttpRequest/w3c-import.log:

Import latest XMLHttpRequest tests that include tests for responseXML not
being available in workers and setting a responseType of 'document' being
a no-op in workers.

Source/WebCore:

Tests: imported/w3c/web-platform-tests/XMLHttpRequest/responseType-document-in-worker.html

imported/w3c/web-platform-tests/XMLHttpRequest/responseXML-unavailable-in-worker.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::responseXML):

Replace returning null for non-document contexts with an assertion now
that the bindings layer ensures this doesn't get called.

(WebCore::XMLHttpRequest::setResponseType):

Match the spec and turn attempts to set a responseType of 'document' in
non-documents contexts as a no-op.

  • xml/XMLHttpRequest.idl:

Address FIXME and annotate responseXML with [Exposed=Window] now that it
is supported.

10:23 AM Changeset in webkit [222689] by commit-queue@webkit.org
  • 36 edits
    2 deletes in trunk

Unreviewed, rolling out r222564.
https://bugs.webkit.org/show_bug.cgi?id=177720

"It regressed JetStream by 2% on iOS caused by a 50%
regression on the bigfib subtest" (Requested by saamyjoon on
#webkit).

Reverted changeset:

"Add Above/Below comparisons for UInt32 patterns"
https://bugs.webkit.org/show_bug.cgi?id=177281
http://trac.webkit.org/changeset/222564

Sep 30, 2017:

11:59 PM Changeset in webkit [222688] by rniwa@webkit.org
  • 11 edits
    2 adds in trunk

Don't reveal file URL when pasting an image
https://bugs.webkit.org/show_bug.cgi?id=177710
<rdar://problem/34757924>

Reviewed by Wenson Hsieh.

Source/WebCore:

Fixed the bug by generalizing the code we had for drag & drop to hide string types when there is a file.

We don't hide string types when customPasteboardDataEnabled() is false to preserve the backwards compatiblity
with apps that are relying on being able to read files URLs in the pasteboard.

Test: editing/pasteboard/paste-image-does-not-reveal-file-url.html

  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::getData const): Pretend there is no string data when there is a file in the pasteboard
custom pasteboard data is enabled.
(WebCore::DataTransfer::setData): Ditto.
(WebCore::DataTransfer::types const): Ditto.

  • dom/DataTransfer.h:

(WebCore::DataTransfer::forDrag const): Added for when drag & drop support is disabled at compilation time.
(WebCore::DataTransfer::forFileDrag const): Ditto.

  • platform/Pasteboard.h:
  • platform/StaticPasteboard.h:
  • platform/cocoa/PasteboardCocoa.mm:

(WebCore::Pasteboard::containsFiles): Added.

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::containsFiles): Added.

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::containsFiles): Added.

  • platform/wpe/PasteboardWPE.cpp:

(WebCore::Pasteboard::containsFiles): Added.
(WebCore::Pasteboard::readFilenames): Annotated this function with notImplemented().

LayoutTests:

Added a regression test for pasting an image. We enable this protection only when custom data is enabled
to preserve the backwards compatibility.

  • editing/pasteboard/paste-image-does-not-reveal-file-url-expected.txt: Added.
  • editing/pasteboard/paste-image-does-not-reveal-file-url.html: Added.
10:00 PM Changeset in webkit [222687] by Wenson Hsieh
  • 3 edits in trunk/LayoutTests

Augment editing/pasteboard/data-transfer-get-data-non-normalized-types.html to check whitespace stripping
https://bugs.webkit.org/show_bug.cgi?id=177707

Reviewed by Ryosuke Niwa.

Augment an existing layout test to check that whitespace is stripped from types passed into DataTransfer's
getData and setData methods.

  • editing/pasteboard/data-transfer-get-data-non-normalized-types-expected.txt:
  • editing/pasteboard/data-transfer-get-data-non-normalized-types.html:
6:13 PM Changeset in webkit [222686] by commit-queue@webkit.org
  • 20 edits
    1 copy
    1 move
    12 adds
    1 delete in trunk/Source/WebCore

[Settings] Replace SettingsMacros.h with a generated base class for Settings
https://bugs.webkit.org/show_bug.cgi?id=177681

Patch by Sam Weinig <sam@webkit.org> on 2017-09-30
Reviewed by Darin Adler.

  • Adds a SettingsGenerated class that Settings inherits from. The new class has the members and getters/setters for all the generated bindings.
  • Some default values for settings are literals in Settings.in, but rather constants or functions defined externally. These have all been moved to SettingsDefaultValues.h to allow for the script to include them all for SettingsGenerated.
  • Previously, a few enums were declared in Settings.h for use by Settings. Now that SettingsGenerated needs access, we standarize the same way that exists for the IDL generator; expecting the enum to be in a header of the same name.
  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreMacros.cmake:

Add new files / generation steps.

  • Scripts/GenerateSettings.py:
  • Scripts/GenerateSettings/GenerateSettings.py:
  • Scripts/GenerateSettings/GenerateSettingsHeaderFile.py: Added.
  • Scripts/GenerateSettings/GenerateSettingsImplementationFile.py: Added.
  • Scripts/GenerateSettings/GenerateSettingsMacrosHeader.py: Removed.
  • Scripts/GenerateSettings/Settings.py:

Replace script to generate SettingsMacros.h with scripts to generate a SettingsGenerated.{h,cpp}.

  • accessibility/ForcedAccessibilityValue.h: Added.
  • editing/EditableLinkBehavior.h: Added.
  • editing/EditingBehavior.h:
  • editing/EditingBehaviorType.h: Copied from editing/EditingBehaviorTypes.h.
  • editing/EditingBehaviorTypes.h: Removed.
  • editing/cocoa/DataDetection.h:
  • editing/cocoa/DataDetectorTypes.h: Added.
  • page/DebugOverlayRegions.h: Added.
  • page/FrameFlattening.h: Added.
  • page/PDFImageCachingPolicy.h: Added.
  • page/TextDirectionSubmenuInclusionBehavior.h: Added.
  • page/UserInterfaceDirectionPolicy.h: Added.
  • platform/text/TextDirection.h: Added.
  • platform/text/WritingMode.h:

Split out enums from Settings.h

  • css/MediaQueryEvaluator.cpp:

Update for new name of ForcedAccessibilityValue.

  • html/parser/HTMLParserOptions.cpp:

Update for new name of defaultMaximumHTMLParserDOMTreeDepth.

  • page/Settings.cpp:
  • page/Settings.h:
  • Move defaults to SettingsDefaultValues.h (and SettingsDefaultValuesCocoa.mm for defaultTextAutosizingEnabled).
  • Move enums to their own files.
  • Inherit from SettingsGenerated.h
  • page/Settings.in:
  • Use new 'include' option for javaScriptRuntimeFlags setting to include <runtime/RuntimeFlags.h>, as it doesn't fit the normal idiomatic model.
  • Replace call to defaultMinimumZoomFontSize() with direct constant access.
  • page/SettingsDefaultValues.h: Added.
  • page/cocoa/SettingsDefaultValuesCocoa.mm: Added.

Move default values from Settings to this new file.

  • page/cocoa/SettingsCocoa.mm:

Move defaultTextAutosizingEnabled() out of here and into SettingsDefaultValuesCocoa.mm.

  • style/StyleTreeResolver.cpp:
  • Update for new scoping of defaultMaximumRenderTreeDepth.
  • Move defaultMaximumRenderTreeDepth from Settings here. This is the only use.
  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::forcedColorsAreInvertedAccessibilityValue const):
(WebCore::InternalSettings::setForcedColorsAreInvertedAccessibilityValue):
(WebCore::InternalSettings::forcedDisplayIsMonochromeAccessibilityValue const):
(WebCore::InternalSettings::setForcedDisplayIsMonochromeAccessibilityValue):
(WebCore::InternalSettings::forcedPrefersReducedMotionAccessibilityValue const):
(WebCore::InternalSettings::setForcedPrefersReducedMotionAccessibilityValue):
(WebCore::settingsToInternalSettingsValue): Deleted.
(WebCore::internalSettingsToSettingsValue): Deleted.

  • testing/InternalSettings.h:

Replace duplicate definition of ForcedAccessibilityValue with a using declaration
and simplify code now that it doesn't need to map between the two enums.

4:33 PM Changeset in webkit [222685] by Wenson Hsieh
  • 2 edits
    2 adds in trunk/LayoutTests

Add a layout test test that exercises setData and getData for non-normalized types
https://bugs.webkit.org/show_bug.cgi?id=177707

Reviewed by Darin Adler.

We have test coverage for getData and setData with non-normalized types on some of our bots where custom
pasteboard data is enabled by default, but this is not the case in EWS. This patch adds a copy and paste test
that exercises this codepath across all Cocoa platforms.

  • editing/pasteboard/data-transfer-get-data-non-normalized-types-expected.txt: Added.
  • editing/pasteboard/data-transfer-get-data-non-normalized-types.html: Added.
  • platform/ios-simulator-wk1/TestExpectations:
3:50 PM Changeset in webkit [222684] by Darin Adler
  • 12 edits in trunk/Source/WebKit

Have IPC::Connection::Client objects consistently invalidate the connection when destroyed
https://bugs.webkit.org/show_bug.cgi?id=177708

Reviewed by Anders Carlsson.

I ran into an intermittent crash when running regression tests. It looked like a connection
client was being called after it was destroyed. I did an audit of the all the connection
clients to make sure they all invalidate their connection before they are destroyed.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess): Invalidate the
connection since this object opened the connection. There is no obvious
guarantee that the connection will already be invalid when this is destroyed.

  • StorageProcess/StorageToWebProcessConnection.cpp:

(WebKit::StorageToWebProcessConnection::~StorageToWebProcessConnection): Ditto.

  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::~PluginProcessProxy): Ditto.

  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::~NetworkProcessConnection): Ditto.

  • WebProcess/Storage/WebToStorageProcessConnection.cpp:

(WebKit::WebToStorageProcessConnection::~WebToStorageProcessConnection): Ditto.

  • StorageProcess/StorageToWebProcessConnection.h: Derive privately rather than publicly

from IPC::Connection::Client because we can, and this means we don't have to study quite
as much code to understand how this is used as a connection client.

  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: Ditto.
  • WebProcess/Storage/WebToStorageProcessConnection.h: Ditto.
  • WebProcess/WebPage/WebInspector.h: Ditto.
  • WebProcess/WebPage/WebInspectorUI.h: Ditto.
  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:

(WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer): Added a comment about a
reference cycle cycle leading to a leak that I believe exists here.

2:25 PM Changeset in webkit [222683] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

[iOS WK2] API test EditorStateTests.ContentViewHasTextInContentEditableElement is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=177698

Reviewed by Ryosuke Niwa.

The WebKit2 API test EditorStateTests.ContentViewHasTextInContentEditableElement is currently hitting
intermittent failures on test runners. After inserting just an image in the editable element, we would expect
that -hasText should return NO because the text content is an empty string, but we find that -hasText is YES.
This is because we're bailing on an early return in computeEditableRootHasContentAndPlainText because the
EditorState's PostLayoutData contains non-zero characters near the selection, which is incorrect.

However, upon closer inspection, this is due to a latent bug in the charactersAroundPosition helper function.
This function attempts to compute characters before and after the current selection by initializing a Vector
of size 3 with the relevant character data, and then sets oneAfter, oneBefore and twoBefore to the UChar32
values in the vector. However, in the case where there are less than three characters, we end up assigning
the uninitialized values in the vector to one or more of oneAfter, oneBefore and twoBefore, which causes the
helper added in r222654 to bail early when it should not.

To fix this, we initialize the values in characters to 0 (which is the initial value for the 3 corresponding
members in the PostLayoutData struct). We also turn characters into a UChar32 array on the stack, to avoid the
heap allocations using a Vector<UChar32>.

No new tests; fixes a flaky API test.

  • editing/VisibleUnits.cpp:

(WebCore::charactersAroundPosition):

6:44 AM Changeset in webkit [222682] by Antti Koivisto
  • 9 edits in trunk/Source

Add makeWeakPtr for easier WeakPtr construction
https://bugs.webkit.org/show_bug.cgi?id=177706

Reviewed by Sam Weinig.

Source/WebCore:

Use it in render tree.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadPlugin):

  • page/FrameView.cpp:

(WebCore::FrameView::updateEmbeddedObject):

  • rendering/RenderMultiColumnFlow.cpp:

(WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantInserted):

  • rendering/RenderObject.h:

(WebCore::RenderObject::weakFactory const):
(WebCore::RenderObject::createWeakPtr): Deleted.

  • rendering/RenderView.cpp:

(WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::setWidgetGeometry):
(WebCore::RenderWidget::setWidget):
(WebCore::RenderWidget::updateWidgetPosition):

Source/WTF:

Standalone makeWeakPtr() returns a WeakPtr of the same type as the argument.

For this to work the argument type needs to expose a (possibly base type) WeakPtrFactory
as a public weakPtrFactory() member function.

  • wtf/WeakPtr.h:

(WTF::WeakPtr::operator-> const):
(WTF::WeakPtr::operator* const): Also add operator*.
(WTF::makeWeakPtr):

6:00 AM Changeset in webkit [222681] by Carlos Garcia Campos
  • 231 edits
    1 add in trunk

Unreviewed. Upgrade webkitgtk-test-fonts to version 0.0.7.

Tools:

This version upgrades liberation fonts to version 2, that has a wider glyph coverage.

  • gtk/jhbuild.modules:

LayoutTests:

Rebaseline tests affected by the new fonts.

  • platform/gtk/css3/unicode-bidi-isolate-basic-expected.png:
  • platform/gtk/css3/unicode-bidi-isolate-basic-expected.txt:
  • platform/gtk/editing/selection/caret-rtl-2-expected.png:
  • platform/gtk/editing/selection/caret-rtl-2-expected.txt:
  • platform/gtk/editing/selection/caret-rtl-2-left-expected.png:
  • platform/gtk/editing/selection/caret-rtl-2-left-expected.txt:
  • platform/gtk/editing/selection/caret-rtl-expected.png:
  • platform/gtk/editing/selection/caret-rtl-expected.txt:
  • platform/gtk/editing/selection/caret-rtl-right-expected.png:
  • platform/gtk/editing/selection/caret-rtl-right-expected.txt:
  • platform/gtk/editing/selection/extend-by-word-002-expected.png:
  • platform/gtk/editing/selection/extend-by-word-002-expected.txt:
  • platform/gtk/editing/selection/extend-selection-bidi-expected.png:
  • platform/gtk/editing/selection/extend-selection-bidi-expected.txt:
  • platform/gtk/editing/selection/move-past-trailing-space-expected.png:
  • platform/gtk/editing/selection/move-past-trailing-space-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.png:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.png:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.png:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.png:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
  • platform/gtk/fast/borders/rtl-border-04-expected.png:
  • platform/gtk/fast/borders/rtl-border-04-expected.txt:
  • platform/gtk/fast/borders/rtl-border-05-expected.png:
  • platform/gtk/fast/borders/rtl-border-05-expected.txt:
  • platform/gtk/fast/css/rtl-ordering-expected.png:
  • platform/gtk/fast/css/rtl-ordering-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-bidi-expected.png:
  • platform/gtk/fast/css/text-overflow-ellipsis-bidi-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-expected.png:
  • platform/gtk/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-strict-expected.png:
  • platform/gtk/fast/css/text-overflow-ellipsis-strict-expected.txt:
  • platform/gtk/fast/css/word-space-extra-expected.png:
  • platform/gtk/fast/css/word-space-extra-expected.txt:
  • platform/gtk/fast/dom/34176-expected.png:
  • platform/gtk/fast/dom/34176-expected.txt:
  • platform/gtk/fast/dom/52776-expected.png:
  • platform/gtk/fast/dom/52776-expected.txt:
  • platform/gtk/fast/forms/listbox-bidi-align-expected.png:
  • platform/gtk/fast/forms/listbox-bidi-align-expected.txt:
  • platform/gtk/fast/forms/search-rtl-expected.png:
  • platform/gtk/fast/forms/search-rtl-expected.txt:
  • platform/gtk/fast/forms/select-visual-hebrew-expected.png:
  • platform/gtk/fast/forms/select-visual-hebrew-expected.txt:
  • platform/gtk/fast/forms/visual-hebrew-text-field-expected.png:
  • platform/gtk/fast/forms/visual-hebrew-text-field-expected.txt:
  • platform/gtk/fast/inline/inline-box-background-expected.png:
  • platform/gtk/fast/inline/inline-box-background-expected.txt:
  • platform/gtk/fast/inline/inline-box-background-long-image-expected.png:
  • platform/gtk/fast/inline/inline-box-background-long-image-expected.txt:
  • platform/gtk/fast/inline/inline-box-background-repeat-x-expected.png:
  • platform/gtk/fast/inline/inline-box-background-repeat-x-expected.txt:
  • platform/gtk/fast/inline/inline-box-background-repeat-y-expected.png:
  • platform/gtk/fast/inline/inline-box-background-repeat-y-expected.txt:
  • platform/gtk/fast/text/atsui-negative-spacing-features-expected.png:
  • platform/gtk/fast/text/atsui-negative-spacing-features-expected.txt:
  • platform/gtk/fast/text/atsui-spacing-features-expected.png:
  • platform/gtk/fast/text/atsui-spacing-features-expected.txt:
  • platform/gtk/fast/text/basic/006-expected.png:
  • platform/gtk/fast/text/basic/006-expected.txt:
  • platform/gtk/fast/text/bidi-embedding-pop-and-push-same-expected.png:
  • platform/gtk/fast/text/bidi-embedding-pop-and-push-same-expected.txt:
  • platform/gtk/fast/text/capitalize-boundaries-expected.png:
  • platform/gtk/fast/text/capitalize-boundaries-expected.txt:
  • platform/gtk/fast/text/cg-fallback-bolding-expected.png:
  • platform/gtk/fast/text/cg-fallback-bolding-expected.txt:
  • platform/gtk/fast/text/drawBidiText-expected.png:
  • platform/gtk/fast/text/drawBidiText-expected.txt:
  • platform/gtk/fast/text/hyphenate-avoid-orphaned-word-expected.txt:
  • platform/gtk/fast/text/hyphenate-character-expected.png:
  • platform/gtk/fast/text/hyphenate-character-expected.txt:
  • platform/gtk/fast/text/hyphenate-first-word-expected.png:
  • platform/gtk/fast/text/hyphenate-first-word-expected.txt:
  • platform/gtk/fast/text/hyphenate-limit-before-after-expected.png:
  • platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt:
  • platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
  • platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
  • platform/gtk/fast/text/hyphens-expected.png:
  • platform/gtk/fast/text/hyphens-expected.txt:
  • platform/gtk/fast/text/in-rendered-text-rtl-expected.png:
  • platform/gtk/fast/text/in-rendered-text-rtl-expected.txt:
  • platform/gtk/fast/text/international/bidi-AN-after-L-expected.png:
  • platform/gtk/fast/text/international/bidi-AN-after-L-expected.txt:
  • platform/gtk/fast/text/international/bidi-L2-run-reordering-expected.png:
  • platform/gtk/fast/text/international/bidi-L2-run-reordering-expected.txt:
  • platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.png:
  • platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.txt:
  • platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.png:
  • platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
  • platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
  • platform/gtk/fast/text/international/bidi-explicit-embedding-expected.png:
  • platform/gtk/fast/text/international/bidi-explicit-embedding-expected.txt:
  • platform/gtk/fast/text/international/bidi-ignored-for-first-child-inline-expected.png:
  • platform/gtk/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
  • platform/gtk/fast/text/international/bidi-innertext-expected.png:
  • platform/gtk/fast/text/international/bidi-innertext-expected.txt:
  • platform/gtk/fast/text/international/bidi-linebreak-001-expected.png:
  • platform/gtk/fast/text/international/bidi-linebreak-001-expected.txt:
  • platform/gtk/fast/text/international/bidi-linebreak-002-expected.png:
  • platform/gtk/fast/text/international/bidi-linebreak-002-expected.txt:
  • platform/gtk/fast/text/international/bidi-linebreak-003-expected.png:
  • platform/gtk/fast/text/international/bidi-linebreak-003-expected.txt:
  • platform/gtk/fast/text/international/bidi-mirror-he-ar-expected.png:
  • platform/gtk/fast/text/international/bidi-mirror-he-ar-expected.txt:
  • platform/gtk/fast/text/international/bidi-neutral-run-expected.png:
  • platform/gtk/fast/text/international/bidi-neutral-run-expected.txt:
  • platform/gtk/fast/text/international/bidi-override-expected.png:
  • platform/gtk/fast/text/international/bidi-override-expected.txt:
  • platform/gtk/fast/text/international/hebrew-vowels-expected.png:
  • platform/gtk/fast/text/international/hebrew-vowels-expected.txt:
  • platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
  • platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
  • platform/gtk/fast/text/international/rtl-caret-expected.png:
  • platform/gtk/fast/text/international/rtl-caret-expected.txt:
  • platform/gtk/fast/text/international/rtl-white-space-pre-wrap-expected.png:
  • platform/gtk/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
  • platform/gtk/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png:
  • platform/gtk/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
  • platform/gtk/fast/text/line-breaks-expected.png:
  • platform/gtk/fast/text/line-breaks-expected.txt:
  • platform/gtk/fast/text/midword-break-after-breakable-char-expected.png:
  • platform/gtk/fast/text/midword-break-after-breakable-char-expected.txt:
  • platform/gtk/fast/text/trailing-white-space-2-expected.png:
  • platform/gtk/fast/text/trailing-white-space-2-expected.txt:
  • platform/gtk/fast/text/trailing-white-space-expected.png:
  • platform/gtk/fast/text/trailing-white-space-expected.txt:
  • platform/gtk/fast/text/vertical-rl-rtl-linebreak-expected.png:
  • platform/gtk/fast/text/vertical-rl-rtl-linebreak-expected.txt:
  • platform/gtk/fast/text/whitespace/026-expected.png:
  • platform/gtk/fast/text/whitespace/026-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-anchor-no-markup-expected.png:
  • platform/gtk/svg/W3C-I18N/text-anchor-no-markup-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt:
  • platform/gtk/svg/custom/glyph-selection-bidi-mirror-expected.png:
  • platform/gtk/svg/custom/glyph-selection-bidi-mirror-expected.txt:
  • platform/gtk/svg/text/bidi-embedded-direction-expected.png:
  • platform/gtk/svg/text/bidi-embedded-direction-expected.txt:
  • platform/gtk/svg/text/bidi-reorder-value-lists-expected.png:
  • platform/gtk/svg/text/bidi-reorder-value-lists-expected.txt: Added.
  • platform/gtk/svg/text/bidi-text-anchor-direction-expected.png:
  • platform/gtk/svg/text/bidi-text-anchor-direction-expected.txt:
  • platform/gtk/svg/text/text-tselect-02-f-expected.png:
  • platform/gtk/svg/text/text-tselect-02-f-expected.txt:
  • platform/gtk/tables/mozilla/marvin/backgr_layers-opacity-expected.png:
  • platform/gtk/tables/mozilla/marvin/backgr_layers-opacity-expected.txt:
  • platform/gtk/tables/mozilla/marvin/backgr_position-table-expected.png:
  • platform/gtk/tables/mozilla/marvin/backgr_position-table-expected.txt:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-cell-expected.png:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-expected.png:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-expected.txt:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-group-expected.png:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-expected.png:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-expected.txt:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-expected.png:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-expected.txt:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-group-expected.png:
  • platform/gtk/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.png:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt:
3:31 AM Changeset in webkit [222680] by rniwa@webkit.org
  • 15 edits in trunk/Source/WebCore

Share more pasteboard code between iOS and macOS and remove dependency on Settings
https://bugs.webkit.org/show_bug.cgi?id=177700

Reviewed by Wenson Hsieh.

Moved more code from PasteboardIOS.mm and PasteboardMac.mm into PasteboardCocoa.mm to share code.

This patch also removes the layering violation inadvertently introduced in r222595 whereby which
Pasteboard code depends on Settings. To do this, this patch splits readStringForBindings is into
readString and readStringInCustomData and typesForBindings into typesSafeForBindings and
typesForLegacyUnsafeBindings, and moves the logic to decide whether a given type or string is read
off of the native pasteboard entry or our custom data entry is moved to DataTransfer.

No new tests since there should be no behavioral change.

  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::getData const): Moved the code to decide whether string is
read off of custom data or native pasteboard from readStringForBindings.
(WebCore::DataTransfer::types const): Ditto from typesForBindings.

  • platform/Pasteboard.cpp:

(WebCore::Pasteboard::isSafeTypeForDOMToReadAndWrite): Moved into Pasteboard.

  • platform/Pasteboard.h:
  • platform/StaticPasteboard.cpp:

(WebCore::StaticPasteboard::readString): Renamed from readStringForBindings.
(WebCore::StaticPasteboard::readStringInCustomData): Added.
(WebCore::StaticPasteboard::writeString):

  • platform/StaticPasteboard.h:
  • platform/cocoa/PasteboardCocoa.mm:

(WebCore::Pasteboard::typesSafeForBindings): Extracted out of typesForBindings in PasteboardIOS.mm
and PasteboardMac.mm.
(WebCore::Pasteboard::typesForLegacyUnsafeBindings): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::readStringInCustomData): Ditto.
(WebCore::Pasteboard::writeCustomData): Moved here from PasteboardIOS.mm and PasteboardCocoa.mm.
(WebCore::Pasteboard::changeCount const): Ditto.

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::typesSafeForBindings): Added.
(WebCore::Pasteboard::typesForLegacyUnsafeBindings): Renamed from readStringForBindings.
(WebCore::Pasteboard::readString):
(WebCore::Pasteboard::readStringInCustomData): Added.

  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::writeCustomData): Moved to PasteboardCocoa.mm.
(WebCore::Pasteboard::changeCount const): Ditto.
(WebCore::Pasteboard::readPlatformValueAsString): Moved into Pasteboard.
(WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType): Ditto.
(WebCore::Pasteboard::readStringForBindings): Moved to PasteboardCocoa.mm.
(WebCore::Pasteboard::typesForBindings): Ditto.

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::changeCount const): Moved to PasteboardCocoa.mm.
(WebCore::Pasteboard::writeCustomData): Ditto.
(WebCore::Pasteboard::readPlatformValueAsString): Moved into Pasteboard.
(WebCore::Pasteboard::readStringForBindings): Moved to PasteboardCocoa.mm.
(WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType): Moved into Pasteboard.
(WebCore::Pasteboard::typesForBindings): Moved to PasteboardCocoa.mm.

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::typesSafeForBindings): Added.
(WebCore::Pasteboard::typesForLegacyUnsafeBindings): Renamed from readStringForBindings.
(WebCore::Pasteboard::readString): Renamed from readStringForBindings.
(WebCore::Pasteboard::readStringInCustomData): Added.

  • platform/wpe/PasteboardWPE.cpp:

(WebCore::Pasteboard::typesSafeForBindings): Added.
(WebCore::PasteboardtypesForLegacyUnsafeBindings): Renamed from readStringForBindings.
(WebCore::Pasteboard::readString): Renamed from readStringForBindings.
(WebCore::Pasteboard::readStringInCustomData): Added.

Note: See TracTimeline for information about the timeline view.