Timeline



Jan 7, 2015:

11:55 PM Changeset in webkit [178108] by Chris Dumez
  • 9 edits in trunk/Source/WebCore

Move -webkit-tap-highlight-color / -webkit-overflow-scrolling / -webkit-touch-callout to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140219

Reviewed by Darin Adler.

Move -webkit-tap-highlight-color / -webkit-overflow-scrolling /
-webkit-touch-callout to the new StyleBuilder.

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::gradientWithStylesResolved):

  • css/CSSPropertyNames.in:
  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertTouchCallout):
(WebCore::StyleBuilderConverter::convertTapHighlightColor):
(WebCore::StyleBuilderConverter::convertOverflowScrolling):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::colorFromPrimitiveValueIsDerivedFromElement):
(WebCore::StyleResolver::colorFromPrimitiveValue):
(WebCore::StyleResolver::createFilterOperations):

  • css/StyleResolver.h:
11:33 PM Changeset in webkit [178107] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

10:20 PM Changeset in webkit [178106] by mark.lam@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Add the lexicalEnvironment as an operand to op_get_argument_by_val.
<https://webkit.org/b/140233>

Reviewed by Filip Pizlo.

This patch only adds the operand to the bytecode. It is not in use yet.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitGetArgumentByVal):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
10:19 PM Changeset in webkit [178105] by Brian Burg
  • 2 edits in trunk/Source/WebCore

Web Inspector: Editing Inline Styles Not Working
https://bugs.webkit.org/show_bug.cgi?id=140239

Reviewed by Joseph Pecoraro.

Fix a regression introduced in r178060, where we no longer set
m_ordinal in InspectorCSSId. The original refactoring should have
passed m_ordinal. Fix this and introduce a sensible default value.

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):

10:07 PM Changeset in webkit [178104] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
https://bugs.webkit.org/show_bug.cgi?id=137371

As pointed out by Tim Horton, use C-style comment instead of C++-style comment as
wtf/Compiler.h is included in the sandbox profile and the sandbox profile compiler
doesn't understand C++-style comments.

  • wtf/Compiler.h:
10:00 PM Changeset in webkit [178103] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Build gtk-doc without gtkdoc-mktmpl
https://bugs.webkit.org/show_bug.cgi?id=140225

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-07
Reviewed by Darin Adler.

Stop calling gtkdoc-mktmpl. It's being removed upstream, and since we
don't modify the tmpl files that it generates, it's not doing anything
for us.

  • gtk/gtkdoc.py:

(GTKDoc.generate):
(GTKDoc._run_gtkdoc_scangobj):
(GTKDoc._run_gtkdoc_mktmpl): Deleted.

9:56 PM Changeset in webkit [178102] by Chris Dumez
  • 4 edits
    2 adds in trunk

Assert should never be reached hit in WebCore::CSSCalcPrimitiveValue::doubleValue
https://bugs.webkit.org/show_bug.cgi?id=140180

Reviewed by Darin Adler.

Source/WebCore:

Add support for using floating-point angles with 'turn' unit, as per the
specification:
http://dev.w3.org/csswg/css-values-3/#angles

Previously, we only supported integer values for the 'turn' unit even
though other angle units (e.g. 'deg') handle floating-point values just
fine. Trying to use a floating-point value with 'turn' unit would cause
us to hit an assertion in CSSCalcPrimitiveValue::doubleValue().

Also fix the support for angles in calc().
CSSPrimitiveValue::computeDegrees() was accessing m_primitiveUnitType
member directly, which would be incorrect in the case of calculated
values. This patch switches to calling CSSPrimitiveValue::primitiveType()
which handles calculated values.

Test: fast/css/turn-angle-double.html

  • css/CSSCalculationValue.cpp:

(WebCore::hasDoubleValue):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeDegrees):

LayoutTests:

Add a layout test to make sure that using float-point angles with 'turn' unit
does not crash and behaves as intended. Also cover the case where calc() is
used.

  • fast/css/turn-angle-double-expected.txt: Added.
  • fast/css/turn-angle-double.html: Added.
9:36 PM Changeset in webkit [178101] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move 'font' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140181

Reviewed by Darin Adler.

Move 'font' CSS property to the new StyleBuilder.

9:33 PM Changeset in webkit [178100] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move '-webkit-dashboard-region' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140204

Reviewed by Darin Adler.

Move '-webkit-dashboard-region' CSS property to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderCustom.h:

(WebCore::convertToIntLength):
(WebCore::StyleBuilderCustom::applyValueWebkitDashboardRegion):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::convertToIntLength): Deleted.

9:18 PM Changeset in webkit [178099] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

The ASCII decoding for non ASCII character is incorrect if this character comes after going through the fast decoding code path and before the end of the text by less than a machine word size of characters.
https://bugs.webkit.org/show_bug.cgi?id=140173.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-07
Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/encoding/char-after-fast-path-ascii-decoding.html.

  • platform/text/TextCodecLatin1.cpp:

(WebCore::TextCodecLatin1::decode):
This function has a bug when it goes through the fast decoding code path. After copying
one or more all ASCII MachineWords from source to the destination, the following byte
is copied as is from the source to the destination even if it is non ASCII byte. This
causes the decoded bytes to be incorrect. The fix is to ensure that the current byte
is still ASCII after exiting the fast decoding code path.

LayoutTests:

  • fast/encoding/char-after-fast-path-ascii-decoding-expected.txt: Added.
  • fast/encoding/char-after-fast-path-ascii-decoding.html: Added.

Ensures when an non ASCII character comes after a machine word, whose bytes are all
ASCII characters, is decoded correctly.

9:09 PM Changeset in webkit [178098] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Investigate the character type of repeated string instead of checking is8Bit flag
https://bugs.webkit.org/show_bug.cgi?id=140139

Reviewed by Darin Adler.

Instead of checking is8Bit flag of the repeated string, investigate
the actual value of the repeated character since i8Bit flag give a false negative case.

  • runtime/StringPrototype.cpp:

(JSC::repeatCharacter):
(JSC::stringProtoFuncRepeat):
(JSC::repeatSmallString): Deleted.

8:55 PM Changeset in webkit [178097] by commit-queue@webkit.org
  • 15 edits
    4 adds in trunk

HTMLSelectElement and HTMLOptionsCollection add() method should support index as second argument.
https://bugs.webkit.org/show_bug.cgi?id=139179

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-07
Reviewed by Darin Adler.

Source/WebCore:

HTMLSelectElement and HTMLOptionsCollection add() method should support index as second argument as per specification
http://www.w3.org/html/wg/drafts/html/master/forms.html#the-select-element.
Also this matches the behavior of Chrome and FireFox.

Tests: fast/dom/HTMLSelectElement/add.html

fast/dom/HTMLSelectElement/options-collection-add.html

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::JSHTMLOptionsCollection::add): Deleted.

  • html/HTMLOptionsCollection.cpp:

(WebCore::HTMLOptionsCollection::add):

  • html/HTMLOptionsCollection.h:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::add):

  • html/HTMLSelectElement.h:
  • html/HTMLSelectElement.idl:

LayoutTests:

  • fast/dom/HTMLSelectElement/add-expected.txt: Added.
  • fast/dom/HTMLSelectElement/add.html: Added.
  • fast/dom/HTMLSelectElement/options-collection-add-expected.txt: Added.
  • fast/dom/HTMLSelectElement/options-collection-add.html: Added.
  • fast/dom/HTMLSelectElement/select-add-optgroup-expected.txt:
  • fast/dom/HTMLSelectElement/select-add-optgroup.html:
  • fast/dom/incompatible-operations-expected.txt:
  • fast/dom/incompatible-operations.html:
  • js/dom/script-tests/select-options-add.js:
  • js/dom/select-options-add-expected.txt:
8:37 PM Changeset in webkit [178096] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Do not create rulesMap entries for rules without identifiers
https://bugs.webkit.org/show_bug.cgi?id=140237

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-07
Reviewed by Timothy Hatcher.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype._parseRulePayload):
We were accidentally converting a null into a string with a loose string
concatenation. Only do this if the mapKey is not-null.

8:29 PM Changeset in webkit [178095] by yoon@igalia.com
  • 33 edits
    2 adds in trunk

[GTK][ThreadedCompositor] Add support for threaded compositor.
https://bugs.webkit.org/show_bug.cgi?id=118265

Reviewed by Martin Robinson.

.:

Added the ENABLE_THREADED_COMPOSITOR feature flag to the cmake and
autotools build systems. The feature is disabled by default.
And remove deprecated the WTF_USE_TILED_BACKING_STORE feature flag
from the feature flags.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/WebCore:

  • PlatformGTK.cmake:

Adds CoodinatedGraphics and threaded compositor related classes to
support threaded compositor

  • platform/graphics/texmap/coordinated/CoordinatedTile.cpp:
  • platform/graphics/texmap/coordinated/CoordinatedTile.h:

This class should be guarded by COORDINATED_GRAPHICS instead of
TILED_BACKING_STORE

Source/WebKit2:

This patch introduces a threaded compositor for WebKitGTK+.
It is disabled as a default because it is a initial implementation.
The threaded compositor can be enabled using --threaded-compositor
option at compile time.

No new tests, this is an experimental feature.

  • PlatformGTK.cmake:

Adds CoodinatedGraphics and threaded compositor related classes to
support threaded compositor

  • Shared/DrawingAreaInfo.h:

Use DrawingAreaImpl for threaded compositor

  • UIProcess/API/gtk/WebKitSettings.cpp:

(_WebKitSettingsPrivate::_WebKitSettingsPrivate):
Modified to use forceCompositingMode when the threaded compositor used.
If we does not set this mode here, it cannot draw the root content layer.

  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: Added.
  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: Added.

(WebKit::ThreadedCoordinatedLayerTreeHost::rootLayer):
Implements ThreadedCoordinatedLayerTreeHost to use the threaded
compositor. It is basically similar with CoordinatedLayerTreeHost but it uses ThreadedCompositor instead of IPC.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::contentsSizeChanged):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::create):
(WebKit::DrawingArea::DrawingArea):

  • WebProcess/WebPage/DrawingArea.h:

COORDINATED_GRAPHICS_MULTIPROCESS is introduced to classify IPC specific codes
from Coordinated Graphics.
And COORDINATED_GRAPHICS_THREADED is used to guard the threaded
compositor specific codes.

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::DrawingAreaImpl):
Modified to use forceCompositingMode when the threaded compositor used.
If we does not set this mode here, it will crash because of PageOverlay.
(WebKit::DrawingAreaImpl::mainFrameContentSizeChanged):
(WebKit::DrawingAreaImpl::updateBackingStoreState):
Modified to handle contents / viewport size changes for threaded compositor.
(WebKit::DrawingAreaImpl::attachViewOverlayGraphicsLayer):
Added to support Overlay layer in the threaded compositor.
(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
Push the surface handle for compositing to the threaded compositor.

  • WebProcess/WebPage/DrawingAreaImpl.h: Use COORDINATED_GRAPIHCS_THREADED to guard the threaded compositor related codes.
  • WebProcess/WebPage/LayerTreeHost.cpp: Ditto.
  • WebProcess/WebPage/LayerTreeHost.h: Ditto.
  • WebProcess/WebPage/WebPage.cpp: Ditto.
  • WebProcess/WebPage/WebPage.h: Ditto.
  • WebProcess/WebPage/WebPage.messages.in: Ditto.
  • WebProcess/gtk/WebProcessMainGtk.cpp:

Modified to call XInitThreads to use thread-safe xlib.

Tools:

Added the ENABLE_THREADED_COMPOSITOR feature flag to the cmake and
autotools build systems. The feature is disabled by default.
And remove deprecated the WTF_USE_TILED_BACKING_STORE feature flag
from the feature flags.

  • Scripts/webkitperl/FeatureList.pm:
8:17 PM Changeset in webkit [178094] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebCore

Merged r178065. rdar://problems/19317526

8:17 PM Changeset in webkit [178093] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.4-branch/Source

Merged r178056. rdar://problems/19300492

8:17 PM Changeset in webkit [178092] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r178003. rdar://problems/19255417

8:17 PM Changeset in webkit [178091] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.4-branch/Source

Merged r177970. rdar://problems/19383425

8:17 PM Changeset in webkit [178090] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177928. rdar://problems/19298391

8:17 PM Changeset in webkit [178089] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177754. rdar://problems/19343307

8:17 PM Changeset in webkit [178088] by matthew_hanson@apple.com
  • 7 edits in branches/safari-600.4-branch/Source

Merged r177705. rdar://problems/19333076

8:17 PM Changeset in webkit [178087] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177704. rdar://problems/19333075

8:17 PM Changeset in webkit [178086] by matthew_hanson@apple.com
  • 6 edits
    4 deletes in branches/safari-600.4-branch/Source/WebKit2

Merge r177702. rdar://problem/19333074

8:17 PM Changeset in webkit [178085] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.4-branch/Source/WebCore

Merged r177656. rdar://problems/19311017

8:17 PM Changeset in webkit [178084] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebCore

Merged r177641. rdar://problems/19283300

8:17 PM Changeset in webkit [178083] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177604. rdar://problems/19312111

8:17 PM Changeset in webkit [178082] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177601. rdar://problems/19301470

8:17 PM Changeset in webkit [178081] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r177600. rdar://problems/19312111

8:16 PM Changeset in webkit [178080] by dbates@webkit.org
  • 57 edits
    6 copies
    1 move
    4 adds in trunk

[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
https://bugs.webkit.org/show_bug.cgi?id=137371

Reviewed by David Kilzer.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/GraphicsServicesSPI.h: Added.
  • platform/spi/cocoa/QuartzCoreSPI.h: Add CALayer SPI property hitTestsAsOpaque.
  • platform/spi/cocoa/ServersSPI.h: Added.

Source/WebKit/mac:

Use SPI wrapper headers instead of directly references private SPI headers.

  • Plugins/Hosted/NetscapePluginHostManager.mm:

Source/WebKit2:

  • Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to

the list of directories to search for frameworks so that we the linker can find and link against iOS private
frameworks (e.g. AssertionServices).

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::willCacheResponseAsync): Add PLATFORM(IOS)-guard around call to NetworkDiskCacheMonitor::monitorFileBackingStoreCreation().

  • Platform/IPC/mac/ConnectionMac.mm: Add header sys/mman.h.
  • Platform/spi/ios/BKSProcessAssertionSPI.h: Added.
  • Platform/spi/ios/CorePDFSPI.h: Added.
  • Platform/spi/ios/DataDetectorsUISPI.h: Added.
  • Platform/spi/ios/ManagedConfigurationSPI.h: Added.
  • Platform/spi/ios/TCCSPI.h: Added.
  • Platform/spi/ios/TextInputSPI.h: Added.
  • Platform/spi/ios/UIKitSPI.h: Added.
  • Shared/Downloads/ios/DownloadIOS.mm: Add USE(CFNETWORK)-guard around CFNetwork-specific code and conditionally

include header CFNetwork/CFURLDownload.h.
(WebKit::Download::startWithHandle): Ditto.

  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Include header ServersSPI.h instead

of directly including private headers.

  • Shared/ios/NativeWebTouchEventIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
  • Shared/mac/SandboxUtilities.cpp: Include header sys/param.h.
  • UIProcess/API/Cocoa/WKWebView.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Ditto.
  • UIProcess/API/Cocoa/WKWebViewInternal.h: Ditto.
  • UIProcess/API/ios/WKViewIOS.mm: Ditto.
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: Include header ServersSPI.h instead of directly including private headers.
  • UIProcess/ios/PageClientImplIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/ProcessAssertionIOS.mm: Include header BKSProcessAssertionSPI.h instead of directly including private headers.
  • UIProcess/ios/SmartMagnificationController.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/ViewGestureControllerIOS.mm: Ditto.
  • UIProcess/ios/WKActionSheet.mm: Ditto.
  • UIProcess/ios/WKActionSheetAssistant.h: Include header DataDetectorsUISPI.h instead of directly including private headers.
  • UIProcess/ios/WKActionSheetAssistant.mm: Include headers TCCSPI.h and UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKContentView.mm: Include header UIKitSPI.h instead of directly including private headers. Also, move CALayer SPI

forward declarations to QuartzCoreSPI.h

  • UIProcess/ios/WKContentViewInteraction.h: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKContentViewInteraction.mm: Ditto. Also, include headers CoreGraphicsSPI.h, CoreText/CTFont.h, DataDetectorsUISPI.h,

ManagedConfigurationSPI.h, TextInputSPI.h.

  • UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto.
  • UIProcess/ios/WKPDFView.h: Include header CorePDFSPI.h instead of directly including private headers.
  • UIProcess/ios/WKPDFView.mm: Ditto. Also, remove header _UIHighlightViewSPI.h and include UIKitSPI.h.
  • UIProcess/ios/WKScrollView.h: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h: Ditto.
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Ditto.
  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Ditto.
  • UIProcess/ios/forms/WKFileUploadPanel.mm: Ditto.
  • UIProcess/ios/forms/WKFormInputControl.mm: Ditto.
  • UIProcess/ios/forms/WKFormPopover.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectControl.h: Ditto.
  • UIProcess/ios/forms/WKFormSelectControl.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectPicker.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectPopover.mm: Ditto.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Include headers ServersSPI.h and GraphicsServicesSPI.h instead of

directly including private headers. Also, ignore deprecated declaration for bootstrap_register2().

  • WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Include header GraphicsServicesSPI.h instead of directly

including private headers.

  • config.h: Moved EXTERN_C_BEGIN and EXTERN_C_END macros from here to file wtf/Compiler.h and renamed them to WTF_EXTERN_C_BEGIN

and WTF_EXTERN_C_END, respectively, so that we can make use of them in SPI wrapper headers (e.g. UIKitSPI.h).

Source/WTF:

Move EXTERN_C_BEGIN and EXTERN_C_END macros from file WebKit2/config.h to here and
rename them to WTF_EXTERN_C_BEGIN and WTF_EXTERN_C_END, respectively, so that we
can make use of these macros in SPI wrapper headers (e.g. UIKitSPI.h).

I'll look to transition existing code to WTF_EXTERN_C_BEGIN/WTF_EXTERN_C_END and
remove EXTERN_C in a subsequent commit(s).

  • wtf/Compiler.h:

Tools:

Use SPI wrapper headers instead of directly referencing private SPI headers.

  • DumpRenderTree/ios/DumpRenderTreeBrowserView.h:
  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:
  • DumpRenderTree/mac/Configurations/Base.xcconfig: Append directory Source/WebKit2/Platform/spi/ios

to the list of iOS header search directories so that we can include header UIKitSPI.h.

  • DumpRenderTree/mac/DumpRenderTree.mm:
  • DumpRenderTree/mac/DumpRenderTreeWindow.h:
  • DumpRenderTree/mac/EventSendingController.mm:
  • DumpRenderTree/mac/TestRunnerMac.mm:
7:00 PM Changeset in webkit [178079] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Make WebKitAcceleratedDrawingEnabled into a "debug" pref, so that it's read without page group prefixes
https://bugs.webkit.org/show_bug.cgi?id=140221

Reviewed by Sam Weinig.

Applications should not be toggling WebKitAcceleratedDrawingEnabled; it's really only
useful to toggle for debugging, so make it a debug pref.

  • Shared/WebPreferencesDefinitions.h:
6:17 PM Changeset in webkit [178078] by commit-queue@webkit.org
  • 8 edits in trunk/LayoutTests

Two tests, which include data uri images, need to be changed and rebaselined since the expected results are incorrect.
https://bugs.webkit.org/show_bug.cgi?id=140199.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-07
Reviewed by Simon Fraser.

  • compositing/tiling/huge-layer-img-expected.txt:
  • compositing/tiling/huge-layer-img.html:
  • platform/mac/compositing/tiling/huge-layer-img-expected.txt:

This test draws a huge image on a canvas and then gets the data uri from the canvas and
set it as the source of an <img> tag. We need to rebaseline the expected results since
the original ones were incorrect. The test was getting the layer tree too early. Before
the image data was loaded, a tiled layer was created. After the image data is loaded, we
could have figured out that the image is a simple one and we could have removed the tiling.
The fix is to change the test to delay capturing the layer tree only after making sure
that the image data is loaded.

  • fast/forms/basic-buttons.html:
  • platform/mac-mountainlion/fast/forms/basic-buttons-expected.txt:
  • platform/mac/fast/forms/basic-buttons-expected.png:
  • platform/mac/fast/forms/basic-buttons-expected.txt:

This test includes a data uri image just to not include a file for the image by itself.
We need to rebaseline the expected results since the original ones were incorrect. The
test was assuming that after the <img> tag is added to the HTML body, the image size can
be retrieved immediately. Because this assumption is incorrect in general, we were getting
empty sizes for all the the data uri images. The fix is to change the test such that it
prints the sizes of the images only after making sure that all the images are loaded.

6:04 PM Changeset in webkit [178077] by commit-queue@webkit.org
  • 57 edits
    1 copy
    3 deletes in trunk

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

Breaks the iOS build (Requested by enrica on #webkit).

Reverted changeset:

"[iOS] Make WebKit2 build with public iOS SDK and more build
fixes for DRT"
https://bugs.webkit.org/show_bug.cgi?id=137371
http://trac.webkit.org/changeset/178068

6:01 PM Changeset in webkit [178076] by Brent Fulgham
  • 3 edits
    19 adds
    2 deletes in trunk/LayoutTests

[Win] Rebaseline windows fast/text tests.

Most of these work properly, but have different DRT output because the font rendering
on Windows is different than Mac.

  • platform/win/TestExpectations:
  • platform/win/fast/text/atsui-pointoffset-calls-cg-expected.txt: Added.
  • platform/win/fast/text/bidi-embedding-pop-and-push-same-expected.txt: Added.
  • platform/win/fast/text/cg-vs-atsui-expected.txt: Added.
  • platform/win/fast/text/complex-text-opacity-expected.txt: Added.
  • platform/win/fast/text/international/001-expected.txt: Added.
  • platform/win/fast/text/international/bidi-linebreak-001-expected.txt: Added.
  • platform/win/fast/text/international/bidi-linebreak-002-expected.txt: Added.
  • platform/win/fast/text/international/bidi-linebreak-003-expected.txt: Added.
  • platform/win/fast/text/international/bidi-listbox-atsui-expected.txt: Added.
  • platform/win/fast/text/international/bidi-listbox-expected.txt: Added.
  • platform/win/fast/text/international/bidi-menulist-expected.txt:
  • platform/win/fast/text/international/danda-space-expected.txt: Added.
  • platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.png: Removed.
  • platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.txt: Removed.
  • platform/win/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Added.
  • platform/win/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Added.
  • platform/win/fast/text/international/thai-baht-space-expected.txt: Added.
  • platform/win/fast/text/shaping: Added.
  • platform/win/fast/text/shaping/shaping-script-order-expected.txt: Added.
  • platform/win/fast/text/shaping/shaping-selection-rect-expected.txt: Added.
  • platform/win/fast/text/updateNewFont-expected.txt: Added.
  • platform/win/fast/text/vertical-rl-rtl-linebreak-expected.txt: Added.
5:59 PM Changeset in webkit [178075] by commit-queue@webkit.org
  • 14 edits in trunk/Source/JavaScriptCore

Web Inspector: ObjC Generate types from the GenericTypes domain
https://bugs.webkit.org/show_bug.cgi?id=140229

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-07
Reviewed by Timothy Hatcher.

Generate types from the GenericTypes domain, as they are expected
by other domains (like Page domain). Also, don't include the @protocol
forward declaration for a domain if it doesn't have any commands.

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:

(ObjCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations):
(ObjCBackendDispatcherHeaderGenerator): Deleted.
(ObjCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations_for_domains): Deleted.

  • inspector/scripts/codegen/objc_generator.py:

(ObjCGenerator):

  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
5:49 PM Changeset in webkit [178074] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Web Inspector: Remove unnecessary copyRef for paramsObject in generated dispatchers
https://bugs.webkit.org/show_bug.cgi?id=140228

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-07
Reviewed by Timothy Hatcher.

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):

  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
5:22 PM Changeset in webkit [178073] by saambarati1@gmail.com
  • 8 edits in trunk/Source/JavaScriptCore

interpret op_profile_type in the LLInt instead of unconditionally calling into the slow path
https://bugs.webkit.org/show_bug.cgi?id=140165

Reviewed by Michael Saboff.

Inlining the functionality of TypeProfilerLog::recordTypeInformationForLocation
into the LLInt speeds up type profiling.

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/TypeProfilerLog.h:

(JSC::TypeProfilerLog::recordTypeInformationForLocation): Deleted.

5:17 PM Changeset in webkit [178072] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Can't copy URL for images and paste it into plain text fields.
https://bugs.webkit.org/show_bug.cgi?id=140230
rdar://problem/18736680

Reviewed by Dan Bernstein.

The incorrect objective C type was being written to the pasteboard.

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::write):

5:11 PM Changeset in webkit [178071] by matthew_hanson@apple.com
  • 1 copy in branches/safari-600.4-branch

New Branch.

5:02 PM Changeset in webkit [178070] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.13/Source/WebKit/mac

Merged r178046. rdar://problem/19398825

4:52 PM Changeset in webkit [178069] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build.

  • Modules/webdatabase/SQLStatementBackend.cpp:
4:35 PM Changeset in webkit [178068] by dbates@webkit.org
  • 57 edits
    6 copies
    1 move
    4 adds in trunk

[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
https://bugs.webkit.org/show_bug.cgi?id=137371

Reviewed by David Kilzer.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/GraphicsServicesSPI.h: Added.
  • platform/spi/cocoa/QuartzCoreSPI.h: Add CALayer SPI property hitTestsAsOpaque.
  • platform/spi/cocoa/ServersSPI.h: Added.

Source/WebKit/mac:

Use SPI wrapper headers instead of directly references private SPI headers.

  • Plugins/Hosted/NetscapePluginHostManager.mm:

Source/WebKit2:

  • Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to

the list of directories to search for frameworks so that we the linker can find and link against iOS private
frameworks (e.g. AssertionServices).

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::willCacheResponseAsync): Add PLATFORM(IOS)-guard around call to NetworkDiskCacheMonitor::monitorFileBackingStoreCreation().

  • Platform/IPC/mac/ConnectionMac.mm: Add header sys/mman.h.
  • Platform/spi/ios/BKSProcessAssertionSPI.h: Added.
  • Platform/spi/ios/CorePDFSPI.h: Added.
  • Platform/spi/ios/DataDetectorsUISPI.h: Added.
  • Platform/spi/ios/ManagedConfigurationSPI.h: Added.
  • Platform/spi/ios/TCCSPI.h: Added.
  • Platform/spi/ios/TextInputSPI.h: Added.
  • Platform/spi/ios/UIKitSPI.h: Added.
  • Shared/Downloads/ios/DownloadIOS.mm: Add USE(CFNETWORK)-guard around CFNetwork-specific code and conditionally

include header CFNetwork/CFURLDownload.h.
(WebKit::Download::startWithHandle): Ditto.

  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Include header ServersSPI.h instead

of directly including private headers.

  • Shared/ios/NativeWebTouchEventIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
  • Shared/mac/SandboxUtilities.cpp: Include header sys/param.h.
  • UIProcess/API/Cocoa/WKWebView.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Ditto.
  • UIProcess/API/Cocoa/WKWebViewInternal.h: Ditto.
  • UIProcess/API/ios/WKViewIOS.mm: Ditto.
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: Include header ServersSPI.h instead of directly including private headers.
  • UIProcess/ios/PageClientImplIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/ProcessAssertionIOS.mm: Include header BKSProcessAssertionSPI.h instead of directly including private headers.
  • UIProcess/ios/SmartMagnificationController.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/ViewGestureControllerIOS.mm: Ditto.
  • UIProcess/ios/WKActionSheet.mm: Ditto.
  • UIProcess/ios/WKActionSheetAssistant.h: Include header DataDetectorsUISPI.h instead of directly including private headers.
  • UIProcess/ios/WKActionSheetAssistant.mm: Include headers TCCSPI.h and UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKContentView.mm: Include header UIKitSPI.h instead of directly including private headers. Also, move CALayer SPI

forward declarations to QuartzCoreSPI.h

  • UIProcess/ios/WKContentViewInteraction.h: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKContentViewInteraction.mm: Ditto. Also, include headers CoreGraphicsSPI.h, CoreText/CTFont.h, DataDetectorsUISPI.h,

ManagedConfigurationSPI.h, TextInputSPI.h.

  • UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto.
  • UIProcess/ios/WKPDFView.h: Include header CorePDFSPI.h instead of directly including private headers.
  • UIProcess/ios/WKPDFView.mm: Ditto. Also, remove header _UIHighlightViewSPI.h and include UIKitSPI.h.
  • UIProcess/ios/WKScrollView.h: Include header UIKitSPI.h instead of directly including private headers.
  • UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h: Ditto.
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Ditto.
  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Ditto.
  • UIProcess/ios/forms/WKFileUploadPanel.mm: Ditto.
  • UIProcess/ios/forms/WKFormInputControl.mm: Ditto.
  • UIProcess/ios/forms/WKFormPopover.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectControl.h: Ditto.
  • UIProcess/ios/forms/WKFormSelectControl.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectPicker.mm: Ditto.
  • UIProcess/ios/forms/WKFormSelectPopover.mm: Ditto.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Include headers ServersSPI.h and GraphicsServicesSPI.h instead of

directly including private headers.

  • WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Include header GraphicsServicesSPI.h instead of directly

including private headers.

  • config.h: Moved EXTERN_C_BEGIN and EXTERN_C_END macros from here to file wtf/Compiler.h and renamed them to WTF_EXTERN_C_BEGIN

and WTF_EXTERN_C_END, respectively, so that we can make use of them in SPI wrapper headers (e.g. UIKitSPI.h).

Source/WTF:

Move EXTERN_C_BEGIN and EXTERN_C_END macros from file WebKit2/config.h to here and
rename them to WTF_EXTERN_C_BEGIN and WTF_EXTERN_C_END, respectively, so that we
can make use of these macros in SPI wrapper headers (e.g. UIKitSPI.h).

I'll look to transition existing code to WTF_EXTERN_C_BEGIN/WTF_EXTERN_C_END and
remove EXTERN_C in a subsequent commit(s).

  • wtf/Compiler.h:

Tools:

Use SPI wrapper headers instead of directly referencing private SPI headers.

  • DumpRenderTree/ios/DumpRenderTreeBrowserView.h:
  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:
  • DumpRenderTree/mac/Configurations/Base.xcconfig: Append directory Source/WebKit2/Platform/spi/ios

to the list of header search directories so that we can include header UIKitSPI.h.

  • DumpRenderTree/mac/DumpRenderTree.mm:
  • DumpRenderTree/mac/DumpRenderTreeWindow.h:
  • DumpRenderTree/mac/EventSendingController.mm:
  • DumpRenderTree/mac/TestRunnerMac.mm:
4:30 PM Changeset in webkit [178067] by ljaehun.lim@samsung.com
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: !lengthOrPercentageValue.isUndefined() in WebCore::ApplyPropertyTextIndent::applyValue
https://bugs.webkit.org/show_bug.cgi?id=130341

Reviewed by Chris Dumez.

Replace ASSERT() with 'if' statement because 'ex' unit length in <title> is not defined.

Source/WebCore:

Test: fast/css3-text/css3-text-indent/text-indent-crash-in-title.html

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueTextIndent): Change ASSERT() to 'if' statement.

LayoutTests:

  • fast/css3-text/css3-text-indent/text-indent-crash-in-title-expected.txt: Added.
  • fast/css3-text/css3-text-indent/text-indent-crash-in-title.html: Added.
4:22 PM Changeset in webkit [178066] by andersca@apple.com
  • 11 edits
    1 delete in trunk/Source/WebCore

Remove AbstractSQLStatement
https://bugs.webkit.org/show_bug.cgi?id=140223

Reviewed by Sam Weinig.

  • Modules/webdatabase/AbstractSQLStatement.h: Removed.
  • Modules/webdatabase/AbstractSQLTransactionBackend.h:
  • Modules/webdatabase/SQLStatement.h:
  • Modules/webdatabase/SQLStatementBackend.cpp:

(WebCore::SQLStatementBackend::create):
(WebCore::SQLStatementBackend::SQLStatementBackend):
(WebCore::SQLStatementBackend::frontend):

  • Modules/webdatabase/SQLStatementBackend.h:
  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::deliverStatementCallback):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::currentStatement):
(WebCore::SQLTransactionBackend::executeSQL):

  • Modules/webdatabase/SQLTransactionBackend.h:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
4:16 PM Changeset in webkit [178065] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Manually-animated TextIndicator fades out blue selection if you click inside it
https://bugs.webkit.org/show_bug.cgi?id=140224
<rdar://problem/19317526>

Reviewed by Beth Dakin.

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView hasCompletedAnimation]):
(WebCore::TextIndicatorWindow::~TextIndicatorWindow):
Avoid fading out the TextIndicator if the animation hadn't completed.
Also, use wantsManualAnimation instead of duplicating the switch here.

3:59 PM Changeset in webkit [178064] by Bem Jones-Bey
  • 1 edit
    6 adds in trunk/LayoutTests

[CSS Shapes] Add a vertical-rl test for shapes affecting a box that shrinks to avoid the float
https://bugs.webkit.org/show_bug.cgi?id=140189

Reviewed by David Hyatt.

These are just straightforward vertical writing mode versions of the
existing tests.

  • fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin-vertical-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin-vertical.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin-vertical-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin-vertical.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-vertical-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-vertical.html: Added.
3:56 PM Changeset in webkit [178063] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update css3/flexbox/auto-margins.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=139975

Patch by Myles C. Maxfield <litherum@gmail.com> on 2015-01-07
Reviewed by Darin Adler.

This is a subpixel problem. Flexbox uses SimpleLineLayout for the entire
box and therefore does all its math in floating point, while the
-expected uses the regular renderer hierarchy and therefore fixed-point
math. This patch updates the test to use Ahem so that the character
widths divide the same way in both cases.

  • css3/flexbox/auto-margins-expected.html:
  • css3/flexbox/auto-margins.html:
  • platform/mac/TestExpectations:
3:50 PM Changeset in webkit [178062] by andersca@apple.com
  • 9 edits
    1 delete in trunk/Source/WebCore

Remove AbstractSQLStatementBackend
https://bugs.webkit.org/show_bug.cgi?id=140222

Reviewed by Sam Weinig.

We're unlikely to fully take advantage of the SQL implementation being abstract anyway, so let's just simplify the code instead.

  • Modules/webdatabase/AbstractSQLStatement.h:
  • Modules/webdatabase/AbstractSQLStatementBackend.h: Removed.
  • Modules/webdatabase/SQLStatement.cpp:

(WebCore::SQLStatement::setBackend):

  • Modules/webdatabase/SQLStatement.h:
  • Modules/webdatabase/SQLStatementBackend.cpp:

(WebCore::SQLStatementBackend::~SQLStatementBackend):

  • Modules/webdatabase/SQLStatementBackend.h:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
3:41 PM Changeset in webkit [178061] by Brent Fulgham
  • 4 edits in trunk/LayoutTests

[Win] Unreviewed test gardening (writing-mode).

Rebaseline some of the writing-mode tests based on current WebKit behavior.

  • platform/win/TestExpectations:
  • platform/win/fast/writing-mode/fallback-orientation-expected.txt:
  • platform/win/fast/writing-mode/vertical-font-fallback-expected.txt:
3:29 PM Changeset in webkit [178060] by Joseph Pecoraro
  • 127 edits in trunk/Source

Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
https://bugs.webkit.org/show_bug.cgi?id=140053

Patch by Brian J. Burg <Brian Burg> on 2015-01-07
Reviewed by Andreas Kling.

Source/JavaScriptCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

Creation methods for subclasses of InspectorValue now return a Ref, and callsites
have been updated to take a Ref instead of RefPtr.

Builders for typed protocol objects now return a Ref. Since there is no implicit
call to operator&, callsites now must explicitly call .release() to convert a
builder object into the corresponding protocol object once required fields are set.
Update callsites and use auto to eliminate repetition of longwinded protocol types.

Tests for inspector protocol and replay inputs have been rebaselined.

  • bindings/ScriptValue.cpp:

(Deprecated::jsToInspectorValue):
(Deprecated::ScriptValue::toInspectorValue):

  • bindings/ScriptValue.h:
  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::addToFrontend):

  • inspector/ContentSearchUtilities.cpp:

(Inspector::ContentSearchUtilities::buildObjectForSearchMatch):
(Inspector::ContentSearchUtilities::searchInTextByLines):

  • inspector/ContentSearchUtilities.h:
  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::wrapCallFrames):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::makeEvalCall): Split the early exits.

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::CallbackBase::CallbackBase):
(Inspector::InspectorBackendDispatcher::CallbackBase::sendIfActive):
(Inspector::InspectorBackendDispatcher::create):
(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::InspectorBackendDispatcher::sendResponse):
(Inspector::InspectorBackendDispatcher::reportProtocolError):
(Inspector::getPropertyValue): Add a comment to clarify what this clever code does.
(Inspector::InspectorBackendDispatcher::getInteger):
(Inspector::InspectorBackendDispatcher::getDouble):
(Inspector::InspectorBackendDispatcher::getString):
(Inspector::InspectorBackendDispatcher::getBoolean):
(Inspector::InspectorBackendDispatcher::getObject):
(Inspector::InspectorBackendDispatcher::getArray):
(Inspector::InspectorBackendDispatcher::getValue):

  • inspector/InspectorBackendDispatcher.h: Use a typed protocol object to collect

protocol error strings.
(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
Convert the supplemental dispatcher's reference to Ref since it is never null.

  • inspector/InspectorEnvironment.h:
  • inspector/InspectorProtocolTypes.h: Get rid of ArrayItemHelper and

StructItemTraits. Add more versions of addItem to handle pushing various types.
(Inspector::Protocol::Array::openAccessors):
(Inspector::Protocol::Array::addItem):
(Inspector::Protocol::Array::create):
(Inspector::Protocol::StructItemTraits::push):
(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::runtimeCast): Assert argument.
(Inspector::Protocol::StructItemTraits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<String>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<int>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<double>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<bool>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorValue>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorObject>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorArray>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<Protocol::Array<T>>::Traits::pushRefPtr): Deleted.

  • inspector/InspectorValues.cpp: Straighten out getArray and getObject to have

the same call signature as other getters. Use Ref where possible.
(Inspector::InspectorObjectBase::getBoolean):
(Inspector::InspectorObjectBase::getString):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::getValue):
(Inspector::InspectorObjectBase::writeJSON):
(Inspector::InspectorArrayBase::get):
(Inspector::InspectorObject::create):
(Inspector::InspectorArray::create):
(Inspector::InspectorValue::null):
(Inspector::InspectorString::create):
(Inspector::InspectorBasicValue::create):
(Inspector::InspectorObjectBase::get): Deleted.

  • inspector/InspectorValues.h:

(Inspector::InspectorObjectBase::setValue):
(Inspector::InspectorObjectBase::setObject):
(Inspector::InspectorObjectBase::setArray):
(Inspector::InspectorArrayBase::pushValue):
(Inspector::InspectorArrayBase::pushObject):
(Inspector::InspectorArrayBase::pushArray):

  • inspector/JSGlobalObjectConsoleClient.cpp:

(Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel):
(Inspector::JSGlobalObjectConsoleClient::count):
(Inspector::JSGlobalObjectConsoleClient::timeEnd):
(Inspector::JSGlobalObjectConsoleClient::timeStamp):

  • inspector/JSGlobalObjectConsoleClient.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::executionStopwatch):

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/ScriptCallFrame.cpp:

(Inspector::ScriptCallFrame::buildInspectorObject):

  • inspector/ScriptCallFrame.h:
  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::create):
(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::enable):
(Inspector::InspectorAgent::inspect):
(Inspector::InspectorAgent::activateExtraDomain):

  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::buildObjectForBreakpointCookie):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::currentCallFrames):
(Inspector::InspectorDebuggerAgent::didParseSource):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
(Inspector::InspectorDebuggerAgent::breakProgram):

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::buildErrorRangeObject):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::InspectorRuntimeAgent::getBasicBlocks):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/scripts/codegen/cpp_generator.py:

(CppGenerator.cpp_type_for_unchecked_formal_in_parameter):
(CppGenerator.cpp_type_for_type_with_name):
(CppGenerator.cpp_type_for_formal_async_parameter):
(CppGenerator.should_use_references_for_type):
(CppGenerator):

  • inspector/scripts/codegen/cpp_generator_templates.py:
  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:

(CppBackendDispatcherHeaderGenerator.generate_output):
(CppBackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:

(CppBackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:

(CppFrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:

(CppProtocolTypesHeaderGenerator.generate_output):
(_generate_class_for_object_declaration):
(_generate_unchecked_setter_for_member):
(_generate_forward_declarations_for_binding_traits):

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:

(ObjCConfigurationImplementationGenerator._generate_success_block_for_command):

  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator._generate_event):
(ObjCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):

  • inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:

(ObjCProtocolTypesImplementationGenerator.generate_output):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • replay/EncodedValue.cpp:

(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::EncodedValue::put<EncodedValue>):
(JSC::EncodedValue::append<EncodedValue>):
(JSC::EncodedValue::get<EncodedValue>):

  • replay/EncodedValue.h:
  • replay/scripts/CodeGeneratorReplayInputs.py:

(Type.borrow_type):
(Type.argument_type):
(Generator.generate_member_move_expression):

  • runtime/ConsoleClient.cpp:

(JSC::ConsoleClient::printConsoleMessageWithArguments):
(JSC::ConsoleClient::internalMessageWithTypeAndLevel):
(JSC::ConsoleClient::logWithLevel):
(JSC::ConsoleClient::clear):
(JSC::ConsoleClient::dir):
(JSC::ConsoleClient::dirXML):
(JSC::ConsoleClient::table):
(JSC::ConsoleClient::trace):
(JSC::ConsoleClient::assertCondition):
(JSC::ConsoleClient::group):
(JSC::ConsoleClient::groupCollapsed):
(JSC::ConsoleClient::groupEnd):

  • runtime/ConsoleClient.h:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::allStructureRepresentations):
(JSC::TypeSet::inspectorTypeSet):
(JSC::StructureShape::inspectorRepresentation):

  • runtime/TypeSet.h:

Source/WebCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

No new tests, no behavior changed.

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabase):

  • dom/Document.cpp:

(WebCore::Document::logExceptionToConsole):
(WebCore::Document::addMessage):

  • dom/Document.h:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::reportException):

  • dom/ScriptExecutionContext.h:
  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::generateViolationReport):

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::inspectImpl):

  • inspector/CommandLineAPIHost.h:
  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):

  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::stopProfiling):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::buildObjectForHighlightedNode):
(WebCore::InspectorController::executionStopwatch):

  • inspector/InspectorController.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::setInspectModeEnabled):
(WebCore::InspectorDOMAgent::highlightRect):
(WebCore::InspectorDOMAgent::highlightQuad):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::highlightFrame):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
(WebCore::InspectorDOMAgent::resolveNode):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):

  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::findStorageArea):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp: Use Ref for all callbacks since they are

not nullable.
(WebCore::InspectorDatabaseAgent::executeSQL):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorDatabaseResource.cpp:

(WebCore::InspectorDatabaseResource::create):
(WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
(WebCore::InspectorDatabaseResource::bind):

  • inspector/InspectorDatabaseResource.h:

(WebCore::InspectorDatabaseResource::setDatabase):

  • inspector/InspectorFrontendHost.h:

(WebCore::InspectorFrontendHost::create):

  • inspector/InspectorIndexedDBAgent.cpp: Use Ref for all callbacks since they are

not nullable.
(WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
(WebCore::InspectorIndexedDBAgent::requestDatabase):
(WebCore::InspectorIndexedDBAgent::requestData):
(WebCore::ClearObjectStoreListener::create):
(WebCore::ClearObjectStoreListener::ClearObjectStoreListener):
(WebCore::ClearObjectStore::create):
(WebCore::ClearObjectStore::ClearObjectStore):
(WebCore::InspectorIndexedDBAgent::clearObjectStore):

  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willLoadXHRImpl):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::stopProfilingImpl):
(WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
(WebCore::InspectorInstrumentation::sessionCreatedImpl):
(WebCore::InspectorInstrumentation::sessionLoadedImpl):
(WebCore::InspectorInstrumentation::sessionModifiedImpl):
(WebCore::InspectorInstrumentation::segmentCreatedImpl):
(WebCore::InspectorInstrumentation::segmentCompletedImpl):
(WebCore::InspectorInstrumentation::segmentLoadedImpl):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl): Deleted.
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript): Deleted.
(WebCore::InspectorInstrumentation::captureStoppedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackStartedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackPausedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackHitPositionImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackFinishedImpl): Deleted.
(WebCore::InspectorInstrumentation::networkStateChangedImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willLoadXHR):
(WebCore::InspectorInstrumentation::sessionCreated):
(WebCore::InspectorInstrumentation::sessionLoaded):
(WebCore::InspectorInstrumentation::sessionModified):
(WebCore::InspectorInstrumentation::segmentCreated):
(WebCore::InspectorInstrumentation::segmentCompleted):
(WebCore::InspectorInstrumentation::segmentLoaded):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::didSendWebSocketFrame): Deleted.

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForPoint):
(WebCore::buildObjectForRect):
(WebCore::buildArrayForQuad):
(WebCore::buildObjectForHighlight):
(WebCore::buildObjectForRegionHighlight):
(WebCore::buildObjectForCSSRegionsHighlight):
(WebCore::buildObjectForSize):
(WebCore::buildObjectForCSSRegionContentClip):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::buildObjectForRendererFragments):
(WebCore::buildObjectForShapeOutside):
(WebCore::buildObjectForElementInfo):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::reset):
(WebCore::InspectorOverlay::evaluateInOverlay):

  • inspector/InspectorOverlay.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::createXHRTextDecoder):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::buildInspectorObjectForPosition):
(WebCore::buildInspectorObjectForInput):
(WebCore::buildInspectorObjectForSession):
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::replayToPosition):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForHeaders):
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willLoadXHR):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
(WebCore::InspectorResourceAgent::loadResource):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::didScheduleStyleRecalculation): Deleted.
(WebCore::InspectorResourceAgent::disable): Deleted.
(WebCore::InspectorResourceAgent::setCacheDisabled): Deleted.

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:

(ParsedStyleSheet::ruleSourceDataAt):
(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::asCSSRuleList):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::create):
(WebCore::InspectorStyle::InspectorStyle):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyle::extractSourceData):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::toggleProperty):
(WebCore::InspectorStyleSheet::inspectorStyleForId):
(WebCore::InspectorStyleSheet::rememberInspectorStyle):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheet::collectFlatRules):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):
(WebCore::InspectorCSSId::asProtocolValue):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteRecordEntry):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::sendEvent):
(WebCore::InspectorTimelineAgent::createRecordEntry):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):

  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::sendMessageToWorker):

  • inspector/InspectorWorkerAgent.h:
  • inspector/NetworkResourcesData.cpp:

(WebCore::XHRReplayData::create):
(WebCore::XHRReplayData::XHRReplayData):

  • inspector/NetworkResourcesData.h:

(WebCore::NetworkResourcesData::ResourceData::decoder):
(WebCore::NetworkResourcesData::ResourceData::setDecoder):
(WebCore::NetworkResourcesData::ResourceData::buffer):
(WebCore::NetworkResourcesData::ResourceData::setBuffer):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::TimelineRecordFactory::createBackgroundRecord):
(WebCore::TimelineRecordFactory::createGCEventData):
(WebCore::TimelineRecordFactory::createFunctionCallData):
(WebCore::TimelineRecordFactory::createConsoleProfileData):
(WebCore::TimelineRecordFactory::createProbeSampleData):
(WebCore::TimelineRecordFactory::createEventDispatchData):
(WebCore::TimelineRecordFactory::createGenericTimerData):
(WebCore::TimelineRecordFactory::createTimerInstallData):
(WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
(WebCore::TimelineRecordFactory::createXHRLoadData):
(WebCore::TimelineRecordFactory::createEvaluateScriptData):
(WebCore::TimelineRecordFactory::createTimeStampData):
(WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
(WebCore::TimelineRecordFactory::createResourceSendRequestData):
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
(WebCore::TimelineRecordFactory::createReceiveResourceData):
(WebCore::TimelineRecordFactory::createLayoutData):
(WebCore::TimelineRecordFactory::createDecodeImageData):
(WebCore::TimelineRecordFactory::createResizeImageData):
(WebCore::TimelineRecordFactory::createMarkData):
(WebCore::TimelineRecordFactory::createParseHTMLData):
(WebCore::TimelineRecordFactory::createAnimationFrameData):
(WebCore::createQuad):
(WebCore::TimelineRecordFactory::createPaintData):
(WebCore::buildInspectorObject):
(WebCore::buildProfileInspectorObject):
(WebCore::TimelineRecordFactory::appendProfile):

  • inspector/TimelineRecordFactory.h:

(WebCore::TimelineRecordFactory::createWebSocketCreateData):
(WebCore::TimelineRecordFactory::createGenericWebSocketData):

  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::executionStopwatch):

  • inspector/WorkerInspectorController.h:
  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::messageWithTypeAndLevel):
(WebCore::PageConsoleClient::count):
(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::timeEnd):
(WebCore::PageConsoleClient::timeStamp):

  • page/PageConsoleClient.h:
  • replay/ReplayController.cpp:

(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegmentAtIndex):

  • replay/ReplayInputCreationMethods.cpp:

(WebCore::InitialNavigation::createFromPage):

  • workers/SharedWorkerGlobalScope.cpp:

(WebCore::SharedWorkerGlobalScope::logExceptionToConsole):

  • workers/SharedWorkerGlobalScope.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::logExceptionToConsole):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::WorkerGlobalScope::addMessageToWorkerConsole):

  • workers/WorkerGlobalScope.h:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: update symbol.

Source/WTF:

  • wtf/Stopwatch.h:

(WTF::Stopwatch::create): Return a Ref.

3:05 PM Changeset in webkit [178059] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test http/tests/navigation/forward-and-cancel.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=140217

  • platform/mac-wk2/TestExpectations: Mark it as flaky.
3:01 PM Changeset in webkit [178058] by andersca@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Add a radar link to the ChangeLog.

2:59 PM Changeset in webkit [178057] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Annotate properties that start with "new" so they'll work under ARC
https://bugs.webkit.org/show_bug.cgi?id=140215

Reviewed by Geoffrey Garen.

When encountering attributes that start with "new", also generate an additional getter method declaration that
has an NS_RETURNS_NOT_RETAINED annotation so ARC will know not to overrelease the property value.

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateHeader):

2:48 PM Changeset in webkit [178056] by Beth Dakin
  • 6 edits in trunk/Source

Adopt delegate callbacks so that standardQuickLookMenuItem does not obscure the
link
https://bugs.webkit.org/show_bug.cgi?id=140206
-and corresponding-
rdar://problem/19300492

Reviewed by Tim Horton.

Source/WebCore:

More delegate methods.

  • platform/spi/mac/QuickLookMacSPI.h:

Source/WebKit/mac:

Providing and item frame will ensure that the original link is not obscured.

  • WebView/WebImmediateActionController.mm:

(elementBoundingBoxInWindowCoordinatesFromNode):
(-[WebImmediateActionController menuItem:itemFrameForPoint:]):

For now use a max size that is smaller than the WebView, with the screen’s aspect
ratio, and scaled down.
(-[WebImmediateActionController menuItem:maxSizeForPoint:]):

Source/WebKit2:

Providing and item frame will ensure that the original link is not obscured.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController menuItem:itemFrameForPoint:]):

For now use a max size that is smaller than the WKView, with the screen’s aspect
ratio, and scaled down.
(-[WKImmediateActionController menuItem:maxSizeForPoint:]):

2:46 PM Changeset in webkit [178055] by Brent Fulgham
  • 2 edits
    2 adds in trunk/LayoutTests

[Win] Unreviewed test gardening.

Provide a correct baseline for the one failing XSL test.

  • platform/win/TestExpectations: Clean up the XSL declarations.
  • platform/win/fast/xsl: Added.
  • platform/win/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt: Added.
2:30 PM Changeset in webkit [178054] by Bem Jones-Bey
  • 4 edits
    2 adds in trunk

[CSS Shapes] Negative raster shape height leads to crash
https://bugs.webkit.org/show_bug.cgi?id=136087

Reviewed by Zoltan Horvath.

Source/WebCore:

This patch clamps the size of the margin box rect used to compute the
raster shape on a float so the width and height cannot be negative.
This makes it safe to use that rect to determine the size of the shape
intervals data structure.

Test: fast/shapes/shape-outside-floats/shape-outside-negative-height-crash.html

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape): Add an assert to be explict about

the precondition.

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::getShapeImageMarginRect): Clamp the marginRect's size.

LayoutTests:

  • fast/shapes/shape-outside-floats/shape-outside-negative-height-crash-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-negative-height-crash.html: Added.
2:26 PM Changeset in webkit [178053] by Chris Dumez
  • 1 edit
    4 adds in trunk/LayoutTests

Add layout test for animated GIFs in iframes moved in and out of the viewport using -webkit-transform
https://bugs.webkit.org/show_bug.cgi?id=139701

Reviewed by Simon Fraser.

Add layout test for animated GIFs in iframes moved in and out of the
viewport using '-webkit-transform' CSS property.

  • fast/images/animated-gif-iframe-webkit-transform-expected.txt: Added.
  • fast/images/animated-gif-iframe-webkit-transform.html: Added.
  • fast/images/resources/iframe-with-animated-gif.html: Added.
  • fast/images/resources/iframe-with-animated-gif2.html: Added.
2:16 PM Changeset in webkit [178052] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed test change to improve run reproducibility

  • Scripts/webkitpy/port/win.py:

(WinPort.default_child_processes): Run a single DRT instance to help
identify failures caused by earlier test runs.

2:12 PM Changeset in webkit [178051] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Test gardening. Clean up lint errors on Windows file.

  • platform/win/TestExpectations:
1:24 PM Changeset in webkit [178050] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

Myles C. Maxfield is a reviewer now
https://bugs.webkit.org/show_bug.cgi?id=140196

Reviewed by Dean Jackson.

  • Scripts/webkitpy/common/config/contributors.json:
1:20 PM Changeset in webkit [178049] by mmaxfield@apple.com
  • 3 edits in trunk/Tools

Make webkit-patch try harder to find keychain credentials
https://bugs.webkit.org/show_bug.cgi?id=140170

Reviewed by Ryosuke Niwa.

When the user manually enters a password into webkit-patch, we hand that off to the
Keyring Python module. However, that module creates a generic password entry instead
of an internet password entry. We should look for both kinds.

  • Scripts/webkitpy/common/net/credentials.py:

(Credentials._run_security_tool):
(Credentials._credentials_from_keychain):

  • Scripts/webkitpy/common/net/credentials_unittest.py:

(test_security_output_parse_entry_not_found):
(_assert_security_call):

12:56 PM Changeset in webkit [178048] by weinig@apple.com
  • 165 edits in trunk/Source/WebCore

Modernize the SVGElement and MathMLElement factories
https://bugs.webkit.org/show_bug.cgi?id=140163

Reviewed by Dan Bernstein.

  • dom/Element.cpp:

(WebCore::Element::create):

  • dom/Element.h:

Change to return a Ref rather than a RefPtr.

  • dom/make_names.pl:

(printConstructorSignature):
(printFactoryCppFile):
(printFactoryHeaderFile):
Change to unconditionally use Ref as the return type for element factories
now that HTML is not special cased.

  • SVG and MathML element files elided *

Changed all SVG and MathML element's create functions to return a Ref.

12:50 PM Changeset in webkit [178047] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r178028): iOS build broken due to unused parameters in GlyphPage::mayUseMixedFontDataWhenFilling()

Fixes the following build errors:

WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:61: error: unused parameter 'buffer' [-Werror,-Wunused-parameter]
bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData)


WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:78: error: unused parameter 'bufferLength' [-Werror,-Wunused-parameter]
bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData)


WebCore/platform/graphics/mac/GlyphPageMac.cpp:58:114: error: unused parameter 'fontData' [-Werror,-Wunused-parameter]
bool GlyphPage::mayUseMixedFontDataWhenFilling(const UChar* buffer, unsigned bufferLength, const SimpleFontData* fontData)


3 errors generated.

  • platform/graphics/mac/GlyphPageMac.cpp:

(WebCore::GlyphPage::mayUseMixedFontDataWhenFilling): Add
UNUSED_PARAM() as needed.

12:40 PM Changeset in webkit [178046] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Give simple HTML documents a database provider
https://bugs.webkit.org/show_bug.cgi?id=140192
rdar://problem/19398825

Reviewed by Tim Horton.

  • WebView/WebView.mm:

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

12:13 PM Changeset in webkit [178045] by Bem Jones-Bey
  • 3 edits
    6 adds in trunk

[CSS Shapes] Content does not wrap with overflow: hidden and reference box different from margin-box
https://bugs.webkit.org/show_bug.cgi?id=138139

Reviewed by David Hyatt.

Source/WebCore:

To determine how much an box needs to shink to avoid a float, the code
was only taking into account the first line of the box. This doesn't
work when the float has a shape, as it can make it seem like there is
more space on the line than there actually is. This patch changes the
calculations to take into account the entire height of the box that
needs to be shrunk, and thus computes the correct amount of space
available.

Test: fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin.html

fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin.html
fast/shapes/shape-outside-floats/shape-overflow-hidden.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):

LayoutTests:

  • fast/shapes/shape-outside-floats/shape-overflow-hidden-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-left-margin.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden-right-margin.html: Added.
  • fast/shapes/shape-outside-floats/shape-overflow-hidden.html: Added.
11:49 AM Changeset in webkit [178044] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Release build fix.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:
11:48 AM Changeset in webkit [178043] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Secondary WebKit processes get re-exec'ed twice when running under ASan
https://bugs.webkit.org/show_bug.cgi?id=140175

Reviewed by Sam Weinig.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::addDYLDEnvironmentAdditions):

If the main process is ASanified, add the ASan dynamic library to DYLD_INSERT_LIBRARIES.
This avoids an extra re-exec, which is very annoying when debugging.
The library is linked in using @rpath, so the only reliable way to find its location
is by examining binary images loaded into the current process.

11:32 AM Changeset in webkit [178042] by commit-queue@webkit.org
  • 126 edits in trunk/Source

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

Breaks ObjC Inspector Protocol (Requested by JoePeck on
#webkit).

Reverted changeset:

"Web Inspector: purge PassRefPtr from Inspector code and use
Ref for typed and untyped protocol objects"
https://bugs.webkit.org/show_bug.cgi?id=140053
http://trac.webkit.org/changeset/178039

10:33 AM Changeset in webkit [178041] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit/win

[Win] WindowCloseTimer is an ActiveDOMObject and must call suspendIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=140184
<rdar://problem/19399740>

Reviewed by Jer Noble.

This bug was found in fast/loader/stateobjects/popstate-fires-with-page-cache.html

  • WebView.cpp:

(WindowCloseTimer::create): Modify to ensure a call to suspendIfNeeded is made
during the creation process.

9:36 AM Changeset in webkit [178040] by eric.carlson@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

mathml/mathml-in-dashboard.html results are different on mac-mountainlion.

  • platform/mac-mountainlion/mathml/mathml-in-dashboard-expected.png: Added.
  • platform/mac-mountainlion/mathml/mathml-in-dashboard-expected.txt: Added.
9:32 AM Changeset in webkit [178039] by Brian Burg
  • 126 edits in trunk/Source

Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
https://bugs.webkit.org/show_bug.cgi?id=140053

Reviewed by Andreas Kling.

Source/JavaScriptCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

Creation methods for subclasses of InspectorValue now return a Ref, and callsites
have been updated to take a Ref instead of RefPtr.

Builders for typed protocol objects now return a Ref. Since there is no implicit
call to operator&, callsites now must explicitly call .release() to convert a
builder object into the corresponding protocol object once required fields are set.
Update callsites and use auto to eliminate repetition of longwinded protocol types.

Tests for inspector protocol and replay inputs have been rebaselined.

  • bindings/ScriptValue.cpp:

(Deprecated::jsToInspectorValue):
(Deprecated::ScriptValue::toInspectorValue):

  • bindings/ScriptValue.h:
  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::addToFrontend):

  • inspector/ContentSearchUtilities.cpp:

(Inspector::ContentSearchUtilities::buildObjectForSearchMatch):
(Inspector::ContentSearchUtilities::searchInTextByLines):

  • inspector/ContentSearchUtilities.h:
  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::wrapCallFrames):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::makeEvalCall): Split the early exits.

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::CallbackBase::CallbackBase):
(Inspector::InspectorBackendDispatcher::CallbackBase::sendIfActive):
(Inspector::InspectorBackendDispatcher::create):
(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::InspectorBackendDispatcher::sendResponse):
(Inspector::InspectorBackendDispatcher::reportProtocolError):
(Inspector::getPropertyValue): Add a comment to clarify what this clever code does.
(Inspector::InspectorBackendDispatcher::getInteger):
(Inspector::InspectorBackendDispatcher::getDouble):
(Inspector::InspectorBackendDispatcher::getString):
(Inspector::InspectorBackendDispatcher::getBoolean):
(Inspector::InspectorBackendDispatcher::getObject):
(Inspector::InspectorBackendDispatcher::getArray):
(Inspector::InspectorBackendDispatcher::getValue):

  • inspector/InspectorBackendDispatcher.h: Use a typed protocol object to collect

protocol error strings.
(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
Convert the supplemental dispatcher's reference to Ref since it is never null.

  • inspector/InspectorEnvironment.h:
  • inspector/InspectorProtocolTypes.h: Get rid of ArrayItemHelper and

StructItemTraits. Add more versions of addItem to handle pushing various types.
(Inspector::Protocol::Array::openAccessors):
(Inspector::Protocol::Array::addItem):
(Inspector::Protocol::Array::create):
(Inspector::Protocol::StructItemTraits::push):
(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::runtimeCast): Assert argument.
(Inspector::Protocol::StructItemTraits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<String>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<int>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<double>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<bool>::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorValue>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorObject>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<InspectorArray>::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper<Protocol::Array<T>>::Traits::pushRefPtr): Deleted.

  • inspector/InspectorValues.cpp: Straighten out getArray and getObject to have

the same call signature as other getters. Use Ref where possible.
(Inspector::InspectorObjectBase::getBoolean):
(Inspector::InspectorObjectBase::getString):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::getValue):
(Inspector::InspectorObjectBase::writeJSON):
(Inspector::InspectorArrayBase::get):
(Inspector::InspectorObject::create):
(Inspector::InspectorArray::create):
(Inspector::InspectorValue::null):
(Inspector::InspectorString::create):
(Inspector::InspectorBasicValue::create):
(Inspector::InspectorObjectBase::get): Deleted.

  • inspector/InspectorValues.h:

(Inspector::InspectorObjectBase::setValue):
(Inspector::InspectorObjectBase::setObject):
(Inspector::InspectorObjectBase::setArray):
(Inspector::InspectorArrayBase::pushValue):
(Inspector::InspectorArrayBase::pushObject):
(Inspector::InspectorArrayBase::pushArray):

  • inspector/JSGlobalObjectConsoleClient.cpp:

(Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel):
(Inspector::JSGlobalObjectConsoleClient::count):
(Inspector::JSGlobalObjectConsoleClient::timeEnd):
(Inspector::JSGlobalObjectConsoleClient::timeStamp):

  • inspector/JSGlobalObjectConsoleClient.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::executionStopwatch):

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/ScriptCallFrame.cpp:

(Inspector::ScriptCallFrame::buildInspectorObject):

  • inspector/ScriptCallFrame.h:
  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::create):
(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::enable):
(Inspector::InspectorAgent::inspect):
(Inspector::InspectorAgent::activateExtraDomain):

  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::buildObjectForBreakpointCookie):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::currentCallFrames):
(Inspector::InspectorDebuggerAgent::didParseSource):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
(Inspector::InspectorDebuggerAgent::breakProgram):

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::buildErrorRangeObject):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::InspectorRuntimeAgent::getBasicBlocks):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/scripts/codegen/cpp_generator.py:

(CppGenerator.cpp_type_for_unchecked_formal_in_parameter):
(CppGenerator.cpp_type_for_type_with_name):
(CppGenerator.cpp_type_for_formal_async_parameter):
(CppGenerator.should_use_references_for_type):
(CppGenerator):

  • inspector/scripts/codegen/cpp_generator_templates.py:
  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:

(CppBackendDispatcherHeaderGenerator.generate_output):
(CppBackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:

(CppBackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:

(CppFrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:

(CppProtocolTypesHeaderGenerator.generate_output):
(_generate_class_for_object_declaration):
(_generate_unchecked_setter_for_member):
(_generate_forward_declarations_for_binding_traits):

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:

(ObjCConfigurationImplementationGenerator._generate_success_block_for_command):

  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator._generate_event):
(ObjCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):

  • inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:

(ObjCProtocolTypesImplementationGenerator.generate_output):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • replay/EncodedValue.cpp:

(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::EncodedValue::put<EncodedValue>):
(JSC::EncodedValue::append<EncodedValue>):
(JSC::EncodedValue::get<EncodedValue>):

  • replay/EncodedValue.h:
  • replay/scripts/CodeGeneratorReplayInputs.py:

(Type.borrow_type):
(Type.argument_type):
(Generator.generate_member_move_expression):

  • runtime/ConsoleClient.cpp:

(JSC::ConsoleClient::printConsoleMessageWithArguments):
(JSC::ConsoleClient::internalMessageWithTypeAndLevel):
(JSC::ConsoleClient::logWithLevel):
(JSC::ConsoleClient::clear):
(JSC::ConsoleClient::dir):
(JSC::ConsoleClient::dirXML):
(JSC::ConsoleClient::table):
(JSC::ConsoleClient::trace):
(JSC::ConsoleClient::assertCondition):
(JSC::ConsoleClient::group):
(JSC::ConsoleClient::groupCollapsed):
(JSC::ConsoleClient::groupEnd):

  • runtime/ConsoleClient.h:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::allStructureRepresentations):
(JSC::TypeSet::inspectorTypeSet):
(JSC::StructureShape::inspectorRepresentation):

  • runtime/TypeSet.h:

Source/WebCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&& and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

No new tests, no behavior changed.

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabase):

  • dom/Document.cpp:

(WebCore::Document::logExceptionToConsole):
(WebCore::Document::addMessage):

  • dom/Document.h:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::reportException):

  • dom/ScriptExecutionContext.h:
  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::generateViolationReport):

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::inspectImpl):

  • inspector/CommandLineAPIHost.h:
  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):

  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::stopProfiling):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::buildObjectForHighlightedNode):
(WebCore::InspectorController::executionStopwatch):

  • inspector/InspectorController.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::setInspectModeEnabled):
(WebCore::InspectorDOMAgent::highlightRect):
(WebCore::InspectorDOMAgent::highlightQuad):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::highlightFrame):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
(WebCore::InspectorDOMAgent::resolveNode):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):

  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::findStorageArea):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp: Use Ref for all callbacks since they are

not nullable.
(WebCore::InspectorDatabaseAgent::executeSQL):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorDatabaseResource.cpp:

(WebCore::InspectorDatabaseResource::create):
(WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
(WebCore::InspectorDatabaseResource::bind):

  • inspector/InspectorDatabaseResource.h:

(WebCore::InspectorDatabaseResource::setDatabase):

  • inspector/InspectorFrontendHost.h:

(WebCore::InspectorFrontendHost::create):

  • inspector/InspectorIndexedDBAgent.cpp: Use Ref for all callbacks since they are

not nullable.
(WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
(WebCore::InspectorIndexedDBAgent::requestDatabase):
(WebCore::InspectorIndexedDBAgent::requestData):
(WebCore::ClearObjectStoreListener::create):
(WebCore::ClearObjectStoreListener::ClearObjectStoreListener):
(WebCore::ClearObjectStore::create):
(WebCore::ClearObjectStore::ClearObjectStore):
(WebCore::InspectorIndexedDBAgent::clearObjectStore):

  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willLoadXHRImpl):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::stopProfilingImpl):
(WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
(WebCore::InspectorInstrumentation::sessionCreatedImpl):
(WebCore::InspectorInstrumentation::sessionLoadedImpl):
(WebCore::InspectorInstrumentation::sessionModifiedImpl):
(WebCore::InspectorInstrumentation::segmentCreatedImpl):
(WebCore::InspectorInstrumentation::segmentCompletedImpl):
(WebCore::InspectorInstrumentation::segmentLoadedImpl):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl): Deleted.
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript): Deleted.
(WebCore::InspectorInstrumentation::captureStoppedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackStartedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackPausedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackHitPositionImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackFinishedImpl): Deleted.
(WebCore::InspectorInstrumentation::networkStateChangedImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willLoadXHR):
(WebCore::InspectorInstrumentation::sessionCreated):
(WebCore::InspectorInstrumentation::sessionLoaded):
(WebCore::InspectorInstrumentation::sessionModified):
(WebCore::InspectorInstrumentation::segmentCreated):
(WebCore::InspectorInstrumentation::segmentCompleted):
(WebCore::InspectorInstrumentation::segmentLoaded):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::didSendWebSocketFrame): Deleted.

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForPoint):
(WebCore::buildObjectForRect):
(WebCore::buildArrayForQuad):
(WebCore::buildObjectForHighlight):
(WebCore::buildObjectForRegionHighlight):
(WebCore::buildObjectForCSSRegionsHighlight):
(WebCore::buildObjectForSize):
(WebCore::buildObjectForCSSRegionContentClip):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::buildObjectForRendererFragments):
(WebCore::buildObjectForShapeOutside):
(WebCore::buildObjectForElementInfo):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::reset):
(WebCore::InspectorOverlay::evaluateInOverlay):

  • inspector/InspectorOverlay.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::createXHRTextDecoder):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::buildInspectorObjectForPosition):
(WebCore::buildInspectorObjectForInput):
(WebCore::buildInspectorObjectForSession):
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::replayToPosition):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForHeaders):
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willLoadXHR):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
(WebCore::InspectorResourceAgent::loadResource):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::didScheduleStyleRecalculation): Deleted.
(WebCore::InspectorResourceAgent::disable): Deleted.
(WebCore::InspectorResourceAgent::setCacheDisabled): Deleted.

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:

(ParsedStyleSheet::ruleSourceDataAt):
(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::asCSSRuleList):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::create):
(WebCore::InspectorStyle::InspectorStyle):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyle::extractSourceData):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::toggleProperty):
(WebCore::InspectorStyleSheet::inspectorStyleForId):
(WebCore::InspectorStyleSheet::rememberInspectorStyle):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheet::collectFlatRules):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):
(WebCore::InspectorCSSId::asProtocolValue):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteRecordEntry):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::sendEvent):
(WebCore::InspectorTimelineAgent::createRecordEntry):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):

  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::sendMessageToWorker):

  • inspector/InspectorWorkerAgent.h:
  • inspector/NetworkResourcesData.cpp:

(WebCore::XHRReplayData::create):
(WebCore::XHRReplayData::XHRReplayData):

  • inspector/NetworkResourcesData.h:

(WebCore::NetworkResourcesData::ResourceData::decoder):
(WebCore::NetworkResourcesData::ResourceData::setDecoder):
(WebCore::NetworkResourcesData::ResourceData::buffer):
(WebCore::NetworkResourcesData::ResourceData::setBuffer):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::TimelineRecordFactory::createBackgroundRecord):
(WebCore::TimelineRecordFactory::createGCEventData):
(WebCore::TimelineRecordFactory::createFunctionCallData):
(WebCore::TimelineRecordFactory::createConsoleProfileData):
(WebCore::TimelineRecordFactory::createProbeSampleData):
(WebCore::TimelineRecordFactory::createEventDispatchData):
(WebCore::TimelineRecordFactory::createGenericTimerData):
(WebCore::TimelineRecordFactory::createTimerInstallData):
(WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
(WebCore::TimelineRecordFactory::createXHRLoadData):
(WebCore::TimelineRecordFactory::createEvaluateScriptData):
(WebCore::TimelineRecordFactory::createTimeStampData):
(WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
(WebCore::TimelineRecordFactory::createResourceSendRequestData):
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
(WebCore::TimelineRecordFactory::createReceiveResourceData):
(WebCore::TimelineRecordFactory::createLayoutData):
(WebCore::TimelineRecordFactory::createDecodeImageData):
(WebCore::TimelineRecordFactory::createResizeImageData):
(WebCore::TimelineRecordFactory::createMarkData):
(WebCore::TimelineRecordFactory::createParseHTMLData):
(WebCore::TimelineRecordFactory::createAnimationFrameData):
(WebCore::createQuad):
(WebCore::TimelineRecordFactory::createPaintData):
(WebCore::buildInspectorObject):
(WebCore::buildProfileInspectorObject):
(WebCore::TimelineRecordFactory::appendProfile):

  • inspector/TimelineRecordFactory.h:

(WebCore::TimelineRecordFactory::createWebSocketCreateData):
(WebCore::TimelineRecordFactory::createGenericWebSocketData):

  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::executionStopwatch):

  • inspector/WorkerInspectorController.h:
  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::messageWithTypeAndLevel):
(WebCore::PageConsoleClient::count):
(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::timeEnd):
(WebCore::PageConsoleClient::timeStamp):

  • page/PageConsoleClient.h:
  • replay/ReplayController.cpp:

(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegmentAtIndex):

  • replay/ReplayInputCreationMethods.cpp:

(WebCore::InitialNavigation::createFromPage):

  • workers/SharedWorkerGlobalScope.cpp:

(WebCore::SharedWorkerGlobalScope::logExceptionToConsole):

  • workers/SharedWorkerGlobalScope.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::logExceptionToConsole):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::WorkerGlobalScope::addMessageToWorkerConsole):

  • workers/WorkerGlobalScope.h:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: update symbol.

Source/WTF:

  • wtf/Stopwatch.h:

(WTF::Stopwatch::create): Return a Ref.

8:55 AM Changeset in webkit [178038] by Chris Fleizach
  • 5 edits
    5 adds in trunk

AX: Crash: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse + 149
https://bugs.webkit.org/show_bug.cgi?id=139929

Reviewed by Darin Adler.

Source/WebCore:

When a frame is replaced, there were instances when it was not clearing its associated nodes in the accessibility text marker -> Node cache.
This caused dead Nodes to be left in the cache which would eventually be accessed when the cache was cleaned out at a later time.

To fix this we should be clearing out the cache in Document::prepareForDestruction, instead of Frame::disconnectOwnerElement.

While working on this, it also exposed a problem where when a frame goes away, it doesn't inform its parent to update its children,
which causes an ASSERT to be hit with this test as well.

Tests: accessibility/frame-disconnect-textmarker-cache-crash.html

  • dom/Document.cpp:

(WebCore::Document::prepareForDestruction):

  • page/Frame.cpp:

(WebCore::Frame::disconnectOwnerElement):

Remove cache management from here since it is superceded by code in Document::prepareForDestruction

  • page/FrameView.cpp:

(WebCore::FrameView::removeFromAXObjectCache):

LayoutTests:

  • accessibility/frame-disconnect-textmarker-cache-crash-expected.txt: Added.
  • accessibility/frame-disconnect-textmarker-cache-crash.html: Added.
  • accessibility/resources/frameset.html: Added.
  • accessibility/resources/inform-parent-of-load.html: Added.
  • accessibility/resources/text.html: Added.
8:44 AM Changeset in webkit [178037] by clopez@igalia.com
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening after r177637.

  • platform/gtk/TestExpectations: Mark new crashing/failing tests after r177637.
8:09 AM Changeset in webkit [178036] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Unreviewed fix for the CoordinatedGraphics builds after r178034.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setChildren): Add back the setChildren()
variant that receives a reference to the Vector of TextureMapperLayer
objects. This is still used by the CoordinatedGraphics code that still
constructs a separate Vector object each time the layer's children change.

  • platform/graphics/texmap/TextureMapperLayer.h:
5:19 AM Changeset in webkit [178035] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[TexMap] Use std::sort instead of qsort in TextureMapperLayer::sortByZOrder()
https://bugs.webkit.org/show_bug.cgi?id=136212

Reviewed by Darin Adler.

Use std::sort() instead of qsort() to sort the TextureMapperLayer objects
by their z-order. A lambda expression can be used to compare the m_centerZ
member variables of any two TextureMapperLayers.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::sortByZOrder):
(WebCore::TextureMapperLayer::compareGraphicsLayersZValue): Deleted.

  • platform/graphics/texmap/TextureMapperLayer.h:
5:14 AM Changeset in webkit [178034] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

[TexMap] Avoid constructing Vector when setting new children of TextureMapperLayer
https://bugs.webkit.org/show_bug.cgi?id=137265

Reviewed by Brent Fulgham.

Instead of constructing a vector object and populating it with TextureMapperLayers
every time the children of a GraphicsLayer change, the children vector is now passed
directly to TextureMapperLayer::setChildren(), which properly downcasts GraphicsLayers
and adds the new TextureMapperLayer children.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::toTextureMapperLayerVector): Deleted.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setChildren):

  • platform/graphics/texmap/TextureMapperLayer.h:
4:49 AM Changeset in webkit [178033] by zandobersek@gmail.com
  • 7 edits in trunk/Source

[TexMap] m_layer member in GraphicsLayerTextureMapper is always non-null
https://bugs.webkit.org/show_bug.cgi?id=140135

Reviewed by Darin Adler.

Source/WebCore:

Since the TextureMapperLayer member in the GraphicsLayerTextureMapper class
is always non-null, we don't need to keep it in a std::unique_ptr<>.

GraphicsLayerTextureMapper::layer() now returns a reference to the m_layer member.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::toTextureMapperLayerVector):
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::GraphicsLayerTextureMapper::flushCompositingState):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
(WebCore::GraphicsLayerTextureMapper::setFilters):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

Source/WebKit/win:

GraphicsLayerTextureMapper::layer() now returns a reference,
so the call sites are updated.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::initialize):
(AcceleratedCompositingContext::startedAnimation):
(AcceleratedCompositingContext::compositeLayersToContext):

Source/WebKit2:

GraphicsLayerTextureMapper::layer() now returns a reference,
so the call sites are updated.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::initialize):
(WebKit::LayerTreeHostGtk::layerFlushTimerFired):
(WebKit::LayerTreeHostGtk::compositeLayersToContext):

4:12 AM Changeset in webkit [178032] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.4.8

WebKitGTK+ 2.4.8

2:45 AM Changeset in webkit [178031] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Unreviewed. Update NEWS and Versions.m4 for 2.4.8 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.4.8.
2:34 AM Changeset in webkit [178030] by saambarati1@gmail.com
  • 4 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Abstract common functions from TypeTokenAnnotator into a parent class and introduce an AnnotatorManager
https://bugs.webkit.org/show_bug.cgi?id=139426

Reviewed by Timothy Hatcher.

This patch creates a parent class, Annotator, that TypeTokenAnnotator
inherits from. Annotator defines a common set of functionality
that a text editor annotator can use to mark up UI. This
is in preparation other classes that will inherit from Annotator.

This patch also introduces AnnotatorManager which controls a
set of Annotators and provides a single interface for
controlling them.

  • UserInterface/Controllers/Annotator.js: Added.

(WebInspector.Annotator):
(WebInspector.Annotator.prototype.get sourceCodeTextEditor):
(WebInspector.Annotator.prototype.get isActive):
(WebInspector.Annotator.prototype.pause):
(WebInspector.Annotator.prototype.resume):
(WebInspector.Annotator.prototype.refresh):
(WebInspector.Annotator.prototype.reset):
(WebInspector.Annotator.prototype.clear):
(WebInspector.Annotator.prototype.insertAnnotations):
(WebInspector.Annotator.prototype.clearAnnotations):
(WebInspector.Annotator.prototype._clearTimeoutIfNeeded):

  • UserInterface/Controllers/AnnotatorManager.js: Added.

(WebInspector.AnnotatorManager):
(WebInspector.AnnotatorManager.prototype.addAnnotator):
(WebInspector.AnnotatorManager.prototype.isAnnotatorActive):
(WebInspector.AnnotatorManager.prototype.pauseAll):
(WebInspector.AnnotatorManager.prototype.resumeAll):
(WebInspector.AnnotatorManager.prototype.refreshAllIfActive):
(WebInspector.AnnotatorManager.prototype.resetAllIfActive):
(WebInspector.AnnotatorManager.prototype.clearAll):
(WebInspector.AnnotatorManager.prototype.removeAllAnnotators):
(WebInspector.AnnotatorManager.prototype._getAnnotators):

  • UserInterface/Controllers/TypeTokenAnnotator.js:

(WebInspector.TypeTokenAnnotator):
(WebInspector.TypeTokenAnnotator.prototype.insertAnnotations.):
(WebInspector.TypeTokenAnnotator.prototype.clearAnnotations):
(WebInspector.TypeTokenAnnotator.prototype._insertToken):
(WebInspector.TypeTokenAnnotator.prototype.get isActive): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.get sourceCodeTextEditor): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.pause): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.resume): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.refresh): Deleted.
(WebInspector.TypeTokenAnnotator.prototype.reset): Deleted.
(WebInspector.TypeTokenAnnotator.prototype._insertAnnotations.): Deleted.
(WebInspector.TypeTokenAnnotator.prototype._clearTimeoutIfNeeded): Deleted.

  • UserInterface/Main.html:
  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.hidden):
(WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
(WebInspector.SourceCodeTextEditor.prototype._getAssociatedScript):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):

2:22 AM Changeset in webkit [178029] by commit-queue@webkit.org
  • 15 edits in trunk/Source/WebCore

Fix Border-radius clipping issue on a composited descendants
https://bugs.webkit.org/show_bug.cgi?id=138551

Patch by Byungseon Shin <sun.shin@lge.com> on 2015-01-07
Reviewed by Simon Fraser.

Fix clipping compositing descendants of an accelerated layer having
border radius and clip overflow issue by using layer corner-radius
or a CAShapeLayer mask on Mac, and setting up a separate mask layer
on the childContainmentLayer on other platforms.

This patch is extracted from following Blink revisions:
<http://src.chromium.org/viewvc/blink?view=revision&revision=162463>
<http://src.chromium.org/viewvc/blink?view=revision&revision=158258>
by <Ion Rosca>

Clip accelerated descendants of an accelerated layer having border radius and clip overflow.
Large canvas does not honor containing div's border radius.

and <http://src.chromium.org/viewvc/blink?view=revision&revision=160578>
by <junov@chromium.org>

Fix for CSS clip-path with accelerated 2D canvas.

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::dumpProperties):

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::applyClippingBorder):
(WebCore::GraphicsLayer::clearClippingBorder):
(WebCore::GraphicsLayer::needsClippingMaskLayer):

  • platform/graphics/GraphicsLayerClient.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::applyClippingBorder):
(WebCore::GraphicsLayerCA::clearClippingBorder):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/PaintPhase.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintClippingMask):

  • rendering/RenderBox.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintChildClippingMaskForFragments):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::~RenderLayerBacking):
(WebCore::RenderLayerBacking::destroyGraphicsLayers):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateChildClippingStrategy):
(WebCore::RenderLayerBacking::setContentsNeedDisplay):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):
(WebCore::RenderLayerBacking::backingStoreMemoryEstimate):

  • rendering/RenderLayerBacking.h:
1:51 AM Changeset in webkit [178028] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Use HashMap instead of CFDictionary for composite font reference map
https://bugs.webkit.org/show_bug.cgi?id=140150

Reviewed by Geoff Garen.

Use WebKit types. Also use USE(APPKIT) consistently for this feature.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):

The whole desctructor gets handled implicitly.

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/mac/GlyphPageMac.cpp:

(WebCore::GlyphPage::mayUseMixedFontDataWhenFilling):
(WebCore::GlyphPage::fill):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::compositeFontReferenceFontData):
(WebCore::SimpleFontData::getCompositeFontReferenceFontData): Deleted.

1:27 AM Changeset in webkit [178027] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

1:25 AM Changeset in webkit [178026] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.13

New tag.

12:19 AM Changeset in webkit [178025] by mihnea@adobe.com
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: rareData->m_flowThreadContainingBlock.value() == RenderBox::locateFlowThreadContainingBlock() in WebCore::RenderBlock::locateFlowThreadContainingBlock
https://bugs.webkit.org/show_bug.cgi?id=139390

Reviewed by Andrei Bucur.

Source/WebCore:

When a block level element is inserted into an inline element, the inline element is split
in order to make sure that all the inline element children are properly wrapped inside
anonymous block elements. If the inline element is inside a pagination context, we have
to invalidate the cached flow thread containing block for the split inline element and its descendants.

Test: fast/multicol/newmulticol/block-split-inline-in-multicol.html

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::splitInlines):

LayoutTests:

  • fast/multicol/newmulticol/block-split-inline-in-multicol-expected.txt: Added.
  • fast/multicol/newmulticol/block-split-inline-in-multicol.html: Added.

Jan 6, 2015:

11:18 PM Changeset in webkit [178024] by yoon@igalia.com
  • 3 edits in trunk/Source/WebKit2

Remove the remaining uses of OwnPtr in threaded compositor.
https://bugs.webkit.org/show_bug.cgi?id=140172

Reviewed by Sam Weinig.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::runCompositingThread):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
11:16 PM Changeset in webkit [178023] by ap@apple.com
  • 2 edits in trunk/LayoutTests

mathml/mathml-in-dashboard.html fails on WebKit2 testers.

  • platform/wk2/TestExpectations: Skip the test, setUseDashboardCompatibilityMode

is not implemented in WebKitTestRunner.

11:13 PM Changeset in webkit [178022] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'content' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140169

Reviewed by Sam Weinig.

Move 'content' CSS property to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialContent):
(WebCore::StyleBuilderCustom::applyInheritContent):
(WebCore::StyleBuilderCustom::applyValueContent):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

11:03 PM Changeset in webkit [178021] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Do not style implicit CSS properties in the Style Rules section
https://bugs.webkit.org/show_bug.cgi?id=140161

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-06
Reviewed by Timothy Hatcher.

Previously, implicit properties being transparent in the Rules section
was confusing and not useful. Lets simplify what transparency means:

  • Rules: transparency means a non-inheritable property in an inherited rule
  • Computed: transparency means an implicit value
  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.not-inherited):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.implicit, .not-inherited)): Deleted.

10:35 PM Changeset in webkit [178020] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Move 'webkit-mask-image' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140168

Reviewed by Sam Weinig.

Move 'webkit-mask-image' CSS property to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertMaskImageOperations):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialWebkitMaskImage):
(WebCore::StyleBuilderCustom::applyInheritWebkitMaskImage):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::createMaskImageOperations): Deleted.

  • css/StyleResolver.h:
7:23 PM Changeset in webkit [178019] by Chris Dumez
  • 9 edits in trunk/Source

Drop ResourceResponseBase::connectionID and connectionReused members
https://bugs.webkit.org/show_bug.cgi?id=140158

Reviewed by Sam Weinig.

Drop ResourceResponseBase::connectionID and connectionReused members.
Those were needed by the Chromium port but are no longer used.

Source/JavaScriptCore:

  • inspector/protocol/Network.json:

Source/WebCore:

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForResourceResponse):

  • page/PerformanceResourceTiming.cpp:

(WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::connectStart):
(WebCore::PerformanceResourceTiming::connectEnd):

  • page/PerformanceResourceTiming.h:
  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::connectEnd):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::connectionReused): Deleted.
(WebCore::ResourceResponseBase::setConnectionReused): Deleted.
(WebCore::ResourceResponseBase::connectionID): Deleted.
(WebCore::ResourceResponseBase::setConnectionID): Deleted.

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):

6:56 PM Changeset in webkit [178018] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception when dismissing Go To Line dialog
https://bugs.webkit.org/show_bug.cgi?id=139663

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-06
Reviewed by Timothy Hatcher.

Calling removeChild would trigger the blur event handler and do a
nested call of dismiss(), re-entering and removing while in the middle
of removing. Avoid re-entrancy to avoid the exception.

  • UserInterface/Views/GoToLineDialog.js:

(WebInspector.GoToLineDialog):
(WebInspector.GoToLineDialog.prototype.dismiss):

6:36 PM Changeset in webkit [178017] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move the 'alt' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140129

Reviewed by Darin Adler.

Move the 'alt' CSS property to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueAlt):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/style/RenderStyle.h:
6:23 PM Changeset in webkit [178016] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move '-webkit-text-size-adjust' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140157

Reviewed by Darin Adler.

Move '-webkit-text-size-adjust' CSS property to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderCustom.h:

(WebCore::applyValueWebkitTextSizeAdjust):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

6:22 PM Changeset in webkit [178015] by Bem Jones-Bey
  • 3 edits
    2 adds in trunk

[CSS Masking][CSS Shapes] Large corner radii use with inset() clip-path are not properly constrained
https://bugs.webkit.org/show_bug.cgi?id=140127

Reviewed by Darin Adler.

Source/WebCore:

Constrain large corner radii for inset() clip-path in the same way
that border-radii are constrained.

Test: fast/masking/clip-path-inset-large-radii.html

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShapeInset::path): Add radii constraint. Also reformat

code a little to shut the style bot up.

LayoutTests:

  • fast/masking/clip-path-inset-large-radii-expected.html: Added.
  • fast/masking/clip-path-inset-large-radii.html: Added.
6:08 PM Changeset in webkit [178014] by Chris Dumez
  • 5 edits
    2 adds in trunk

Only throttle DOM timers if they change CSS properties that cannot cause non-descendant elements to become visible
https://bugs.webkit.org/show_bug.cgi?id=140142

Reviewed by Darin Adler.

Source/WebCore:

Only throttle DOM timers if they change CSS properties that cannot cause
non-descendant elements to become visible. For example, a DOM timer may
change the height of an element that is outside the viewport. However,
changing its height may causes elements inside the viewport to move. As
such, we should NOT throttle such DOM timer.

With this patch, we only mark a repeating timer as candidate for
throttling if it is updating one of the following CSS properties:
left, right, top, bottom, webkit-transform, opacity.

Test: fast/dom/timer-height-change-no-throttling.html

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::propertyChangeMayRepaintNonDescendants):
(WebCore::JSCSSStyleDeclaration::putDelegate):

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::scriptDidCauseElementRepaint):

  • page/DOMTimer.h:

LayoutTests:

Add a layout test to make sure that a DOM timer changing the 'height'
property of an element outside the viewport does not get throttled.

  • fast/dom/timer-height-change-no-throttling-expected.txt: Added.
  • fast/dom/timer-height-change-no-throttling.html: Added.
6:06 PM Changeset in webkit [178013] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Add utility method on FrameView that resumes animated images and unthrottles DOM timers
https://bugs.webkit.org/show_bug.cgi?id=140151

Reviewed by Darin Adler.

Add utility method on FrameView that resumes animated images and
unthrottles DOM timers.

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):

  • page/FrameView.cpp:

(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::viewportContentsChanged):
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::performPostLayoutTasks):

  • page/FrameView.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

5:59 PM Changeset in webkit [178012] by Chris Dumez
  • 10 edits
    1 copy
    1 move
    3 adds
    1 delete in trunk

Do not attempt to revalidate cached main resource on back/forward navigation
https://bugs.webkit.org/show_bug.cgi?id=139263

Reviewed by Darin Adler.

Source/WebCore:

Do not attempt to revalidate cached main resource on back/forward
navigation, as allowed by RFC2616 & newer RFC7234 which distinguish
history mechanisms and caches, stating:

The freshness model (Section 4.2) does not necessarily apply to
history mechanisms. That is, a history mechanism can display a
previous representation even if it has expired.

Previously, we would bypass revalidation on back/forward navigation
only for sub-resources. This patch extends this policy to the main
resource as well.

This behavior is also consistent with IE10+ and Chrome. It makes it more
likely we return cached content to the user on back/forward navigation
and avoids making network requests in this case.

Test: http/tests/cache/history-navigation-no-resource-revalidation.html

  • loader/cache/CacheValidation.cpp:

(WebCore::redirectChainAllowsReuse):

  • loader/cache/CacheValidation.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::redirectChainAllowsReuse):
Add a "ReuseExpiredRedirectionOrNot" flag argument because in the case
of an HistoryBuffer navigation, we don't mind reuse an expired
redirection. However, we still need to make sure that the redirection
is actually cached before reusing it.

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::determineRevalidationPolicy):

  • Do the redirectChainAllowsReuse() check *before* checking if the cache policy is CachePolicyHistoryBuffer. This is needed because redirectChainAllowsReuse() will return false if the redirection is not cached. Loading from the cache in this case will cause us to load the wrong resource (the one before the redirection). This case is covered by http/tests/navigation/redirect-on-reload-updates-history-item.html.
  • Do not use the cached main resource if it has "cache-control: no-store", even if it is a history navigation (cachePolicy is CachePolicyHistoryBuffer). This maintains the previous behavior, and some layout tests rely on this. We now have to be explicit about it because cachePolicy() can now return CachePolicyHistoryBuffer for the main resource (not just sub-resources). This difference in behavior on history navigation for the main resource and sub-resources is not great. However, I chose to maintain this pre-existing behavior in this patch to do one behavior change at a time. We can harmonize this later.

Previously, the order was not an issue because the main resource was
always revalidated on back/forward navigation.

(WebCore::CachedResourceLoader::cachePolicy):
Return CachePolicyHistoryBuffer for the main resource in case of
history navigation, instead of CachePolicyVerify so that we don't
attempt to revalidate.

LayoutTests:

Add layout test to make sure we don't attempt to revalidate a cached
main resource on back/forward navigation.

  • http/tests/cache/history-navigation-no-resource-revalidation-expected.txt: Added.
  • http/tests/cache/history-navigation-no-resource-revalidation.html: Added.
  • http/tests/cache/resources/history-back.html: Renamed from LayoutTests/http/tests/cache/resources/no-store-resource-forward.html.
  • http/tests/cache/resources/max-age-resource-forward.html: Removed.
  • http/tests/cache/resources/max-age-resource.html:
  • http/tests/cache/resources/no-cache-main-resource-next.php: Added.
  • http/tests/cache/resources/no-cache-main-resource.php: Copied from LayoutTests/http/tests/cache/resources/no-store-resource.html.
5:57 PM Changeset in webkit [178011] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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

mysteriously broke 2 tests (Requested by kling on #webkit).

Reverted changeset:

"Pack WebCore::RuleData better."
https://bugs.webkit.org/show_bug.cgi?id=140109
http://trac.webkit.org/changeset/177988

5:54 PM Changeset in webkit [178010] by Chris Dumez
  • 5 edits in trunk

Setting '-webkit-filter' to 'brightness(calc(10% * 2))' does not work
https://bugs.webkit.org/show_bug.cgi?id=140149

Reviewed by Darin Adler.

Source/WebCore:

Setting '-webkit-filter' to 'brightness(calc(10% * 2))' was not working
because the CSS parser did not handle calculated values inside
brightness(). This patch addresses the issue.

Test: fast/css/webkit-filter-calc.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBuiltinFilterArguments):

LayoutTests:

Update the -webkit-filter calculated value test to cover brightness()
function as well.

  • fast/css/webkit-filter-calc-expected.txt:
  • fast/css/webkit-filter-calc.html:
5:22 PM Changeset in webkit [178009] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Assertion in RenderGeometryMap::mapToContainer with LayoutUnit overflow.
https://bugs.webkit.org/show_bug.cgi?id=108619
rdar://problem/19391214

Use only FloatQuad in RenderGeometryMap::mapToContainer.

Due to the difference in the internal representation of FloatRect and FloatQuad,
with certain float values, converting FloatRect to FloatQuad and back
to FloatRect could produce a slightly different rect.

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/block/geometry-map-assertion-with-tall-content.html

  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::mapToContainer):

LayoutTests:

  • fast/block/geometry-map-assertion-with-tall-content-expected.txt: Added.
  • fast/block/geometry-map-assertion-with-tall-content.html: Added.
5:03 PM Changeset in webkit [178008] by mark.lam@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Add the lexicalEnvironment as an operand to op_create_arguments.
<https://webkit.org/b/140148>

Reviewed by Geoffrey Garen.

This patch only adds the operand to the bytecode. It is not in use yet.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::createArgumentsIfNecessary):

  • Adds the lexicalEnvironment register (if present) as an operand to op_create_arguments. Else, adds a constant empty JSValue.
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
4:45 PM Changeset in webkit [178007] by andersca@apple.com
  • 2 edits in trunk/Tools

Try to fix the Mountain Lion build.

  • TestWebKitAPI/Tests/WebKit2/FindMatches.mm:

(TestWebKitAPI::didGetImageForMatchResult):

4:34 PM Changeset in webkit [178006] by weinig@apple.com
  • 3 edits
    3 adds in trunk

Allow MathML in dashboard compatibility mode
https://bugs.webkit.org/show_bug.cgi?id=140153

Reviewed by Alexey Proskuryakov.

Source/WebCore:

In what seems like an accident due to the way we used to disable SVG in
dashboard, MathML has been disable in dashboard compatibility mode. There
does not seem to be any reason to keep this accidental quirk.

Test: mathml/mathml-in-dashboard.html

  • dom/make_names.pl:

(printFactoryCppFile):

LayoutTests:

  • mathml/mathml-in-dashboard-expected.txt: Added.
  • mathml/mathml-in-dashboard.html: Added.
  • platform/mac/mathml/mathml-in-dashboard-expected.png: Added.
4:26 PM Changeset in webkit [178005] by ap@apple.com
  • 2 edits in trunk/Tools

Debug ASan builds frequently crash in Register::jsValue under DFG::prepareOSREntry
https://bugs.webkit.org/show_bug.cgi?id=140095

Reviewed by Anders Carlsson.

  • asan/webkit-asan-ignore.txt: Blacklist a function that gets inlined in release

builds, but not in debug ones.

4:20 PM Changeset in webkit [178004] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Fix this test to wait for the load event before dumping. Expected image
changes.

  • compositing/images/content-image-change.html:
  • platform/mac/compositing/images/content-image-change-expected.png:
4:18 PM Changeset in webkit [178003] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

View state change callbacks are sometimes dropped on the floor
https://bugs.webkit.org/show_bug.cgi?id=140156
<rdar://problem/19255417>

Reviewed by Anders Carlsson.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::dispatchViewStateChange):
Always send SetViewState to the Web process if we have any
registered view state change callbacks. Otherwise, if nothing changed,
we can end up never calling the callback.

4:08 PM Changeset in webkit [178002] by Simon Fraser
  • 9 edits in trunk

Some composting reflections tests are broken
https://bugs.webkit.org/show_bug.cgi?id=139889

Reviewed by Tim Horton.

Source/WebCore:

When creating layer clones for reflections, we'd clobber the layer background
color via resetting the custom appearance on the clone. Fix by having
PlatformCALayerMac::updateCustomAppearance() only do work when the appearance changes.

Some other drive-by nullptr changes, and include layer IDs in debug layer names.

Covered by existing pixel tests.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setName):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::updateCustomAppearance):
(PlatformCALayerMac::tiledBacking):

LayoutTests:

New image baselines.

  • platform/mac/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/mac/compositing/reflections/compositing-change-inside-reflection-expected.png:
  • platform/mac/compositing/reflections/masked-reflection-on-composited-expected.png:
  • platform/mac/compositing/reflections/reflection-opacity-expected.png:
  • platform/mac/compositing/reflections/transform-inside-reflection-expected.png:
3:40 PM Changeset in webkit [178001] by Brent Fulgham
  • 7 edits in trunk/Tools

[Win] Extend WinLauncher with support for Page Zoom
https://bugs.webkit.org/show_bug.cgi?id=140152

Reviewed by Anders Carlsson.

  • WinLauncher/Common.cpp:

(WndProc):

  • WinLauncher/WinLauncher.cpp:

(WinLauncher::resetZoom):
(WinLauncher::zoomIn):
(WinLauncher::zoomOut):

  • WinLauncher/WinLauncher.h:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h:
  • win/DLLLauncher/DLLLauncherMain.cpp:

(wWinMain):

3:16 PM Changeset in webkit [178000] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.16

Tagging.

3:03 PM Changeset in webkit [177999] by Simon Fraser
  • 37 edits
    18 deletes in trunk/LayoutTests

Replace some pixel results that were generated on Linux with no alpha with images
having alpha, generated on Mac, since the canonical expected image format should have alpha.

  • compositing/absolute-position-changed-in-composited-layer-expected.png:
  • compositing/absolute-position-changed-with-composited-parent-layer-expected.png:
  • compositing/backface-visibility/backface-visibility-image-expected.png:
  • compositing/backface-visibility/backface-visibility-simple-expected.png:
  • compositing/backface-visibility/backface-visibility-webgl-expected.png:
  • compositing/checkerboard-expected.png:
  • compositing/clip-change-expected.png: Removed.
  • compositing/culling/clear-fixed-iframe-expected.png:
  • compositing/culling/filter-occlusion-alpha-expected.png:
  • compositing/culling/filter-occlusion-alpha-large-expected.png:
  • compositing/culling/scrolled-within-boxshadow-expected.png:
  • compositing/culling/tile-occlusion-boundaries-expected.png:
  • compositing/culling/translated-boxshadow-expected.png:
  • compositing/culling/unscrolled-within-boxshadow-expected.png:
  • compositing/fixed-position-changed-in-composited-layer-expected.png:
  • compositing/fixed-position-changed-within-composited-parent-layer-expected.png:
  • compositing/geometry/foreground-offset-change-expected.png: Removed.
  • compositing/iframes/fixed-position-iframe-expected.png: Removed.
  • compositing/iframes/invisible-iframe-expected.png:
  • compositing/iframes/invisible-nested-iframe-expected.png:
  • compositing/iframes/nested-composited-iframe-expected.png:
  • compositing/iframes/scroll-grandchild-iframe-expected.png: Removed.
  • compositing/layer-creation/overlap-child-layer-expected.png:
  • compositing/layer-creation/overlap-transformed-layer-expected.png:
  • compositing/overflow/image-load-overflow-scrollbars-expected.png:
  • compositing/overflow/scrollbars-with-clipped-owner-expected.png:
  • compositing/overflow/transform-in-empty-container-expected.png:
  • compositing/preserve-3d-toggle-expected.png:
  • compositing/repaint/page-scale-repaint-expected.png: Removed.
  • compositing/repaint/shrink-layer-expected.png: Removed.
  • compositing/repaint/transform-style-change-expected.png: Removed.
  • compositing/rtl/rtl-absolute-expected.png:
  • compositing/rtl/rtl-absolute-overflow-expected.png:
  • compositing/rtl/rtl-absolute-overflow-scrolled-expected.png: Removed.
  • compositing/rtl/rtl-fixed-expected.png:
  • compositing/rtl/rtl-fixed-overflow-expected.png:
  • compositing/rtl/rtl-fixed-overflow-scrolled-expected.png: Removed.
  • compositing/rtl/rtl-iframe-absolute-expected.png:
  • compositing/rtl/rtl-iframe-absolute-overflow-expected.png:
  • compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.png: Removed.
  • compositing/rtl/rtl-iframe-fixed-expected.png: Removed.
  • compositing/rtl/rtl-iframe-fixed-overflow-expected.png: Removed.
  • compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.png: Removed.
  • compositing/rtl/rtl-iframe-relative-expected.png: Removed.
  • compositing/rtl/rtl-overflow-invalidation-expected.png: Removed.
  • compositing/rtl/rtl-overflow-scrolling-expected.png: Removed.
  • compositing/rtl/rtl-relative-expected.png: Removed.
  • compositing/scrollbar-painting-expected.png:
  • compositing/tiling/huge-layer-img-expected.png:
  • compositing/video-page-visibility-expected.png: Removed.
  • compositing/video/video-reflection-expected.png:
  • compositing/visibility/visibility-composited-animation-expected.png:
  • compositing/webgl/webgl-repaint-expected.png:
  • platform/mac/compositing/video/video-controls-layer-creation-expected.png:
3:03 PM Changeset in webkit [177998] by Simon Fraser
  • 72 edits
    12 adds in trunk/LayoutTests

Update pixel results for some compositing tests.

  • compositing/images/direct-pdf-image-expected.png:
  • compositing/layer-creation/fixed-position-and-transform-expected.png:
  • compositing/layer-creation/fixed-position-under-transform-expected.png:
  • compositing/overflow/clip-content-under-overflow-controls-expected.png:
  • platform/mac/compositing/animation/state-at-end-event-transform-layer-expected.png:
  • platform/mac/compositing/color-matching/image-color-matching-expected.png:
  • platform/mac/compositing/color-matching/pdf-image-match-expected.png:
  • platform/mac/compositing/compositing-visible-descendant-expected.png:
  • platform/mac/compositing/culling/filter-occlusion-blur-expected.png: Added.
  • platform/mac/compositing/culling/filter-occlusion-blur-large-expected.png: Added.
  • platform/mac/compositing/direct-image-compositing-expected.png:
  • platform/mac/compositing/fixed-position-scroll-offset-history-restore-expected.png: Added.
  • platform/mac/compositing/generated-content-expected.png:
  • platform/mac/compositing/geometry/abs-position-inside-opacity-expected.png:
  • platform/mac/compositing/geometry/clipping-foreground-expected.png:
  • platform/mac/compositing/geometry/composited-html-size-expected.png:
  • platform/mac/compositing/geometry/fixed-in-composited-expected.png:
  • platform/mac/compositing/geometry/fixed-position-expected.png:
  • platform/mac/compositing/geometry/foreground-layer-expected.png:
  • platform/mac/compositing/geometry/layer-due-to-layer-children-deep-expected.png:
  • platform/mac/compositing/geometry/layer-due-to-layer-children-expected.png:
  • platform/mac/compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.png: Added.
  • platform/mac/compositing/geometry/outline-change-expected.png:
  • platform/mac/compositing/geometry/partial-layout-update-expected.png:
  • platform/mac/compositing/geometry/root-layer-update-expected.png:
  • platform/mac/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.png:
  • platform/mac/compositing/geometry/video-fixed-scrolling-expected.png:
  • platform/mac/compositing/geometry/video-opacity-overlay-expected.png:
  • platform/mac/compositing/iframes/composited-iframe-alignment-expected.png:
  • platform/mac/compositing/iframes/iframe-copy-on-scroll-expected.png:
  • platform/mac/compositing/images/direct-image-background-color-expected.png:
  • platform/mac/compositing/layers-inside-overflow-scroll-expected.png:
  • platform/mac/compositing/masks/direct-image-mask-expected.png:
  • platform/mac/compositing/masks/masked-ancestor-expected.png:
  • platform/mac/compositing/masks/multiple-masks-expected.png:
  • platform/mac/compositing/masks/simple-composited-mask-expected.png:
  • platform/mac/compositing/overflow/ancestor-overflow-expected.png:
  • platform/mac/compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.png: Added.
  • platform/mac/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png: Added.
  • platform/mac/compositing/overflow/fixed-position-ancestor-clip-expected.png:
  • platform/mac/compositing/overflow/nested-scrolling-expected.png: Added.
  • platform/mac/compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor-expected.png: Added.
  • platform/mac/compositing/overflow/overflow-compositing-descendant-expected.png:
  • platform/mac/compositing/overflow/overflow-positioning-expected.png:
  • platform/mac/compositing/overflow/overflow-scroll-expected.png:
  • platform/mac/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.png: Added.
  • platform/mac/compositing/overflow/parent-overflow-expected.png:
  • platform/mac/compositing/overflow/remove-overflow-crash2-expected.png: Added.
  • platform/mac/compositing/overflow/scroll-ancestor-update-expected.png:
  • platform/mac/compositing/overflow/scrollbar-painting-expected.png:
  • platform/mac/compositing/plugins/composited-plugin-expected.png:
  • platform/mac/compositing/reflections/deeply-nested-reflections-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-anchor-point-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-animated-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-mask-change-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-opacity-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-size-change-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-transformed-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-transformed2-expected.png:
  • platform/mac/compositing/reflections/nested-reflection-transition-expected.png:
  • platform/mac/compositing/reflections/reflection-in-composited-expected.png:
  • platform/mac/compositing/reflections/reflection-on-composited-expected.png:
  • platform/mac/compositing/reflections/reflection-ordering-expected.png:
  • platform/mac/compositing/reflections/reflection-positioning-expected.png:
  • platform/mac/compositing/reflections/reflection-positioning2-expected.png:
  • platform/mac/compositing/reflections/simple-composited-reflections-expected.png:
  • platform/mac/compositing/repaint/become-overlay-composited-layer-expected.png:
  • platform/mac/compositing/repaint/composited-document-element-expected.png:
  • platform/mac/compositing/repaint/layer-repaint-expected.png:
  • platform/mac/compositing/repaint/layer-repaint-rects-expected.png:
  • platform/mac/compositing/repaint/opacity-between-absolute-expected.png:
  • platform/mac/compositing/repaint/opacity-between-absolute2-expected.png:
  • platform/mac/compositing/repaint/repaint-on-layer-grouping-change-expected.png: Added.
  • platform/mac/compositing/self-painting-layers-expected.png:
  • platform/mac/compositing/shadows/shadow-drawing-expected.png:
  • platform/mac/compositing/sibling-positioning-expected.png:
  • platform/mac/compositing/text-on-large-layer-expected.png:
  • platform/mac/compositing/transitions/scale-transition-no-start-expected.png:
  • platform/mac/compositing/transitions/singular-scale-transition-expected.png:
  • platform/mac/compositing/webgl/webgl-background-color-expected.png:
  • platform/mac/compositing/webgl/webgl-no-alpha-expected.png:
2:47 PM Changeset in webkit [177997] by andersca@apple.com
  • 4 edits in trunk/Tools

Fix API tests that are broken under HiDPI
https://bugs.webkit.org/show_bug.cgi?id=140146

Reviewed by Tim Horton.

  • TestWebKitAPI/Tests/WebKit2/FindMatches.mm:

(TestWebKitAPI::didGetImageForMatchResult):
NSImages are measured in points, so grab the underlying bitmap image and get its size in pixels.

  • TestWebKitAPI/Tests/mac/DeviceScaleFactorOnBack.mm:

(TestWebKitAPI::DeviceScaleFactorOnBack::runTest):
Don't assume that a web view not in a window has a backing scale factor of 1. Instead, always have web views start
out in a window that has a backing scale factor of 1.

  • TestWebKitAPI/Tests/mac/DynamicDeviceScaleFactor.mm:

(TestWebKitAPI::DynamicDeviceScaleFactor::runTest):
Ditto.

2:32 PM Changeset in webkit [177996] by weinig@apple.com
  • 144 edits in trunk/Source/WebCore

Modernize the HTMLElement factory
https://bugs.webkit.org/show_bug.cgi?id=140063

Reviewed by Darin Adler.

Make the HTMLElement (and derived classes) create functions
and HTMLElementFactory return Refs rather than RefPtr/PassRefPtr.

  • Files elided *
2:24 PM Changeset in webkit [177995] by ap@apple.com
  • 12 edits in trunk

ADDRESS_SANITIZER macro is overloaded
https://bugs.webkit.org/show_bug.cgi?id=140130

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • interpreter/JSStack.cpp: (JSC::JSStack::sanitizeStack): Use the new macro.

This code is nearly unused (only compiled in when JIT is disabled at build time),
however I've been told that it's best to keep it.

Source/WebCore:

  • platform/RefCountedSupplement.h:
  • platform/Supplementable.h:

Change the conditional to ENABLE(SECURITY_ASSERTIONS). These checks will be used
in debug builds, and also when one explicitly passes -DENABLE_SECURITY_ASSERTIONS.

Source/WTF:

  • wtf/Compiler.h: Added an ASAN_ENABLED macro. The abbreviation should become well

known - we already use it in tools.

  • wtf/Assertions.h:
  • wtf/RefCounted.h:
  • wtf/SizeLimits.cpp:

Change the conditional to ENABLE(SECURITY_ASSERTIONS). These checks will be used
in debug builds, and also when one explicitly passes -DENABLE_SECURITY_ASSERTIONS.

Tools:

  • WebKitTestRunner/TestController.cpp: Use the new macro.
1:58 PM Changeset in webkit [177994] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix Use details for op_create_arguments.
<https://webkit.org/b/140110>

Rubber stamped by Filip Pizlo.

The previous patch was wrong about op_create_arguments not using its 1st operand.
It does read from it (hence, used) to check if the Arguments object has already
been created or not. This patch reverts the change for op_create_arguments.

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

1:45 PM Changeset in webkit [177993] by Brian Burg
  • 22 edits in trunk/Source/WebCore

Web Inspector: pass parameters to inspector agents by reference where possible
https://bugs.webkit.org/show_bug.cgi?id=140002

Reviewed by Andreas Kling.

Pass parameters by-reference from inspector instrumentation entry
points to inspector agents. If the event doesn't make sense with null
arguments, perform null checks before calling agent methods.

No new tests, no behavior changed.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::didCreateNamedFlow):
(WebCore::InspectorCSSAgent::willRemoveNamedFlow):
(WebCore::InspectorCSSAgent::didChangeRegionOverset):
(WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::forcePseudoState):

  • inspector/InspectorCSSAgent.h: Reorder methods to match instrumentation.
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::handleTouchEvent):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::willModifyDOMAttr):
(WebCore::InspectorDOMAgent::didModifyDOMAttr):
(WebCore::InspectorDOMAgent::didRemoveDOMAttr):
(WebCore::InspectorDOMAgent::characterDataModified):
(WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMAgent::didPushShadowRoot):
(WebCore::InspectorDOMAgent::willPopShadowRoot):

  • inspector/InspectorDOMAgent.h: Reorder methods to match instrumentation.
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):

  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
(WebCore::InspectorInstrumentation::didPushShadowRootImpl):
(WebCore::InspectorInstrumentation::willPopShadowRootImpl):
(WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): Add null check.
(WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): Add null check.
(WebCore::InspectorInstrumentation::didChangeRegionOversetImpl):
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::handleTouchEventImpl):
(WebCore::InspectorInstrumentation::forcePseudoStateImpl):
(WebCore::InspectorInstrumentation::characterDataModifiedImpl):
(WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::didInvalidateLayoutImpl):
(WebCore::InspectorInstrumentation::willLayoutImpl):
(WebCore::InspectorInstrumentation::willPaintImpl):
(WebCore::InspectorInstrumentation::willScrollLayerImpl):
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
(WebCore::InspectorInstrumentation::applyEmulatedMediaImpl):
(WebCore::InspectorInstrumentation::willSendRequestImpl): Add null check.
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): Add null checks.
(WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl): Add null check.
(WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl): Add null check.
(WebCore::InspectorInstrumentation::didFinishLoadingImpl): Add null check.
(WebCore::InspectorInstrumentation::didFailLoadingImpl): Add null check.
(WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
(WebCore::InspectorInstrumentation::loadEventFiredImpl): Add null check.
(WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl): Add null checks.
(WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
(WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
(WebCore::InspectorInstrumentation::startConsoleTimingImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::didCreateWebSocketImpl): Add null check.
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): Add null check.
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): Add null check.
(WebCore::InspectorInstrumentation::didCloseWebSocketImpl): Add null check.
(WebCore::InspectorInstrumentation::renderLayerDestroyedImpl):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
(WebCore::InspectorInstrumentation::scriptsEnabledImpl): Deleted.
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted.
(WebCore::InspectorInstrumentation::frameStartedLoadingImpl): Deleted.
(WebCore::InspectorInstrumentation::willWriteHTMLImpl): Deleted.
(WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::renderLayerDestroyed):
(WebCore::InspectorLayerTreeAgent::pseudoElementDestroyed):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::frameDetached):
(WebCore::InspectorPageAgent::loaderDetachedFromFrame):
(WebCore::InspectorPageAgent::applyEmulatedMedia):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::frameDetached):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::willDestroyCachedResource):
(WebCore::InspectorResourceAgent::didScheduleStyleRecalculation):
(WebCore::InspectorResourceAgent::mainFrameNavigated):

  • inspector/InspectorResourceAgent.h: Reorder methods to match instrumentation.
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didInvalidateLayout):
(WebCore::InspectorTimelineAgent::willLayout):
(WebCore::InspectorTimelineAgent::willPaint):
(WebCore::InspectorTimelineAgent::willScroll):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
(WebCore::InspectorTimelineAgent::didTimeStamp):
(WebCore::InspectorTimelineAgent::time):
(WebCore::InspectorTimelineAgent::timeEnd):
(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
(WebCore::InspectorTimelineAgent::didMarkLoadEvent):

  • inspector/InspectorTimelineAgent.h: Reorder methods to match instrumentation.
  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::didCreateMainWorldContext):
(WebCore::PageRuntimeAgent::didCreateIsolatedContext): Deleted. It has no callers.

  • inspector/PageRuntimeAgent.h:
  • replay/ReplayController.cpp:

(WebCore::ReplayController::frameDetached):

  • replay/ReplayController.h:
1:38 PM Changeset in webkit [177992] by bshafiei@apple.com
  • 28 edits
    35 deletes in tags/Safari-601.1.12.1.41

Merged r177169. rdar://problem/19224979

1:37 PM Changeset in webkit [177991] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Remove an old workaround for an old unsupported plug-in
https://bugs.webkit.org/show_bug.cgi?id=140141

Reviewed by Brent Fulgham.

The old, pre-Vista(!) plug-in is no longer available so we don't need to have this workaround in place.
(If for some bizarre reason we'd ever want to bring it back it should be a flag that the plug-in code sets on the timer,
the shared timer code shouldn't know about plug-ins at all).

  • platform/win/SharedTimerWin.cpp:

(WebCore::TimerWindowWndProc):

1:36 PM Changeset in webkit [177990] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.12.1.41/Source

Versioning.

1:34 PM Changeset in webkit [177989] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.12.1.41

New tag.

1:20 PM Changeset in webkit [177988] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Pack WebCore::RuleData better.
<https://webkit.org/b/140109>

Reviewed by Benjamin Poulain.

Shrink RuleData by 8 bytes per instance by reordering members so that
the CSS JIT compilation status fits into the bitfield.

  • css/RuleSet.h:

(WebCore::RuleData::compilationStatus):

  • cssjit/SelectorCompiler.h:

(WebCore::SelectorCompilationStatus::SelectorCompilationStatus):

12:56 PM Changeset in webkit [177987] by bshafiei@apple.com
  • 28 edits
    35 deletes in tags/Safari-601.1.12.1.2

Merged r177169. rdar://problem/19224979

12:43 PM Changeset in webkit [177986] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit/mac

Reimplement NPN_PluginThreadAsyncCall without using PluginMainThreadScheduler
https://bugs.webkit.org/show_bug.cgi?id=140140

Reviewed by Andreas Kling.

Just use a dispatch_async call to the main queue. This will let us move PluginMainThreadScheduler
out of WebCore since nobody else is using it.

  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView _createPlugin]):
(-[WebNetscapePluginView _destroyPlugin]):

  • Plugins/npapi.mm:

(NPN_PluginThreadAsyncCall):

12:09 PM Changeset in webkit [177985] by andersca@apple.com
  • 12 edits
    2 adds in trunk/Source

Add a WebKit1 database provider
https://bugs.webkit.org/show_bug.cgi?id=140126

Reviewed by Sam Weinig.

Source/WebCore:

Use a Ref instead of a RefPtr since the database provider can never be null now.

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

(WebCore::DOMWindowIndexedDatabase::indexedDB):

  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(WebCore::Page::databaseProvider):

Source/WebKit:

Add a stubbed out database provider.

  • Storage/WebDatabaseProvider.cpp: Added.

(WebDatabaseProvider::shared):
(WebDatabaseProvider::WebDatabaseProvider):
(WebDatabaseProvider::~WebDatabaseProvider):
(WebDatabaseProvider::createIDBFactoryBackend):

  • Storage/WebDatabaseProvider.h: Added.
  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Set the database provider.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit/win:

Set the database provider.

  • WebView.cpp:

(WebView::initWithFrame):

12:06 PM Changeset in webkit [177984] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION (r177876): 35% regression in Parser/html5-full-render
https://bugs.webkit.org/show_bug.cgi?id=140123

Followup fix.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::systemFallbackFontDataForCharacter):

The code failed to pass isForPlatformFont boolean.

11:43 AM Changeset in webkit [177983] by commit-queue@webkit.org
  • 12 edits
    2 deletes in trunk/Source

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

Caused lots of crashes (Requested by smfr on #webkit).

Reverted changeset:

"Add a WebKit1 database provider"
https://bugs.webkit.org/show_bug.cgi?id=140126
http://trac.webkit.org/changeset/177963

11:42 AM Changeset in webkit [177982] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.12.1.2/Source

Versioning.

11:39 AM Changeset in webkit [177981] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix Use details for op_create_lexical_environment and op_create_arguments.
<https://webkit.org/b/140110>

Reviewed by Filip Pizlo.

The current "Use" details for op_create_lexical_environment and
op_create_arguments are wrong. op_create_argument uses nothing instead of the
1st operand (the output local). op_create_lexical_environment uses its 2nd
operand (the scope chain) instead of the 1st (the output local).
This patch fixes them to specify the proper uses.

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

11:38 AM Changeset in webkit [177980] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.12.1.2

New tag.

11:37 AM Changeset in webkit [177979] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

REGRESSION (r177876): 35% regression in Parser/html5-full-render
https://bugs.webkit.org/show_bug.cgi?id=140123

Reviewed by Darin Adler.

Resolving system fallbacks is extremely slow. GlyphPageTree used to cache them globally.

This patch brings back a simple global cache for system fallbacks.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::~SimpleFontData):
(WebCore::systemFallbackCache):
(WebCore::SimpleFontData::systemFallbackFontDataForCharacter):
(WebCore::SimpleFontData::removeFromSystemFallbackCache):

  • platform/graphics/SimpleFontData.h:
11:33 AM Changeset in webkit [177978] by Yusuke Suzuki
  • 6 edits
    3 adds in trunk

Implement ES6 String.prototype.repeat(count)
https://bugs.webkit.org/show_bug.cgi?id=140047

Reviewed by Darin Adler.

Source/JavaScriptCore:

Introducing ES6 String.prototype.repeat(count) function.

  • runtime/JSString.h:
  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::finishCreation):
(JSC::repeatSmallString):
(JSC::stringProtoFuncRepeat):

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/string-repeat.js: Added.

(stringRepeated.toString):
(count.valueOf):

  • js/string-repeat-expected.txt: Added.
  • js/string-repeat.html: Added.
11:23 AM Changeset in webkit [177977] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Rollout r177932. rdar://problem/19312111

11:21 AM Changeset in webkit [177976] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Rollout r177933. rdar://problem/19301470

11:21 AM Changeset in webkit [177975] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

Rename SimpleFontData::AdditionalFontData to SimpleFontData::SVGData
https://bugs.webkit.org/show_bug.cgi?id=140124

Reviewed by Anders Carlsson.

The current name is vague and confusing (as AdditionalFontData is not a FontData).

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::glyphDataForCharacter):

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::SimpleFontData):
(WebCore::SimpleFontData::~SimpleFontData):
(WebCore::fillGlyphPage):
(WebCore::SimpleFontData::createScaledFontData):

  • platform/graphics/SimpleFontData.h:

(WebCore::SimpleFontData::widthForGlyph):

  • rendering/svg/SVGTextLayoutEngineSpacing.cpp:

(WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::svgFontAndFontFaceElementForFontData):

  • svg/SVGFontData.h:
11:19 AM Changeset in webkit [177974] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Rollout r177934. rdar://problem/19312111

11:15 AM Changeset in webkit [177973] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Rollout r177935. rdar://problem/19283300

11:12 AM Changeset in webkit [177972] by Lucas Forschler
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Rollout r177936. rdar://problem/19311017

11:10 AM Changeset in webkit [177971] by Lucas Forschler
  • 6 edits
    3 copies in branches/safari-600.3-branch/Source/WebKit2

Rollout r177939. rdar://problem/19333074

11:09 AM Changeset in webkit [177970] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Make explicit which TextIndicator animations are driven manually, and which run automatically
https://bugs.webkit.org/show_bug.cgi?id=140113
<rdar://problem/19383425>

Reviewed by Darin Adler.

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didPerformDictionaryLookup):
Delete an inaccurate comment.

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::wantsManualAnimation):
Add wantsManualAnimation(). The old transitions (Bounce and BounceAndCrossfade)
run automatically, and the new ones (FadeIn and Crossfade) are driven manually.

  • page/TextIndicator.h:

Add a comment explaining which animations are manual and which are not.

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView present]):

Make use of wantsManualAnimation(). The previous (wantsFadeIn
wantsCrossfade)

was wrong, because it was true for BounceAndCrossfade, and would cause
BounceAndCrossfade animations (which aren't driven manually) to stall at progress=0.

11:08 AM Changeset in webkit [177969] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Give empty pages a valid database provider.

  • loader/EmptyClients.cpp:

(WebCore::fillWithEmptyClients):

11:00 AM Changeset in webkit [177968] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Fix iOS build after r177955 and r177952.

Unreviewed.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::insertPhoneNumberLink):

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

10:46 AM Changeset in webkit [177967] by andersca@apple.com
  • 14 edits
    3 deletes in trunk/Source

Remove now unused IndexedDB code
https://bugs.webkit.org/show_bug.cgi?id=140128

Reviewed by Darin Adler.

Source/WebCore:

  • CMakeLists.txt:

Remove files.

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

Don't include PageGroupIndexedDatabase.h.

  • Modules/indexeddb/IDBFactoryBackendInterface.cpp: Removed.

Remove this file, it just had one function calling through to the database strategy.

  • Modules/indexeddb/IDBFactoryBackendInterface.h:

Remove the create function.

  • Modules/indexeddb/PageGroupIndexedDatabase.cpp: Removed.
  • Modules/indexeddb/PageGroupIndexedDatabase.h: Removed.

The backend is now per page, not per page group.

  • WebCore.exp.in:

Remove an exported symbol.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Remove files.

  • page/PageGroup.h:

PageGroup is no longer supplementable.

  • platform/DatabaseStrategy.cpp:

(WebCore::DatabaseStrategy::createIDBFactoryBackend): Deleted.

  • platform/DatabaseStrategy.h:

Remove a header.

Source/WebKit2:

Remove a function.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createIDBFactoryBackend): Deleted.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
10:43 AM Changeset in webkit [177966] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the Windows build.

  • WebCore.vcxproj/copyForwardingHeaders.cmd:
10:29 AM Changeset in webkit [177965] by Darin Adler
  • 2 edits in trunk/Source/WebKit2

Fix race in FindController code
https://bugs.webkit.org/show_bug.cgi?id=140114

Reviewed by Anders Carlsson.

No idea how to reproduce this. Just ran into the crash in my local testing.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::findString): Use a RefPtr to guarantee the FindController is
not deleted while a this pointer is stored in a function.

9:57 AM Changeset in webkit [177964] by Chris Dumez
  • 11 edits
    4 adds in trunk

Regression(r176212): Carousel on mbusa.com is choppy
https://bugs.webkit.org/show_bug.cgi?id=139543
<rdar://problem/19209406>

Reviewed by Antti Koivisto.

Source/WebCore:

A repeating DOM timer changing the style of an element that has
overflowing content that is visible would get throttled in the
case where the overflowing content has its own layer. This is
because the repaint rect returned by
RenderObject::absoluteClippedOverflowRect() does not take into
consideration descendants with their own self-painting layer when
accounting for the overflow.

Until I can find a relatively cheap way of computing the overflow
in this case, this patch takes the conservative approach and
assumes we may repaint inside the viewport if the element does not
have a layer or if any of its descendants has its own layer.

This patch also renames isInsideViewport() function to
mayCauseRepaintInsideViewport() for clarity.

Tests: fast/dom/repeating-timer-element-overflow-hidden-throttling.html

fast/dom/repeating-timer-element-overflowing-child-own-layer-throttling.html

  • dom/Element.cpp:

(WebCore::Element::mayCauseRepaintInsideViewport):
(WebCore::Element::isInsideViewport): Deleted.

  • dom/Element.h:
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::scriptDidCauseElementRepaint):
(WebCore::DOMTimer::updateThrottlingStateAfterViewportChange):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::mayCauseRepaintInsideViewport):
(WebCore::RenderElement::isInsideViewport): Deleted.

  • rendering/RenderElement.h:

LayoutTests:

Add a layout test to cover the case where a repeating DOM timer is
changing the style of an element which has overflowing content that
is visible and has its own layer. In such case, the DOM timer should
not be throttled. Also add a layout test to make sure we still throttle
if the element clips its overflow.

  • fast/dom/repeating-timer-element-overflow-hidden-throttling-expected.txt: Added.
  • fast/dom/repeating-timer-element-overflow-hidden-throttling.html: Added.
  • fast/dom/repeating-timer-element-overflowing-child-own-layer-throttling-expected.txt: Added.
  • fast/dom/repeating-timer-element-overflowing-child-own-layer-throttling.html: Added.

New tests.

  • fast/dom/timer-unthrottle-on-layout-expected.txt:
  • fast/dom/timer-unthrottle-on-layout.html:
  • fast/dom/timer-unthrottle-on-scroll-expected.txt:
  • fast/dom/timer-unthrottle-on-scroll.html:

Stop using <input> test elements as it appears one of the descendants
in its shadow tree has its own layer.

9:53 AM Changeset in webkit [177963] by andersca@apple.com
  • 12 edits
    2 adds in trunk/Source

Add a WebKit1 database provider
https://bugs.webkit.org/show_bug.cgi?id=140126

Reviewed by Sam Weinig.

Source/WebCore:

Use a Ref instead of a RefPtr since the database provider can never be null now.

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

(WebCore::DOMWindowIndexedDatabase::indexedDB):

  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(WebCore::Page::databaseProvider):

Source/WebKit:

Add a stubbed out database provider.

  • Storage/WebDatabaseProvider.cpp: Added.

(WebDatabaseProvider::shared):
(WebDatabaseProvider::WebDatabaseProvider):
(WebDatabaseProvider::~WebDatabaseProvider):
(WebDatabaseProvider::createIDBFactoryBackend):

  • Storage/WebDatabaseProvider.h: Added.
  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Set the database provider.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit/win:

Set the database provider.

  • WebView.cpp:

(WebView::initWithFrame):

9:18 AM Changeset in webkit [177962] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r177952.

Remove double class namespace in appendToAttributeValue.

  • html/parser/HTMLToken.h:

(WebCore::HTMLToken::appendToAttributeValue): Added,
(WebCore::HTMLToken::HTMLToken::appendToAttributeValue): Deleted.

9:13 AM Changeset in webkit [177961] by ap@apple.com
  • 3 edits in trunk/LayoutTests

fast/events/before-unload-adopt-subframe-to-outside.html is flaky with ASan
https://bugs.webkit.org/show_bug.cgi?id=140061

Reviewed by Darin Adler.

Hide frames before dumping results. Something was making layout timing dependent,
hopefully this will make results consistent.

  • fast/events/before-unload-adopt-subframe-to-outside-expected.txt:
  • fast/events/before-unload-adopt-subframe-to-outside.html:
8:54 AM Changeset in webkit [177960] by andersca@apple.com
  • 11 edits
    2 copies in trunk/Source

Add a DatabaseProvider subclass in WebKit2 and use it for IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=140108

Reviewed by Darin Adler.

Source/WebCore:

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

(WebCore::DOMWindowIndexedDatabase::indexedDB):
Get the IDBFactoryBackendInterface from the database provider.

  • page/DatabaseProvider.cpp:

(WebCore::DatabaseProvider::idbFactoryBackend):
Change this to return a pointer.

  • page/Page.h:

(WebCore::Page::databaseProvider):
Add a getter.

Source/WebKit2:

  • CMakeLists.txt:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Databases/WebDatabaseProvider.cpp: Added.

(WebKit::databaseProviders):
(WebKit::WebDatabaseProvider::getOrCreate):
(WebKit::WebDatabaseProvider::WebDatabaseProvider):
(WebKit::WebDatabaseProvider::~WebDatabaseProvider):
(WebKit::WebDatabaseProvider::createIDBFactoryBackend):

  • WebProcess/Databases/WebDatabaseProvider.h: Added.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

8:52 AM Changeset in webkit [177959] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Another build fix attempt.

Reorder function declarations to avoid confusing compiler. Add explicit namespace for
out copied functions to avoid attempting to link against bindings version of these files.

  • plugins/PluginPackage.cpp:

(WebCore::makeSource):
(WebCore::NPN_Evaluate):
(WebCore::NPN_Invoke):
(WebCore::PluginPackage::initializeBrowserFuncs):

8:49 AM Changeset in webkit [177958] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move '-webkit-scroll-snap-*' CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140112

Reviewed by Darin Adler.

Move '-webkit-scroll-snap-*' CSS properties to the new StyleBuilder.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::parseSnapCoordinate):
(WebCore::StyleBuilderConverter::convertScrollSnapPoints):
(WebCore::StyleBuilderConverter::convertSnapCoordinatePair):
(WebCore::StyleBuilderConverter::convertScrollSnapCoordinates):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::parseSnapCoordinate): Deleted.
(WebCore::StyleResolver::parseSnapCoordinatePair): Deleted.
(WebCore::StyleResolver::parseSnapPoints): Deleted.

  • css/StyleResolver.h:
6:49 AM Changeset in webkit [177957] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Resolve mirroring and variant in Font instead of FontGlyphs
https://bugs.webkit.org/show_bug.cgi?id=140079

Reviewed by Darin Adler.

Make FontGlyphs more focused. It doesn't need to know about resolving variants and mirroring.

  • platform/graphics/Font.cpp:

(WebCore::Font::glyphDataForCharacter):

  • platform/graphics/Font.h:

(WebCore::Font::glyphDataForCharacter): Deleted.

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::glyphDataForCharacter):

  • platform/graphics/FontGlyphs.h:
3:59 AM Changeset in webkit [177956] by gyuyoung.kim@samsung.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Fix Unused parameter warning in Webcore bindings.
https://bugs.webkit.org/show_bug.cgi?id=140118

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-06
Reviewed by Gyuyoung Kim.

remove the Unused parameter from createScriptInstanceForWidget() function

No new tests, no behavior changed.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::createScriptInstanceForWidget):

3:23 AM Changeset in webkit [177955] by Antti Koivisto
  • 38 edits in trunk/Source

Font::primaryFontData() should return a reference
https://bugs.webkit.org/show_bug.cgi?id=140081

Reviewed by Darin Adler.

It is not null.

Also rename primaryFont() -> primaryFontData().

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(AXAttributeStringSetStyle):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXAttributeStringSetStyle):

  • bindings/objc/DOM.mm:

(-[DOMElement _font]):

  • editing/cocoa/HTMLConverter.mm:

(_font):
(WebCore::editingAttributedStringFromRange):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::fontForSelection):
(WebCore::Editor::fontAttributesForSelectionStart):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::fontForSelection):
(WebCore::Editor::fontAttributesForSelectionStart):

  • platform/graphics/Font.cpp:

(WebCore::Font::fastAverageCharWidthIfAvailable):

  • platform/graphics/Font.h:

(WebCore::Font::fontMetrics):
(WebCore::Font::spaceWidth):
(WebCore::Font::tabWidth):
(WebCore::Font::primaryFontData):
(WebCore::Font::primaryFont): Deleted.

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::primaryFontHasGlyphForCharacter):

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::glyphDataForSystemFallback):
(WebCore::FontGlyphs::glyphDataForCharacter):

  • platform/graphics/FontGlyphs.h:

(WebCore::FontGlyphs::primaryFontData):
(WebCore::FontGlyphs::primarySimpleFontData):

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advanceInternal):

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::advance):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • platform/graphics/mac/ComplexTextController.h:

(WebCore::ComplexTextController::ComplexTextRun::create):
(WebCore::ComplexTextController::ComplexTextRun::fontData):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::primaryFontDataIsSystemFont):

  • platform/graphics/opentype/OpenTypeMathData.cpp:
  • platform/graphics/opentype/OpenTypeMathData.h:
  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::requiresIdeographicBaseline):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::constructTextRun):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::adjustLogicalLeftOffsetForLine):
(WebCore::RenderBlock::adjustLogicalRightOffsetForLine):
(WebCore::constructTextRunInternal):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):

  • rendering/RenderThemeIOS.mm:

(WebCore::adjustInputElementButtonStyle):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::ascentAndDescentForBox):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack):
(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):
(WebCore::RenderMathMLOperator::findStretchyData):
(WebCore::RenderMathMLOperator::trailingSpaceError):

  • rendering/mathml/RenderMathMLRadicalOperator.cpp:

(WebCore::RenderMathMLRadicalOperator::stretchTo):
(WebCore::RenderMathMLRadicalOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLRadicalOperator::computeLogicalHeight):
(WebCore::RenderMathMLRadicalOperator::paint):

  • rendering/mathml/RenderMathMLRoot.cpp:

(WebCore::RenderMathMLRoot::updateStyle):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::constructTextRun):

  • rendering/svg/SVGTextLayoutEngineSpacing.cpp:

(WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):

  • rendering/svg/SVGTextMetrics.cpp:

(WebCore::SVGTextMetrics::constructTextRun):
(WebCore::SVGTextMetrics::SVGTextMetrics):

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::missingGlyphForFont):
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

3:10 AM Changeset in webkit [177954] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix Unused parameter warning in Webcore bindings.
https://bugs.webkit.org/show_bug.cgi?id=140046

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-06
Reviewed by Gyuyoung Kim.

remove the Unused parameter from createScriptInstanceForWidget() function

No new tests, no behavior changed.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::createScriptInstanceForWidget):

2:25 AM Changeset in webkit [177953] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Move '-webkit-filter' / '-webkit-backdrop-filter' to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140111

Reviewed by Darin Adler.

Move '-webkit-filter' / '-webkit-backdrop-filter' to the new
StyleBuilder.

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::createFilterOperations):

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertFilterOperations):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::createFilterOperations):

  • css/StyleResolver.h:
12:06 AM Changeset in webkit [177952] by Darin Adler
  • 18 edits in trunk

Modernize and streamline HTMLToken and AtomicHTMLToken
https://bugs.webkit.org/show_bug.cgi?id=140046

Reviewed by Andreas Kling.

Source/WebCore:

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendDocumentType): Added code to properly
handle empty strings for systemId and publicId, rather than treating them
the same as missing systemId and publicId.

  • html/parser/AtomicHTMLToken.h: Removed unneeded includes.

Moved function bodies out of the class so it's easier to see the contents of
the class. Renamed the isAll8BitData function to charactersIsAll8BitData
to make it clear that it is correct only for AtomicHTMLToken::characters.
Made more things private. Moved the findAttributeInVector function here
and renamed it to just findAttribute. Use unsigned instead of int and
size_t as appropriate. Changed the constructor that makes a fake one of
these to move the Vector of attributes in rather than copying it.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::insertDoctype): Moved the code to create
a string from here into AtomicHTMLToken.
(WebCore::HTMLConstructionSite::createElementFromSavedToken): Updated
to construct the Vector explicitly because all other call sites pass
ownership of the Vector in to the AtomicHTMLToken.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::pumpTokenizer): Check for an uninitialized
token without using a special function just for this purpose.
(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Ditto.

  • html/parser/HTMLParserIdioms.h: Removed the version of

stripLeadingAndTrailingHTMLSpaces that takes a character vector. Instead
the caller can make a string. Later we might want this to work with
a StringView, or a StringView/String combination.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::scan): Updated to not use HTMLToken::data.
(WebCore::TokenPreloadScanner::updatePredictedBaseURL): Updated to not use
HTMLToken::getAttributeItem and to not require a special overload of the
stripLeadingAndTrailingHTMLSpaces function.

  • html/parser/HTMLSourceTracker.cpp:

(WebCore::HTMLSourceTracker::end): Updated to call the token-ending
function by its new name, setEndOffset.
(WebCore::HTMLSourceTracker::sourceForToken): Updated since we no
longer have a startIndex function that already returns 0. Instead just
call length. Also use unsigned instead of size_t.

  • html/parser/HTMLStackItem.h:

(WebCore::HTMLStackItem::getAttributeItem): Updated for name change.

  • html/parser/HTMLToken.h: Removed the many unneeded includes,

including the self-include! Turned DoctypeData into a normal struct
without m_ prefixes on its member names. Turned HTMLToken::Attribute and
HTMLToken::Attribute::Range into normal structs. Moved function
bodies out of the class so it's easier to see the contents of
the class. Removed a few now-unneeded functions.

  • html/parser/HTMLTokenizer.cpp: Removed the AtomicHTMLToken function

members that used to be here. None are needed any more; they are now all
just inlined at the call site. If we need any non-inline functions, then
we sould probably create an AtomicHTMLToken.cpp file instead.
(WebCore::HTMLTokenizer::processEntity): Use the new bufferASCIICharacter
function in all the cases where we know a character is ASCII to cut down
on the amount of 8-bit checking we have to do.
(WebCore::HTMLTokenizer::nextToken): Ditto.

  • html/parser/HTMLTokenizer.h: Added a new bufferASCIICharacter function

so we don't have to do 8-bit checks on so many characters as we buffer
them. Also removed the call to ensureIsCharacterToken, since appendToCharacter
now does that. Also deleted overloads of bufferCharacter so we remember to
call bufferASCIICharacter instead.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
Updated for change in AtomicHTMLToken function names.
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
(WebCore::hasAttribute): Added.
(WebCore::HTMLTreeBuilder::processTokenInForeignContent): Use hasAtttribute.

  • html/parser/TextDocumentParser.cpp:

(WebCore::TextDocumentParser::insertFakePreElement): Move the attributes in
rather than copying them in.

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::filterCharacterToken): Use clear so we don't have to
have an eraseCharacters function. Use a local variable to avoid overloading
ambiguity.
(WebCore::XSSAuditor::decodedSnippetForAttribute): Fixed a typo and the types
of some local variables.

LayoutTests:

  • resources/dump-as-markup.js:

(Markup._get): Add code to handle null systemId and publicId,
dumping them as empty strings for now.

Jan 5, 2015:

11:46 PM Changeset in webkit [177951] by Darin Adler
  • 4 edits in trunk

WebCore:

Revert mistake in yesterday's HTMLDocumentParser refactor.
https://bugs.webkit.org/show_bug.cgi?id=140041

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser): Pass the parser content policy
from the parserContentPolicy function, not the raw policy that was passed in. This
restores the behavior from before r177883.

LayoutTests:

editing/pasteboard/drag-and-drop-objectimage-contenteditable.html,
now that it's fixed.

9:51 PM Changeset in webkit [177950] by Chris Dumez
  • 3 edits
    2 adds in trunk

Using calc() for -webkit-filter does not work
https://bugs.webkit.org/show_bug.cgi?id=140106

Reviewed by Darin Adler.

Source/WebCore:

Using calc() for -webkit-filter did not work because the CSS parser did
not handle it properly. This patch addresses the issue.

Test: fast/css/webkit-filter-calc.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBuiltinFilterArguments):

LayoutTests:

Add a layout test to make sure using calc() for -webkit-filter CSS
property is working as intended.

  • fast/css/webkit-filter-calc-expected.txt: Added.
  • fast/css/webkit-filter-calc.html: Added.
8:50 PM Changeset in webkit [177949] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove some stale class names in check-for-inappropriate-objc-class-names
https://bugs.webkit.org/show_bug.cgi?id=140104

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-05
Reviewed by Darin Adler.

  • Scripts/check-for-inappropriate-objc-class-names:

These UIWK* classes no longer exist.

8:50 PM Changeset in webkit [177948] by Chris Dumez
  • 6 edits in trunk

Allow HTTPS + 'Cache-control: no-cache' pages into the page cache
https://bugs.webkit.org/show_bug.cgi?id=139251

Reviewed by Darin Adler.

Source/WebCore:

Allow HTTPS + 'Cache-control: no-cache' pages into the page cache as
IE10+ and Google Chrome do, and as allowed by RFC2616 & newer RFC7234
(both RFCs distinguish history mechanisms and caches).

Pages over HTTPs using 'Cache-control: no-store' still don't go into
the page cache for now.

Test: http/tests/navigation/https-in-page-cache.html

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

  • platform/FeatureCounterKeys.h:

LayoutTests:

Update http/tests/navigation/https-in-page-cache.html layout test so that it
expects HTTPS + 'Cache-control: no-cache' pages to go into the page cache.

  • http/tests/navigation/https-in-page-cache-expected.txt:
  • http/tests/navigation/resources/https-in-page-cache-2.php:
8:48 PM Changeset in webkit [177947] by Chris Dumez
  • 4 edits
    2 adds in trunk

Using calc() in repeat() for -webkit-grid-template-rows does not work
https://bugs.webkit.org/show_bug.cgi?id=140094

Reviewed by Darin Adler.

Source/WebCore:

Using calc() in repeat() for -webkit-grid-template-rows was not working
because the CSS parser was not handling this case properly. This patch
addresses the issue.

Test: fast/css-grid-layout/grid-repeat-calc.html

  • css/CSSCalculationValue.h:

(WebCore::CSSCalcValue::isPositive):
Add isPositive() method as it is needed by
CSSParser::validateCalculationUnit().

  • css/CSSParser.cpp:

(WebCore::CSSParser::validateCalculationUnit):
Add support for FPositiveInteger, similarly to what was done in
validateUnit(). This would cause us to consider calc(1 + 1) as invalid
if a FPositiveInteger was requested.

(WebCore::CSSParser::parseGridTrackRepeatFunction):
Do not access fValue directly and call parsedDouble() instead as it
correctly handles calculation values.

LayoutTests:

  • fast/css-grid-layout/grid-repeat-calc-expected.txt: Added.
  • fast/css-grid-layout/grid-repeat-calc.html: Added.
8:46 PM Changeset in webkit [177946] by Chris Dumez
  • 3 edits
    2 adds in trunk

calc() cannot be used in steps() for -webkit-animation-timing-function
https://bugs.webkit.org/show_bug.cgi?id=140091

Reviewed by Darin Adler.

Source/WebCore:

calc() could not be used in steps() for -webkit-animation-timing-function
CSS property because the CSS parser did not handle this case properly.
This patch addresses the issue.

Test: fast/css/animation-steps-calculated-value.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseAnimationTimingFunction):

LayoutTests:

Add a layout test to make sure that calc() can be used in steps() for
-webkit-animation-timing-function CSS property.

  • fast/css/animation-steps-calculated-value-expected.txt: Added.
  • fast/css/animation-steps-calculated-value.html: Added.
6:38 PM Changeset in webkit [177945] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] One more build fix for r177937.

  • plugins/PluginPackage.cpp: Provide forward declaration for local NPN_Evaluate

implementation to avoid linker error.

6:13 PM Changeset in webkit [177944] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Web Inspector: inspector view top inset should not include height of web view banners
https://bugs.webkit.org/show_bug.cgi?id=140076

Patch by Matt Baker <Matt Baker> on 2015-01-05
Reviewed by Anders Carlsson.

Added _totalHeightOfBanners property to WKView, which is used by the WebInspectorProxy
to calculate the correct vertical position of the Inspector view frame. The browser is
responsible for setting the property value whenever banners are installed or uninstalled from
the view.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _setTotalHeightOfBanners:]):
(-[WKView _totalHeightOfBanners]):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::inspectedViewFrameDidChange):

6:01 PM Changeset in webkit [177943] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r177937.

Add the missing #include and namespace declarations to get a clean build.

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::getAttachedShaders):

  • plugins/PluginPackage.cpp:

(WebCore::getListFromVariantArgs):
(WebCore::NPN_Invoke):
(WebCore::makeSource):
(WebCore::NPN_Evaluate):

5:54 PM Changeset in webkit [177942] by andersca@apple.com
  • 6 edits
    1 delete in trunk/Source/WebCore

Remove PluginViewNone.cpp
https://bugs.webkit.org/show_bug.cgi?id=140107

Reviewed by Andreas Kling.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • PlatformWin.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • plugins/PluginViewNone.cpp: Removed.
5:23 PM Changeset in webkit [177941] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Stop including PluginView.h from cross platform WebCore code
https://bugs.webkit.org/show_bug.cgi?id=140105

Reviewed by Andreas Kling.

Instead, include PluginViewBase.h. This will allow us to move the old plug-in implementation to WebKit.

  • bindings/js/ScriptController.cpp:
  • bridge/NP_jsobject.cpp:

(_NPN_Evaluate):

  • inspector/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::setJavaScriptPaused):

  • loader/FrameLoaderClient.h:
  • page/Page.cpp:
  • plugins/PluginViewBase.h:

(WebCore::PluginViewBase::setJavaScriptPaused):

4:53 PM Changeset in webkit [177940] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix after r177925.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Correct symbol name.
4:48 PM Changeset in webkit [177939] by Lucas Forschler
  • 6 edits
    3 deletes in branches/safari-600.3-branch/Source/WebKit2

Merged r177702. rdar://problem/19333074

4:29 PM Changeset in webkit [177938] by andersca@apple.com
  • 9 edits
    2 adds in trunk/Source/WebCore

Introduce a per-page database provider class
https://bugs.webkit.org/show_bug.cgi?id=140102

Reviewed by Sam Weinig.

This class will replace DatabaseStrategy and allow for different providers per page.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • page/DatabaseProvider.cpp: Added.

(WebCore::DatabaseProvider::~DatabaseProvider):
(WebCore::DatabaseProvider::idbFactoryBackend):

  • page/DatabaseProvider.h: Added.
  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:
  • page/PageConfiguration.cpp:
  • page/PageConfiguration.h:
4:10 PM Changeset in webkit [177937] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Add copies of NPN_Evaluate and NPN_Invoke on Windows
https://bugs.webkit.org/show_bug.cgi?id=140103

Reviewed by Andreas Kling.

While this is unfortunate, it will allow us to get rid of PluginView.h and PluginViewNone.cpp
from the cross platform WebCore code and then move the plug-in code to WebKit/win (which is the only client of this plug-in implementation).

  • plugins/PluginPackage.cpp:

(WebCore::NPN_Invoke):
(WebCore::NPN_Evaluate):
(WebCore::PluginPackage::initializeBrowserFuncs):

4:03 PM Changeset in webkit [177936] by Lucas Forschler
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merged r177656. rdar://problem/19311017

3:59 PM Changeset in webkit [177935] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r177641. rdar://problem/19283300

3:57 PM Changeset in webkit [177934] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r177604. rdar://problem/19312111

3:54 PM Changeset in webkit [177933] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r177601. rdar://problem/19301470

3:51 PM Changeset in webkit [177932] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r177600. <rdar://problem/19312111>

3:33 PM Changeset in webkit [177931] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

Fix up bmalloc's PerThread for use on Linux
https://bugs.webkit.org/show_bug.cgi?id=139804

Reviewed by Anders Carlsson.

The previous implementation was a bit slow.

  • bmalloc/PerThread.h:

(bmalloc::PerThreadStorage<Cache>::get):
(bmalloc::PerThreadStorage::get):
(bmalloc::PerThreadStorage::init): Added a catch-all cross-platform Unix
way to do fast per-thread access without taking a lock every time. This
probably works on all the platforms we care about, and it matches other
techniques we use elsewhere in WebKit.

(bmalloc::PerThread<T>::getFastCase): Removed the conditional from
this class because PerThreadStorage now encapsulates everything that
needs to be conditional.

(bmalloc::PerThreadStorage::initSharedKeyIfNeeded): Deleted.

2:37 PM Changeset in webkit [177930] by andersca@apple.com
  • 2 edits in trunk/Tools

heap-buffer-overflow on fast/loader/reload-zero-byte-plugin.html
https://bugs.webkit.org/show_bug.cgi?id=140096
rdar://problem/19368938

Reviewed by Alexey Proskuryakov.

When creating a new page, don't pass clientInfo when setting up the frame and policy clients,
since clientInfo points to a web view, not the test controller.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):

1:48 PM Changeset in webkit [177929] by akling@apple.com
  • 7 edits in trunk/Source

Purge PassRefPtr from Page.
<https://webkit.org/b/140089>

Reviewed by Anders Carlsson.

Source/WebCore:

Use Ref or RefPtr instead of PassRefPtr as appropriate in WebCore::Page.

  • page/Page.cpp:

(WebCore::Page::rangeOfString):
(WebCore::Page::setSessionStorage):

  • page/Page.h:
  • page/mac/PageMac.cpp:

(WebCore::Page::addSchedulePair):
(WebCore::Page::removeSchedulePair):

Source/WTF:

Make SchedulePair::create() return Ref since it never fails.

  • wtf/SchedulePair.h:

(WTF::SchedulePair::create):

1:47 PM Changeset in webkit [177928] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Implicitly dismissed DD popovers don't clear immediate action state, prematurely dismissing the next DD highlight
https://bugs.webkit.org/show_bug.cgi?id=140088
<rdar://problem/19298391>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _menuItemForDataDetectedText]):
Instead of just tearing down the TextIndicator, clear all state.

1:44 PM Changeset in webkit [177927] by Chris Dumez
  • 4 edits
    5 adds in trunk

Regression(r163928): Animated images are not resumed on window resizing
https://bugs.webkit.org/show_bug.cgi?id=139714
<rdar://problem/18855285>

Reviewed by Darin Adler.

Source/WebCore:

After r163928, animated images were not resumed if they became visible
after resizing the window. This patch calls resumes animated images if
necessary in FrameView::setFrameRect() to handle this case properly.

Tests: fast/images/animated-gif-window-resizing.html

fast/images/animated-gif-zooming.html

  • page/FrameView.cpp:

(WebCore::FrameView::setFrameRect):

LayoutTests:

Add a layout test to make sure animated images are correctly paused /
resumed when resizing the window.

Also add another test to make sure animated images are correctly paused
/ resumed when zooming in and out.

  • fast/images/animated-gif-window-resizing-expected.txt: Added.
  • fast/images/animated-gif-window-resizing.html: Added.
  • fast/images/animated-gif-zooming-expected.txt: Added.
  • fast/images/animated-gif-zooming.html: Added.
  • fast/images/resources/animated-gif-window-resize.html: Added.
  • platform/mac-wk1/TestExpectations:
1:32 PM Changeset in webkit [177926] by Csaba Osztrogonác
  • 7 edits in trunk/Source/WebKit2

One more URTBF after r177917.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • WebProcess/Battery/WebBatteryManager.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:

(WebKit::CoordinatedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/LayerTreeHost.h:
1:30 PM Changeset in webkit [177925] by Brian Burg
  • 46 edits in trunk/Source/WebCore

Web Inspector: pass parameters to inspector instrumentation by reference where possible
https://bugs.webkit.org/show_bug.cgi?id=139981

Reviewed by Andreas Kling.

Clean up inspector instrumentation entry points throughout WebCore. In particular, make
parameters pass-by-reference if they are not nullable. Also standardize quirky parameter
orders and do other small cleanups in InspectorInstrumentation and at callsites.

Inspector agents still take the pertinent parameters by pointer even when they could be
passed by reference. This will be addressed in a follow-up change.

No new tests, no behavior changed.

  • WebCore.exp.in:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):

  • css/PropertySetCSSStyleDeclaration.cpp:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matchesFocusPseudoClass):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForElement):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::elementIsActive):
(WebCore::SelectorCompiler::elementIsActiveForStyleResolution):
(WebCore::SelectorCompiler::elementIsHovered):
(WebCore::SelectorCompiler::elementIsHoveredForStyleResolution):

  • dom/CharacterData.cpp:

(WebCore::CharacterData::dispatchModifiedEvent): Remove unnecessary ENABLE guard.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::appendChild):
(WebCore::dispatchChildRemovalEvents):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildNodeInsertionNotifier::notify): Remove unnecessary ENABLE guard.

  • dom/Document.cpp:

(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::recalcStyle):
(WebCore::Document::finishedParsing): This is safe because we checked the argument.

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot):
(WebCore::Element::removeShadowRoot): This is safe because we checked the argument.
(WebCore::Element::willModifyAttribute): Remove unnecessary ENABLE guard.
(WebCore::Element::didAddAttribute):
(WebCore::Element::didModifyAttribute):
(WebCore::Element::didRemoveAttribute):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners): This is safe because the type test would fail if null.

  • dom/NamedFlowCollection.cpp: Pass by reference since code already assumes non-null.

(WebCore::NamedFlowCollection::ensureFlowWithName):
(WebCore::NamedFlowCollection::discardNamedFlow):

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::~PseudoElement):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::styleAttributeChanged):
(WebCore::StyledElement::inlineStyleChanged):

  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::startConsoleTiming):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::startProfiling):
(WebCore::InspectorInstrumentation::stopProfiling):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::didClearWindowObjectInWorld):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):

  • inspector/InspectorController.h: Remove instrumentationForPage() in favor of using instrumentingAgentsForPage() directly.
  • inspector/InspectorDatabaseInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorInstrumentation.cpp: Add missing s_ prefix for global s_instrumentingAgentSets. Pass the instrumenting

agent by reference since it was already null-checked if we reached a slow path for instrumentation.
(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
(WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
(WebCore::InspectorInstrumentation::frameWindowDiscardedImpl):
(WebCore::InspectorInstrumentation::mediaQueryResultChangedImpl):
(WebCore::InspectorInstrumentation::didPushShadowRootImpl):
(WebCore::InspectorInstrumentation::willPopShadowRootImpl):
(WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
(WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl):
(WebCore::InspectorInstrumentation::didChangeRegionOversetImpl):
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
(WebCore::InspectorInstrumentation::didScrollImpl):
(WebCore::InspectorInstrumentation::handleTouchEventImpl):
(WebCore::InspectorInstrumentation::handleMousePressImpl):
(WebCore::InspectorInstrumentation::forcePseudoStateImpl):
(WebCore::InspectorInstrumentation::characterDataModifiedImpl):
(WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
(WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
(WebCore::InspectorInstrumentation::didInstallTimerImpl):
(WebCore::InspectorInstrumentation::didRemoveTimerImpl):
(WebCore::InspectorInstrumentation::willCallFunctionImpl):
(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl):
(WebCore::InspectorInstrumentation::willDispatchEventImpl):
(WebCore::InspectorInstrumentation::willHandleEventImpl):
(WebCore::InspectorInstrumentation::didHandleEventImpl): Add proper cookie guard and pass by reference.
(WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
(WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::scriptsEnabledImpl):
(WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl): Removed, as there are no callers from WebCore. Possible V8 artifact.
(WebCore::InspectorInstrumentation::willFireTimerImpl):
(WebCore::InspectorInstrumentation::didFireTimerImpl): Add proper cookie guard and pass by reference.
(WebCore::InspectorInstrumentation::didInvalidateLayoutImpl):
(WebCore::InspectorInstrumentation::willLayoutImpl):
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl):
(WebCore::InspectorInstrumentation::willPaintImpl):
(WebCore::InspectorInstrumentation::didPaintImpl):
(WebCore::InspectorInstrumentation::willScrollLayerImpl):
(WebCore::InspectorInstrumentation::didScrollLayerImpl):
(WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
(WebCore::InspectorInstrumentation::didRecalculateStyleImpl): Add proper cookie guard and pass by reference.
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
(WebCore::InspectorInstrumentation::applyEmulatedMediaImpl): Pass string by reference.
(WebCore::InspectorInstrumentation::willSendRequestImpl):
(WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
(WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
(WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
(WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): Add proper cookie guard and pass by reference.
(WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
(WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl):
(WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl):
(WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl):
(WebCore::InspectorInstrumentation::didReceiveDataImpl):
(WebCore::InspectorInstrumentation::didFinishLoadingImpl):
(WebCore::InspectorInstrumentation::didFailLoadingImpl):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl):
(WebCore::InspectorInstrumentation::willLoadXHRImpl):
(WebCore::InspectorInstrumentation::didFailXHRLoadingImpl):
(WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
(WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
(WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
(WebCore::InspectorInstrumentation::scriptImportedImpl):
(WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
(WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
(WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): Use Frame::isMainFrame().
(WebCore::InspectorInstrumentation::loadEventFiredImpl): Use Frame::isMainFrame().
(WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::frameDocumentUpdatedImpl):
(WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
(WebCore::InspectorInstrumentation::willRunJavaScriptDialogImpl):
(WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl): Use a range-based iterator.
(WebCore::InspectorInstrumentation::willWriteHTMLImpl):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):
(WebCore::InspectorInstrumentation::startConsoleTimingImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::startProfilingImpl):
(WebCore::InspectorInstrumentation::stopProfilingImpl):
(WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl):
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl):
(WebCore::InspectorInstrumentation::didStartWorkerGlobalScopeImpl):
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
(WebCore::InspectorInstrumentation::workerGlobalScopeTerminatedImpl):
(WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
(WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
(WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):
(WebCore::InspectorInstrumentation::sessionCreatedImpl):
(WebCore::InspectorInstrumentation::sessionLoadedImpl):
(WebCore::InspectorInstrumentation::sessionModifiedImpl):
(WebCore::InspectorInstrumentation::segmentCreatedImpl):
(WebCore::InspectorInstrumentation::segmentCompletedImpl):
(WebCore::InspectorInstrumentation::segmentLoadedImpl):
(WebCore::InspectorInstrumentation::segmentUnloadedImpl):
(WebCore::InspectorInstrumentation::captureStartedImpl):
(WebCore::InspectorInstrumentation::captureStoppedImpl):
(WebCore::InspectorInstrumentation::playbackStartedImpl):
(WebCore::InspectorInstrumentation::playbackPausedImpl):
(WebCore::InspectorInstrumentation::playbackHitPositionImpl):
(WebCore::InspectorInstrumentation::playbackFinishedImpl):
(WebCore::InspectorInstrumentation::networkStateChangedImpl):
(WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
(WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
(WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
(WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl):
(WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl):
(WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
(WebCore::InspectorInstrumentation::registerInstrumentingAgents):
(WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
(WebCore::InspectorInstrumentation::retrieveTimelineAgent):
(WebCore::InspectorInstrumentation::instrumentingAgentsForPage): Add by-reference version which contains the logic from instrumentationForPage().
(WebCore::InspectorInstrumentation::instrumentingAgentsForRenderer):
(WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
(WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
(WebCore::InspectorInstrumentation::layerTreeDidChangeImpl):
(WebCore::InspectorInstrumentation::renderLayerDestroyedImpl):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
(WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
(WebCore::InspectorInstrumentation::isDebuggerPaused):
(WebCore::InspectorInstrumentation::willInsertDOMNode):
(WebCore::InspectorInstrumentation::didInsertDOMNode):
(WebCore::InspectorInstrumentation::willRemoveDOMNode):
(WebCore::InspectorInstrumentation::didRemoveDOMNode):
(WebCore::InspectorInstrumentation::willModifyDOMAttr):
(WebCore::InspectorInstrumentation::didModifyDOMAttr):
(WebCore::InspectorInstrumentation::didRemoveDOMAttr):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
(WebCore::InspectorInstrumentation::frameWindowDiscarded):
(WebCore::InspectorInstrumentation::mediaQueryResultChanged):
(WebCore::InspectorInstrumentation::didPushShadowRoot):
(WebCore::InspectorInstrumentation::willPopShadowRoot):
(WebCore::InspectorInstrumentation::didCreateNamedFlow):
(WebCore::InspectorInstrumentation::willRemoveNamedFlow):
(WebCore::InspectorInstrumentation::didChangeRegionOverset):
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
(WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
(WebCore::InspectorInstrumentation::handleTouchEvent):
(WebCore::InspectorInstrumentation::handleMousePress): Take Frame by reference instead of Page by pointer.
(WebCore::InspectorInstrumentation::forcePseudoState):
(WebCore::InspectorInstrumentation::characterDataModified):
(WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
(WebCore::InspectorInstrumentation::didScheduleResourceRequest):
(WebCore::InspectorInstrumentation::didInstallTimer):
(WebCore::InspectorInstrumentation::didRemoveTimer):
(WebCore::InspectorInstrumentation::willCallFunction):
(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent):
(WebCore::InspectorInstrumentation::willDispatchEvent):
(WebCore::InspectorInstrumentation::willHandleEvent): Pass a const event reference.
(WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
(WebCore::InspectorInstrumentation::willEvaluateScript):
(WebCore::InspectorInstrumentation::didEvaluateScript):
(WebCore::InspectorInstrumentation::scriptsEnabled):
(WebCore::InspectorInstrumentation::willFireTimer):
(WebCore::InspectorInstrumentation::didInvalidateLayout):
(WebCore::InspectorInstrumentation::willLayout):
(WebCore::InspectorInstrumentation::didScroll):
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent):
(WebCore::InspectorInstrumentation::willPaint):
(WebCore::InspectorInstrumentation::didPaint):
(WebCore::InspectorInstrumentation::willScrollLayer):
(WebCore::InspectorInstrumentation::didScrollLayer):
(WebCore::InspectorInstrumentation::willRecalculateStyle):
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
(WebCore::InspectorInstrumentation::applyEmulatedMedia): Pass string by reference.
(WebCore::InspectorInstrumentation::willSendRequest):
(WebCore::InspectorInstrumentation::continueAfterPingLoader):
(WebCore::InspectorInstrumentation::markResourceAsCached):
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
(WebCore::InspectorInstrumentation::willReceiveResourceData):
(WebCore::InspectorInstrumentation::willReceiveResourceResponse):
(WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
(WebCore::InspectorInstrumentation::continueWithPolicyDownload):
(WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
(WebCore::InspectorInstrumentation::didReceiveData):
(WebCore::InspectorInstrumentation::didFinishLoading):
(WebCore::InspectorInstrumentation::didFailLoading):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): No need to go through
ScriptExecutionContext interface, as it's always a Document.
(WebCore::InspectorInstrumentation::willLoadXHR):
(WebCore::InspectorInstrumentation::didFailXHRLoading):
(WebCore::InspectorInstrumentation::didFinishXHRLoading):
(WebCore::InspectorInstrumentation::didReceiveXHRResponse):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
(WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
(WebCore::InspectorInstrumentation::scriptImported):
(WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP):
(WebCore::InspectorInstrumentation::didReceiveScriptResponse):
(WebCore::InspectorInstrumentation::domContentLoadedEventFired):
(WebCore::InspectorInstrumentation::loadEventFired):
(WebCore::InspectorInstrumentation::frameDetachedFromParent):
(WebCore::InspectorInstrumentation::didCommitLoad):
(WebCore::InspectorInstrumentation::frameDocumentUpdated):
(WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
(WebCore::InspectorInstrumentation::willRunJavaScriptDialog):
(WebCore::InspectorInstrumentation::willDestroyCachedResource):
(WebCore::InspectorInstrumentation::willWriteHTML):
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
(WebCore::InspectorInstrumentation::didStartWorkerGlobalScope):
(WebCore::InspectorInstrumentation::workerGlobalScopeTerminated):
(WebCore::InspectorInstrumentation::didCreateWebSocket):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorInstrumentation::didCloseWebSocket):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
(WebCore::InspectorInstrumentation::didSendWebSocketFrame):
(WebCore::InspectorInstrumentation::sessionCreated):
(WebCore::InspectorInstrumentation::sessionLoaded):
(WebCore::InspectorInstrumentation::sessionModified):
(WebCore::InspectorInstrumentation::segmentCreated):
(WebCore::InspectorInstrumentation::segmentCompleted):
(WebCore::InspectorInstrumentation::segmentLoaded):
(WebCore::InspectorInstrumentation::segmentUnloaded):
(WebCore::InspectorInstrumentation::captureStarted):
(WebCore::InspectorInstrumentation::captureStopped):
(WebCore::InspectorInstrumentation::playbackStarted):
(WebCore::InspectorInstrumentation::playbackPaused):
(WebCore::InspectorInstrumentation::playbackFinished):
(WebCore::InspectorInstrumentation::playbackHitPosition):
(WebCore::InspectorInstrumentation::networkStateChanged):
(WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
(WebCore::InspectorInstrumentation::didRequestAnimationFrame):
(WebCore::InspectorInstrumentation::didCancelAnimationFrame):
(WebCore::InspectorInstrumentation::willFireAnimationFrame):
(WebCore::InspectorInstrumentation::layerTreeDidChange):
(WebCore::InspectorInstrumentation::renderLayerDestroyed):
(WebCore::InspectorInstrumentation::pseudoElementDestroyed):
(WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
(WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
(WebCore::InspectorInstrumentation::didCreateIsolatedContext): Deleted.

  • inspector/InspectorInstrumentationCookie.cpp: Take a reference, use default RefPtr constructor.

(WebCore::InspectorInstrumentationCookie::InspectorInstrumentationCookie):

  • inspector/InspectorInstrumentationCookie.h: Fix misplaced ENABLE guard.
  • inspector/InstrumentingAgents.cpp:

(WebCore::instrumentationForPage): Deleted.
(WebCore::instrumentationForWorkerGlobalScope): Deleted.

  • inspector/InstrumentingAgents.h:
  • inspector/WorkerInspectorController.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::detachFromFrame):

  • loader/DocumentThreadableLoader.cpp: Remove unnecessary ENABLE(INSPECTOR) guards, as these inlined calls

are boiled away by the compiler if !ENABLE(INSPECTOR).
(WebCore::DocumentThreadableLoader::didReceiveData):
(WebCore::DocumentThreadableLoader::didFinishLoading):
(WebCore::DocumentThreadableLoader::didFail):
(WebCore::DocumentThreadableLoader::preflightFailure):
(WebCore::DocumentThreadableLoader::loadRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::loadedResourceFromMemoryCache):
(WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
(WebCore::FrameLoader::dispatchDidCommitLoad):

  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::notifyDidScheduleResourceRequest):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequest): Remove unnecessary ENABLE guard.

  • loader/appcache/ApplicationCacheGroup.cpp: Remove several unnecessary ENABLE guards.

(WebCore::ApplicationCacheGroup::didReceiveResponse):
(WebCore::ApplicationCacheGroup::didReceiveData):
(WebCore::ApplicationCacheGroup::didFinishLoading):
(WebCore::ApplicationCacheGroup::didFail):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::deleteIfPossible):

  • page/Chrome.cpp:

(WebCore::Chrome::scroll):
(WebCore::Chrome::runBeforeUnloadConfirmPanel):
(WebCore::Chrome::runJavaScriptAlert):
(WebCore::Chrome::runJavaScriptConfirm):
(WebCore::Chrome::runJavaScriptPrompt):
(WebCore::Chrome::mouseDidMoveOverElement):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchLoadEvent):
(WebCore::DOMWindow::dispatchEvent):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleTouchEvent): Add a guard to make it safe to pass event target by-reference.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::mediaType):
(WebCore::FrameView::scheduleRelayout):
(WebCore::FrameView::scheduleRelayoutOfSubtree):

  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::messageWithTypeAndLevel):
(WebCore::PageConsoleClient::count):
(WebCore::PageConsoleClient::profile):
(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::time):
(WebCore::PageConsoleClient::timeEnd):
(WebCore::PageConsoleClient::timeStamp):

  • page/Settings.cpp:

(WebCore::Settings::setScriptEnabled):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::layerBecameNonComposited):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded):

  • replay/ReplayController.cpp:

(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegmentAtIndex):
(WebCore::ReplayController::unloadSegment):
(WebCore::ReplayController::startCapturing):
(WebCore::ReplayController::stopCapturing):
(WebCore::ReplayController::startPlayback):
(WebCore::ReplayController::pausePlayback):
(WebCore::ReplayController::cancelPlayback):
(WebCore::ReplayController::willDispatchInput):

  • testing/Internals.cpp:

(WebCore::Internals::consoleMessageArgumentCounts):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::callReadyStateChangeListener):

1:11 PM Changeset in webkit [177924] by andersca@apple.com
  • 14 edits in trunk/Source/WebKit2

Get rid of PassRefPtr from IPC::Connection
https://bugs.webkit.org/show_bug.cgi?id=140092

Reviewed by Andreas Kling.

  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::createServerConnection):
(IPC::Connection::createClientConnection):
(IPC::Connection::Connection):

  • Platform/IPC/Connection.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::WebProcessConnection):

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::initialize):

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::didFinishLaunching):

  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didFinishLaunching):

  • WebProcess/Databases/WebToDatabaseProcessConnection.cpp:

(WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):

  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::NetworkProcessConnection):

  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::PluginProcessConnection):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::createInspectorPage):

  • WebProcess/WebPage/WebInspectorUI.cpp:

(WebKit::WebInspectorUI::establishConnection):

12:59 PM Changeset in webkit [177923] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

URTBF after r177917.

  • UIProcess/WebBatteryManagerProxy.h:
  • UIProcess/WebVibrationProxy.h:
12:39 PM Changeset in webkit [177922] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Clean up Connection::SyncMessageState
https://bugs.webkit.org/show_bug.cgi?id=140087

Reviewed by Andreas Kling.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::syncMessageStateMapMutex):
Change this to return an std::mutex and use std::call_once to initialize it properly.

(IPC::Connection::SyncMessageState::getOrCreate):
Return a Ref.

(IPC::Connection::SyncMessageState::~SyncMessageState):
Use an std::lock_guard.

(IPC::Connection::SyncMessageState::processIncomingMessage):
Replace a bind call with a lambda.

(IPC::Connection::SyncMessageState::dispatchMessages):
ConnectionAndIncomingMessage now holds a Ref<Connection>.

(IPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesForConnection):
Change Connection to a reference.

(IPC::Connection::processIncomingMessage):
Change Connection to a reference.

12:07 PM Changeset in webkit [177921] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Clean up the storage manager some more
https://bugs.webkit.org/show_bug.cgi?id=140086

Reviewed by Andreas Kling.

Use lambdas instead of WTF::bind and get rid of a couple of internal functions.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createSessionStorageNamespace):
(WebKit::StorageManager::destroySessionStorageNamespace):
(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
(WebKit::StorageManager::cloneSessionStorageNamespace):
(WebKit::StorageManager::processWillCloseConnection):
(WebKit::StorageManager::createSessionStorageNamespaceInternal): Deleted.
(WebKit::StorageManager::destroySessionStorageNamespaceInternal): Deleted.
(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal): Deleted.
(WebKit::StorageManager::cloneSessionStorageNamespaceInternal): Deleted.
(WebKit::StorageManager::invalidateConnectionInternal): Deleted.

  • UIProcess/Storage/StorageManager.h:
11:00 AM Changeset in webkit [177920] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Change more connection pointers to references
https://bugs.webkit.org/show_bug.cgi?id=140085

Reviewed by Andreas Kling.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::addListener):
(WebKit::StorageManager::StorageArea::removeListener):
(WebKit::StorageManager::createLocalStorageMap):
(WebKit::StorageManager::createTransientLocalStorageMap):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::destroyStorageMap):
(WebKit::StorageManager::getValues):
(WebKit::StorageManager::setItem):
(WebKit::StorageManager::removeItem):
(WebKit::StorageManager::clear):
(WebKit::StorageManager::applicationWillTerminate):
(WebKit::StorageManager::invalidateConnectionInternal):
(WebKit::StorageManager::findStorageArea):

  • UIProcess/Storage/StorageManager.h:
10:50 AM Changeset in webkit [177919] by ap@apple.com
  • 2 edits in trunk/LayoutTests

After updating tests to use kerning, ligatures, and printer fonts, some tests fail
https://bugs.webkit.org/show_bug.cgi?id=139968

  • platform/mac/TestExpectations: Adding more flaky tests.
10:45 AM Changeset in webkit [177918] by ap@apple.com
  • 2 edits in trunk/LayoutTests

js/dom/dfg-inline-resolve.html flakily times out
https://bugs.webkit.org/show_bug.cgi?id=140084

  • platform/mac-wk2/TestExpectations: Added an expectation.
10:38 AM Changeset in webkit [177917] by andersca@apple.com
  • 101 edits in trunk/Source/WebKit2

Change more of the IPC code to take connections by reference
https://bugs.webkit.org/show_bug.cgi?id=140083

Reviewed by Andreas Kling.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::didReceiveMessage):

  • DatabaseProcess/DatabaseProcess.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
(WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage):

  • DatabaseProcess/DatabaseToWebProcessConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkResourceLoader.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(IPC::Connection::dispatchSyncMessage):
(IPC::Connection::dispatchMessage):

  • Platform/IPC/Connection.h:

(IPC::Connection::waitForAndDispatchImmediately):

  • Platform/IPC/MessageReceiver.h:

(IPC::MessageReceiver::didReceiveSyncMessage):

  • Platform/IPC/MessageReceiverMap.cpp:

(IPC::MessageReceiverMap::dispatchMessage):
(IPC::MessageReceiverMap::dispatchSyncMessage):

  • Platform/IPC/MessageReceiverMap.h:
  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::didReceiveMessage):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):

  • PluginProcess/WebProcessConnection.h:
  • Scripts/webkit/messages.py:

(async_message_statement):
(sync_message_statement):
(generate_message_handler):

  • Shared/API/Cocoa/RemoteObjectRegistry.h:
  • Shared/Authentication/AuthenticationManager.h:
  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::dispatchMessage):
(WebKit::ChildProcessProxy::dispatchSyncMessage):

  • Shared/ChildProcessProxy.h:
  • Shared/Network/CustomProtocols/CustomProtocolManager.h:
  • Shared/Plugins/NPObjectMessageReceiver.h:
  • Shared/Plugins/NPRemoteObjectMap.cpp:

(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):

  • Shared/Plugins/NPRemoteObjectMap.h:
  • Shared/WebConnection.h:
  • Shared/mac/SecItemShim.h:
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::didReceiveMessage):

  • UIProcess/Databases/DatabaseProcessProxy.h:
  • UIProcess/Downloads/DownloadProxy.h:
  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Storage/StorageManager.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/VisitedLinkProvider.h:
  • UIProcess/WebApplicationCacheManagerProxy.h:
  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebDatabaseManagerProxy.h:
  • UIProcess/WebFullScreenManagerProxy.h:
  • UIProcess/WebGeolocationManagerProxy.h:
  • UIProcess/WebIconDatabase.h:
  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebMediaCacheManagerProxy.h:
  • UIProcess/WebOriginDataManagerProxy.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPasteboardProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::dispatchMessage):
(WebKit::WebProcessPool::dispatchSyncMessage):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebResourceCacheManagerProxy.h:
  • UIProcess/ios/SmartMagnificationController.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/SecItemShimProxy.h:
  • UIProcess/mac/ViewGestureController.h:
  • WebProcess/ApplicationCache/WebApplicationCacheManager.h:
  • WebProcess/Cookies/WebCookieManager.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/WebToDatabaseProcessConnection.cpp:

(WebKit::WebToDatabaseProcessConnection::didReceiveMessage):

  • WebProcess/Databases/WebToDatabaseProcessConnection.h:
  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::didReceiveMessage):

  • WebProcess/FullScreen/WebFullScreenManager.h:
  • WebProcess/Geolocation/WebGeolocationManager.h:
  • WebProcess/IconDatabase/WebIconDatabaseProxy.h:
  • WebProcess/MediaCache/WebMediaCacheManager.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Notifications/WebNotificationManager.h:
  • WebProcess/OriginData/WebOriginDataManager.h:
  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::didReceiveSyncMessage):

  • WebProcess/Plugins/PluginProcessConnection.h:
  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/ResourceCache/WebResourceCacheManager.h:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.h:
  • WebProcess/Storage/StorageAreaMap.h:
  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/WebCoreSupport/WebDatabaseManager.h:
  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/ViewGestureGeometryCollector.h:
  • WebProcess/WebPage/ViewUpdateDispatcher.h:
  • WebProcess/WebPage/VisitedLinkTableController.h:
  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebInspectorUI.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPageGroupProxy.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):

  • WebProcess/WebProcess.h:
  • WebProcess/ios/WebVideoFullscreenManager.h:
10:36 AM Changeset in webkit [177916] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Tried to fix the iOS build.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):

10:29 AM Changeset in webkit [177915] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Get rid of some unnecessary custom StyleBuilder code
https://bugs.webkit.org/show_bug.cgi?id=140058

Reviewed by Darin Adler.

Get rid of some unnecessary custom StyleBuilder code. The generator is
now able to generate this code just fine.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::csstoLengthConversionDataWithTextZoomFactor):
(WebCore::StyleBuilderConverter::convertWordSpacing):
(WebCore::StyleBuilderConverter::convertPerspective):
(WebCore::StyleBuilderConverter::convertMarqueeIncrement):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::convertLineHeight):
(WebCore::StyleBuilderCustom::applyValueWebkitMarqueeIncrement): Deleted.
(WebCore::StyleBuilderCustom::csstoLengthConversionDataWithTextZoomFactor): Deleted.
(WebCore::StyleBuilderCustom::applyValueWordSpacing): Deleted.
(WebCore::StyleBuilderCustom::applyValueWebkitPerspective): Deleted.

10:17 AM Changeset in webkit [177914] by andersca@apple.com
  • 15 edits in trunk/Source/WebKit2

Pass IPC::Connection by reference to IPC message handlers
https://bugs.webkit.org/show_bug.cgi?id=140082

Reviewed by Darin Adler.

  • Platform/IPC/HandleMessage.h:

(IPC::callMemberFunctionImpl):
(IPC::callMemberFunction):
(IPC::handleMessage):
(IPC::handleMessageDelayed):

  • Scripts/webkit/messages.py:

(async_message_statement):
(sync_message_statement):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createLocalStorageMap):
(WebKit::StorageManager::createTransientLocalStorageMap):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::destroyStorageMap):
(WebKit::StorageManager::getValues):
(WebKit::StorageManager::setItem):
(WebKit::StorageManager::removeItem):
(WebKit::StorageManager::clear):

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::didPostMessage):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/WebGeolocationManagerProxy.cpp:

(WebKit::WebGeolocationManagerProxy::startUpdating):
(WebKit::WebGeolocationManagerProxy::stopUpdating):
(WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):

  • UIProcess/WebGeolocationManagerProxy.h:
  • UIProcess/WebOriginDataManagerProxy.cpp:

(WebKit::WebOriginDataManagerProxy::didGetOrigins):
(WebKit::WebOriginDataManagerProxy::didDeleteEntries):
(WebKit::WebOriginDataManagerProxy::didDeleteAllEntries):

  • UIProcess/WebOriginDataManagerProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::handleMessage):
(WebKit::WebProcessPool::handleSynchronousMessage):

  • UIProcess/WebProcessPool.h:
  • UIProcess/mac/SecItemShimProxy.cpp:

(WebKit::SecItemShimProxy::secItemRequest):

  • UIProcess/mac/SecItemShimProxy.h:
10:16 AM Changeset in webkit [177913] by ap@apple.com
  • 2 edits in trunk/LayoutTests

editing/pasteboard/drag-and-drop-objectimage-contenteditable.html times out after r177883.

10:11 AM Changeset in webkit [177912] by Brent Fulgham
  • 6 edits
    5 adds in trunk

[Mac] Cannot scroll when a non-scrollable iframe is contained inside a scrollable iframe
https://bugs.webkit.org/show_bug.cgi?id=139914
<rdar://problem/18750910>

Reviewed by Darin Adler.

Source/WebCore:

Tests: platform/mac/fast/scrolling/scroll-nested-iframe.html

The latching logic was breaking down when a non-scrollable iframe was the closest target of
a wheel event. EventHandler would latch to the enclosing scrollable region (in this case, the
non-scrollable iframe) and would eat scroll events, preventing anything from working.

The fix is as follows:

  1. Modify the logic to understand a stack of latched states, so that we can discared 'invalid' latched states as we discover them.
  2. Revise the latching logic so that it understands the case where the 'latched' node for wheel events is in a parent frame of the current wheel event target. For example, when the mouse is over an element in an unscrollable iframe that is contained within a scrollable iframe. We should be latched to the scrollable iframe so events go to the right place.
  • page/EventHandler.cpp:

(WebCore::EventHandler::handleWheelEvent): Update to call new 'stack' versions of latch
state methods.
(WebCore::EventHandler::clearLatchedState): Ditto.
(WebCore::EventHandler::defaultWheelEventHandler): Ditto.

  • page/MainFrame.cpp: Update to store a stack of latched states. Provide methods to control

the lifetime of the stack and its elements.
(WebCore::MainFrame::MainFrame):
(WebCore::MainFrame::latchingState):
(WebCore::MainFrame::pushNewLatchingState):
(WebCore::MainFrame::resetLatchingState):
(WebCore::MainFrame::popLatchingState):

  • page/MainFrame.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::latchingIsLockedToParentOfThisFrame): Added helper function.
(WebCore::EventHandler::platformPrepareForWheelEvents): Update to use new 'stack' style latch
methods. Also, if we are latched to a frame that contains the frame we are currently evaluating,
don't replace the current event target with the latched targets because (1) they will be processed
in the enclosing scope when we leave this routine, and (2) if we do change targets to the latched
elements we create an infinite loop.
(WebCore::EventHandler::platformCompleteWheelEvent): We want to mark the element as having started
at the scroll limit regardless of what the wheel event handler returns as its success state.
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Revise to handle the new
stack-based latching methods.

LayoutTests:

  • platform/mac/fast/scrolling/scroll-nested-iframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-nested-iframe.html: Added.
  • platform/mac/fast/scrolling/resources/scroll_nested_iframe_test_inner.html: Added.
  • platform/mac/fast/scrolling/resources/scroll_nested_iframe_test_outer.html: Added.
9:30 AM Changeset in webkit [177911] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Quick follow-up to last check-in, addressing review comments.

  • html/parser/HTMLStackItem.h:

(WebCore::HTMLStackItem::HTMLStackItem): Use rvalue reference for incoming Ref.
(WebCore::HTMLStackItem::create): Ditto.

9:11 AM Changeset in webkit [177910] by Darin Adler
  • 11 edits in trunk/Source/WebCore

Modernize and streamline HTMLStackItem
https://bugs.webkit.org/show_bug.cgi?id=140056

Reviewed by Anders Carlsson.

  • html/HTMLHtmlElement.cpp:

(WebCore::HTMLHtmlElement::create): Changed to return Ref.

  • html/HTMLHtmlElement.h: Ditto.
  • html/parser/HTMLConstructionSite.cpp:

(WebCore::hasImpliedEndTag): Update to use reference instead of pointer.
(WebCore::causesFosterParenting): Moved here from HTMLStackItem.h.
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML): Update
for references instead of pointers.
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody): Ditto.
(WebCore::HTMLConstructionSite::insertComment): Ditto.
(WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLHeadElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLBodyElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLFormElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLElement): Ditto.
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement): Ditto.
(WebCore::HTMLConstructionSite::insertFormattingElement): Ditto.
(WebCore::HTMLConstructionSite::insertScriptElement): Ditto.
(WebCore::HTMLConstructionSite::insertForeignElement): Ditto.
(WebCore::HTMLConstructionSite::insertTextNode): Ditto.
(WebCore::HTMLConstructionSite::reparent): Ditto.
(WebCore::HTMLConstructionSite::insertAlreadyParsedChild): Ditto.
(WebCore::HTMLConstructionSite::takeAllChildren): Ditto.
(WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode): Ditto.
(WebCore::HTMLConstructionSite::createElementFromSavedToken): Ditto.
(WebCore::HTMLConstructionSite::indexOfFirstUnopenFormattingElement): Ditto.
(WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements): Ditto.
(WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion): Ditto.
(WebCore::HTMLConstructionSite::findFosterSite): Ditto.
(WebCore::HTMLConstructionSite::shouldFosterParent): Removed unneeded
isElementNode check, since causesFosterParenting will return false for a
document fragment node.

  • html/parser/HTMLConstructionSite.h: Updated to use references instead of

pointers. Also removed the unneeded currentElementRecord function.

  • html/parser/HTMLElementStack.cpp:

(WebCore::HTMLNames::isRootNode): Updated to use references instead of pointers.
(WebCore::HTMLNames::isScopeMarker): Ditto.
(WebCore::HTMLNames::isListItemScopeMarker): Ditto.
(WebCore::HTMLNames::isTableScopeMarker): Ditto.
(WebCore::HTMLNames::isTableBodyScopeMarker): Ditto.
(WebCore::HTMLNames::isTableRowScopeMarker): Ditto.
(WebCore::HTMLNames::isForeignContentScopeMarker): Ditto.
(WebCore::HTMLNames::isButtonScopeMarker): Ditto.
(WebCore::HTMLNames::isSelectScopeMarker): Ditto.
(WebCore::HTMLElementStack::ElementRecord::replaceElement): Ditto.
(WebCore::HTMLElementStack::hasOnlyOneElement): Ditto.
(WebCore::HTMLElementStack::popHTMLHeadElement): Ditto.
(WebCore::HTMLElementStack::popHTMLBodyElement): Ditto.
(WebCore::HTMLElementStack::popAll): Ditto.
(WebCore::HTMLElementStack::pop): Ditto.
(WebCore::HTMLElementStack::popUntil): Ditto.
(WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped): Ditto.
(WebCore::HTMLElementStack::isMathMLTextIntegrationPoint): Ditto. Also removed
unneeded isElementNode check.
(WebCore::HTMLElementStack::isHTMLIntegrationPoint): Ditto.
(WebCore::HTMLElementStack::pushRootNode): Ditto.
(WebCore::HTMLElementStack::pushRootNodeCommon): Ditto.
(WebCore::HTMLElementStack::pushHTMLHeadElement): Ditto.
(WebCore::HTMLElementStack::pushHTMLBodyElement): Ditto.
(WebCore::HTMLElementStack::insertAbove): Ditto.
(WebCore::HTMLElementStack::topRecord): Ditto.
(WebCore::HTMLElementStack::oneBelowTop): Ditto.
(WebCore::HTMLElementStack::removeHTMLHeadElement): Ditto.
(WebCore::HTMLElementStack::remove): Ditto.
(WebCore::HTMLElementStack::find): Ditto.
(WebCore::HTMLElementStack::topmost): Ditto.
(WebCore::inScopeCommon): Ditto.
(WebCore::HTMLElementStack::hasNumberedHeaderElementInScope): Ditto.
(WebCore::HTMLElementStack::inScope): Ditto.
(WebCore::HTMLElementStack::htmlElement): Ditto.
(WebCore::HTMLElementStack::headElement): Ditto.
(WebCore::HTMLElementStack::bodyElement): Ditto.
(WebCore::HTMLElementStack::rootNode): Ditto.
(WebCore::HTMLElementStack::popCommon): Ditto.
(WebCore::HTMLElementStack::removeNonTopCommon): Ditto.
(WebCore::HTMLElementStack::furthestBlockForFormattingElement): Ditto.
(WebCore::HTMLElementStack::show): Ditto.

  • html/parser/HTMLElementStack.h: Use reference instead of pointer.
  • html/parser/HTMLFormattingElementList.cpp:

(WebCore::HTMLFormattingElementList::closestElementInScopeWithName): Update
to use references instead of pointer.
(WebCore::HTMLFormattingElementList::swapTo): Ditto.
(WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly): Ditto.
(WebCore::HTMLFormattingElementList::ensureNoahsArkCondition): Ditto.
(WebCore::HTMLFormattingElementList::show): Ditto.

  • html/parser/HTMLFormattingElementList.h: Use reference instead of pointer

and a raw pointer instead of a RefPtr.

  • html/parser/HTMLStackItem.h: Removed unneeded includes. Got rid of "type"

concept and simply overload the create functions and constructors for both
Element and DOcumentFragment. Renamed isElementNode and isDocumentFragmentNode
to remove the "Node" suffix. Removed unused getAttributeItem, hasLocalName, and
one of the overloads of matchesHTMLTag. Moved all the policy functions such as
causesFosterParenting out of this class into free functions or into other
source files. Got rid of m_isDocumentFragmentNode boolean. Moved function
bodies out of the class definition. Marked all data members const since they
are all initialized in the constructor and never touched again. Restructured
the isSpecialNode function to avoid the repeated checks of the namespace.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::isParsingTemplateContents): Use reference instead of
pointer and free functions instead of member functions.
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Ditto.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): Ditto.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Ditto.
(WebCore::HTMLTreeBuilder::constructTree): Ditto.
(WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope): Ditto.
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processTemplateStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processTemplateEndTag): Ditto.
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): Ditto.
(WebCore::HTMLTreeBuilder::closeTheCell): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
(WebCore::HTMLTreeBuilder::processStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Ditto.
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): Ditto.
(WebCore::HTMLTreeBuilder::processTrEndTagForInRow): Ditto.
(WebCore::HTMLTreeBuilder::processTableEndTagForInTable): Ditto.
(WebCore::HTMLTreeBuilder::processEndTag): Ditto.
(WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto.
(WebCore::HTMLTreeBuilder::processEndOfFile): Ditto.
(WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): Ditto.
(WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): Ditto.
(WebCore::HTMLTreeBuilder::processTokenInForeignContent): Ditto.

7:05 AM Changeset in webkit [177909] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[WinCairo] Crash when font data pointer is null.
https://bugs.webkit.org/show_bug.cgi?id=139969

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-05
Reviewed by Darin Adler.

Source/WebCore:

Added null pointer check.

Test: fonts/unicode-character-font-crash.html

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::advance):
(WebCore::UniscribeController::shape):

LayoutTests:

  • fonts/unicode-character-font-crash-expected.txt: Added.
  • fonts/unicode-character-font-crash.html: Added.
5:07 AM Changeset in webkit [177908] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][GTK] WKPreferencesDefaults test failed after r177506
https://bugs.webkit.org/show_bug.cgi?id=140077

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-01-05
Reviewed by Csaba Osztrogonác.

WebKit C SPI is available on EFL,GTK.
Changed the define order to pass the API test.

  • TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:

(TestWebKitAPI::TEST):

3:42 AM Changeset in webkit [177907] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r176316 - [GTK] Error in documentation of webkit_print_operation_get_page_setup()
https://bugs.webkit.org/show_bug.cgi?id=138868

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-11-19
Reviewed by Carlos Garcia Campos.

Fix copypaste error in documentation of
webkit_print_operation_get_page_setup().

  • UIProcess/API/gtk/WebKitPrintOperation.cpp:
3:41 AM Changeset in webkit [177906] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r176154 - Network process crash when running http/tests/appcache/fallback.html
https://bugs.webkit.org/show_bug.cgi?id=138740

Reviewed by Alexey Proskuryakov.

It happens because ResourceHandle::continueWillSendRequest() is
called with a null request. We could handle that case in the
ResourceHandle, but the thing is tha the behaviour is
not the same for async loads, or when loading in the web
process. In WebResourceLoader::willSendRequest(),
ResourceRequest::willSendRequest() is called, and cancels the load
if the client returns a null request. In this case, the
ResourceLoader is detached and WebResourceLoader::willSendRequest()
returns early without sending the ContinueWillSendRequest message
to the network process. However, for synchronous loads,
NetworkResourceLoader::continueWillSendRequest() is always called.

Fixes http/tests/appcache/fallback.html for GTK port when using
the network process.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::continueWillSendRequest): Do not
call ResourceHandle::continueWillSendRequest() if the client
request is null, since the load is going to be cancelled.

3:34 AM Changeset in webkit [177905] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r175809 - Crash in WebCore::Node::getFlag
https://bugs.webkit.org/show_bug.cgi?id=137961

Reviewed by Antti Koivisto.

Source/WebCore:

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyBlockStyle): Null pointer check added.

LayoutTests:

  • editing/execCommand/crash-137961-expected.txt: Added.
  • editing/execCommand/crash-137961.html: Added.
3:28 AM Changeset in webkit [177904] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r175974 - Protect Document in ProcessingInstruction::setXSLStyleSheet()
<http://webkit.org/b/138621>

Reviewed by Andreas Kling.

The patch is inspired by the following Blink revision by
<tasak@google.com>:
<https://src.chromium.org/viewvc/blink?view=rev&revision=182309>

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::setXSLStyleSheet):

3:02 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
3:01 AM Changeset in webkit [177903] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r176945 - Webkit using Harfbuzz does not display Arabic script correctly
https://bugs.webkit.org/show_bug.cgi?id=136337

Patch by Doron Wloschowsky <doron_wloschowsky@scee.net> on 2014-12-08
Reviewed by Carlos Garcia Campos.

Using reinterpret_cast to convert hb_codepoint_t* into UChar*
doesn't work on big endian systems.

  • platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:

(WebCore::harfBuzzGetGlyph):

2:56 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:55 AM Changeset in webkit [177902] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r175696 - [GTK] [Stable] webkitgtk 2.6.1 fails to load flashplugin
https://bugs.webkit.org/show_bug.cgi?id=137849

Reviewed by Carlos Garcia Campos.

NPPVpluginNeedsXEmbed is a boolean value, so it should normally
use an NPBool (1 byte). However some plugins (the Flash player in
particular) are using an int instead, so we have to do it as well
else we'll end up corrupting the stack.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

2:47 AM Changeset in webkit [177901] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WTF

Merge r175115 - [GTK] Fix build on Hurd
https://bugs.webkit.org/show_bug.cgi?id=138003

Reviewed by Carlos Garcia Campos.

  • wtf/InlineASM.h:
  • wtf/Platform.h:
2:24 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:22 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:21 AM Changeset in webkit [177900] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r176252 - [SOUP] [GnuTLS] Don't use a SSL3.0 record version in client hello.
https://bugs.webkit.org/show_bug.cgi?id=138794

Reviewed by Sergio Villar Senin.

It seems that following POODLE many sites incorrectly banned SSL 3.0
record packet versions. Since GnuTLS uses a SSL 3.0 record to
advertise TLS 1.2, they are effectively banning it even if it doesn't
advertise SSL 3.0. That is a server issue, but it can be worked around
by using the modifier %LATEST_RECORD_VERSION.

With this modifier, GnuTLS will use the latest TLS version record
in client hello instead of using the default SSL 3.0.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

2:17 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:12 AM Changeset in webkit [177899] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

webkit-gtk fails to link JavaScriptCore, missing symbols add_history and readline
https://bugs.webkit.org/show_bug.cgi?id=127059

Patch by Philip Chimento <philip.chimento@gmail.com> on 2014-10-06
Reviewed by Carlos Garcia Campos.

  • GNUmakefile.am: add -ledit to jsc link args on OS_DARWIN.
2:07 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:06 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:05 AM Changeset in webkit [177898] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r167805 - Web process is crashed during dispatching touchEvent created by JS.
https://bugs.webkit.org/show_bug.cgi?id=113225

Patch by Miyoung Shin <myid.shin@samsung.com> on 2014-04-25
Reviewed by Benjamin Poulain.

TouchEvent created by JS should have the necessary attributes
of touches, targetTouches and changedTouches.
It should be verified weather there are touchLists before dispatching touch event.

Source/WebCore:
Test: fast/events/touch/create-touch-event-without-touchList.html

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventPath::updateTouchLists):
(WebCore::addRelatedNodeResolversForTouchList): Deleted.

LayoutTests:

  • fast/events/touch/create-touch-event-without-touchList-expected.txt: Added.
  • fast/events/touch/create-touch-event-without-touchList.html: Added.
1:58 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:25 AM Changeset in webkit [177897] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r169757 - Fix crashes on some plug-in tests.
https://bugs.webkit.org/show_bug.cgi?id=133691
<rdar://problem/17255836>

Reviewed by Anders Carlsson.

  • PluginProcess/PluginControllerProxy.cpp: (WebKit::PluginControllerProxy::initialize):

Cannot use TemporaryChange here, because the object may go away before stack unwinds.

1:23 AM Changeset in webkit [177896] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Disable gst-plugin-scanner if seccomp filters are enabled
https://bugs.webkit.org/show_bug.cgi?id=140069

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-05
Reviewed by Philippe Normand.

If seccomp filters are enabled, any child processes we create are doomed
if they try to use a trapped syscall: the child will receive SIGSYS and
dump core. There appears to be no way around this.

Fortunately, the gstreamer developers had mad prescience and provided
us with a way to move plugin scanning in-process, so we don't need the
helper binary at all.

No new tests because this is covered by existing tests when seccomp
filters are enabled.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::initializeGStreamer):

1:22 AM Changeset in webkit [177895] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4

Merge r170946 - Fix flaky loading tests
https://bugs.webkit.org/show_bug.cgi?id=133696

Reviewed by Ryosuke Niwa.

Source/WebCore:
In some cases, the Frame may be destroyed while the loader is
initializing. Make sure we don't delete it too early.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::init):

LayoutTests:

  • platform/wk2/TestExpectations: Unskip no-longer failing tests
1:20 AM Changeset in webkit [177894] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4

Merge r170135 - Fix flaky beforeload tests
https://bugs.webkit.org/show_bug.cgi?id=133685

Reviewed by David Kilzer.

Source/WebCore:

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):

LayoutTests:

  • platform/wk2/TestExpectations: Unskip tests that are no longer flaky
1:15 AM Changeset in webkit [177893] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r170028 - AX: Safari crashed once in WebCore::AccessibilityObject::ariaIsHidden
https://bugs.webkit.org/show_bug.cgi?id=133825

Reviewed by Enrica Casucci.

Sometimes asking accessibilityIsIgnored() will cause a newObject to be detached immediately after its created.
The creation function holds a reference with RefPtr as long as it lives, but when that method returns, the object goes away.

With that out of the way, I saw the same backtrace lead to updateLayoutIgnorePendingStylesheets being called while still inLayout.

I tried my best but could not create a reproducible layout test.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::updateBackingStore):

1:09 AM Changeset in webkit [177892] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r170026 - AX: Crash at WebCore::AXObjectCache::textChanged
https://bugs.webkit.org/show_bug.cgi?id=133873

Reviewed by Enrica Casucci.

This looks like a very similar problem to
https://bugs.webkit.org/show_bug.cgi?id=133825

The object is being created and deallocated almost right away because calling accessibilityIsIgnored triggers
a deferred layout that invalidates the associated render element.

Despite my best efforts, I could not come up with a way to reproduce this in a layout test.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):

1:07 AM Changeset in webkit [177891] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r169726 - Properly reset UStringSearch object in SearchBuffer constructor.
https://bugs.webkit.org/show_bug.cgi?id=133662
<rdar://problem/17240136>

Reviewed by Tim Horton.

  • editing/TextIterator.cpp: (WebCore::SearchBuffer::~SearchBuffer):
1:05 AM Changeset in webkit [177890] by Carlos Garcia Campos
  • 33 edits
    7 adds in releases/WebKitGTK/webkit-2.4

Merge r169475 - Don't dispatch 'beforeload' event inside FrameView::layout()

<https://bugs.webkit.org/show_bug.cgi?id=132621>

Reviewed by Brent Fulgham.

Source/WebCore:
Tests: fast/events/beforeload-assertion.html

fast/events/beforeload-iframe-crash.html
fast/events/beforeload-input-time-crash.html

  • WebCore.exp.in:
  • dom/Document.cpp:

(WebCore::Document::updateLayoutIgnorePendingStylesheets):

  • dom/Document.h:
  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::renderWidgetForJSBindings):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderWidgetForJSBindings):

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired):
(WebCore::FrameView::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::performPostLayoutTasks):

  • page/FrameView.h:
  • testing/Internals.cpp:

(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

LayoutTests:

  • compositing/plugins/composited-plugin.html:
  • compositing/plugins/no-backing-store.html:
  • fast/dom/beforeload/flash-before-load.html:
  • fast/events/beforeload-assertion-expected.txt: Added.
  • fast/events/beforeload-assertion.html: Added.
  • fast/events/beforeload-iframe-crash-expected.txt: Added.
  • fast/events/beforeload-iframe-crash.html: Added.
  • fast/events/beforeload-input-time-crash-expected.txt: Added.
  • fast/events/beforeload-input-time-crash.html: Added.
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
  • http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:

(testImpl.iframe.onload):
(testImpl):

  • http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
  • platform/mac/plugins/supports-carbon-event-model.html:
  • platform/mac/plugins/testplugin-onnew-onpaint.html:
  • plugins/get-user-agent-with-null-npp-from-npp-new.html:
  • plugins/mouse-click-plugin-clears-selection.html:
  • plugins/netscape-plugin-map-data-to-src.html:
  • plugins/no-mime-with-valid-extension.html:
  • plugins/plugin-initiate-popup-window.html:
  • plugins/windowless_plugin_paint_test.html:
  • resources/plugin.js: Added.

(runAfterPluginLoad):

Conflicts:

Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in

1:04 AM Changeset in webkit [177889] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r166810 - Improve error checking in WebPageProxy::didReceiveEvent
https://bugs.webkit.org/show_bug.cgi?id=131243
<rdar://problem/16529207>

Reviewed by Anders Carlsson.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didReceiveEvent):
12:33 AM Changeset in webkit [177888] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

Merge r167341 - Unreviewed, add the obvious thing that marks MakeRope as exiting since it can exit.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

12:18 AM Changeset in webkit [177887] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

webkit-gtk 2.3.3 fails on darwin/quartz due to duplicate symbols in WebCore
https://bugs.webkit.org/show_bug.cgi?id=126821

Patch by Philip Chimento <philip.chimento@gmail.com> on 2014-10-06
Reviewed by Carlos Garcia Campos.

  • plugins/PluginPackageNone.cpp: Remove PluginPackage::determineQuirks()

from PluginPackageNone.cpp as it also shows up as a duplicate symbol.

12:15 AM Changeset in webkit [177886] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

webkit-gtk 2.3.3 fails on darwin/quartz due to duplicate symbols in WebCore
https://bugs.webkit.org/show_bug.cgi?id=126821

Patch by Philip Chimento <philip.chimento@gmail.com> on 2014-10-06
Reviewed by Carlos Garcia Campos.

  • GNUmakefile.list.am: Add WidgetBackingStoreCairo to platformgtk_sources

for the Quartz build target, otherwise WebKitGTK aborts with an undefined
symbol at runtime.

12:12 AM Changeset in webkit [177885] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

webkit-gtk 2.3.3 fails on darwin/quartz due to duplicate symbols in WebCore
https://bugs.webkit.org/show_bug.cgi?id=126821

Patch by Zan Dobersek <zdobersek@igalia.com> on 2015-01-05
Reviewed by Carlos Garcia Campos.

  • GNUmakefile.list.am: Simplify the logic for determining build

targets that are specific to windowing targets. Avoid nested target
checks and list all the additional build targets for each windowing
target - X11, Wayland, X11 and Wayland (i.e. the build targets that
are shared between the two configurations), Win32 and Quartz. This
avoids the current problems of building duplicate build targets on
Quartz, and also cleans up the list.

Jan 4, 2015:

9:11 PM Changeset in webkit [177884] by Darin Adler
  • 2 edits in trunk/Source/WebCore
  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::parseXML):
Removed an incorrect assertion my last check-in added.

6:24 PM Changeset in webkit [177883] by Darin Adler
  • 9 edits in trunk/Source/WebCore

Modernize and tighten up HTMLDocumentParser
https://bugs.webkit.org/show_bug.cgi?id=140041

Reviewed by Sam Weinig.

  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::parseHTML): Pass a reference instead of
a pointer for the context element.

  • html/FTPDirectoryDocument.cpp: Removed unneeded includes, made more

things in FTPDirectoryDocumentParser private. Use Ref instead of RefPtr
in a could places. Initialize in class instead of in constructor.
(WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
Less initialization here.
(WebCore::FTPDirectoryDocumentParser::createTDForFilename): More Ref here.
(WebCore::createTemplateDocumentData): Removed unneeded initialization
of RefPtr, which is initialized without explicitly asking for it.
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate): Reworded
comment slightly.

  • html/parser/HTMLDocumentParser.cpp: Cut down on includes.

(WebCore::tokenizerStateForContextElement): Fixed URL. Changed argument
to be a reference rather than a pointer.
(WebCore::HTMLDocumentParser::inPumpSession):
(WebCore::HTMLDocumentParser::shouldDelayEnd):
(WebCore::HTMLDocumentParser::HTMLDocumentParser): Marked constructors
inline. Updated for data members that are now objects instead of pointers.
Removed explicit initialization for scalars that are now initialized in
the class definition.
(WebCore::HTMLDocumentParser::create): Moved the private creation
functions in here, out of the header file.
(WebCore::HTMLDocumentParser::~HTMLDocumentParser): Removed unused
m_haveBackgroundParser.
(WebCore::HTMLDocumentParser::prepareToStopParsing): Updated URL and
removed m_haveBackgroundParser reference.
(WebCore::HTMLDocumentParser::processingData): Removed a check of
m_haveBackgroundParser.
(WebCore::HTMLDocumentParser::resumeParsingAfterYield): Tweak comment.
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): Added
a null check of the result of takeScriptToProcess, since there really
is no guarantee it's non-null.
(WebCore::HTMLDocumentParser::canTakeNextToken): Removed assertion
that was for m_haveBackgroundParser cases only. Rewrapped comment.
(WebCore::HTMLDocumentParser::contextForParsingSession): Use nullptr.
(WebCore::HTMLDocumentParser::pumpTokenizer): Rework comments,
remove assertions that no longer make sense, use auto instead of
repeating a long type name, update to use m_token and m_tokenizer.
(WebCore::HTMLDocumentParser::hasInsertionPoint): Rewrapped comment.
(WebCore::HTMLDocumentParser::insert): Got rid of braces around a
single-line if body.
(WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd):
Removed comment about incorrect m_haveBackgroundParser assertion.
(WebCore::HTMLDocumentParser::isExecutingScript): Use && style instead
of early exit for a null check.
(WebCore::HTMLDocumentParser::textPosition): Tightened up code a little.
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): Added
a Ref to protect the parser, as is already done in every other function
that calls pumpTokenizerIfPossible.
(WebCore::HTMLDocumentParser::parseDocumentFragment): Take a reference
instead of a pointer. Also use auto so we get a Ref instead of a RefPtr.

  • html/parser/HTMLDocumentParser.h: Removed unneeded includes.

Made private inheritance explicit instead of just omitting public.
Moved function bodies out of the class, and in some cases, out of the
header entirely. Return a reference from tokenizer(). Marked most
virtual functions final. Made DocumentFragment version of the
constructor private rather than protected. Made the functions
suspendScheduledTasks() and resumeScheduledTasks() private, since
they are always called through a base class. Removed the private
token function since it is better to get at m_token directly.
Removed m_haveBackgroundParser, since we don't have that any more
and it's always false. Also removed forcePlaintextForTextDocument
since the tokenizer is exposed and can be used directly to do that.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Made the parser non-const.
It could only be const before because HTMLDocumentParser::tokenizer
took a const parser and returned a non-const tokenizer, but that doesn't
really make sense.
(WebCore::HTMLTreeBuilder::constructTree): Removed null check for
tokenizer, which was never null. Updated since tokenizer is a reference.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
(WebCore::HTMLTreeBuilder::processEndTag): Ditto. Also fixed and removed
some assertions like the ones I did recently in the rest of this file.
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto.

  • html/parser/HTMLTreeBuilder.h: Made HTMLDocumentParser& non-const.
  • html/parser/TextDocumentParser.cpp: Removed unneeded include and

unneeded explicit destructor.
(WebCore::TextDocumentParser::TextDocumentParser): Updated since
treeBuilder() returns a reference now, and set the tokenizer state
directly since tokenizer() is exposed.

  • html/parser/TextDocumentParser.h: Moved initialization of the

data member here instead of the constructor. Also removed unneeded
explicitly defined destructor.

5:08 PM Changeset in webkit [177882] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/events/autoscroll-should-not-stop-on-keypress.html is flaky in debug builds
https://bugs.webkit.org/show_bug.cgi?id=140060

Reviewed by Darin Adler.

  • fast/events/autoscroll-should-not-stop-on-keypress.html: Instead of waiting a

fixed amount of time, check if the test succeeded every 100ms. In addition to making
the test more reliable on slow builds, it makes the test faster in release mode.

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

Remove GlyphPageTree
https://bugs.webkit.org/show_bug.cgi?id=140015

Follow-up to follow-up, fonts/font-fallback-prefers-pictographs.html is now failing.

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::glyphDataForVariant):
(WebCore::FontGlyphs::glyphDataForNormalVariant):

Make the loop again go one past the last fallback index, the pictograph special case depends on it.

4:16 PM Changeset in webkit [177880] by ap@apple.com
  • 4 edits in trunk/LayoutTests

http/tests/security/cross-frame-access-put.html is racy
https://bugs.webkit.org/show_bug.cgi?id=140059

Reviewed by Darin Adler.

This test used to run some code in a subframe on a zero delay timer, and some more
code in a main frame in onload. The order was undefined.

  • http/tests/security/cross-frame-access-put-expected.txt:
  • http/tests/security/cross-frame-access-put.html:
  • http/tests/security/resources/cross-frame-iframe-for-put-test.html:
4:04 PM Changeset in webkit [177879] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: plugins/plugin-remove-readystatechange.html is failing on debug bots
https://bugs.webkit.org/show_bug.cgi?id=126169

Reviewed by Antti Koivisto.

  • plugins/plugin-remove-readystatechange.html: Move the embed so that it's not the

last rendered element in the test. It's only a workaround, not a real fix - if
anyone is interested in fixing the issue for real, please file a new bug.
Also, demystified the test by using readyState instead of counting readystatechange
events.

3:38 PM Changeset in webkit [177878] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Remove GlyphPageTree
https://bugs.webkit.org/show_bug.cgi?id=140015

Follow-up to r177876 to fix mathml/opentype/munderover-layout-resize.html which is asserting in bots.

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::glyphDataForVariant):
(WebCore::FontGlyphs::glyphDataForNormalVariant):

Always return system fallback if no glyph is found.

3:27 PM Changeset in webkit [177877] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::createAndFillGlyphPage):

1:26 PM Changeset in webkit [177876] by Antti Koivisto
  • 28 edits
    1 move
    2 deletes in trunk/Source

Remove GlyphPageTree
https://bugs.webkit.org/show_bug.cgi?id=140015

Reviewed by Darin Adler.

GlyphPageTree is a global cache consisting of a tree of nodes that match SimpleFontData instances.
The tree levels correspond to font fallback lists so that higher levels fill holes (missing glyphs)
in the lower levels. This patch replaces it with a simpler and easier to understand caching scheme.
In particular the goal is to have clearer ownership relations and better control over mutability.

The new scheme looks like this:

SimpleFontData instances cache GlyphPages for themselves. These pages are immutable after construction
and may contain holes. This is a global cache (since SimpleFontDatas are cached globally) with the same
lifetime as the GlyphPageTree used to have.

FontGlyphs instances cache resolved GlyphPages for the normal font variant. These are build by traversing
the fallback list as necessary and collecting glyphs from SimpleFontDatas. As a common case case optimization
the page from the primary font is cached directly as long as it has the requested glyphs.
FontGlyphs are shared between sufficiently similar Font instances so this is a shared cache as well.

  • CMakeLists.txt:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FontCache.h:

(WebCore::FontDescriptionFontDataCacheKey::makeFlagKey):

nonCJKGlyphOrientation matters for glyph selection too and needs to be part of the FontDescription cache key.

  • platform/graphics/FontData.h:

(WebCore::FontData::FontData):
(WebCore::FontData::setMaxGlyphPageTreeLevel): Deleted.
(WebCore::FontData::maxGlyphPageTreeLevel): Deleted.

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::primaryFontHasGlyphForCharacter):

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::FontGlyphs):
(WebCore::glyphDataForCJKCharacterWithoutSyntheticItalic):
(WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):
(WebCore::FontGlyphs::glyphDataForSystemFallback):
(WebCore::FontGlyphs::glyphDataForVariant):
(WebCore::FontGlyphs::glyphDataForNormalCharacter):

Traverse the fallback list by using simple index instead of indirectly via GlyphPageTreeNode traversal.

(WebCore::pageFromFontData):

Fetch a page from the primary font and see if we can use it as-is.
Vertical fonts have special glyph selection and can't use this path.

(WebCore::FontGlyphs::createFlattenedGlyphPage):

Build a hole-free glyph page by pulling characters from the fallback list.

(WebCore::FontGlyphs::glyphDataForCharacter):

  • platform/graphics/FontGlyphs.h:

(WebCore::FontGlyphs::primarySimpleFontData):

  • platform/graphics/GlyphPage.h:

(WebCore::GlyphPage::createForMixedFontData):
(WebCore::GlyphPage::createCopyForMixedFontData):

Add copy version.

(WebCore::GlyphPage::createForSingleFontData):

Remove owner node field.

(WebCore::GlyphPage::~GlyphPage):
(WebCore::GlyphPage::count):
(WebCore::GlyphPage::GlyphPage):
(WebCore::GlyphPage::createCopiedSystemFallbackPage): Deleted.
(WebCore::GlyphPage::owner): Deleted.

  • platform/graphics/GlyphPageTreeNode.cpp: Removed.
  • platform/graphics/GlyphPageTreeNode.h: Removed.
  • platform/graphics/SegmentedFontData.cpp:

(WebCore::SegmentedFontData::SegmentedFontData):
(WebCore::SegmentedFontData::~SegmentedFontData):
(WebCore::SegmentedFontData::simpleFontDataForCharacter):

Return null when there is no usable range so the client can tell the difference.
Rename for clarity.

(WebCore::SegmentedFontData::simpleFontDataForFirstRange):

Add a way to get the fallback font separately. This is always available.

(WebCore::SegmentedFontData::isLoading):
(WebCore::SegmentedFontData::fontDataForCharacter): Deleted.

  • platform/graphics/SegmentedFontData.h:

(WebCore::SegmentedFontData::SegmentedFontData): Deleted.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::initCharWidths):
(WebCore::SimpleFontData::platformGlyphInit):
(WebCore::SimpleFontData::~SimpleFontData):
(WebCore::SimpleFontData::simpleFontDataForCharacter):
(WebCore::fillGlyphPage):
(WebCore::createAndFillGlyphPage):

Move code for initializing glyph pages here. The code is from GlyphPageTreeNode.

(WebCore::SimpleFontData::glyphPage):

Cache glyphs for this font. These pages may have holes.

(WebCore::SimpleFontData::glyphForCharacter):
(WebCore::SimpleFontData::glyphDataForCharacter):
(WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):

Since the cache is now owned by the SimpleFontData all the custom pruning can go away.
The glyph page cache dies along with it owner.

(WebCore::SimpleFontData::fontDataForCharacter): Deleted.

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(-[WebCascadeList objectAtIndex:]):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::fontDataForCombiningCharacterSequence):

  • platform/graphics/mac/GlyphPageMac.cpp: Copied from Source/WebCore/platform/graphics/mac/GlyphPageTreeNodeMac.cpp.

This was already misnamed.

(WebCore::GlyphPage::fill):

  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Removed.
  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformInit):

  • platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
  • platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
  • platform/graphics/win/SimpleFontDataCGWin.cpp:

(WebCore::SimpleFontData::platformInit):

  • platform/mac/DragImageMac.mm:

Add missing FontCachePurgePreventer.

(WebCore::createDragImageForLink):

  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::initializeFontData):

  • svg/SVGFontElement.cpp:
12:14 PM Changeset in webkit [177875] by andersca@apple.com
  • 33 edits in trunk/Source/WebKit2

Clean up some of the IPC code
https://bugs.webkit.org/show_bug.cgi?id=140057

Reviewed by Antti Koivisto.

Use std::mutex instead of WTF::Mutex. Change a couple of pointers to references in the connection client.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::didClose):
(WebKit::DatabaseProcess::didReceiveInvalidMessage):

  • DatabaseProcess/DatabaseProcess.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::didClose):
(WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):

  • DatabaseProcess/DatabaseToWebProcessConnection.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::didReceiveInvalidMessage):

  • NetworkProcess/NetworkProcess.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendMessage):
(IPC::Connection::waitForMessage):
(IPC::Connection::connectionDidClose):
(IPC::Connection::sendOutgoingMessages):
(IPC::Connection::dispatchDidReceiveInvalidMessage):
(IPC::Connection::enqueueIncomingMessage):
(IPC::Connection::dispatchMessage):
(IPC::Connection::dispatchOneMessage):

  • Platform/IPC/Connection.h:
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::didClose):
(WebKit::PluginProcess::didReceiveInvalidMessage):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::didClose):
(WebKit::WebProcessConnection::didReceiveInvalidMessage):

  • PluginProcess/WebProcessConnection.h:
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::didClose):
(WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):

  • UIProcess/Databases/DatabaseProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::didReceiveInvalidMessage):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didClose):
(WebKit::PluginProcessProxy::didReceiveInvalidMessage):

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didClose):
(WebKit::WebProcessProxy::didReceiveInvalidMessage):

  • UIProcess/WebProcessProxy.h:
  • WebProcess/Databases/WebToDatabaseProcessConnection.cpp:

(WebKit::WebToDatabaseProcessConnection::didClose):
(WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Databases/WebToDatabaseProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didClose):
(WebKit::NetworkProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::didClose):
(WebKit::PluginProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Plugins/PluginProcessConnection.h:
  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebInspectorUI.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didClose):
(WebKit::WebProcess::didReceiveInvalidMessage):

  • WebProcess/WebProcess.h:
11:39 AM Changeset in webkit [177874] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Remove an unused function
https://bugs.webkit.org/show_bug.cgi?id=140055

Reviewed by Sam Weinig.

  • Modules/webdatabase/DatabaseAuthorizer.cpp:

(WebCore::DatabaseAuthorizer::setReadOnly): Deleted.

  • Modules/webdatabase/DatabaseAuthorizer.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::setAuthorizerReadOnly): Deleted.

  • Modules/webdatabase/DatabaseBackendBase.h:
10:57 AM Changeset in webkit [177873] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Modernize parts of the database code
https://bugs.webkit.org/show_bug.cgi?id=140054

Reviewed by Antti Koivisto.

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::runTransaction):

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/SQLStatement.cpp:

(WebCore::SQLStatement::SQLStatement):

  • Modules/webdatabase/SQLStatement.h:
  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::create):
(WebCore::SQLTransaction::SQLTransaction):
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
(WebCore::SQLTransaction::executeSQL):

  • Modules/webdatabase/SQLTransaction.h:

(WebCore::SQLTransaction::database):

Jan 3, 2015:

10:35 PM Changeset in webkit [177872] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Move the CSS Grid properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140051

Reviewed by Sam Weinig.

Move the CSS Grid properties from StyleResolver to the new
StyleBuilder.

This patch adds support for "ConditionalConverter" parameter in
CSSPropertyNames.in to support cases where we only want to call the
property setter conditionally. The converter function is then expected
to return a boolean to indicate if the setter should be called by the
StyleBuilder or not.

7:47 PM Changeset in webkit [177871] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

Crash in operationNewFunction when scrolling on Google+
https://bugs.webkit.org/show_bug.cgi?id=140033

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

In DFG code, the scope register can be eliminated because all uses have been
dead code eliminated. In the case where one of the uses was creating a function
that is never used, the baseline code will still create the function. If we OSR
exit to a path where that function gets created, check the scope register value
and set the new, but dead, function to undefined instead of creating a new function.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_new_func_exp):

LayoutTests:

New regerssion test.

  • js/regress-140033-expected.txt: Added.
  • js/regress-140033.html: Added.
  • js/script-tests/regress-140033.js: Added.

(.unused):
(defineADeadFunction):

Note: See TracTimeline for information about the timeline view.