Timeline



Feb 21, 2014:

11:24 PM Changeset in webkit [164532] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

REGRESSION(r164412): Pixel cracks when zooming in to any web content.
https://bugs.webkit.org/show_bug.cgi?id=129195

Reviewed by Simon Fraser.

Integral clipping of the repaint rect was prematurely removed in RenderLayerBacking::paintContents().
Repaint rects needs a uniform, device pixel precise clipping across the painting flow including RenderLayer,
RenderView and TileController.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintContents):
(WebCore::RenderLayerBacking::compositedBoundsIncludingMargin):

11:20 PM Changeset in webkit [164531] by krit@webkit.org
  • 5 edits
    128 adds in trunk/LayoutTests

Replace svg/clip-path pixel tests by reference tests
https://bugs.webkit.org/show_bug.cgi?id=129177

Reviewed by Dean Jackson.

New reference tests for SVG clip-path.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
  • svg/clip-path/clip-path-clip-expected.svg: Added.
  • svg/clip-path/clip-path-clip-nested-twice-expected.svg: Added.
  • svg/clip-path/clip-path-clip-nested-twice.svg: Added.
  • svg/clip-path/clip-path-clip-rule-001-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-001.svg: Added.
  • svg/clip-path/clip-path-clip-rule-002-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-002.svg: Added.
  • svg/clip-path/clip-path-clip-rule-003-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-003.svg: Added.
  • svg/clip-path/clip-path-clip-rule-004-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-004.svg: Added.
  • svg/clip-path/clip-path-clip-rule-005-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-005.svg: Added.
  • svg/clip-path/clip-path-clip-rule-006-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-006.svg: Added.
  • svg/clip-path/clip-path-clip-rule-007-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-007.svg: Added.
  • svg/clip-path/clip-path-clip-rule-008-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-008.svg: Added.
  • svg/clip-path/clip-path-clip-rule-009-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-009.svg: Added.
  • svg/clip-path/clip-path-clip-rule-010-expected.svg: Added.
  • svg/clip-path/clip-path-clip-rule-010.svg: Added.
  • svg/clip-path/clip-path-clip.svg: Added.
  • svg/clip-path/clip-path-content-clip-001-expected.svg: Added.
  • svg/clip-path/clip-path-content-clip-001.svg: Added.
  • svg/clip-path/clip-path-content-clip-002-expected.svg: Added.
  • svg/clip-path/clip-path-content-clip-002.svg: Added.
  • svg/clip-path/clip-path-content-clip-003-expected.svg: Added.
  • svg/clip-path/clip-path-content-clip-003.svg: Added.
  • svg/clip-path/clip-path-content-invisible-expected.svg: Added.
  • svg/clip-path/clip-path-content-invisible.svg: Added.
  • svg/clip-path/clip-path-content-syling-expected.svg: Added.
  • svg/clip-path/clip-path-content-syling.svg: Added.
  • svg/clip-path/clip-path-content-use-001-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-001.svg: Added.
  • svg/clip-path/clip-path-content-use-002-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-002.svg: Added.
  • svg/clip-path/clip-path-content-use-003-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-003.svg: Added.
  • svg/clip-path/clip-path-content-use-004-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-004.svg: Added.
  • svg/clip-path/clip-path-content-use-005-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-005.svg: Added.
  • svg/clip-path/clip-path-content-use-006-expected.svg: Added.
  • svg/clip-path/clip-path-content-use-006.svg: Added.
  • svg/clip-path/clip-path-css-transform-001-expected.svg: Added.
  • svg/clip-path/clip-path-css-transform-001.svg: Added.
  • svg/clip-path/clip-path-css-transform-002-expected.svg: Added.
  • svg/clip-path/clip-path-css-transform-002.svg: Added.
  • svg/clip-path/clip-path-invalid-expected.svg: Added.
  • svg/clip-path/clip-path-invalid.svg: Added.
  • svg/clip-path/clip-path-no-content-001-expected.svg: Added.
  • svg/clip-path/clip-path-no-content-001.svg: Added.
  • svg/clip-path/clip-path-no-content-002-expected.svg: Added.
  • svg/clip-path/clip-path-no-content-002.svg: Added.
  • svg/clip-path/clip-path-no-content-003-expected.svg: Added.
  • svg/clip-path/clip-path-no-content-003.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-001-expected.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-001.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-002-expected.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-002.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-003-expected.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-003.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-004-expected.svg: Added.
  • svg/clip-path/clip-path-objectboundingbox-004.svg: Added.
  • svg/clip-path/clip-path-on-g-001-expected.svg: Added.
  • svg/clip-path/clip-path-on-g-001.svg: Added.
  • svg/clip-path/clip-path-on-g-002-expected.svg: Added.
  • svg/clip-path/clip-path-on-g-002.svg: Added.
  • svg/clip-path/clip-path-on-g-003-expected.svg: Added.
  • svg/clip-path/clip-path-on-g-003.svg: Added.
  • svg/clip-path/clip-path-on-g-004-expected.svg: Added.
  • svg/clip-path/clip-path-on-g-004.svg: Added.
  • svg/clip-path/clip-path-on-g-005-expected.svg: Added.
  • svg/clip-path/clip-path-on-g-005.svg: Added.
  • svg/clip-path/clip-path-on-svg-001-expected.svg: Added.
  • svg/clip-path/clip-path-on-svg-001.svg: Added.
  • svg/clip-path/clip-path-on-svg-002-expected.svg: Added.
  • svg/clip-path/clip-path-on-svg-002.svg: Added.
  • svg/clip-path/clip-path-on-use-001-expected.svg: Added.
  • svg/clip-path/clip-path-on-use-001.svg: Added.
  • svg/clip-path/clip-path-on-use-002-expected.svg: Added.
  • svg/clip-path/clip-path-on-use-002.svg: Added.
  • svg/clip-path/clip-path-precision-001-expected.svg: Added.
  • svg/clip-path/clip-path-precision-001.svg: Added.
  • svg/clip-path/clip-path-text-001-expected.svg: Added.
  • svg/clip-path/clip-path-text-001.svg: Added.
  • svg/clip-path/clip-path-text-002-expected.svg: Added.
  • svg/clip-path/clip-path-text-002.svg: Added.
  • svg/clip-path/clip-path-text-003-expected.svg: Added.
  • svg/clip-path/clip-path-text-003.svg: Added.
  • svg/clip-path/clip-path-text-004-expected.svg: Added.
  • svg/clip-path/clip-path-text-004.svg: Added.
  • svg/clip-path/clip-path-text-005-expected.svg: Added.
  • svg/clip-path/clip-path-text-005.svg: Added.
  • svg/clip-path/clip-path-userspaceonuse-001-expected.svg: Added.
  • svg/clip-path/clip-path-userspaceonuse-001.svg: Added.
  • svg/clip-path/mask-nested-clip-path-001-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-001.svg: Added.
  • svg/clip-path/mask-nested-clip-path-002-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-002.svg: Added.
  • svg/clip-path/mask-nested-clip-path-003-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-003.svg: Added.
  • svg/clip-path/mask-nested-clip-path-004-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-004.svg: Added.
  • svg/clip-path/mask-nested-clip-path-005-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-005.svg: Added.
  • svg/clip-path/mask-nested-clip-path-006-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-006.svg: Added.
  • svg/clip-path/mask-nested-clip-path-007-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-007.svg: Added.
  • svg/clip-path/mask-nested-clip-path-008-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-008.svg: Added.
  • svg/clip-path/mask-nested-clip-path-009-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-009.svg: Added.
  • svg/clip-path/mask-nested-clip-path-panning-001-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-panning-001.svg: Added.
  • svg/clip-path/mask-nested-clip-path-panning-002-expected.svg: Added.
  • svg/clip-path/mask-nested-clip-path-panning-002.svg: Added.
  • svg/clip-path/mask-objectboundingbox-content-clip-expected.svg: Added.
  • svg/clip-path/mask-objectboundingbox-content-clip-transform-expected.svg: Added.
  • svg/clip-path/mask-objectboundingbox-content-clip-transform.svg: Added.
  • svg/clip-path/mask-objectboundingbox-content-clip.svg: Added.
  • svg/clip-path/mask-userspaceonuse-content-clip-expected.svg: Added.
  • svg/clip-path/mask-userspaceonuse-content-clip-transform-expected.svg: Added.
  • svg/clip-path/mask-userspaceonuse-content-clip-transform.svg: Added.
  • svg/clip-path/mask-userspaceonuse-content-clip.svg: Added.
10:56 PM Changeset in webkit [164530] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed Mac build fix after r164529.

Replace the string-to-array algorithm with a archictecture-independant
one.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest):

10:17 PM Changeset in webkit [164529] by jer.noble@apple.com
  • 8 edits
    2 adds in trunk/Source/WebCore

[EME] Add a CDMSession for MediaPlayerPrivateMediaSourceAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=129166

Reviewed by Eric Carlson.

Add a new CDMSession, cerated by MediaPlayerPrivateMediaSourceAVFObjC allowing
media-source-backed media elements to play protected content.

Add a new CDMSessionMediaSourceAVFObjC class:

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: Added.

(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC):

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: Added.

(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC):
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Do not actually generate a

key request until the certificate data has been added via update();

(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): No-op.
(WebCore::CDMSessionMediaSourceAVFObjC::update): If no certificate data has yet been

added, assume the incoming message contains it.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): Add supportsKeySystem.
(WebCore::keySystemIsSupported): Use "com.apple.fps.2_0" to distinguish from the not-media-source scheme.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Check the keySystem type.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsKeySystem): Added.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createSession): Added, pass through to MediaSourcePrivate.

  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:

(WebCore::MediaSourcePrivateAVFObjC::createSession): Added.
(WebCore::MediaSourcePrivateAVFObjC::sourceBufferKeyNeeded): Pass through to MediaPlayer.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]):

Added, pass through to SourceBufferPrivate.

(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): Remember

which track is requesting the key, and pass the request to MediaSourcePrivate.

Add new files to the project.

  • WebCore.xcodeproj/project.pbxproj:
10:07 PM Changeset in webkit [164528] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify contains seemingly accidental unreachable code
https://bugs.webkit.org/show_bug.cgi?id=129193

Reviewed by Joseph Pecoraro.

  • crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Fix the accidental code.

9:05 PM Changeset in webkit [164527] by Brent Fulgham
  • 14 edits in trunk/Source

Extend media support for WebVTT sources
https://bugs.webkit.org/show_bug.cgi?id=129156

Reviewed by Eric Carlson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::outOfBandTrackSources): Added.

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::outOfBandTrackSources): Added.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::outOfBandTrackSources): Added.

  • platform/graphics/PlatformTextTrack.h:

(WebCore::PlatformTextTrack::create): Update for new constructor signature.
(WebCore::PlatformTextTrack::createOutOfBand): Added.
(WebCore::PlatformTextTrack::url): Added.
(WebCore::PlatformTextTrack::isDefault): Added.
(WebCore::PlatformTextTrack::PlatformTextTrack): Revised to take new URL and
'isDefault' arguments.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::mediaDescriptionForKind): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation about any
WebVTT tracks supplied by the web page.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): Filter out any out-of-band
WebVTT tracks returned by the media engine to avoid double-counting tracks.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS
8:09 PM Changeset in webkit [164526] by rniwa@webkit.org
  • 23 edits in trunk

Inner text element should not use -webkit-user-modify
https://bugs.webkit.org/show_bug.cgi?id=129035

Reviewed by Andreas Kling.

Source/WebCore:

To eliminate the internal use of -webkit-user-modify, use contenteditable attribute in the inner text elements
instead of manually inspecting disabled-ness and readonly-ness in RenderTextControl.

Unfortunately, we still have to manually set UserModify value in RenderTextControl::adjustInnerTextStyle since
RenderTextControl::styleDidChange creates RenderStyle for its inner text from scratch via createInnerTextStyle.

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::disabledStateChanged): Don't use childrenOfType iterator which asserts that DOM
isn't mutated during the traversal since we now set contenteditable attribute inside disabledStateChanged via
updateFromControlElementsAncestorDisabledStateUnder.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::parseAttribute): Extracted readOnlyAttributeChanged out of this function so
that HTMLTextFormControl could override it to call updateInnerTextElementEditability.
(WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto.

  • html/HTMLFormControlElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability after creating
shadow DOM for the current input type.
(WebCore::HTMLInputElement::updateType): Ditto.
(WebCore::HTMLInputElement::parseAttribute): Ditto.

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::disabledStateChanged): Added to update contenteditable attribute since
the editability of the inner text element depends on disabled-ness of the element.
(WebCore::HTMLTextFormControlElement::readOnlyAttributeChanged): Ditto for the readonly-ness of the element.
(WebCore::HTMLTextFormControlElement::updateInnerTextElementEditability): Added.

  • html/HTMLTextFormControlElement.h:
  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::adjustInnerTextStyle): Use the inner text element's presentationAttributeStyle() to
compute the appropriate EUserModify value instead of hard-coding it here.

  • rendering/RenderTextControl.h:

LayoutTests:

Rebaselined tests as the user agent shadow DOM of input and textarea elements now have contenteditable attribute.

  • editing/input/paste-text-ending-with-interchange-newline-expected.txt:
  • editing/inserting/5607069-2-expected.txt:
  • editing/inserting/5607069-3-expected.txt:
  • editing/pasteboard/copy-image-with-alt-text-expected.txt:
  • editing/pasteboard/copy-null-characters-expected.txt:
  • editing/pasteboard/nested-blocks-with-text-area-expected.txt:
  • editing/pasteboard/nested-blocks-with-text-field-expected.txt:
  • editing/selection/dump-as-markup-expected.txt:
  • editing/selection/dump-as-markup-form-text-expected.txt:
  • fast/forms/suggested-value-after-setvalue-expected.txt:
  • fast/forms/suggested-value-expected.txt:
  • fast/parser/object-with-textarea-fallback-expected.txt:
7:56 PM Changeset in webkit [164525] by ChangSeok Oh
  • 4 edits in trunk/Source/WebCore

[GTK] Support WEBGL_draw_buffers extension.
https://bugs.webkit.org/show_bug.cgi?id=129143

Reviewed by Dean Jackson.

Support the WEBGL_draw_buffers WebGL extension for gtk port. Relevant opengl APIs
are exposed for WebGLRenderingContext to access them properly.

Covered by fast/canvas/webgl/webgl-draw-buffers.html

  • platform/graphics/OpenGLShims.cpp:

(WebCore::initializeOpenGLShims):

  • platform/graphics/OpenGLShims.h:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::supportsExtension):
(WebCore::Extensions3DOpenGL::drawBuffersEXT):

7:53 PM Changeset in webkit [164524] by ChangSeok Oh
  • 4 edits in trunk/Source/WebCore

Mac port uses ANGLE_instanced_arrays related apis through those in GraphicsContext3DCommon.cpp
https://bugs.webkit.org/show_bug.cgi?id=128803

Reviewed by Dean Jackson.

Merge mac port implementation of ANGLE_instanced_arrays into common code.

No new tests, no functionality changed.

  • platform/graphics/mac/GraphicsContext3DMac.mm:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::drawArraysInstanced):
(WebCore::Extensions3DOpenGL::drawElementsInstanced):
(WebCore::Extensions3DOpenGL::vertexAttribDivisor):

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::vertexAttribDivisor):

7:39 PM Changeset in webkit [164523] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Keyboard appears every time a link is tapped after searching Google
<rdar://problem/16072563>.

Reviewed by Benjamin Poulain.

We need to stop assisting the node if we have
navigated to a different page.

  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView _didCommitLoadForMainFrame]):

7:15 PM Changeset in webkit [164522] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

Made WKWebView implement all WKContentViewDelegate methods.

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView takeViewSnapshotForContentView:]): Moved from WKViewIOS.mm.

  • UIProcess/API/ios/WKContentView.h: Made all protocol methods required.
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): Removed code
to set self as the delegate on the content view.

7:14 PM Changeset in webkit [164521] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

After copy and paste, cursor may appear to be above the bottom of content
https://bugs.webkit.org/show_bug.cgi?id=129167

Reviewed by Ryosuke Niwa.

Source/WebCore:

Adding a clear:both to the end of content.

I can't handle the case of the cursor appearing above the bottom of
absolutely positioned divs (of the case of floats inside absolutely
positioned divs) because you can't know where the bottom of a div
will end up being rendered (it is affected by things like browser
window width and text size settings). Therefore, the only case I
can handle is the case where there is a floating div in the same
level as the document itself.

Test: editing/pasteboard/copy-paste-inserts-clearing-div.html

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::isFloating):

  • editing/EditingStyle.h:
  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
(WebCore::StyledMarkupAccumulator::appendElement):
(WebCore::createMarkupInternal):

LayoutTests:

Makes sure that the clearing div is inserted.

  • editing/pasteboard/copy-paste-inserts-clearing-div-expected.txt: Added.
  • editing/pasteboard/copy-paste-inserts-clearing-div.html: Added.
6:58 PM Changeset in webkit [164520] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix after r164505

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Update exports

definition for TreeScope::getElementById.

6:45 PM Changeset in webkit [164519] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS Media] Wireless target UI
https://bugs.webkit.org/show_bug.cgi?id=129189
<rdar://problem/15349928>
<rdar://problem/16100060>

Reviewed by Eric Carlson.

Implement a prototype UI for wireless playback targets. The UI
doesn't currently work, but can be simulated via a class variable
in ControllerIOS.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-panel button): Reset the default style of
button elements, to avoid getting a border.
(audio::-webkit-media-controls-wireless-playback-status): Holds the UI showing
the user that the media is playing on another target.
(audio::-webkit-media-controls-wireless-playback-status.hidden):
(audio::-webkit-media-controls-wireless-playback-picker-button): The button to
trigger selection of targets.
(audio::-webkit-media-controls-wireless-playback-picker-button.active):
(audio::-webkit-media-controls-panel): This needs to be position absolute for
the wireless playback status to fill the viewport.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS): Check for targets.
(ControllerIOS.prototype.addVideoListeners):
(ControllerIOS.prototype.removeVideoListeners):
(ControllerIOS.prototype.UIString): New method to return localized strings (with
a FIXME).
(ControllerIOS.prototype.shouldHaveAnyUI): Needs to display if there is a wireless
target.
(ControllerIOS.prototype.currentPlaybackTargetIsWireless):
(ControllerIOS.prototype.updateWirelessPlaybackStatus): Create the status content,
replacing the device name if it is available.
(ControllerIOS.prototype.updateWirelessTargetAvailable):
(ControllerIOS.prototype.createControls):
(ControllerIOS.prototype.configureInlineControls):
(ControllerIOS.prototype.handleWirelessPlaybackChange):
(ControllerIOS.prototype.handleWirelessTargetAvailableChange):
(ControllerIOS.prototype.handleWirelessPickerButtonClicked):

5:58 PM Changeset in webkit [164518] by Brian Burg
  • 10 edits
    789 moves
    32 adds
    8 deletes in trunk/LayoutTests

Move unported Web Inspector tests to LayoutTests/inspector-obsolete
https://bugs.webkit.org/show_bug.cgi?id=129183

Rubber-stamped by Timothy Hatcher.

Move inspector/ to inspector-obsolete/.
Move http/tests/inspector/ to inspector-obsolete/http-tests/.
Fold http/tests/inspector-enabled/ into inspector-obsolete/http-tests/.

I have elided about 1100 lines of rename Changelog spew;
no filenames have been altered in this reorganization.

Remove mentions of obsolete tests from TestExpectations. Remove skips
for inspector-obsolete/ from port-specific expectations, and just
put it in the generic expectations file.

Remove inspector-protocol/heap-profiler tests, as they are obsolete.

  • TestExpectations:
    • inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree-expected.txt: Removed.
  • inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree.html: Removed.
  • inspector-protocol/heap-profiler/heap-snapshot-with-event-listener-expected.txt: Removed.
  • inspector-protocol/heap-profiler/heap-snapshot-with-event-listener.html: Removed.
  • inspector-protocol/heap-profiler/resources/heap-snapshot-common.js: Removed.
  • inspector-protocol/heap-profiler/resources/page-with-function.html: Removed.
  • inspector-protocol/heap-profiler/take-heap-snapshot-expected.txt: Removed.
  • inspector-protocol/heap-profiler/take-heap-snapshot.html: Removed.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win-xp/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wk2/TestExpectations:
5:03 PM Changeset in webkit [164517] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/16073882> Please add _AbandonCoalition key to plugin XPC service Info.plist

Anders Carlsson.

  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
4:31 PM Changeset in webkit [164516] by jpfau@apple.com
  • 6 edits in trunk

[Mac] Cache callbacks for cache partitioning may be passed null
https://bugs.webkit.org/show_bug.cgi?id=129175

Reviewed by Brady Eidson.

Source/WebKit2:

  • WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:

(WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):

WebKitLibraries:

  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
4:28 PM Changeset in webkit [164515] by Brian Burg
  • 1 edit
    356 deletes in trunk/LayoutTests

Web Inspector: remove old inspector tests that cannot be ported
https://bugs.webkit.org/show_bug.cgi?id=129168

Reviewed by Timothy Hatcher.

Remove many tests that were specific to the old inspector user interface.
These cannot be ported either because they were specific to the UI, or
they test features that no longer exist in the Web Inspector.

  • inspector/audits/audits-panel-functional-expected.txt: Removed.
  • inspector/audits/audits-panel-functional.html: Removed.
  • inspector/audits/audits-panel-noimages-functional-expected.txt: Removed.
  • inspector/audits/audits-panel-noimages-functional.html: Removed.
  • inspector/audits/audits-test.js: Removed.
  • inspector/audits/resources/audits-script1.js: Removed.
  • inspector/audits/resources/audits-script2.js: Removed.
  • inspector/audits/resources/audits-style1.css: Removed.
  • inspector/console/command-line-api-getEventListeners-expected.txt: Removed.
  • inspector/console/command-line-api-getEventListeners.html: Removed.
  • inspector/console/console-big-array-expected.txt: Removed.
  • inspector/console/console-big-array.html: Removed.
  • inspector/console/console-clear-expected.txt: Removed.
  • inspector/console/console-clear.html: Removed.
  • inspector/console/console-dirxml-expected.txt: Removed.
  • inspector/console/console-dirxml.html: Removed.
  • inspector/console/console-filter-test-expected.txt: Removed.
  • inspector/console/console-filter-test.html: Removed.
  • inspector/console/console-format-collections-expected.txt: Removed.
  • inspector/console/console-format-collections.html: Removed.
  • inspector/console/console-format-expected.txt: Removed.
  • inspector/console/console-format-style-expected.txt: Removed.
  • inspector/console/console-format-style-whitelist-expected.txt: Removed.
  • inspector/console/console-format-style-whitelist.html: Removed.
  • inspector/console/console-format-style.html: Removed.
  • inspector/console/console-format-table-expected.txt: Removed.
  • inspector/console/console-format-table.html: Removed.
  • inspector/console/console-format.html: Removed.
  • inspector/console/console-trim-long-urls-expected.txt: Removed.
  • inspector/console/console-trim-long-urls.html: Removed.
  • inspector/cookie-parser-expected.txt: Removed.
  • inspector/cookie-parser.html: Removed.
  • inspector/cookie-resource-match-expected.txt: Removed.
  • inspector/cookie-resource-match.html: Removed.
  • inspector/curl-command-expected.txt: Removed.
  • inspector/curl-command.html: Removed.
  • inspector/database-table-name-excaping-expected.txt: Removed.
  • inspector/database-table-name-excaping.html: Removed.
  • inspector/datagrid-autosize-expected.txt: Removed.
  • inspector/datagrid-autosize.html: Removed.
  • inspector/debugger/breakpoint-manager-listeners-count-expected.txt: Removed.
  • inspector/debugger/breakpoint-manager-listeners-count.html: Removed.
  • inspector/debugger/callstack-placards-discarded-expected.txt: Removed.
  • inspector/debugger/callstack-placards-discarded.html: Removed.
  • inspector/debugger/content-providers-expected.txt: Removed.
  • inspector/debugger/content-providers.html: Removed.
  • inspector/debugger/debug-inlined-scripts-expected.txt: Removed.
  • inspector/debugger/debug-inlined-scripts.html-disabled: Removed.
  • inspector/debugger/debugger-expand-scope-expected.txt: Removed.
  • inspector/debugger/debugger-expand-scope.html: Removed.
  • inspector/debugger/debugger-proto-property-expected.txt: Removed.
  • inspector/debugger/debugger-proto-property.html: Removed.
  • inspector/debugger/debugger-script-preprocessor-expected.txt: Removed.
  • inspector/debugger/debugger-script-preprocessor.html: Removed.
  • inspector/debugger/debugger-step-into-event-listener-expected.txt: Removed.
  • inspector/debugger/debugger-step-into-event-listener.html: Removed.
  • inspector/debugger/disable-script-expected.txt: Removed.
  • inspector/debugger/disable-script.html: Removed.
  • inspector/debugger/dom-breakpoints-expected.txt: Removed.
  • inspector/debugger/dom-breakpoints.html: Removed.
  • inspector/debugger/dynamic-script-tag-expected.txt: Removed.
  • inspector/debugger/dynamic-script-tag.html: Removed.
  • inspector/debugger/dynamic-scripts-expected.txt: Removed.
  • inspector/debugger/dynamic-scripts.html: Removed.
  • inspector/debugger/error-in-watch-expressions-expected.txt: Removed.
  • inspector/debugger/error-in-watch-expressions.html: Removed.
  • inspector/debugger/event-listener-breakpoints-expected.txt: Removed.
  • inspector/debugger/event-listener-breakpoints.html: Removed.
  • inspector/debugger/file-system-project-mapping-expected.txt: Removed.
  • inspector/debugger/file-system-project-mapping.html: Removed.
  • inspector/debugger/linkifier-expected.txt: Removed.
  • inspector/debugger/linkifier.html: Removed.
  • inspector/debugger/live-edit-breakpoints-expected.txt: Removed.
  • inspector/debugger/live-edit-breakpoints.html: Removed.
  • inspector/debugger/live-edit-expected.txt: Removed.
  • inspector/debugger/live-edit.html: Removed.
  • inspector/debugger/mutation-observer-suspend-while-paused-expected.txt: Removed.
  • inspector/debugger/mutation-observer-suspend-while-paused.html: Removed.
  • inspector/debugger/navigator-view-expected.txt: Removed.
  • inspector/debugger/navigator-view.html: Removed.
  • inspector/debugger/network-uisourcecode-provider-expected.txt: Removed.
  • inspector/debugger/network-uisourcecode-provider.html: Removed.
  • inspector/debugger/properties-special-expected.txt: Removed.
  • inspector/debugger/properties-special.html: Removed.
  • inspector/debugger/resource-script-mapping-expected.txt: Removed.
  • inspector/debugger/resource-script-mapping.html: Removed.
  • inspector/debugger/reveal-execution-line-expected.txt: Removed.
  • inspector/debugger/reveal-execution-line.html: Removed.
  • inspector/debugger/script-extract-outline-expected.txt: Removed.
  • inspector/debugger/script-extract-outline.html: Removed.
  • inspector/debugger/script-formatter-breakpoints-expected.txt: Removed.
  • inspector/debugger/script-formatter-breakpoints.html: Removed.
  • inspector/debugger/script-formatter-console-expected.txt: Removed.
  • inspector/debugger/script-formatter-console.html: Removed.
  • inspector/debugger/script-snippet-model-expected.txt: Removed.
  • inspector/debugger/script-snippet-model.html: Removed.
  • inspector/debugger/scripts-panel-expected.txt: Removed.
  • inspector/debugger/scripts-panel.html: Removed.
  • inspector/debugger/scripts-sorting-expected.txt: Removed.
  • inspector/debugger/scripts-sorting.html: Removed.
  • inspector/debugger/selected-call-frame-after-formatting-source-expected.txt: Removed.
  • inspector/debugger/selected-call-frame-after-formatting-source.html: Removed.
  • inspector/debugger/set-breakpoint-expected.txt: Removed.
  • inspector/debugger/set-breakpoint.html: Removed.
  • inspector/debugger/source-frame-count-expected.txt: Removed.
  • inspector/debugger/source-frame-count.html: Removed.
  • inspector/debugger/source-frame-expected.txt: Removed.
  • inspector/debugger/source-frame.html: Removed.
  • inspector/debugger/step-through-event-listeners-expected.txt: Removed.
  • inspector/debugger/step-through-event-listeners.html: Removed.
  • inspector/debugger/ui-source-code-display-name-expected.txt: Removed.
  • inspector/debugger/ui-source-code-display-name.html: Removed.
  • inspector/debugger/ui-source-code-expected.txt: Removed.
  • inspector/debugger/ui-source-code.html: Removed.
  • inspector/debugger/watch-expressions-panel-switch-expected.txt: Removed.
  • inspector/debugger/watch-expressions-panel-switch.html: Removed.
  • inspector/debugger/watch-expressions-preserve-expansion-expected.txt: Removed.
  • inspector/debugger/watch-expressions-preserve-expansion.html: Removed.
  • inspector/debugger/xhr-breakpoints-expected.txt: Removed.
  • inspector/debugger/xhr-breakpoints.html: Removed.
  • inspector/dom-statistics-expected.txt: Removed.
  • inspector/dom-statistics.html-disabled: Removed.
  • inspector/editor/brace-matcher-expected.txt: Removed.
  • inspector/editor/brace-matcher.html: Removed.
  • inspector/editor/editor-test.js: Removed.
  • inspector/editor/highlighter-basics-expected.txt: Removed.
  • inspector/editor/highlighter-basics.html: Removed.
  • inspector/editor/highlighter-chunk-limit-expected.txt: Removed.
  • inspector/editor/highlighter-chunk-limit.html: Removed.
  • inspector/editor/highlighter-long-line-expected.txt: Removed.
  • inspector/editor/highlighter-long-line.html: Removed.
  • inspector/editor/highlighter-paste-in-comment-expected.txt: Removed.
  • inspector/editor/highlighter-paste-in-comment.html: Removed.
  • inspector/editor/highlighter-test.js: Removed.
  • inspector/editor/indentation-expected.txt: Removed.
  • inspector/editor/indentation.html: Removed.
  • inspector/editor/text-editor-brace-highlighter-expected.txt: Removed.
  • inspector/editor/text-editor-brace-highlighter.html: Removed.
  • inspector/editor/text-editor-char-to-coordinates-expected.txt: Removed.
  • inspector/editor/text-editor-char-to-coordinates.html: Removed.
  • inspector/editor/text-editor-formatter-expected.txt: Removed.
  • inspector/editor/text-editor-formatter.html: Removed.
  • inspector/editor/text-editor-highlight-api-expected.txt: Removed.
  • inspector/editor/text-editor-highlight-api.html: Removed.
  • inspector/editor/text-editor-highlight-token-expected.txt: Removed.
  • inspector/editor/text-editor-highlight-token.html: Removed.
  • inspector/editor/text-editor-home-button-expected.txt: Removed.
  • inspector/editor/text-editor-home-button.html: Removed.
  • inspector/editor/text-editor-line-breaks-expected.txt: Removed.
  • inspector/editor/text-editor-line-breaks.html: Removed.
  • inspector/editor/text-editor-long-line-expected.txt: Removed.
  • inspector/editor/text-editor-long-line.html: Removed.
  • inspector/editor/text-editor-model-expected.txt: Removed.
  • inspector/editor/text-editor-model.html: Removed.
  • inspector/editor/text-editor-remove-chunks-from-dom-expected.txt: Removed.
  • inspector/editor/text-editor-remove-chunks-from-dom.html: Removed.
  • inspector/editor/text-editor-selection-expected.txt: Removed.
  • inspector/editor/text-editor-selection-to-search-expected.txt: Removed.
  • inspector/editor/text-editor-selection-to-search.html: Removed.
  • inspector/editor/text-editor-selection.html: Removed.
  • inspector/editor/text-editor-show-whitespace-expected.txt: Removed.
  • inspector/editor/text-editor-show-whitespace.html: Removed.
  • inspector/editor/text-editor-smart-braces-expected.txt: Removed.
  • inspector/editor/text-editor-smart-braces.html: Removed.
  • inspector/editor/text-editor-token-at-position-expected.txt: Removed.
  • inspector/editor/text-editor-token-at-position.html: Removed.
  • inspector/editor/text-editor-type-over-decoration-expected.txt: Removed.
  • inspector/editor/text-editor-type-over-decoration.html: Removed.
  • inspector/editor/text-editor-undo-redo-expected.txt: Removed.
  • inspector/editor/text-editor-undo-redo.html: Removed.
  • inspector/editor/text-editor-word-jumps-expected.txt: Removed.
  • inspector/editor/text-editor-word-jumps.html: Removed.
  • inspector/elements/breadcrumb-updates-expected.txt: Removed.
  • inspector/elements/breadcrumb-updates.html: Removed.
  • inspector/elements/delete-from-document-expected.txt: Removed.
  • inspector/elements/delete-from-document.html: Removed.
  • inspector/elements/edit-dom-actions-expected.txt: Removed.
  • inspector/elements/edit-dom-actions.html: Removed.
  • inspector/elements/elements-delete-inline-style-expected.txt: Removed.
  • inspector/elements/elements-delete-inline-style.html: Removed.
  • inspector/elements/elements-img-tooltip-expected.txt: Removed.
  • inspector/elements/elements-img-tooltip.html: Removed.
  • inspector/elements/elements-inspect-iframe-from-different-domain-expected.txt: Removed.
  • inspector/elements/elements-inspect-iframe-from-different-domain.html: Removed.
  • inspector/elements/elements-panel-limited-children-expected.txt: Removed.
  • inspector/elements/elements-panel-limited-children.html: Removed.
  • inspector/elements/elements-panel-rewrite-href-expected.txt: Removed.
  • inspector/elements/elements-panel-rewrite-href.html: Removed.
  • inspector/elements/elements-panel-selection-on-refresh-expected.txt: Removed.
  • inspector/elements/elements-panel-selection-on-refresh.html: Removed.
  • inspector/elements/elements-panel-structure-expected.txt: Removed.
  • inspector/elements/elements-panel-structure.html: Removed.
  • inspector/elements/elements-panel-xhtml-structure-expected.txt: Removed.
  • inspector/elements/elements-panel-xhtml-structure.xhtml-disabled: Removed.
  • inspector/elements/event-listener-sidebar-expected.txt: Removed.
  • inspector/elements/event-listener-sidebar.html: Removed.
  • inspector/elements/event-listeners-about-blank-expected.txt: Removed.
  • inspector/elements/event-listeners-about-blank.html: Removed.
  • inspector/elements/expand-recursively-expected.txt: Removed.
  • inspector/elements/expand-recursively.html: Removed.
  • inspector/elements/hide-shortcut-expected.txt: Removed.
  • inspector/elements/hide-shortcut.html: Removed.
  • inspector/elements/iframe-load-event-expected.txt: Removed.
  • inspector/elements/iframe-load-event.html: Removed.
  • inspector/elements/insert-node-collapsed-expected.txt: Removed.
  • inspector/elements/insert-node-collapsed.html: Removed.
  • inspector/elements/insert-node-expected.txt: Removed.
  • inspector/elements/insert-node.html: Removed.
  • inspector/elements/modify-chardata-expected.txt: Removed.
  • inspector/elements/modify-chardata.html: Removed.
  • inspector/elements/move-node-expected.txt: Removed.
  • inspector/elements/move-node.html: Removed.
  • inspector/elements/node-xpath-expected.txt: Removed.
  • inspector/elements/node-xpath.xhtml: Removed.
  • inspector/elements/remove-node-expected.txt: Removed.
  • inspector/elements/remove-node.html: Removed.
  • inspector/elements/resources/iframe-load-event-iframe-1.html: Removed.
  • inspector/elements/resources/iframe-load-event-iframe-2.html: Removed.
  • inspector/elements/resources/iframe-load-event-iframe.js: Removed.
  • inspector/elements/resources/user-properties.js: Removed.
  • inspector/elements/set-html-via-resource-expected.txt: Removed.
  • inspector/elements/shadow-dom-modify-chardata-expected.txt: Removed.
  • inspector/elements/shadow-dom-modify-chardata.html: Removed.
  • inspector/elements/shadow-root-expected.txt: Removed.
  • inspector/elements/shadow-root.html: Removed.
  • inspector/elements/undo-dom-edits-2-expected.txt: Removed.
  • inspector/elements/undo-dom-edits-2.html: Removed.
  • inspector/elements/undo-dom-edits-expected.txt: Removed.
  • inspector/elements/undo-dom-edits.html: Removed.
  • inspector/elements/update-shadowdom-expected.txt: Removed.
  • inspector/elements/update-shadowdom.html: Removed.
  • inspector/elements/user-properties-expected.txt: Removed.
  • inspector/elements/user-properties.html: Removed.
  • inspector/evaluate-in-page-expected.txt: Removed.
  • inspector/evaluate-in-page.html: Removed.
  • inspector/extensions/extensions-api-expected.txt: Removed.
  • inspector/extensions/extensions-api.html: Removed.
  • inspector/extensions/extensions-audits-api-expected.txt: Removed.
  • inspector/extensions/extensions-audits-api.html: Removed.
  • inspector/extensions/extensions-audits-content-script-expected.txt: Removed.
  • inspector/extensions/extensions-audits-content-script.html: Removed.
  • inspector/extensions/extensions-audits-expected.txt: Removed.
  • inspector/extensions/extensions-audits-tests.js: Removed.
  • inspector/extensions/extensions-audits.html: Removed.
  • inspector/extensions/extensions-console-expected.txt: Removed.
  • inspector/extensions/extensions-console.html: Removed.
  • inspector/extensions/extensions-eval-content-script-expected.txt: Removed.
  • inspector/extensions/extensions-eval-content-script.html: Removed.
  • inspector/extensions/extensions-eval-expected.txt: Removed.
  • inspector/extensions/extensions-eval.html: Removed.
  • inspector/extensions/extensions-events-expected.txt: Removed.
  • inspector/extensions/extensions-events.html: Removed.
  • inspector/extensions/extensions-network-expected.txt: Removed.
  • inspector/extensions/extensions-network.html: Removed.
  • inspector/extensions/extensions-panel-expected.txt: Removed.
  • inspector/extensions/extensions-panel.html: Removed.
  • inspector/extensions/extensions-reload-expected.txt: Removed.
  • inspector/extensions/extensions-reload.html: Removed.
  • inspector/extensions/extensions-resources-expected.txt: Removed.
  • inspector/extensions/extensions-resources.html: Removed.
  • inspector/extensions/extensions-sidebar-expected.txt: Removed.
  • inspector/extensions/extensions-sidebar.html: Removed.
  • inspector/extensions/resources/abe.png: Removed.
  • inspector/extensions/resources/audits-style1.css: Removed.
  • inspector/extensions/resources/test-script.js: Removed.
  • inspector/file-mapping-expected.txt: Removed.
  • inspector/file-mapping.html: Removed.
  • inspector/file-system-mapping-expected.txt: Removed.
  • inspector/file-system-mapping.html: Removed.
  • inspector/file-system-project-expected.txt: Removed.
  • inspector/file-system-project.html: Removed.
  • inspector/filtered-item-selection-dialog-filtering-expected.txt: Removed.
  • inspector/filtered-item-selection-dialog-filtering.html: Removed.
  • inspector/inspector-backend-commands-generation-expected.txt: Removed.
  • inspector/inspector-backend-commands-generation.html: Removed.
  • inspector/map-expected.txt: Removed.
  • inspector/map.html: Removed.
  • inspector/network-status-non-http-expected.txt: Removed.
  • inspector/network-status-non-http.html: Removed.
  • inspector/profiler/canvas-profiler-test.js: Removed.
  • inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases.html: Removed.
  • inspector/profiler/canvas2d/canvas-replay-log-grid-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas-replay-log-grid.html: Removed.
  • inspector/profiler/canvas2d/canvas-stack-trace-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas-stack-trace.html: Removed.
  • inspector/profiler/canvas2d/canvas2d-api-changes-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas2d-api-changes.html: Removed.
  • inspector/profiler/canvas2d/canvas2d-gradient-capturing-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas2d-gradient-capturing.html: Removed.
  • inspector/profiler/canvas2d/canvas2d-profiler-capturing-basics-expected.txt: Removed.
  • inspector/profiler/canvas2d/canvas2d-profiler-capturing-basics.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-dom-groups-change-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-dom-groups-change.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-show-all-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-show-all.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-show-next-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-show-next.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-comparison-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-comparison-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-containment-show-all-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-containment-show-all.html: Removed.
  • inspector/profiler/heap-snapshot-containment-show-next-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-containment-show-next.html: Removed.
  • inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-containment-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-containment-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-dominators-show-all-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-show-all.html: Removed.
  • inspector/profiler/heap-snapshot-dominators-show-next-actual.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-show-next-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-show-next.html: Removed.
  • inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-dominators-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-dominators-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-get-profile-crash-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-get-profile-crash.html: Removed.
  • inspector/profiler/heap-snapshot-inspect-dom-wrapper-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-inspect-dom-wrapper.html: Removed.
  • inspector/profiler/heap-snapshot-loader-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-loader.html: Removed.
  • inspector/profiler/heap-snapshot-reveal-in-dominators-view-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-reveal-in-dominators-view.html: Removed.
  • inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-summary-retainers-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-retainers.html: Removed.
  • inspector/profiler/heap-snapshot-summary-show-all-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-show-all.html: Removed.
  • inspector/profiler/heap-snapshot-summary-show-next-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-show-next.html: Removed.
  • inspector/profiler/heap-snapshot-summary-show-ranges-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-show-ranges.html: Removed.
  • inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting-fields-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting-fields.html: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting-instances-expected.txt: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting-instances.html: Removed.
  • inspector/profiler/heap-snapshot-summary-sorting.html: Removed.
  • inspector/profiler/heap-snapshot-test.js: Removed.
  • inspector/profiler/heap-snapshot.html: Removed.
  • inspector/profiler/resources/image.jpeg: Removed.
  • inspector/profiler/selector-profiler-url-expected.txt: Removed.
  • inspector/profiler/selector-profiler-url.html: Removed.
  • inspector/profiler/webgl/webgl-profiler-api-changes-expected.txt: Removed.
  • inspector/profiler/webgl/webgl-profiler-api-changes.html: Removed.
  • inspector/profiler/webgl/webgl-profiler-get-error-expected.txt: Removed.
  • inspector/profiler/webgl/webgl-profiler-get-error.html: Removed.
  • inspector/progress-bar-expected.txt: Removed.
  • inspector/progress-bar.html: Removed.
  • inspector/snippet-storage-expected.txt: Removed.
  • inspector/snippet-storage.html: Removed.
  • inspector/styles/commit-selector-expected.txt: Removed.
  • inspector/styles/commit-selector.html: Removed.
  • inspector/styles/css-live-edit-expected.txt: Removed.
  • inspector/styles/css-live-edit.html: Removed.
  • inspector/styles/edit-inspector-stylesheet-expected.txt: Removed.
  • inspector/styles/edit-inspector-stylesheet.html: Removed.
  • inspector/styles/edit-value-with-trimmed-url-expected.txt: Removed.
  • inspector/styles/edit-value-with-trimmed-url.html: Removed.
  • inspector/styles/force-pseudo-state-expected.txt: Removed.
  • inspector/styles/force-pseudo-state.html: Removed.
  • inspector/styles/inactive-properties-expected.txt: Removed.
  • inspector/styles/inactive-properties.html: Removed.
  • inspector/styles/lazy-computed-style-expected.txt: Removed.
  • inspector/styles/lazy-computed-style.html: Removed.
  • inspector/styles/media-emulation-expected.txt: Removed.
  • inspector/styles/media-emulation.html: Removed.
  • inspector/styles/media-queries-expected.txt: Removed.
  • inspector/styles/media-queries.html: Removed.
  • inspector/styles/metrics-box-sizing-expected.txt: Removed.
  • inspector/styles/metrics-box-sizing.html: Removed.
  • inspector/styles/paste-property-expected.txt: Removed.
  • inspector/styles/paste-property.html: Removed.
  • inspector/styles/perform-undo-perform-of-mergable-action-expected.txt: Removed.
  • inspector/styles/perform-undo-perform-of-mergable-action.html: Removed.
  • inspector/styles/protocol-css-regions-commands-expected.txt: Removed.
  • inspector/styles/protocol-css-regions-commands.html: Removed.
  • inspector/styles/selector-line-expected.txt: Removed.
  • inspector/styles/selector-line.html: Removed.
  • inspector/styles/show-user-agent-styles-expected.txt: Removed.
  • inspector/styles/show-user-agent-styles.html: Removed.
  • inspector/styles/styles-add-new-rule-expected.txt: Removed.
  • inspector/styles/styles-add-new-rule.html: Removed.
  • inspector/styles/styles-cancel-editing-expected.txt: Removed.
  • inspector/styles/styles-cancel-editing.html: Removed.
  • inspector/styles/styles-change-node-while-editing-expected.txt: Removed.
  • inspector/styles/styles-change-node-while-editing.html: Removed.
  • inspector/styles/styles-commit-editing-expected.txt: Removed.
  • inspector/styles/styles-commit-editing.html: Removed.
  • inspector/styles/styles-edit-property-after-invalid-rule-expected.txt: Removed.
  • inspector/styles/styles-edit-property-after-invalid-rule.html: Removed.
  • inspector/styles/styles-update-from-js-expected.txt: Removed.
  • inspector/styles/styles-update-from-js.html: Removed.
  • inspector/styles/styles-url-linkify-expected.txt: Removed.
  • inspector/styles/styles-url-linkify.html: Removed.
  • inspector/styles/svg-style-expected.txt: Removed.
  • inspector/styles/svg-style.xhtml: Removed.
  • inspector/styles/up-down-numerics-and-colors-expected.txt: Removed.
  • inspector/styles/up-down-numerics-and-colors.html: Removed.
  • inspector/styles/updates-during-dom-traversal-expected.txt: Removed.
  • inspector/styles/updates-during-dom-traversal.html: Removed.
  • inspector/styles/updates-throttled-expected.txt: Removed.
  • inspector/styles/updates-throttled.html: Removed.
  • inspector/styles/url-color-swatch-expected.txt: Removed.
  • inspector/styles/url-color-swatch.html: Removed.
  • inspector/styles/variables/css-variables-expected.txt: Removed.
  • inspector/styles/variables/css-variables.html: Removed.
  • inspector/styles/vendor-prefixes-expected.txt: Removed.
  • inspector/styles/vendor-prefixes.html: Removed.
  • inspector/syntax-highlight-css-expected.txt: Removed.
  • inspector/syntax-highlight-css.html: Removed.
  • inspector/syntax-highlight-html-expected.txt: Removed.
  • inspector/syntax-highlight-html.html: Removed.
  • inspector/syntax-highlight-javascript-expected.txt: Removed.
  • inspector/syntax-highlight-javascript.html: Removed.
  • inspector/syntax-highlight.js: Removed.
  • inspector/tabbed-editors-history-expected.txt: Removed.
  • inspector/tabbed-editors-history.html: Removed.
  • inspector/tabbed-pane-max-tab-width-calculation-expected.txt: Removed.
  • inspector/tabbed-pane-max-tab-width-calculation.html: Removed.
  • inspector/tabbed-pane-tabs-to-show-expected.txt: Removed.
  • inspector/tabbed-pane-tabs-to-show.html: Removed.
  • inspector/timeline-dfs-expected.txt: Removed.
  • inspector/timeline-dfs.html: Removed.
  • inspector/timeline/timeline-coalescing-expected.txt: Removed.
  • inspector/timeline/timeline-coalescing.html: Removed.
  • inspector/timeline/timeline-enum-stability-expected.txt: Removed.
  • inspector/timeline/timeline-enum-stability.html: Removed.
  • inspector/uisourcecode-revisions-expected.txt: Removed.
  • inspector/uisourcecode-revisions.html: Removed.
  • inspector/user-metrics-expected.txt: Removed.
  • inspector/user-metrics.html: Removed.
  • inspector/utilities-highlight-results-expected.txt: Removed.
  • inspector/utilities-highlight-results.html: Removed.
  • inspector/version-controller-expected.txt: Removed.
  • inspector/version-controller.html: Removed.
  • inspector/view-css-expected.txt: Removed.
  • inspector/view-css.html: Removed.
  • inspector/view-events-expected.txt: Removed.
  • inspector/view-events.html: Removed.
  • inspector/workspace-mapping-expected.txt: Removed.
  • inspector/workspace-mapping.html: Removed.
4:13 PM Changeset in webkit [164514] by jer.noble@apple.com
  • 14 edits
    3 copies
    1 move
    1 add
    1 delete in trunk/Source/WebCore

Make a generic CDMPrivateMediaPlayer and move its CDMSession into platform/.
https://bugs.webkit.org/show_bug.cgi?id=129164

Reviewed by Eric Carlson.

Move the session created by CDMPrivateAVFoundation into platform, and rename
CDMPrivateAVFoundation to CDMPrivateMediaPlayer. Future media engines who want
to support a keysystem from within the media engine can create their own
CDMSession as part of the MediaPlayerPrivate interface.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::installedCDMFactories):
(WebCore::CDM::createSession):

  • Modules/encryptedmedia/CDM.h:
  • Modules/encryptedmedia/CDMPrivate.h:
  • Modules/encryptedmedia/MediaKeySession.cpp:
  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/CDMPrivateAVFoundation.mm: Removed.
  • Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.cpp.

(WebCore::CDMPrivateMediaPlayer::supportsKeySystem):
(WebCore::CDMPrivateMediaPlayer::supportsKeySystemAndMimeType):
(WebCore::CDMPrivateMediaPlayer::supportsMIMEType):
(WebCore::CDMPrivateMediaPlayer::createSession):

  • Modules/encryptedmedia/CDMPrivateMediaPlayer.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h.

(WebCore::CDMPrivateMediaPlayer::create):
(WebCore::CDMPrivateMediaPlayer::~CDMPrivateMediaPlayer):
(WebCore::CDMPrivateMediaPlayer::cdm):
(WebCore::CDMPrivateMediaPlayer::CDMPrivateMediaPlayer):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/CDMSession.h: Extracted from CDMPrivateAVFoundation.h.

(WebCore::CDMSessionClient::~CDMSessionClient):
(WebCore::CDMSession::CDMSession):
(WebCore::CDMSession::~CDMSession):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::createSession):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::createSession):

  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h.

(WebCore::CDMSessionAVFoundationObjC::~CDMSessionAVFoundationObjC):

  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.mm.

(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
(WebCore::CDMSessionAVFoundationObjC::releaseKeys):
(WebCore::CDMSessionAVFoundationObjC::update):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):

  • testing/MockCDM.cpp:

(WebCore::MockCDMSession::setClient):
(WebCore::MockCDM::createSession):

  • testing/MockCDM.h:
4:12 PM Changeset in webkit [164513] by jer.noble@apple.com
  • 13 edits in trunk/Source/WebCore

Add a supportsKeySystem media engine factory parameter.
https://bugs.webkit.org/show_bug.cgi?id=129161

Reviewed by Eric Carlson.

Add a new parameter to the MediaPlayerFactory to allow registered media
engines to be queried for keySystem support:

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayerFactory::MediaPlayerFactory):
(WebCore::MediaPlayer::supportsKeySystem):

  • platform/graphics/MediaPlayer.h:

Support this new field in MediaPlayerPrivateAVFoundationObjC:

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
(WebCore::keySystemIsSupported):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):

Add an empty field for SupportsKeySystem to the remaining media engines:

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):

  • platform/graphics/ios/MediaPlayerPrivateIOS.mm:

(WebCore::MediaPlayerPrivateIOS::registerMediaEngine):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::registerMediaEngine):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::registerMediaEngine):

4:10 PM Changeset in webkit [164512] by commit-queue@webkit.org
  • 8 edits
    1 delete in trunk

Web Inspector: Replace binarySearch with lowerBound and upperBound functions
https://bugs.webkit.org/show_bug.cgi?id=118609

Patch by Chi Wai Lau <clau@apple.com> on 2014-02-21
Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

This makes insertionIndexForObjectInListSortedByFunction work in O(log(n)) time instead of O(n).

  • UserInterface/BinarySearch.js: Removed.
  • UserInterface/Main.html:
  • UserInterface/Utilities.js:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

LayoutTests:

  • inspector/utilities-expected.txt:
  • inspector/utilities.html:
4:05 PM Changeset in webkit [164511] by dbates@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

[Win] fast/table/col-and-colgroup-offsets.html - offsetHeight differs from Mac results
https://bugs.webkit.org/show_bug.cgi?id=129179

The test col-and-colgroup-offsets.html is failing on the Apple Win Debug (Tests) bot due
to platform-specific numeric differences in the computed offsetHeight of the table cells.
For now, I am landing Windows-specific expected results as the behavior tested by the test
is correct despite the numerical differences. I'll further investigate the Window-specific
difference in <https://bugs.webkit.org/show_bug.cgi?id=129179>.

  • platform/win/fast/table/col-and-colgroup-offsets-expected.txt: Added.
4:01 PM Changeset in webkit [164510] by Brian Burg
  • 11 edits
    1 delete in trunk

Web Inspector: animate breakpoint tree elements when probe samples are received
https://bugs.webkit.org/show_bug.cgi?id=128334

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

  • UserInterface/BreakpointIcons.css: Removed, rules migrated to the following file.
  • UserInterface/BreakpointTreeElement.css: When we want to animateon top of the

static icon, we set the icon image as the icon element's background, and animate
a span on top of the icon element.

(.breakpoint-exception-icon .icon): Moved.
(.breakpoint-generic-line-icon .icon):
(.breakpoint-generic-line-icon .icon > span): Added.
(.data-updated.breakpoint-generic-line-icon .icon > span): Added.

  • UserInterface/BreakpointTreeElement.js:

(WebInspector.BreakpointTreeElement): Rewrite event listener add/remove to use EventListenerSet.
(WebInspector.BreakpointTreeElement.prototype.ondetach): Override to unregister the instance's listeners.
(WebInspector.BreakpointTreeElement.prototype._addProbeSet): Added.
(WebInspector.BreakpointTreeElement.prototype._removeProbeSet): Added.
(WebInspector.BreakpointTreeElement.prototype._probeSetAdded): Added.
(WebInspector.BreakpointTreeElement.prototype._probeSetRemoved): Added.
Add/remove listeners when probe sets change.

(WebInspector.BreakpointTreeElement.prototype._samplesCleared): Listeners should follow
the active data table.

(WebInspector.BreakpointTreeElement.prototype._dataUpdated): Run the animation when probe data changes.
(WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange): Fix a listener leak.

  • UserInterface/Main.html: Remove BreakpointIcons.css.
  • UserInterface/NavigationSidebarPanel.css:

(.navigation-sidebar-panel-content-tree-outline .item .icon): give icons
'position: relative' so child spans can be absolutely positioned.

  • UserInterface/ProbeDetailsSidebarPanel.js: Get probeSet out of the event data

container. The probe set used to be passed as the data container itself.
(WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):

  • UserInterface/ProbeManager.js:

(WebInspector.ProbeManager.prototype._breakpointActionsChanged.set get knownProbeIdentifiers):
(WebInspector.ProbeManager.prototype._breakpointActionsChanged):
(WebInspector.ProbeManager.prototype.get _probeSetForBreakpoint.set this):

  • UserInterface/ProbeSet.js:

(WebInspector.ProbeSet.prototype.clearSamples): include the old data table as the SamplesCleared event data.

  • UserInterface/TextResourceContentView.js:

(WebInspector.TextResourceContentView.prototype._probeSetsChanged):

LayoutTests:

Adjust probe manager tracing listeners to access the correct data container property.

  • inspector-protocol/resources/probe-helper.js:

(ProbeHelper.installTracingListeners):

3:44 PM Changeset in webkit [164509] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix WebCore's internals after r164505

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-21

  • testing/Internals.cpp:

(WebCore::Internals::findEditingDeleteButton): The call became ambiguous after r164505.

3:38 PM Changeset in webkit [164508] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS][WK2] Update the visible content rects on zoom
https://bugs.webkit.org/show_bug.cgi?id=129174

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-21
Reviewed by Simon Fraser.

Generalize _updateVisibleContentRects to also act during the zoom and not only at the end.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView scrollViewDidZoom:]):

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView scrollViewDidZoom:]):

3:35 PM Changeset in webkit [164507] by Joseph Pecoraro
  • 25 edits in trunk/Source

Web Inspector: JSContext inspection should report exceptions in the console
https://bugs.webkit.org/show_bug.cgi?id=128776

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

When JavaScript API functions have an exception, let the inspector
know so it can log the JavaScript and Native backtrace that caused
the exception.

Include some clean up of ConsoleMessage and ScriptCallStack construction.

  • API/JSBase.cpp:

(JSEvaluateScript):
(JSCheckScriptSyntax):

  • API/JSObjectRef.cpp:

(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):

  • API/JSValue.mm:

(reportExceptionToInspector):
(valueToArray):
(valueToDictionary):

  • API/JSValueRef.cpp:

(JSValueIsEqual):
(JSValueIsInstanceOfConstructor):
(JSValueCreateJSONString):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):
When seeing an exception, let the inspector know there was an exception.

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

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::appendAPIBacktrace):
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
Log API exceptions by also grabbing the native backtrace.

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

(Inspector::ScriptCallStack::firstNonNativeCallFrame):
(Inspector::ScriptCallStack::append):
Minor extensions to ScriptCallStack to make it easier to work with.

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):
Provide better default information if the first call frame was native.

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::extractSourceInformationFromException):
(Inspector::createScriptCallStackFromException):
Perform the handling here of inserting a fake call frame for exceptions
if there was no call stack (e.g. a SyntaxError) or if the first call
frame had no information.

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):

  • inspector/ConsoleMessage.h:
  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):

  • inspector/ScriptCallStackFactory.h:
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::count):

  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):
ConsoleMessage cleanup.

Source/WebCore:

Include some clean up of ConsoleMessage and ScriptCallStack construction.

Covered by existing tests.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):
Simplify code now that createStackTraceFromException handles it.

  • page/ContentSecurityPolicy.cpp:

(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):
ScriptCallStack can give us the first non-native callframe.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::buildInitiatorObject):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::breakpointActionLog):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):

  • page/Console.cpp:

(WebCore::internalAddMessage):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):

  • page/ContentSecurityPolicy.cpp:

(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):

Source/WebInspectorUI:

  • UserInterface/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
(WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
(WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
Provide better handling for "[native code]" and legacy "undefined"
call frame URLs. Never linkify these. Also, when showing a link
for an exception, always use the first non-native call frame as
the link location.

3:30 PM Changeset in webkit [164506] by dfarler@apple.com
  • 4 edits in trunk/Tools

Make old-run-webkit-tests work with iOS Simulator WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=128622

Reviewed by Simon Fraser.

With this change, we now have layout tests running in both DumpRenderTree
and WebKitTestRunner, with WebKit and WebKit2 used respectively in the iOS
simulator.

  • Scripts/old-run-webkit-tests:

In general, make any specific reference to DumpRenderTree
able to refer to WebKitTestRunner wherever possible:

  • Rename functions to remove DRT-specific naming.
  • Name FIFOs after the tool that is being used.

-- Clean up FIFO creation code
Other necessary changes:

  • Allow use of an ios-sim-wk2 platform.
  • Clean up platform hierarchy creation where the simulator platform behavior differed.
  • WebKitTestRunner/TestController.cpp:

Open FIFOs to get dumps out of the simulator as we do in DumpRenderTree.
(WTR::TestController::TestController):

  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

Copy the injected bundle into the app bundle.

2:47 PM Changeset in webkit [164505] by benjamin@webkit.org
  • 18 edits in trunk/Source

jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
https://bugs.webkit.org/show_bug.cgi?id=128893

Reviewed by Darin Adler.

Source/WebCore:

The declaration of TreeScope::getElementById() was taking an AtomicString as the parameter.
Because of this, all the call sites manipulating String were creating and keeping alive an AtomicString
to make the call.

This had two negative consequences:
-The call sites were ref-ing the ID's atomic string for no reason.
-When there is no ID associated with the input string, an atomic string was created for the sole

purpose of failing the query. Since IDs are stored as AtomicString, if there is not an existing
AtomicString for the input, there is no reason to query anything.

  • WebCore.exp.in:
  • bindings/js/JSDOMBinding.cpp:

(WebCore::findAtomicString): Update this after the rename.

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:

Now that there are two overloads for TreeScope::getElementById(), the conversion from NSString*
is ambiguous. I add the keyword ObjCExplicitAtomicString to force an explicit conversion to AtomicString.

  • dom/Document.idl:
  • dom/TreeScope.cpp:

(WebCore::TreeScope::getElementById):
When getting an AtomicString, the case of a empty string is not important, use isNull() instead.
When getting a String, get the corresponding AtomicString if any and use that for getting the element.

  • dom/TreeScope.h:
  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
Solve the ambiguous call.

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler):
This is a wonderful candidate for substringSharingImpl. The substring does not survive the call since
the new getElementById never create any AtomicString.

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::getElementById):
It looks like there are opportunities to get faster here, Ryosuke should have a look.

  • svg/SVGSVGElement.h:
  • xml/XMLTreeViewer.cpp:

(WebCore::XMLTreeViewer::transformDocumentToTreeView):
Unrelated cleanup: noStyleMessage was useless.

Source/WebKit2:

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::pageNumberForElementById): Remove the explicit conversion to use the right overload.

Source/WTF:

AtomicString::find() is a special case optimized for the JavaScript bindings. The method can only
be called under specific conditions.
The method is renamed to findStringWithHash().

The new AtomicString::find is generic and does not require any propery on the input.

  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::findStringWithHash):
(WTF::AtomicString::findSlowCase):

  • wtf/text/AtomicString.h:

(WTF::AtomicString::find):

2:38 PM Changeset in webkit [164504] by dbates@webkit.org
  • 6 edits
    2 adds in trunk

COL element in table has 0 for offsetWidth
https://bugs.webkit.org/show_bug.cgi?id=15277

Reviewed by David Hyatt.

Source/WebCore:

Implements offset{Left, Top, Width, Height} for table columns and column groups
per section Extensions to the HTMLElement Interface of the CSSOM View spec,
<http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface> (Draft 17 December 2013).

For now, we fail almost all of the offset{Height, Top} sub-tests in the included test
for the separate border model as we need to fix <https://bugs.webkit.org/show_bug.cgi?id=128988>.

Test: fast/table/col-and-colgroup-offsets.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::RenderTable): Initialize cached column offset top and offset height.
We cache these offsets since they are the same for all columns in the table.
(WebCore::RenderTable::invalidateCachedColumns): Clear cached effective column index map.
(WebCore::RenderTable::invalidateCachedColumnOffsets): Added.
(WebCore::RenderTable::layout): Invalidate cached column offsets as the location or height
of one or more sections may have changed.
(WebCore::RenderTable::updateColumnCache): Modified to build effective column index map.
(WebCore::RenderTable::effectiveIndexOfColumn): Added.
(WebCore::RenderTable::offsetTopForColumn): Added.
(WebCore::RenderTable::offsetLeftForColumn): Added.
(WebCore::RenderTable::offsetWidthForColumn): Added.
(WebCore::RenderTable::offsetHeightForColumn): Added.

  • rendering/RenderTable.h: Make isTableColumnGroupWithColumnChildren() const.
  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::offsetLeft): Added; turns around and calls RenderTable::offsetLeftForColumn().
(WebCore::RenderTableCol::offsetTop): Added; turns around and calls RenderTable::offsetTopForColumn().
(WebCore::RenderTableCol::offsetWidth): Added; turns around and calls RenderTable::offsetWidthForColumn().
(WebCore::RenderTableCol::offsetHeight): Added; turns around and calls RenderTable::offsetHeightForColumn().

  • rendering/RenderTableCol.h:

LayoutTests:

Added test to ensure that offset{Left, Top, Width, Height} return correct results
for table columns and column groups.

For now, we fail almost all of the offset{Height, Top} sub-tests for the separate
border model as we need to fix <https://bugs.webkit.org/show_bug.cgi?id=128988>.

  • fast/table/col-and-colgroup-offsets-expected.txt: Added.
  • fast/table/col-and-colgroup-offsets.html: Added.
2:37 PM Changeset in webkit [164503] by oliver@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Add extra space to op_call and related opcodes
https://bugs.webkit.org/show_bug.cgi?id=129170

Reviewed by Mark Lam.

No change in behaviour, just some refactoring to add an extra
slot to the op_call instructions, and refactoring to make similar
changes easier in future.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printCallOp):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitConstruct):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
2:34 PM Changeset in webkit [164502] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for iOS after r164498.

Unreviewed.

  • platform/graphics/ios/MediaPlayerPrivateIOS.mm:

(WebCore::MediaPlayerPrivateIOS::buffered):

2:33 PM Changeset in webkit [164501] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Disallow the use of -webkit-user-modify on shadow pseudo elements
https://bugs.webkit.org/show_bug.cgi?id=129144

Reviewed by Geoffrey Garen.

Completely disallow -webkit-user-modify on user agent (builtin) pseudo elements.

We've already had rules to do this in html.css but just hard code it into the engine
in order to eliminate the all uses of -webkit-user-modify in html.css.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • css/html.css:

(input::-webkit-textfield-decoration-container):
(input::-webkit-clear-button):
(input[type="search"]::-webkit-search-cancel-button):
(input[type="search"]::-webkit-search-decoration):
(input[type="search"]::-webkit-search-results-decoration):
(input[type="search"]::-webkit-search-results-button):
(input::-webkit-inner-spin-button):
(input::-webkit-input-speech-button):
(input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
(input[type="file"]::-webkit-file-upload-button):
(input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
(input[type="range"]::-webkit-slider-runnable-track):
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
(input[type="color"]::-webkit-color-swatch-wrapper):
(input[type="color"]::-webkit-color-swatch):
(::-webkit-validation-bubble):
(::-webkit-validation-bubble-message):
(::-webkit-validation-bubble-text-block):
(::-webkit-validation-bubble-heading):
(::-webkit-validation-bubble-arrow):
(::-webkit-validation-bubble-arrow-clipper):
(meter::-webkit-meter-inner-element):
(meter::-webkit-meter-bar):
(meter::-webkit-meter-optimum-value):
(meter::-webkit-meter-suboptimum-value):
(meter::-webkit-meter-even-less-good-value):
(progress::-webkit-progress-inner-element):
(progress::-webkit-progress-bar):
(progress::-webkit-progress-value):

2:27 PM Changeset in webkit [164500] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

gatherFromOtherThread() needs to align the sp before gathering roots.
<https://webkit.org/b/129169>

Reviewed by Geoffrey Garen.

The GC scans the stacks of other threads using MachineThreads::gatherFromOtherThread().
gatherFromOtherThread() defines the range of the other thread's stack as
being bounded by the other thread's stack pointer and stack base. While
the stack base will always be aligned to sizeof(void*), the stack pointer
may not be. This is because the other thread may have just pushed a 32-bit
value on its stack before we suspended it for scanning.

The fix is to round the stack pointer up to the next aligned address of
sizeof(void*) and start scanning from there. On 64-bit systems, we will
effectively ignore the 32-bit word at the bottom of the stack (top of the
stack for stacks growing up) because it cannot be a 64-bit pointer anyway.
64-bit pointers should always be stored on 64-bit aligned boundaries (our
conservative scan algorithm already depends on this assumption).

On 32-bit systems, the rounding is effectively a no-op.

  • heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::genericAddSpan):

  • Hardened somne assertions so that we can catch misalignment issues on release builds as well.
  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::gatherFromOtherThread):

2:26 PM Changeset in webkit [164499] by Joseph Pecoraro
  • 2 edits in trunk/Tools

run-webkit-httpd fails to find httpd configuation file.

Reviewed by Ryosuke Niwa.

  • Scripts/webkitperl/httpd.pm:

(getHTTPDConfigPathForTestDirectory):

2:04 PM Changeset in webkit [164498] by eric.carlson@apple.com
  • 41 edits
    2 adds in trunk

Fix TimeRanges layering violations
https://bugs.webkit.org/show_bug.cgi?id=128717

Reviewed by NOBODY (OOPS!).

Source/WebCore:

No new tests, no functionality changed.

  • CMakeLists.txt:
  • GNUmakefile.list.am: Add PlatformTimeRanges.
  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::buffered): TimeRanges -> PlatformTimeRanges.

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): TimeRanges* -> TimeRanges&.

  • WebCore.exp.in: Update for signature changes.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj: Add PlatformTimeRanges.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::percentLoaded): Create TimeRanges from PlatformTimeRanges.
(WebCore::HTMLMediaElement::buffered): Ditto.
(WebCore::HTMLMediaElement::seekable): Ditto.

  • html/MediaController.cpp:

(MediaController::buffered): TimeRanges* -> TimeRanges&.
(MediaController::seekable): Ditto.
(MediaController::played): Ditto.

Move all of the logic into PlatformTimeRanges. Change API to take TimeRanges& instead of TimeRanges*.

  • html/TimeRanges.cpp:

(WebCore::TimeRanges::create): Move to .cpp from .h.
(WebCore::TimeRanges::TimeRanges): Initialize the PlatformTimeRanges member variable.
(WebCore::TimeRanges::start): Passthrough to PlatformTimeRanges.
(WebCore::TimeRanges::end): Ditto.
(WebCore::TimeRanges::invert): Ditto.
(WebCore::TimeRanges::copy): Ditto.
(WebCore::TimeRanges::intersectWith): Ditto.
(WebCore::TimeRanges::unionWith): Ditto.
(WebCore::TimeRanges::length): Ditto.
(WebCore::TimeRanges::add): Ditto.
(WebCore::TimeRanges::contain): Ditto.
(WebCore::TimeRanges::find): Ditto.
(WebCore::TimeRanges::nearest): Ditto.
(WebCore::TimeRanges::totalDuration): Ditto.

  • html/TimeRanges.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::NullMediaPlayerPrivate::buffered): TimeRanges -> PlatformTimeRanges.
(WebCore::MediaPlayer::buffered): Ditto.
(WebCore::MediaPlayer::seekable): Ditto.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/MediaSourcePrivateClient.h:
  • platform/graphics/PlatformTimeRanges.cpp: Added.
  • platform/graphics/PlatformTimeRanges.h: Added.
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::buffered): TimeRanges -> PlatformTimeRanges.
(WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Drive-by fix to log

FunctionType notifications. ASSERT when passed an unknown notification.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges): TimeRanges -> PlatformTimeRanges.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges): Ditto.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::buffered): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/ios/MediaPlayerPrivateIOS.h:
  • platform/graphics/ios/MediaPlayerPrivateIOS.mm:

(WebCore::MediaPlayerPrivateIOS::buffered): Ditto.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::buffered): Ditto.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::buffered): Ditto.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
  • platform/graphics/wince/MediaPlayerPrivateWinCE.h:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::buffered): Ditto.
(WebCore::MockMediaPlayerMediaSource::advanceCurrentTime): Ditto.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: TimeRanges::create(void) for Internals.

Tools:

  • TestWebKitAPI/Tests/WebCore/TimeRanges.cpp: TimeRanges* -> TimeRanges&.

(TestWebKitAPI::TEST):

1:56 PM Changeset in webkit [164497] by enrica@apple.com
  • 18 edits in trunk/Source

Support WebSelections in WK2 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=127015
<rdar://problem/15211964>

Reviewed by Benjamin Poulain.

../WebCore:

Adding some exports.

  • WebCore.exp.in:

../WebKit2:

This is the remaining work on block selections for iOS in WK2.
Once a block selection has been created with a long press gesture
on a selectable area, we can interact with it by touching the four
handles at the top, right, bottom and left side of the selection box.
Expanding or shrinking a block selection requires finding the next/previous
block in the direction of the movement, depending on the handle we
are interacting with.
Every time a new block is selected, we compute the thresholds required
to trigger another block change. The thresholds are sent back to the
UIProcess that will use this information to decide when to activate
the new selection, either bigger or smaller.
This patch also fixes a bug in selectWithTwoTouches where the points
were not mapped to the active frame.

  • Shared/ios/WKGestureTypes.h:
  • UIProcess/API/ios/PageClientImplIOS.h:
  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didUpdateBlockSelectionWithTouches):

  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView _didUpdateBlockSelectionWithTouches:withFlags:growThreshold:shrinkThreshold:]):

  • UIProcess/API/ios/WKContentViewInternal.h:
  • UIProcess/API/ios/WKInteractionView.h:
  • UIProcess/API/ios/WKInteractionView.mm:

(-[WKInteractionView hasSelectablePositionAtPoint:]):
(-[WKInteractionView clearSelection]):
(toWKHandlePosition):
(-[WKInteractionView _didUpdateBlockSelectionWithTouches:WebKit::withFlags:WebKit::growThreshold:shrinkThreshold:]):
(-[WKInteractionView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]):

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::updateBlockSelectionWithTouches):
(WebKit::WebPageProxy::didUpdateBlockSelectionWithTouches):

  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::rangeForBlockAtPoint):
(WebKit::WebPage::selectWithGesture):
(WebKit::distanceBetweenRectsForPosition):
(WebKit::rectsEssentiallyTheSame):
(WebKit::containsRange):
(WebKit::unionDOMRanges):
(WebKit::computeEdgeCenter):
(WebKit::WebPage::expandedRangeFromHandle):
(WebKit::WebPage::contractedRangeFromHandle):
(WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle):
(WebKit::shouldExpand):
(WebKit::WebPage::changeBlockSelection):
(WebKit::WebPage::updateBlockSelectionWithTouches):
(WebKit::WebPage::clearSelection):
(WebKit::WebPage::selectWithTwoTouches):
(WebKit::WebPage::getPositionInformation):

1:52 PM Changeset in webkit [164496] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Added a GetMyArgumentsLengthSafe and added a speculation check.
https://bugs.webkit.org/show_bug.cgi?id=129051

Patch by Matthew Mirman <mmirman@apple.com> on 2014-02-21
Reviewed by Filip Pizlo.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength):

1:29 PM Changeset in webkit [164495] by benjamin@webkit.org
  • 9 edits in trunk

'mouseenter' mouse compat event not fired when listeners for touch events
https://bugs.webkit.org/show_bug.cgi?id=128534

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-21
Reviewed by Andreas Kling.

Source/WebCore:

The code dispatching mouseenter and mouseleave events was making the assumption that
only mouse move would cause Document::updateHoverActiveState.

This is not true in some cases. In the case of this bug, the first touch handler sets
the hover state. From there, the code handling enter/leave is in an inconsistent state.

This patch changes the delivery of mouse enter/leave events to be done through the regular
processing of mouse events. The update is done with the mouseover and mouseout events.

  • dom/Document.cpp:

(WebCore::Document::prepareMouseEvent):
(WebCore::Document::updateHoverActiveState):

  • dom/Document.h:
  • page/EventHandler.cpp:

(WebCore::nearestCommonHoverAncestor):
(WebCore::hierarchyHasCapturingEventListeners):
(WebCore::EventHandler::updateMouseEventTargetNode):

LayoutTests:

The existing tests for mouseenter/mouseleave had very poor readability which made them
useless for debugging.
This updates them to log what cause the events, and log all the events everywhere on the page.

  • fast/events/mouseenter-mouseleave-capture-expected.txt:
  • fast/events/mouseenter-mouseleave-capture.html:
  • fast/events/mouseenter-mouseleave-expected.txt:
  • fast/events/mouseenter-mouseleave.html:
1:26 PM Changeset in webkit [164494] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Win][LLINT] Many JSC stress test failures.
https://bugs.webkit.org/show_bug.cgi?id=129155

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-21
Reviewed by Michael Saboff.

Intel syntax has reversed operand order compared to AT&T syntax, so we need to swap the operand order, in this case on floating point operations.
Also avoid using the reverse opcode (e.g. fdivr), as this puts the result at the wrong position in the floating point stack.
E.g. "divd ft0, ft1" would translate to fdivr st, st(1) (Intel syntax) on Windows, but this puts the result in st, when it should be in st(1).

  • offlineasm/x86.rb: Swap operand order on Windows.
12:37 PM Changeset in webkit [164493] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

DFG write barriers should do more speculations
https://bugs.webkit.org/show_bug.cgi?id=129160

Reviewed by Mark Hahnenberg.

Replace ConditionalStoreBarrier with the cheapest speculation that you could do
instead.

Miniscule speed-up on some things. It's a decent difference in code size, though.

  • bytecode/SpeculatedType.cpp:

(JSC::speculationToAbbreviatedString):

  • bytecode/SpeculatedType.h:

(JSC::isNotCellSpeculation):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertStoreBarrier):
(JSC::DFG::FixupPhase::insertPhantomCheck):

  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateOther):
(JSC::DFG::Node::shouldSpeculateNotCell):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isNotOther):
(JSC::FTL::LowerDFGToLLVM::isOther):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateOther):
(JSC::FTL::LowerDFGToLLVM::speculateNotCell):

12:37 PM Changeset in webkit [164492] by jhoneycutt@apple.com
  • 3 edits
    2 adds in trunk

Crash reloading page with position: fixed content
https://bugs.webkit.org/show_bug.cgi?id=129119
<rdar://problem/16127090>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::removeDestroyedNodes):
Check the node's ID against the latched node's ID before the node is
removed from the tree.

LayoutTests:

  • platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html: Added.
12:18 PM Changeset in webkit [164491] by Joseph Pecoraro
  • 25 edits in trunk/Source

Revert r164486, causing a number of test failures.

Source/JavaScriptCore:

Unreviewed rollout.

Source/WebCore:

Unreviewed rollout.

Source/WebInspectorUI:

Unreviewed rollout.

11:51 AM WebInspectorTests created by Brian Burg
explain how inspector protocol tests work
11:48 AM Changeset in webkit [164490] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Revive SABI (aka shouldAlwaysBeInlined)
https://bugs.webkit.org/show_bug.cgi?id=129159

Reviewed by Mark Hahnenberg.

This is a small Octane speed-up.

  • jit/Repatch.cpp:

(JSC::linkFor): This code was assuming that if it's invoked then the caller is a DFG code block. That's wrong, since it's now used by all of the JITs.

11:38 AM Changeset in webkit [164489] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

StyleResolver::loadPendingImage() should take a reference to StylePendingImage
<http://webkit.org/b/129021>

Reviewed by Brent Fulgham.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImage): Change pendingImage
parameter to a reference.
(WebCore::StyleResolver::loadPendingShapeImage): Update to use
references.
(WebCore::StyleResolver::loadPendingImages): Ditto.

  • css/StyleResolver.h:

(WebCore::StyleResolver::loadPendingImage): Change pendingImage
parameter to a reference.

11:28 AM Changeset in webkit [164488] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Make sure to invoke the completion handler for JS alerts
https://bugs.webkit.org/show_bug.cgi?id=129158

Reviewed by Alexey Proskuryakov.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

11:17 AM Changeset in webkit [164487] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Web Inspector: update check-webkit-style to flag single quotes in WebInspectorUI projects
https://bugs.webkit.org/show_bug.cgi?id=128422

Patch by Diego Pino García <Diego Pino Garcia> on 2014-02-21
Reviewed by Joseph Pecoraro.

  • Scripts/webkitpy/style/checkers/js.py:

(JSChecker.init):
(JSChecker.check):
(SingleQuoteChecker):
(SingleQuoteChecker.init):
(SingleQuoteChecker.check):

  • Scripts/webkitpy/style/checkers/js_unittest.py:

(JSTestCase.assertError.error_for_test):
(JSTestCase.assertError):
(JSTestCase.test_no_error):
(JSTestCase.test_error):

11:14 AM Changeset in webkit [164486] by Joseph Pecoraro
  • 25 edits in trunk/Source

Web Inspector: JSContext inspection should report exceptions in the console
https://bugs.webkit.org/show_bug.cgi?id=128776

Source/JavaScriptCore:

Reviewed by Timothy Hatcher.

When JavaScript API functions have an exception, let the inspector
know so it can log the JavaScript and Native backtrace that caused
the exception.

Include some clean up of ConsoleMessage and ScriptCallStack construction.

  • API/JSBase.cpp:

(JSEvaluateScript):
(JSCheckScriptSyntax):

  • API/JSObjectRef.cpp:

(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):

  • API/JSValue.mm:

(reportExceptionToInspector):
(valueToArray):
(valueToDictionary):

  • API/JSValueRef.cpp:

(JSValueIsEqual):
(JSValueIsInstanceOfConstructor):
(JSValueCreateJSONString):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):
When seeing an exception, let the inspector know there was an exception.

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

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::appendAPIBacktrace):
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
Log API exceptions by also grabbing the native backtrace.

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

(Inspector::ScriptCallStack::firstNonNativeCallFrame):
(Inspector::ScriptCallStack::append):
Minor extensions to ScriptCallStack to make it easier to work with.

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):
Provide better default information if the first call frame was native.

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::extractSourceInformationFromException):
(Inspector::createScriptCallStackFromException):
Perform the handling here of inserting a fake call frame for exceptions
if there was no call stack (e.g. a SyntaxError) or if the first call
frame had no information.

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):

  • inspector/ConsoleMessage.h:
  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):

  • inspector/ScriptCallStackFactory.h:
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::count):

  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):
ConsoleMessage cleanup.

Source/WebCore:

Include some clean up of ConsoleMessage and ScriptCallStack construction.

Covered by existing tests.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):
Simplify code now that createStackTraceFromException handles it.

  • page/ContentSecurityPolicy.cpp:

(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):
ScriptCallStack can give us the first non-native callframe.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::buildInitiatorObject):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::breakpointActionLog):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):

  • page/Console.cpp:

(WebCore::internalAddMessage):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):

  • page/ContentSecurityPolicy.cpp:

(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):

Source/WebInspectorUI:

Reviewed by Timothy Hatcher.

  • UserInterface/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
(WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
(WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
Provide better handling for "[native code]" and legacy "undefined"
call frame URLs. Never linkify these. Also, when showing a link
for an exception, always use the first non-native call frame as
the link location.

11:12 AM WikiStart edited by Brian Burg
add web inspector tests link (diff)
8:51 AM Changeset in webkit [164485] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Fixing the !ENABLE(SVG_FONTS) build
https://bugs.webkit.org/show_bug.cgi?id=129150

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-02-21
Reviewed by Anders Carlsson.

No new tests required.

  • svg/SVGAltGlyphElement.cpp:
  • svg/SVGAltGlyphElement.h:
  • svg/svgtags.in:
8:45 AM Changeset in webkit [164484] by andersca@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Modernize JSGlobalLock and JSLockHolder
https://bugs.webkit.org/show_bug.cgi?id=129105

Reviewed by Michael Saboff.

Use std::mutex and std::thread::id where possible.

  • runtime/JSLock.cpp:

(JSC::GlobalJSLock::GlobalJSLock):
(JSC::GlobalJSLock::~GlobalJSLock):
(JSC::GlobalJSLock::initialize):
(JSC::JSLock::JSLock):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):

  • runtime/JSLock.h:
7:53 AM Changeset in webkit [164483] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: scrollbar may appear when selecting a stop in gradient editor
https://bugs.webkit.org/show_bug.cgi?id=129149

Reviewed by Timothy Hatcher.

Ensure the angle input is not focused as we update the size of the gradient editor's
popover content since, if it were, it'd make a scrollbar appear as we animate the
popover's frame to fit its new content.

  • UserInterface/CodeMirrorGradientEditingController.js:

(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):

7:29 AM Changeset in webkit [164482] by stavila@adobe.com
  • 23 edits in trunk/Source/WebCore

[CSS Regions] Use the named-flow-specific object RenderNamedFlowFragment instead of the generic RenderRegion whenever possible
https://bugs.webkit.org/show_bug.cgi?id=128599

Reviewed by Andrei Bucur.

Use the named flow specific RenderNamedFlowFragment instead of the generic RenderRegion, whenever possible.
Move named flow specific methods from RenderRegion to RenderNamedFlowFragment.

No new tests required.

  • dom/Element.cpp:

(WebCore::Element::renderNamedFlowFragment):
(WebCore::Element::webkitRegionOverset):
(WebCore::Element::webkitGetRegionFlowRanges):

  • dom/Element.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildArrayForRegions):

  • rendering/PaintInfo.h:

(WebCore::PaintInfo::PaintInfo):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

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

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderInline.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):

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

(WebCore::RenderNamedFlowFragment::getRanges):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::updateWritingMode):
(WebCore::compareRenderNamedFlowFragments):
(WebCore::addFragmentToList):
(WebCore::RenderNamedFlowThread::addFragmentToNamedFlowThread):
(WebCore::RenderNamedFlowThread::addRegionToThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
(WebCore::RenderNamedFlowThread::checkInvalidRegions):
(WebCore::RenderNamedFlowThread::getRanges):
(WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
(WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderRegion.cpp:
  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):

  • rendering/RenderReplica.cpp:

(WebCore::RenderReplica::paint):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

3:26 AM Changeset in webkit [164481] by abucur@adobe.com
  • 4 edits
    14 adds in trunk

[CSS Regions] Regions don't paint correctly in new-multicol elements
https://bugs.webkit.org/show_bug.cgi?id=120711

Reviewed by David Hyatt.

Source/WebCore:

This patch implements basic support for regions inside multi-column elements.
Currently, the painting and hit-testing logic of CSS Regions is not aware of
enclosing multi-column elements. The change is integrated at a layer level by
making use of the pre-computed layer fragments during the painting and hit-testing
phases for regions.

There are limitations such that self painting layers found inside the named flow
thread layer will not be correctly processed because they don't go through the
layer fragment collection step. This is not trivial to implement because the enclosing
pagination layer provided by the multi-column element is not visibile from inside
the named flow thread layer and they reside in different coordinate systems.

A side effect of this patch is the fix of regions incorrect clipping in certain
cases (when both a region and its container clip their overflow, the region's
content is visible outside the container).

Tests: fast/regions/region-clipping.html

fast/regions/regions-in-multicol-bt.html
fast/regions/regions-in-multicol-hover-overflow.html
fast/regions/regions-in-multicol-hover.html
fast/regions/regions-in-multicol-lr.html
fast/regions/regions-in-multicol-rl.html
fast/regions/regions-in-multicol.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::paintFlowThreadIfRegionForFragments):
(WebCore::RenderLayer::hitTestFlowThreadIfRegionForFragments):

  • rendering/RenderLayer.h:

LayoutTests:

Add tests for regions in multi-column elements and a test that verifies
regions are correctly clipped by their containers when both have hidden
overflow.
For the non horizontal-tb writing modes tests there's no overflow after the
last region because it's not rendered correctly yet in a new column.

  • fast/regions/region-clipping-expected.html: Added.
  • fast/regions/region-clipping.html: Added.
  • fast/regions/regions-in-multicol-bt-expected.html: Added.
  • fast/regions/regions-in-multicol-bt.html: Added.
  • fast/regions/regions-in-multicol-expected.html: Added.
  • fast/regions/regions-in-multicol-hover-expected.html: Added.
  • fast/regions/regions-in-multicol-hover-overflow-expected.html: Added.
  • fast/regions/regions-in-multicol-hover-overflow.html: Added.
  • fast/regions/regions-in-multicol-hover.html: Added.
  • fast/regions/regions-in-multicol-lr-expected.html: Added.
  • fast/regions/regions-in-multicol-lr.html: Added.
  • fast/regions/regions-in-multicol-rl-expected.html: Added.
  • fast/regions/regions-in-multicol-rl.html: Added.
  • fast/regions/regions-in-multicol.html: Added.
1:19 AM Changeset in webkit [164480] by commit-queue@webkit.org
  • 46 edits in trunk

[CSS Blending] Refactor -webkit-blend-mode to -webkit-mix-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=128805

Patch by Mihai Tica <mitica@adobe.com> on 2014-02-21
Reviewed by Dean Jackson.

Source/WebCore:

The spec defines the mix-blend-mode property. This means that the
prefixed version should be -webkit-mix-blend-mode, instead of
-webkit-blend-mode.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

LayoutTests:

The spec defines the mix-blend-mode property. This means that the
prefixed version should be -webkit-mix-blend-mode, instead of
-webkit-blend-mode. Update all tests accordingly.

  • css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html:
  • css3/compositing/blend-mode-layers.html:
  • css3/compositing/blend-mode-overflow.html:
  • css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html:
  • css3/compositing/blend-mode-property-expected.txt:
  • css3/compositing/blend-mode-property-parsing-expected.txt:
  • css3/compositing/blend-mode-property-parsing-invalid-expected.txt:
  • css3/compositing/blend-mode-reflection.html:
  • css3/compositing/blend-mode-simple-composited.html:
  • css3/compositing/blend-mode-simple.html:
  • css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html:
  • css3/compositing/resources/red-circle.svg:
  • css3/compositing/script-tests/blend-mode-property-parsing-invalid.js:

(testInvalidFilterRule):

  • css3/compositing/script-tests/blend-mode-property-parsing.js:

(testBlendModeRule):

  • css3/compositing/script-tests/blend-mode-property.js:

(testblendmode):

  • css3/compositing/svg-blend-color-burn.html:
  • css3/compositing/svg-blend-color-dodge.html:
  • css3/compositing/svg-blend-color.html:
  • css3/compositing/svg-blend-darken.html:
  • css3/compositing/svg-blend-difference.html:
  • css3/compositing/svg-blend-exclusion.html:
  • css3/compositing/svg-blend-hard-light.html:
  • css3/compositing/svg-blend-hue.html:
  • css3/compositing/svg-blend-layer-blend.html:
  • css3/compositing/svg-blend-layer-clip-path.html:
  • css3/compositing/svg-blend-layer-filter.html:
  • css3/compositing/svg-blend-layer-mask.html:
  • css3/compositing/svg-blend-layer-opacity.html:
  • css3/compositing/svg-blend-layer-shadow.html:
  • css3/compositing/svg-blend-lighten.html:
  • css3/compositing/svg-blend-luminosity.html:
  • css3/compositing/svg-blend-multiply-alpha.html:
  • css3/compositing/svg-blend-multiply.html:
  • css3/compositing/svg-blend-normal.html:
  • css3/compositing/svg-blend-overlay.html:
  • css3/compositing/svg-blend-saturation.html:
  • css3/compositing/svg-blend-screen.html:
  • css3/compositing/svg-blend-soft-light.html:
  • transitions/blendmode-transitions-expected.txt:
  • transitions/blendmode-transitions.html:
12:57 AM Changeset in webkit [164479] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Bindings tests rebaseline after r164473.

  • bindings/scripts/test/ObjC/DOMTestObj.mm:

(-[DOMTestObj mutablePoint]):
(-[DOMTestObj immutablePoint]):
(-[DOMTestObj mutablePointFunction]):
(-[DOMTestObj immutablePointFunction]):

  • bindings/scripts/test/ObjC/DOMTestTypedefs.mm:

(-[DOMTestTypedefs immutablePointFunction]):

12:29 AM Changeset in webkit [164478] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Remove removed symbol from exports list.

  • WebCore.exp.in:

Feb 20, 2014:

11:46 PM Changeset in webkit [164477] by ChangSeok Oh
  • 16 edits
    2 moves
    4 adds
    1 delete in trunk

Rename EXT_draw_buffers to WEBGL_draw_buffers
https://bugs.webkit.org/show_bug.cgi?id=128894

Reviewed by Dean Jackson.

Source/WebCore:

I noticed the related spec has changed. Accordingly chromium also changed its implementation
to meet the spec. So here I'd like to apply it to webkit as well.

Merged from Blink (patch by bajones):
https://src.chromium.org/viewvc/blink?revision=152065&view=revision

Test: fast/canvas/webgl/webgl-draw-buffers.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::toJS):

  • html/canvas/EXTDrawBuffers.idl: Removed.
  • html/canvas/WebGLDrawBuffers.cpp: Renamed from Source/WebCore/html/canvas/EXTDrawBuffers.cpp.

(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::~WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::getName):
(WebCore::WebGLDrawBuffers::create):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):

  • html/canvas/WebGLDrawBuffers.h: Renamed from Source/WebCore/html/canvas/EXTDrawBuffers.h.
  • html/canvas/WebGLDrawBuffers.idl: Added.
  • html/canvas/WebGLExtension.h:
  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
(WebCore::WebGLRenderingContext::supportsDrawBuffers):

  • html/canvas/WebGLRenderingContext.h:

LayoutTests:

webgl-draw-buffers.html came from Khronos's webgl conformace tests. It requires
some new apis in webgl-test-utils.js so that it is updated as well. The attached
test results are for mac. But they're expected to fail since EXT_draw_buffers are
disabled with some reason. See WebGLDrawBuffers::supported. So I add a line
for webgl-draw-buffers.html to mac/TestExpectations.

  • fast/canvas/webgl/resources/webgl-test-utils.js:

(WebGLTestUtils):
(WebGLTestUtils.):

  • fast/canvas/webgl/webgl-draw-buffers-expected.txt: Added.
  • fast/canvas/webgl/webgl-draw-buffers.html: Added.
  • platform/mac-mountainlion/fast/canvas/webgl/webgl-draw-buffers-expected.txt: Added.
  • platform/mac/TestExpectations:
10:45 PM Changeset in webkit [164476] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Update test expectations after r164449.

10:40 PM Changeset in webkit [164475] by rniwa@webkit.org
  • 10 edits in trunk

m_ancestorDisabledState should never be unknown
https://bugs.webkit.org/show_bug.cgi?id=129084

Reviewed by Benjamin Poulain.

Source/WebCore:

In order to resolve the bug 129035, a text form control elements needs to synchronously change
its inner text element's editability by setting or unsetting contenteditable content attribute.
Before this patch, we could not do this because editability of a text form control dependent on
its disabled-ness which was only computed lazily via updateAncestorDisabledState().

This patch makes HTMLFieldSetElement and HTMLFormControlElement update this state synchronously.
To avoid O(k) DOM traversal, where k is the depth of the tree, in insertedInto and removedFrom of
HTMLFormControlElement on most pages, a new document-level flag, m_disabledFieldsetElementsCount,
has been added to indicate whether the document contains any disabled fieldset or not.

Also renamed the misleadingly named disabledAttributeChanged to disabledStateChanged, and added
new function of the same name (disabledAttributeChanged) to be used by HTMLFieldSetElement
for keeping the document-level flag up-to-date upon disabled attribute changes.

Tests: fast/forms/fieldset/fieldset-disabled-2.html

  • dom/Document.cpp:

(WebCore::Document::Document): Initializes newly added m_disabledFieldsetElementsCount.
(WebCore::Document::~Document): Assert that we've done house keeping right.

  • dom/Document.h:

(WebCore::Document::hasDisabledFieldsetElement): Added.
(WebCore::Document::addDisabledFieldsetElement): Added.
(WebCore::Document::removeDisabledFieldsetElement): Added.

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::~HTMLFieldSetElement): Removes itself from the owner document.

(WebCore::updateFromControlElementsAncestorDisabledStateUnder): Added. Updates startNode and
its descendants' ancestor disabled flag. We don't update controls under another disabled
fieldset element since disabled-ness of those controls aren't affected by startNode.

(WebCore::HTMLFieldSetElement::disabledAttributeChanged): Call addDisabledFieldsetElement and
removeDisabledFieldsetElement to update the owner document's flag.

(WebCore::HTMLFieldSetElement::disabledStateChanged): Renamed from disabledAttributeChanged.
Enable form control elements under the first legend element and disable or enable other
descendent form controls in accordance with the presence of disabled content attribute.

(WebCore::HTMLFieldSetElement::childrenChanged): Update disabled-ness of form controls under
child legend elements because controls aren't disabled in the first legend element, and adding
or removing child elements may have changed the first legend element.

(WebCore::HTMLFieldSetElement::didMoveToNewDocument): Update the flag on the owner document.

  • html/HTMLFieldSetElement.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor): Returns boolean instead of
updating m_ancestorDisabledState internally. Also renamed from updateAncestorDisabledState.

(WebCore::HTMLFormControlElement::setAncestorDisabled): Replaced ancestorDisabledStateWasChanged.
This function updates m_disabledByAncestorFieldset and calls disabledAttributeChanged as needed.

(WebCore::HTMLFormControlElement::disabledAttributeChanged): Added. Calls disabledStateChanged.
(WebCore::HTMLFormControlElement::disabledStateChanged): Renamed from disabledAttributeChanged.

(WebCore::HTMLFormControlElement::insertedInto): Update m_disabledByAncestorFieldset if there is
a possibility (i.e. the document contains any disabled fieldset element) that this form control
is inserted under a disabled fieldset element.

(WebCore::HTMLFormControlElement::removedFrom): If this form control element is not disabled by
a fieldset ancestor, then there is nothing to do. If it is, then check to see if the element is
still disabled now that we've lost some ancestors.

(WebCore::HTMLFormControlElement::isDisabledFormControl): No longer updates m_ancestorDisabledState
lazily since m_disabledByAncestorFieldset is never ambiguous now.

  • html/HTMLFormControlElement.h:

(WebCore::HTMLFormControlElement::disabledByAncestorFieldset): Added.

LayoutTests:

Added more test cases.

  • fast/forms/fieldset/fieldset-disabled-2-expected.txt:
  • fast/forms/fieldset/fieldset-disabled-2.html:
10:32 PM Changeset in webkit [164474] by Alan Bujtas
  • 16 edits in trunk/Source

Remove redundant deviceScaleFactor() functions and make callers use Document::deviceScaleFactor() when accessible.
https://bugs.webkit.org/show_bug.cgi?id=129137

Reviewed by Simon Fraser.

No change in behavior.

Source/WebCore:

  • editing/DeleteButtonController.cpp:

(WebCore::DeleteButtonController::createDeletionUI):

  • page/Page.cpp:
  • page/Page.h:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::GraphicsContext):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::platformInit):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageSizeForError):
(WebCore::RenderImage::paintReplaced):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::drawPlatformResizerImage):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintProgressBar):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):

Source/WebKit2:

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::getFindIndicatorBitmapAndRect):

10:13 PM Changeset in webkit [164473] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

Stop generating Objective-C bindings for the SVG DOM
<http://webkit.org/b/129107>

Reviewed by Timothy Hatcher.

Bug 114076 stopped compiling the Objective-C bindings for the
SVG DOM, but we continued to generate the header and source
files after that landed in r147822. This patch also stops
generating the unused header and source files.

  • DerivedSources.make:
  • Split BINDING_IDLS into NON_SVG_BINDING_IDLS and SVG_BINDING_IDLS so that they may operated on separately.
  • Define BINDING_IDLS again as the full list of IDL files.
  • Rename DOM_CLASSES to JS_DOM_CLASSES so that JavaScript bindings are still generated for all IDL files.
  • Add OBJC_DOM_CLASSES so that Objective-C bindings are only generated for non-SVG IDL files.
  • bindings/scripts/CodeGeneratorObjC.pm:

(GetBaseClass):
(GetPropertyAttributes):
(AddIncludesForType):
(GenerateHeader):
(GenerateImplementation):

  • Remove support for SVG classes.
10:07 PM Changeset in webkit [164472] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

virtualForWithFunction() should not throw an exception with a partially initialized frame.
<https://webkit.org/b/129134>

Reviewed by Michael Saboff.

Currently, when JITOperations.cpp's virtualForWithFunction() fails to
prepare the callee function for execution, it proceeds to throw the
exception using the callee frame which is only partially initialized
thus far. Instead, it should be throwing the exception using the caller
frame because:

  1. the error happened "in" the caller while preparing the callee for execution i.e. the caller frame is the top fully initialized frame on the stack.
  2. the callee frame is not fully initialized yet, and the unwind mechanism cannot depend on the data in it.
  • jit/JITOperations.cpp:
10:02 PM Changeset in webkit [164471] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

RenderBox::updateShapeOutsideInfoAfterStyleChange shows up on profiles
https://bugs.webkit.org/show_bug.cgi?id=129075

Reviewed by Dean Jackson.

updateShapeOutsideInfoAfterStyleChange() showed up on profiles in content
with no shapes. Avoid calling this if no style has shapeOutside().

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):

9:27 PM Changeset in webkit [164470] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

Add a missing piece of r164469

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-20

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView scrollViewWillBeginDragging:]):
I forgot to duplicate the change from WKViewIOS in r164469.

9:22 PM Changeset in webkit [164469] by benjamin@webkit.org
  • 11 edits in trunk/Source/WebKit2

WKInteractionView always blocks the main thread when sending touch events
https://bugs.webkit.org/show_bug.cgi?id=129059

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-20
Reviewed by Enrica Casucci.

Add the asynchronous dispatching to WebKit2.

  • Shared/NativeWebTouchEvent.h:

(WebKit::NativeWebTouchEvent::uniqueId):

  • Shared/ios/NativeWebTouchEventIOS.mm:

(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):

  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::doneWithTouchEvent):

  • UIProcess/API/ios/WKContentView.h:
  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView willStartUserTriggeredScroll]):
(-[WKContentView willStartUserTriggeredZoom]):
(-[WKContentView _webTouchEvent:WebKit::preventsNativeGestures:]):

  • UIProcess/API/ios/WKContentViewInternal.h:
  • UIProcess/API/ios/WKInteractionView.h:
  • UIProcess/API/ios/WKInteractionView.mm:

(-[WKInteractionView _webTouchEventsRecognized:]):
(-[WKInteractionView _webTouchEvent:WebKit::preventsNativeGestures:]):
(-[WKInteractionView _willStartUserTriggeredScrollingOrZooming]):

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView scrollViewWillBeginDragging:]):

  • WebKit2.xcodeproj/project.pbxproj:
8:59 PM Changeset in webkit [164468] by ChangSeok Oh
  • 6 edits in trunk/Source/WebCore

Remove unused chromium stuff in Extensions3D
https://bugs.webkit.org/show_bug.cgi?id=129086

Reviewed by Anders Carlsson.

Remove GL_CHROMIUM_copy_texture and GL_CHROMIUM_flipy interfaces since they are used nowhere.

No new tests since no functionality changed.

  • platform/graphics/Extensions3D.h:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:
  • platform/graphics/opengl/Extensions3DOpenGL.h:
  • platform/graphics/opengl/Extensions3DOpenGLES.cpp:
  • platform/graphics/opengl/Extensions3DOpenGLES.h:
8:55 PM Changeset in webkit [164467] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[iOS] Assert / crash trying to draw empty checked input
https://bugs.webkit.org/show_bug.cgi?id=129138

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-20
Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/forms/checkbox-empty-size.html

  • rendering/RenderThemeIOS.mm:

(WebCore::shortened):
Avoid a divide by 0, but checking for the condition upfront.

LayoutTests:

  • fast/forms/checkbox-empty-size-expected.txt: Added.
  • fast/forms/checkbox-empty-size.html: Added.
8:53 PM Changeset in webkit [164466] by benjamin@webkit.org
  • 11 edits in trunk/Source

Start fixing the view states driven by the WKScrollView
https://bugs.webkit.org/show_bug.cgi?id=129140

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-20
Reviewed by Tim Horton and Simon Fraser.

Source/WebCore:

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

(WebCore::TileController::scaledExposedRect):
That comment was more confusing than helping. FrameView-relative coordinates should not need
scaling.

Source/WebKit2:

WKScrollView creates a "window" over WKContentView with an area that is exposed,
an area that is unobcured and with a certain scale.

Instead of having 3 loosely related paths for updating WKContentView
when the content "window" change, everything is consolidated behind the
single API -[WKContentView didUpdateVisibleRect:unobscuredRect:scale:].

This patch only fixes the content updates from the UI process side to keep things simple.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didFinishScrolling]):
(-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
(-[WKWebView scrollViewDidEndDecelerating:]):
(-[WKWebView scrollViewDidScrollToTop:]):
(-[WKWebView scrollViewDidScroll:]):
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _updateContentWindow]):
(-[WKWebView _setObscuredInsets:]):

  • UIProcess/API/ios/WKContentView.h:
  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:]):
(-[WKContentView _updateFixedPositionRect]):
(-[WKContentView didFinishScrolling]):
(-[WKContentView didZoomToScale:]):

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView contentView:didCommitLayerTree:]):
(-[WKView _didFinishScrolling]):
(-[WKView scrollViewDidEndDragging:willDecelerate:]):
(-[WKView scrollViewDidEndDecelerating:]):
(-[WKView scrollViewDidScrollToTop:]):
(-[WKView scrollViewDidScroll:]):
(-[WKView scrollViewDidEndZooming:withView:atScale:]):
Scrolling is modified to take into account the view position and the obcured content.
Instead of driving the scrolling position from the UIScrollView delegate callbacks,
we use changes in unobscured rect to find changes in "content visible scroll position".

WebPageProxy::didFinishScrolling() is removed. All the scrollOffset updates now go through
the ScrollingCoordinator.

(-[WKView _frameOrBoundsChanged]):
(-[WKView _updateContentWindow]):
(-[WKView _setObscuredInsets:]):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::unobscuredContentRect):
(WebKit::WebPageProxy::setUnobscuredContentRect):

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:
8:04 PM Changeset in webkit [164465] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Start to use std::unique_ptr for DragImageLoader
https://bugs.webkit.org/show_bug.cgi?id=129078

Reviewed by Ryosuke Niwa.

As a step to use std::unique_ptr, this patch replace uses of OwnPtr and PassOwnPtr
in the DragImageLoader class with std::unique_ptr. Besides DragImageLoader is set to
non-copyable class.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::setDragImage):

  • dom/Clipboard.h:
7:10 PM Changeset in webkit [164464] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix a build warning by moving some WKWebView methods from the private category to WKWebView itself.

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView setAllowsBackForwardNavigationGestures:]):
(-[WKWebView allowsBackForwardNavigationGestures]):

6:53 PM Changeset in webkit [164463] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DefaultGCActivityCallback::doWork() should reschedule if GC is deferred.
<https://webkit.org/b/129131>

Reviewed by Mark Hahnenberg.

Currently, DefaultGCActivityCallback::doWork() does not check if the GC
needs to be deferred before commencing. As a result, the GC may crash
and/or corrupt data because the VM is not in the consistent state needed
for the GC to run. With this fix, doWork() now checks if the GC is
supposed to be deferred and re-schedules if needed. It only commences
with GC'ing when it's safe to do so.

  • runtime/GCActivityCallback.cpp:

(JSC::DefaultGCActivityCallback::doWork):

6:13 PM Changeset in webkit [164462] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

ASSERT on touches callbacks after r164409 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=129135

Reviewed by Alexey Proskuryakov.

The change used incorrecly true and false in TouchesCallbacks and
ImageCallback. It also reintroduced isMainThread() which doesn't work
for iOS.

  • UIProcess/GenericCallback.h:

(WebKit::CallbackBase::generateCallbackID):
(WebKit::ImageCallback::performCallbackWithReturnValue):
(WebKit::ImageCallback::invalidate):

  • UIProcess/WebPageProxy.h:

(WebKit::TouchesCallback::performCallbackWithReturnValue):
(WebKit::TouchesCallback::invalidate):

6:01 PM Changeset in webkit [164461] by ggaren@apple.com
  • 5 edits in trunk

Math.imul gives wrong results
https://bugs.webkit.org/show_bug.cgi?id=126345

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Don't truncate non-int doubles to 0 -- that's just not how ToInt32 works.
Instead, take a slow path that will do the right thing.

  • jit/ThunkGenerators.cpp:

(JSC::imulThunkGenerator):

LayoutTests:

Test this edge case of a double just outside the int range.

  • js/dom/imul-expected.txt:
  • js/dom/script-tests/imul.js:
5:50 PM Changeset in webkit [164460] by andersca@apple.com
  • 6 edits
    3 adds in trunk/Source/WebKit2

We need something like WKPageUIClient in the Obj-C API
https://bugs.webkit.org/show_bug.cgi?id=129123
<rdar://problem/15338439>

Reviewed by Sam Weinig.

  • UIProcess/API/APIUIClient.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h: Added.
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView UIDelegate]):
(-[WKWebView setUIDelegate:]):

  • UIProcess/Cocoa/UIClient.h: Added.
  • UIProcess/Cocoa/UIClient.mm: Added.

(WebKit::UIClient::UIClient):
(WebKit::UIClient::~UIClient):
(WebKit::UIClient::delegate):
(WebKit::UIClient::setDelegate):
(WebKit::UIClient::runJavaScriptAlert):
(WebKit::UIClient::runJavaScriptConfirm):
(WebKit::UIClient::runJavaScriptPrompt):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::uiClient):

  • WebKit2.xcodeproj/project.pbxproj:
5:20 PM Changeset in webkit [164459] by fpizlo@apple.com
  • 15 edits
    2 adds in trunk/Source/JavaScriptCore

DFG should do its own static estimates of execution frequency before it starts creating OSR entrypoints
https://bugs.webkit.org/show_bug.cgi?id=129129

Reviewed by Geoffrey Garen.

We estimate execution counts based on loop depth, and then use those to estimate branch
weights. These weights then get carried all the way down to LLVM prof branch_weights
meta-data.

This is better than letting LLVM do its own static estimates, since by the time we
generate LLVM IR, we may have messed up the CFG due to OSR entrypoint creation. Of
course, it would be even better if we just slurped in some kind of execution counts
from profiling, but we don't do that, yet.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::BasicBlock):

  • dfg/DFGBasicBlock.h:
  • dfg/DFGBlockInsertionSet.cpp:

(JSC::DFG::BlockInsertionSet::insert):
(JSC::DFG::BlockInsertionSet::insertBefore):

  • dfg/DFGBlockInsertionSet.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGCriticalEdgeBreakingPhase.cpp:

(JSC::DFG::CriticalEdgeBreakingPhase::breakCriticalEdge):

  • dfg/DFGLoopPreHeaderCreationPhase.cpp:

(JSC::DFG::createPreHeader):

  • dfg/DFGNaturalLoops.h:

(JSC::DFG::NaturalLoops::loopDepth):

  • dfg/DFGOSREntrypointCreationPhase.cpp:

(JSC::DFG::OSREntrypointCreationPhase::run):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGStaticExecutionCountEstimationPhase.cpp: Added.

(JSC::DFG::StaticExecutionCountEstimationPhase::StaticExecutionCountEstimationPhase):
(JSC::DFG::StaticExecutionCountEstimationPhase::run):
(JSC::DFG::StaticExecutionCountEstimationPhase::applyCounts):
(JSC::DFG::performStaticExecutionCountEstimation):

  • dfg/DFGStaticExecutionCountEstimationPhase.h: Added.
5:14 PM Changeset in webkit [164458] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

Move the image controls setting to Settings.in
https://bugs.webkit.org/show_bug.cgi?id=129126

Reviewed by Tim Horton.

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:
  • page/Settings.in:
4:39 PM Changeset in webkit [164457] by beidson@apple.com
  • 18 edits
    8 adds in trunk

Add very basic image control rendering
https://bugs.webkit.org/show_bug.cgi?id=129080

Reviewed by Tim Horton.

Source/WebCore:

Test: fast/images/image-controls-basic.html

This patch is groundwork that adds a very basic image control that can render on top of images.

  • dom/Node.h:

(WebCore::Node:: isImageControlsRootElement): Returns false, unless you are an ImageControls object.

  • html/HTMLAttributeNames.in:

Teach HTMLImageElement how to understand an experimental attribute to install controls,
how to actually build the DOM to attach to the shadow root, how to tear that DOM down,
and how to make sure that Renderers are created for that DOM:

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
(WebCore::HTMLImageElement::updateImageControls):
(WebCore::HTMLImageElement::createImageControls):
(WebCore::HTMLImageElement::destroyImageControls):
(WebCore::HTMLImageElement::hasImageControls):
(WebCore::HTMLImageElement::childShouldCreateRenderer):

  • html/HTMLImageElement.h:

(WebCore::HTMLImageElement::hasShadowControls): For RenderImage to query when it is constructed.

Add a generic, platform independent ImageControls root element that does nothing:

  • html/shadow/ImageControlsRootElement.cpp: Added.

(WebCore::ImageControlsRootElement::maybeCreate):
(WebCore::ImageControlsRootElement::ImageControlsRootElement):
(WebCore::ImageControlsRootElement::~ImageControlsRootElement):

  • html/shadow/ImageControlsRootElement.h: Added.

Add a Mac-specific ImageControls root element that renders a 20x20 red box (for now):

  • html/shadow/mac/ImageControlsRootElementMac.cpp: Added.

(WebCore::ImageControlsRootElementMac::ImageControlsRootElementMac):
(WebCore::ImageControlsRootElementMac::~ImageControlsRootElementMac):
(WebCore::ImageControlsRootElement::maybeCreate):
(WebCore::ImageControlsRootElementMac::maybeCreate):

  • html/shadow/mac/ImageControlsRootElementMac.h: Added.

Since much of the RenderMedia::layout() method is now required for RenderImage as well,
move the logic to RenderImage. The extra work is controlled by a bool flag that will always
be set for RenderMedias but will only be set for certain RenderImages:

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::canHaveChildren):
(WebCore::RenderImage::layout):
(WebCore::RenderImage::layoutShadowControls):

  • rendering/RenderImage.h:

(WebCore::RenderImage::setHasShadowControls):
(WebCore::RenderImage::shadowControlsNeedCustomLayoutMetrics):

  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::RenderMedia):

  • rendering/RenderMedia.h:

(WebCore::RenderMedia::shadowControlsNeedCustomLayoutMetrics):

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Expose the imageControlsEnabled setting to WebKit1 so DRT can use it.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences imageControlsEnabled]):
(-[WebPreferences setImageControlsEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Expose the

imageControlsEnabled setting to WKTR.

LayoutTests:

  • fast/images/image-controls-basic.html: Added.
  • platform/mac/fast/images/image-controls-basic-expected.txt: Added.
4:00 PM Changeset in webkit [164456] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

FTL may not see a compact_unwind section if there weren't any stackmaps
https://bugs.webkit.org/show_bug.cgi?id=129125

Reviewed by Geoffrey Garen.

It's OK to not have an unwind section, so long as the function also doesn't have any
OSR exits.

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):
(JSC::FTL::compile):

  • ftl/FTLUnwindInfo.cpp:

(JSC::FTL::UnwindInfo::parse):

  • ftl/FTLUnwindInfo.h:
3:46 PM Changeset in webkit [164455] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

Add magnification and swiping properties to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=129117

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Move allowsBackForwardNavigationGestures out of a Mac-only block.

  • UIProcess/API/Cocoa/WKWebView.h:

Add allowsBackForwardNavigationGestures to WKWebView for both platforms.
Add magnification properties to WKWebView for Mac.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView contentView:didCommitLayerTree:WebKit::]):
(-[WKWebView setAllowsBackForwardNavigationGestures:]):
(-[WKWebView allowsBackForwardNavigationGestures]):
(-[WKWebView setAllowsMagnification:]):
(-[WKWebView allowsMagnification]):
(-[WKWebView setMagnification:]):
(-[WKWebView magnification]):
(-[WKWebView setMagnification:centeredAtPoint:]):
For iOS, copy implementations from WKViewIOS.
For Mac, forward to the inner WKView.

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView setAllowsBackForwardNavigationGestures:]):
Fix the logic to tear down the ViewGestureController.

  • UIProcess/API/mac/WKView.mm:

(-[WKView setMagnification:centeredAtPoint:]):
(-[WKView setMagnification:]):
(-[WKView magnification]):
Use CG types for API.

3:34 PM Changeset in webkit [164454] by mrowe@apple.com
  • 5 edits
    5 copies in trunk

Roll depsHHHHChangeLogs.

3:22 PM WebKitGTK/Chroot edited by Andres Gomez
Formatting … (diff)
3:20 PM WebKitGTK/Chroot edited by Andres Gomez
(diff)
3:15 PM WebKitGTK/Chroot edited by Andres Gomez
Resorted pulse audio connection methods from a chroot (diff)
3:12 PM Changeset in webkit [164453] by Beth Dakin
  • 5 edits in trunk/Source/WebKit2

WKPage's setBackgroundExtendsBeyondPage API should be exposed through WKView and
WKWebView
https://bugs.webkit.org/show_bug.cgi?id=129120

Reviewed by Anders Carlsson.

While we’re in this code, fix up the pageExtendedBackgroundColor to match.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _pageExtendedBackgroundColor]):
(-[WKWebView _setBackgroundExtendsBeyondPage:]):
(-[WKWebView _backgroundExtendsBeyondPage]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _pageExtendedBackgroundColor]):
(-[WKView _setBackgroundExtendsBeyondPage:]):
(-[WKView _backgroundExtendsBeyondPage]):

3:12 PM Changeset in webkit [164452] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

An unresolved WebGL Context should operate normally until used
https://bugs.webkit.org/show_bug.cgi?id=129110

Reviewed by Brent Fulgham.

Add the ability to create a special instance of WebGLRenderingContext,
that appears normal but won't actually do anything if asked. This will
be created in the case of the WebGLLoadPolicy being "pending" and helps
in the case of pages that feature detect by creating a context and
immediately deleting it.

Note that the context doesn't actually try to recover from this state
yet, although that would be a nice addition. When asked to do something
it could actually try to create the GraphicsContext3D. However, if it
fails it would then have to fire a context lost.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext): Move the load policy code out of getContext.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::create): Add the ability to create a pending context.
(WebCore::WebGLRenderingContext::WebGLRenderingContext): New constructor for a pending context.
(WebCore::WebGLRenderingContext::~WebGLRenderingContext): Only delete if not pending.
(WebCore::WebGLRenderingContext::destroyGraphicsContext3D): Ditto.
(WebCore::WebGLRenderingContext::clearIfComposited): Everything below is about checking the
pending state before doing anything, and triggering a resolution if necessary.
(WebCore::WebGLRenderingContext::activeTexture):
(WebCore::WebGLRenderingContext::attachShader):
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::checkObjectToBeBound):
(WebCore::WebGLRenderingContext::blendColor):
(WebCore::WebGLRenderingContext::blendEquation):
(WebCore::WebGLRenderingContext::blendEquationSeparate):
(WebCore::WebGLRenderingContext::blendFunc):
(WebCore::WebGLRenderingContext::blendFuncSeparate):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::checkFramebufferStatus):
(WebCore::WebGLRenderingContext::clear):
(WebCore::WebGLRenderingContext::clearColor):
(WebCore::WebGLRenderingContext::clearDepth):
(WebCore::WebGLRenderingContext::clearStencil):
(WebCore::WebGLRenderingContext::colorMask):
(WebCore::WebGLRenderingContext::compileShader):
(WebCore::WebGLRenderingContext::compressedTexImage2D):
(WebCore::WebGLRenderingContext::compressedTexSubImage2D):
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::createBuffer):
(WebCore::WebGLRenderingContext::createFramebuffer):
(WebCore::WebGLRenderingContext::createTexture):
(WebCore::WebGLRenderingContext::createProgram):
(WebCore::WebGLRenderingContext::createRenderbuffer):
(WebCore::WebGLRenderingContext::createShader):
(WebCore::WebGLRenderingContext::cullFace):
(WebCore::WebGLRenderingContext::deleteObject):
(WebCore::WebGLRenderingContext::depthFunc):
(WebCore::WebGLRenderingContext::depthMask):
(WebCore::WebGLRenderingContext::depthRange):
(WebCore::WebGLRenderingContext::detachShader):
(WebCore::WebGLRenderingContext::disable):
(WebCore::WebGLRenderingContext::disableVertexAttribArray):
(WebCore::WebGLRenderingContext::validateDrawArrays):
(WebCore::WebGLRenderingContext::validateDrawElements):
(WebCore::WebGLRenderingContext::enable):
(WebCore::WebGLRenderingContext::enableVertexAttribArray):
(WebCore::WebGLRenderingContext::finish):
(WebCore::WebGLRenderingContext::flush):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::framebufferTexture2D):
(WebCore::WebGLRenderingContext::frontFace):
(WebCore::WebGLRenderingContext::generateMipmap):
(WebCore::WebGLRenderingContext::getActiveAttrib):
(WebCore::WebGLRenderingContext::getActiveUniform):
(WebCore::WebGLRenderingContext::getAttachedShaders):
(WebCore::WebGLRenderingContext::getAttribLocation):
(WebCore::WebGLRenderingContext::getBufferParameter):
(WebCore::WebGLRenderingContext::getContextAttributes):
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getProgramParameter):
(WebCore::WebGLRenderingContext::getProgramInfoLog):
(WebCore::WebGLRenderingContext::getRenderbufferParameter):
(WebCore::WebGLRenderingContext::getShaderParameter):
(WebCore::WebGLRenderingContext::getShaderInfoLog):
(WebCore::WebGLRenderingContext::getShaderPrecisionFormat):
(WebCore::WebGLRenderingContext::getShaderSource):
(WebCore::WebGLRenderingContext::getTexParameter):
(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::getUniformLocation):
(WebCore::WebGLRenderingContext::getVertexAttrib):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::hint):
(WebCore::WebGLRenderingContext::isBuffer):
(WebCore::WebGLRenderingContext::isContextLostOrPending):
(WebCore::WebGLRenderingContext::isEnabled):
(WebCore::WebGLRenderingContext::isFramebuffer):
(WebCore::WebGLRenderingContext::isProgram):
(WebCore::WebGLRenderingContext::isRenderbuffer):
(WebCore::WebGLRenderingContext::isShader):
(WebCore::WebGLRenderingContext::isTexture):
(WebCore::WebGLRenderingContext::lineWidth):
(WebCore::WebGLRenderingContext::linkProgram):
(WebCore::WebGLRenderingContext::pixelStorei):
(WebCore::WebGLRenderingContext::polygonOffset):
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::releaseShaderCompiler):
(WebCore::WebGLRenderingContext::renderbufferStorage):
(WebCore::WebGLRenderingContext::sampleCoverage):
(WebCore::WebGLRenderingContext::scissor):
(WebCore::WebGLRenderingContext::shaderSource):
(WebCore::WebGLRenderingContext::stencilFunc):
(WebCore::WebGLRenderingContext::stencilFuncSeparate):
(WebCore::WebGLRenderingContext::stencilMask):
(WebCore::WebGLRenderingContext::stencilMaskSeparate):
(WebCore::WebGLRenderingContext::stencilOp):
(WebCore::WebGLRenderingContext::stencilOpSeparate):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texParameter):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::uniform1f):
(WebCore::WebGLRenderingContext::uniform1fv):
(WebCore::WebGLRenderingContext::uniform1i):
(WebCore::WebGLRenderingContext::uniform1iv):
(WebCore::WebGLRenderingContext::uniform2f):
(WebCore::WebGLRenderingContext::uniform2fv):
(WebCore::WebGLRenderingContext::uniform2i):
(WebCore::WebGLRenderingContext::uniform2iv):
(WebCore::WebGLRenderingContext::uniform3f):
(WebCore::WebGLRenderingContext::uniform3fv):
(WebCore::WebGLRenderingContext::uniform3i):
(WebCore::WebGLRenderingContext::uniform3iv):
(WebCore::WebGLRenderingContext::uniform4f):
(WebCore::WebGLRenderingContext::uniform4fv):
(WebCore::WebGLRenderingContext::uniform4i):
(WebCore::WebGLRenderingContext::uniform4iv):
(WebCore::WebGLRenderingContext::uniformMatrix2fv):
(WebCore::WebGLRenderingContext::uniformMatrix3fv):
(WebCore::WebGLRenderingContext::uniformMatrix4fv):
(WebCore::WebGLRenderingContext::validateProgram):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
(WebCore::WebGLRenderingContext::viewport):
(WebCore::WebGLRenderingContext::forceLostContext):
(WebCore::WebGLRenderingContext::forceRestoreContext):
(WebCore::WebGLRenderingContext::platformLayer):
(WebCore::WebGLRenderingContext::removeSharedObject):
(WebCore::WebGLRenderingContext::addSharedObject):
(WebCore::WebGLRenderingContext::removeContextObject):
(WebCore::WebGLRenderingContext::addContextObject):
(WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
(WebCore::WebGLRenderingContext::stop):
(WebCore::WebGLRenderingContext::vertexAttribfImpl):
(WebCore::WebGLRenderingContext::vertexAttribfvImpl):
(WebCore::WebGLRenderingContext::vertexAttribDivisor):

  • html/canvas/WebGLRenderingContext.h:
3:11 PM Changeset in webkit [164451] by dino@apple.com
  • 18 edits in trunk

Add an unresolved WebGLPolicy and an API to resolve it
https://bugs.webkit.org/show_bug.cgi?id=129109

Reviewed by Anders Carlsson.

Source/WebCore:

Add a third WebGLLoadPolicy which is "pending" allowing the page
to go ahead with creating the WebGLRenderingContext and resolve the policy
at a later time. Add a new API resolveWebGLLoadPolicy to do the resolution.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext): WebGLBlock -> WebGLBlockCreation

  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::webGLPolicyForURL): WebGLAllow -> WebGLAllowCreation.
(WebCore::FrameLoaderClient::resolveWebGLPolicyForURL): New method.

  • loader/FrameLoaderTypes.h: Add WebGLPendingCreation.

Source/WebKit2:

Add a third WebGLLoadPolicy which is "pending" allowing the page
to go ahead with creating the WebGLRenderingContext and resolve the policy
at a later time. Add a new API resolveWebGLLoadPolicy to do the resolution.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::webGLLoadPolicy): New return value.
(API::LoaderClient::resolveWebGLLoadPolicy): New method definition.

  • UIProcess/API/C/WKAPICast.h:

(WebKit::toWebGLLoadPolicy): Change names of return types.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient): New stubs.

  • UIProcess/API/C/WKPageLoaderClient.h: New policy type kWKWebGLLoadPolicyPending.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resolveWebGLPolicyForURL): New method.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: New message.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::webGLPolicyForURL):
(WebKit::WebFrameLoaderClient::resolveWebGLPolicyForURL):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::webGLPolicyForURL):
(WebKit::WebPage::resolveWebGLPolicyForURL):

  • WebProcess/WebPage/WebPage.h:

Tools:

Add a new entry for resolveWebGLLoadPolicy.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions):

3:04 PM Changeset in webkit [164450] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Make it possible to reply asynchronously to JavaScript panels and alerts
https://bugs.webkit.org/show_bug.cgi?id=129116

Reviewed by Dan Bernstein.

  • Scripts/webkit2/LegacyMessageReceiver-expected.cpp:

(Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
(Messages::WebPage::TestMultipleAttributes::DelayedReply::send):

  • Scripts/webkit2/MessageReceiver-expected.cpp:

(Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
(Messages::WebPage::TestMultipleAttributes::DelayedReply::send):

  • Scripts/webkit2/messages.py:

(generate_message_handler):

  • UIProcess/API/APIUIClient.h:

(API::UIClient::runJavaScriptAlert):
(API::UIClient::runJavaScriptConfirm):
(API::UIClient::runJavaScriptPrompt):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
3:04 PM Changeset in webkit [164449] by Alan Bujtas
  • 11 edits
    4 adds in trunk

Subpixel rendering: Enable compositing RenderLayer painting on device pixel position.
https://bugs.webkit.org/show_bug.cgi?id=128509

Reviewed by Simon Fraser.

GraphicsLayer is now positioned on device pixel boundary. This enables us to put
compositing layers on a subpixel position and animate them with device pixel
precision.

Source/WebCore:

Tests: fast/sub-pixel/compositing-layers-on-subpixel-position.html

fast/sub-pixel/simple-clipping.html

  • platform/LayoutUnit.h:

(WebCore::ceilToDevicePixel):

  • platform/graphics/LayoutPoint.h:

(WebCore::flooredForPainting):
(WebCore::ceiledForPainting):

  • platform/graphics/LayoutRect.cpp:

(WebCore::enclosingRectForPainting):

  • platform/graphics/LayoutRect.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::clipToRect):

  • rendering/RenderLayerBacking.cpp:

(WebCore::clipBox):
(WebCore::pixelFractionForLayerPainting):
(WebCore::calculateDevicePixelOffsetFromRenderer):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::paintIntoLayer):

  • rendering/RenderLayerBacking.h:

LayoutTests:

  • TestExpectations:
  • fast/sub-pixel/compositing-layers-on-subpixel-position-expected.html: Added.
  • fast/sub-pixel/compositing-layers-on-subpixel-position.html: Added.
  • fast/sub-pixel/simple-clipping-expected.html: Added.
  • fast/sub-pixel/simple-clipping.html: Added.
  • platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt:
2:55 PM Changeset in webkit [164448] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

CopiedBlock::pin can call into fastFree while forbidden
https://bugs.webkit.org/show_bug.cgi?id=128654

Reviewed by Oliver Hunt.

A FullCollection that skips copying doesn't clear the CopyWorkList of the all the surviving
CopiedBlocks because we currently only call didSurviveGC() at the beginning of FullCollections.

EdenCollections always do copying, therefore they always clear all CopyWorkLists.

The fix is to call didSurviveGC() for all surviving CopiedBlocks at the end of FullCollections
as well at the beginning.

  • heap/CopiedBlock.h:

(JSC::CopiedBlock::didSurviveGC):

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::doneCopying):

2:53 PM Changeset in webkit [164447] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Add a JSC option to disable EdenCollections
https://bugs.webkit.org/show_bug.cgi?id=128849

Reviewed by Mark Lam.

This will help quickly identify whether or not GenGC is responsible for a
particular crash by prematurely collecting a live object.

  • heap/Heap.cpp:

(JSC::Heap::collect):
(JSC::Heap::shouldDoFullCollection):

  • heap/Heap.h:
  • runtime/Options.h:
2:09 PM Changeset in webkit [164446] by graouts@webkit.org
  • 8 edits
    10 adds in trunk/Source/WebInspectorUI

Web Inspector: rich editing of CSS gradients
https://bugs.webkit.org/show_bug.cgi?id=119686

Reviewed by Timothy Hatcher.

Look for gradient definitions in CSS resources and implement a gradient-specific CodeMirrorEditingController
to edit those CSS gradients. The CodeMirrorGradientEditingController consists of a GradientSlider, a new widget
allowing the editing of gradient stops, a <select> to pick between various gradient types, a text input to edit
the gradient angle (for linear gradients) and finally a ColorPicker when a gradient stop is picked for editing.

  • Localizations/en.lproj/localizedStrings.js:

New localized strings for the content of the gradient editing controller popover.

  • UserInterface/CodeMirrorAdditions.js:

New .createGradientMarkers() method which, similar to .createColorMarkers(), takes in an optional TextRange, and
looks for all gradients specified in CSS to create TextMarkers with new type WebInspector.TextMarker.Type.Gradient.
In order to fully identify these CSS gradient strings, we implement a tokenizer to look for the final closing
parenthesis since there can be nested opening and closing parentheses as colors are specified for stops.

  • UserInterface/CodeMirrorGradientEditingController.css: Added.

(.gradient-editing-controller):
(.gradient-editing-controller.edits-color):
(.gradient-editing-controller.radial-gradient):
(.gradient-editing-controller.edits-color.radial-gradient):
(.gradient-editing-controller select):
(.gradient-editing-controller .gradient-slider):
(.gradient-editing-controller .color-picker):
(.gradient-editing-controller > .color-picker > .slider):
(.gradient-editing-controller > .color-picker > .brightness):
(.gradient-editing-controller > .color-picker > .opacity):
(.gradient-editing-controller > label):
(.gradient-editing-controller.radial-gradient > label):
(.gradient-editing-controller.edits-color > label):
(.gradient-editing-controller > label > input):

  • UserInterface/CodeMirrorGradientEditingController.js: Added.

(WebInspector.CodeMirrorGradientEditingController):
(WebInspector.CodeMirrorGradientEditingController.prototype.get initialValue):
(WebInspector.CodeMirrorGradientEditingController.prototype.get cssClassName):
(WebInspector.CodeMirrorGradientEditingController.prototype.get popoverPreferredEdges):
(WebInspector.CodeMirrorGradientEditingController.prototype.popoverTargetFrameWithRects):
(WebInspector.CodeMirrorGradientEditingController.prototype.popoverWillPresent):
(WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):
Implementation of CodeMirrorEditingController methods meant to be overridden. This allows us
to customize the popover's appearance, mostly to control how it attaches to the gradient
strings in the editor.

(WebInspector.CodeMirrorGradientEditingController.prototype.handleEvent):
Event handler for changes in the <select> governing gradient type and <input> for the angle.

(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopsDidChange):
Implementation of a GradientSlider delegation method, we use this to update the .text property
in order to propagate the stops change to the editor.

(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):
Implementation of a GradientSlider delegation method, we use this to control the display of the
ColorPicker used to edit the color of a selected stop.

(WebInspector.CodeMirrorGradientEditingController.prototype._handleInputEvent):
Deal with changes in the <input> for the angle, ensuring we have a "º" string added to the value.

(WebInspector.CodeMirrorGradientEditingController.prototype._handleChangeEvent):
Deal with changes in the <select> for the type, preserving the stops list from one gradient type
to the other. Gradient type-specific information (angle for linear gradients, sizing for radial
gradients) is lost as we toggle between gradient types.

(WebInspector.CodeMirrorGradientEditingController.prototype._colorPickerColorChanged):
Propagate a color change in the ColorPicker to the stop being edited in the GradientSlider and
and update the .text property in order to propagate the stops change to the editor.

(WebInspector.CodeMirrorGradientEditingController.prototype._updateCSSClassForGradientType):
As we toggle the gradient type in ._handleChangeEvent(), update the CSS class used to hide or show
the angle <input> which is only relevant for linear gradients.

  • UserInterface/ColorPicker.js:

(WebInspector.ColorPicker):
Adopt the new Checkers.svg file to display the checkers pattern in the background of the opacity slider.

(WebInspector.ColorPicker.prototype.get colorWheel):
Expose the ColorWheel such that it can be sized by ColorPicker clients.

(WebInspector.ColorPicker.prototype._updateColor):
Drive-by fix for a bug where we'd attempt to use the RGB components of a color to get the alpha-aware version
of the color even though the base format was HSL.

  • UserInterface/Gradient.js: Added.

Parser for gradient strings as passed from the CodeMirror .createGradientMarkers() extension method. In the case
of linear gradients, we parse all values, save for lengths, and in the case of radial gradients, we preserve the
sizing information as a string and parse only the gradient stops as the sizing information is only useful to show
in an editor if attached to an element with metrics.

Since instances of Gradient are used as the .value property of CodeMirrorGradientEditingController, we implement
the required .copy() and .toString() methods. The .toString() implementations are aware of default values for angles
and color stop offsets and only print those as necessary and use shorthands when possible.

(WebInspector.Gradient.fromString):
(WebInspector.Gradient.stopsWithComponents):
(WebInspector.Gradient.stringFromStops):
(WebInspector.LinearGradient):
(WebInspector.LinearGradient.linearGradientWithComponents):
(WebInspector.LinearGradient.prototype.copy):
(WebInspector.LinearGradient.prototype.toString):
(WebInspector.RadialGradient):
(WebInspector.RadialGradient.radialGradientWithComponents):
(WebInspector.RadialGradient.prototype.copy):
(WebInspector.RadialGradient.prototype.toString):

  • UserInterface/GradientSlider.css: Added.

(.gradient-slider):
(.gradient-slider > canvas):
(.gradient-slider > .add-area):
(.gradient-slider-knob):
(.gradient-slider-knob.shadow):
(.gradient-slider-knob.selected):
(.gradient-slider-knob.detaching):
(.gradient-slider-knob.fade-out):
(.gradient-slider-knob > div):
(.gradient-slider-knob > img):

  • UserInterface/GradientSlider.js: Added.

Widget used to edit a list of stops for a gradient, linear or radial. The widget features a <canvas> element
that draws the gradient as a linear gradient from left to right with checkers in the background to correctly
display transparent colors. Attached to this background, individual knobs are shown for each stop in the provided
stops array. These knobs can be dragged from left to right to change the matching stop offset, but also down to
detach the knob and remove this stop. Additionally, knobs can be clicked to toggle their selected state, where only
one knob can be selected at a time. The Esc. key is used to remove selection of the currently selected knob.

(WebInspector.GradientSlider):
(WebInspector.GradientSlider.prototype.get element):
(WebInspector.GradientSlider.prototype.get stops):
(WebInspector.GradientSlider.prototype.set stops):
(WebInspector.GradientSlider.prototype.get selectedStop):
(WebInspector.GradientSlider.prototype.handleEvent):
(WebInspector.GradientSlider.prototype.handleKeydownEvent):
(WebInspector.GradientSlider.prototype.knobXDidChange):
(WebInspector.GradientSlider.prototype.knobCanDetach):
(WebInspector.GradientSlider.prototype.knobWillDetach):
(WebInspector.GradientSlider.prototype.knobSelectionChanged):
(WebInspector.GradientSlider.prototype._handleMouseover):
(WebInspector.GradientSlider.prototype._handleMousemove):
(WebInspector.GradientSlider.prototype._handleMouseout):
(WebInspector.GradientSlider.prototype._handleClick):
(WebInspector.GradientSlider.prototype._updateShadowKnob):
(WebInspector.GradientSlider.prototype._sortStops):
(WebInspector.GradientSlider.prototype._updateStops):
(WebInspector.GradientSlider.prototype._updateCanvas):
(WebInspector.GradientSlider.prototype._updateKnobs):
(WebInspector.GradientSliderKnob):
(WebInspector.GradientSliderKnob.prototype.get element):
(WebInspector.GradientSliderKnob.prototype.get stop):
(WebInspector.GradientSliderKnob.prototype.set stop):
(WebInspector.GradientSliderKnob.prototype.get x):
(WebInspector.GradientSliderKnob.prototype.set x):
(WebInspector.GradientSliderKnob.prototype.get y):
(WebInspector.GradientSliderKnob.prototype.set y):
(WebInspector.GradientSliderKnob.prototype.get wellColor):
(WebInspector.GradientSliderKnob.prototype.set wellColor):
(WebInspector.GradientSliderKnob.prototype.get selected):
(WebInspector.GradientSliderKnob.prototype.set selected):
(WebInspector.GradientSliderKnob.prototype.handleEvent):
(WebInspector.GradientSliderKnob.prototype._handleMousedown):
(WebInspector.GradientSliderKnob.prototype._handleMousemove):
(WebInspector.GradientSliderKnob.prototype._handleMouseup):
(WebInspector.GradientSliderKnob.prototype._handleTransitionEnd):
(WebInspector.GradientSliderKnob.prototype._updateTransform):

  • UserInterface/Images/Checkers.svg: Added.

New asset to draw checkers for color wells.

  • UserInterface/Images/GradientStop.png: Added.
  • UserInterface/Images/GradientStop@2x.png: Added.
  • UserInterface/Images/GradientStopSelected.png: Added.
  • UserInterface/Images/GradientStopSelected@2x.png: Added.

New assets used by the gradient slider.

  • UserInterface/Main.html:

Link to the new source files.

  • UserInterface/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
Add a call to .createGradientMarkers() such that we support editing of CSS gradients in such editors.

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
Also recognize gradient markers as valid editable markers.

  • UserInterface/TextEditor.js:

(WebInspector.TextEditor.prototype.createGradientMarkers):
Wrapper for the CodeMirror extension method .createGradientMarkers() such that it may be used by subclasses
that have no knowledge of CodeMirror.

(WebInspector.TextEditor.prototype.editingControllerForMarker):
Return a CodeMirrorGradientEditingController for TextMarkers with WebInspector.TextMarker.Type.Gradient type.

  • UserInterface/TextMarker.js:

Add the WebInspector.TextMarker.Type.Gradient type.

2:07 PM Changeset in webkit [164445] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r164417): ASSERTION FAILED: isBranch() in X86 32 bit build
https://bugs.webkit.org/show_bug.cgi?id=129118

Reviewed by Filip Pizlo.

Changed 32 bit version of SpeculativeJIT::compile handling of Jump nodes to match
what is in the 64 bit build.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

1:29 PM Changeset in webkit [164444] by zandobersek@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

[Automake] Collect the JavaScript files required for JSC builtins through a wildcard
https://bugs.webkit.org/show_bug.cgi?id=129115

Reviewed by Oliver Hunt.

  • GNUmakefile.list.am: Simplify adding new JavaScriptCore builtins by using a wildcard

to gather all the JavaScript files instead of listing each file explicitly.

12:57 PM Changeset in webkit [164443] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Replace uses of deprecated POSIX index() with strchr() in ObjcRuntimeExtras.h
https://bugs.webkit.org/show_bug.cgi?id=128610

Reviewed by Anders Carlsson.

index() is deprecated in favor of strchr() so we should use the latter.

  • API/JSWrapperMap.mm:

(selectorToPropertyName):

  • API/ObjcRuntimeExtras.h:

(parseObjCType):

12:37 PM Changeset in webkit [164442] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

FTL should not emit stack overflow checks in leaf functions
https://bugs.webkit.org/show_bug.cgi?id=129085

Reviewed by Michael Saboff.

Miniscule (0.5%) speed-up on V8v7.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::didOverflowStack):

12:01 PM Changeset in webkit [164441] by Bem Jones-Bey
  • 21 edits in trunk/Source/WebCore

Rename border/padding/margin width/height to horizontal/vertical extent on RenderBoxModelObject
https://bugs.webkit.org/show_bug.cgi?id=129043

Reviewed by David Hyatt.

Using horizontal extent instead of width and vertical extent instead
of height makes it more obvious that these are measurements of both
border/margin/padding sides, not just one.

As David Hyatt put it: "I dislike using terms like 'width' since it
could be confused with the actual border-width CSS name, i.e., a
person new to this code would think the method was returning the pixel
width of a single border."

No new tests, no behavior change.

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::updateWidget):

  • inspector/InspectorOverlay.cpp:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::checkFloatsInCleanLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::repaintLayerRectsForImage):
(WebCore::RenderBox::positionForPoint):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::horizontalBorderExtent):
(WebCore::RenderBoxModelObject::verticalBorderExtent):
(WebCore::RenderBoxModelObject::verticalBorderAndPaddingExtent):
(WebCore::RenderBoxModelObject::horizontalBorderAndPaddingExtent):
(WebCore::RenderBoxModelObject::verticalMarginExtent):
(WebCore::RenderBoxModelObject::horizontalMarginExtent):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):

  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::computePreferredLogicalWidths):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::computePreferredLogicalWidths):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
(WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild):
(WebCore::RenderFlexibleBox::computeNextFlexLine):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::localCaretRect):
(WebCore::RenderInline::generateCulledLineBoxRects):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::resize):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::computePreferredLogicalWidths):
(WebCore::RenderListBox::computeLogicalHeight):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::computePreferredLogicalWidths):

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::trackPieceRectWithMargins):

  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::computePreferredLogicalWidths):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::computeLogicalHeight):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::layout):

  • rendering/line/LineLayoutState.h:

(WebCore::FloatWithRect::FloatWithRect):

  • rendering/shapes/ShapeInfo.cpp:

(WebCore::ShapeInfo<RenderType>::setReferenceBoxLogicalSize):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::updateCachedBoundaries):

11:40 AM Changeset in webkit [164440] by Bem Jones-Bey
  • 6 edits in trunk/Source/WebCore

Rename RenderBlockFlow::clearFloats and RenderBlockFlow::newLine to be more accurate
https://bugs.webkit.org/show_bug.cgi?id=128991

Reviewed by David Hyatt.

Rename clearFloats to rebuildFloatingObjectSetFromIntrudingFloats
since it does just that.

Rename newLine to clearFloats because it actually does what the CSS
spec calls clearing floats. This also matches clearFloatsIfNeeded.

This also removes a FIXME comment that points to a bug that has
already been fixed.

This patch is based on a Blink patch by leviw:
https://src.chromium.org/viewvc/blink?revision=158598&view=revision

No new tests, no behavior change.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::clearFloats):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloats):
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleFloat):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::layout):

11:40 AM Changeset in webkit [164439] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Dynamically generated JSExport protocols added to a class results in a crash
https://bugs.webkit.org/show_bug.cgi?id=129108

Reviewed by Oliver Hunt.

We're not getting any information from the runtime about the types of the methods on
these protocols because they didn't exist at compile time. We should handle this gracefully.

  • API/ObjCCallbackFunction.mm:

(objCCallbackFunctionForInvocation):

  • API/tests/JSExportTests.mm:

(+[JSExportTests exportDynamicallyGeneratedProtocolTest]):
(runJSExportTests):

11:31 AM Changeset in webkit [164438] by commit-queue@webkit.org
  • 29 edits
    1 delete in trunk/Source

WebKitGTK+ should stop using COMPILE_ASSERT_MATCHING_ENUM macros
https://bugs.webkit.org/show_bug.cgi?id=127800

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-02-20
Reviewed by Martin Robinson.

Source/WebKit:

  • PlatformGTK.cmake: Removed AssertMatchingEnums.cpp

Source/WebKit/gtk:

  • GNUmakefile.am: Removed AssertMatchingEnums.cpp
  • WebCoreSupport/AssertMatchingEnums.cpp: Removed.
  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Defined and applied type conversions.

(toWebCoreFindOptions):
(DumpRenderTreeSupportGtk::findString):

  • WebCoreSupport/FrameLoaderClientGtk.cpp: Defined and applied type conversions.

(WebKit::toWebKitNetworkError):
(WebKit::FrameLoaderClient::dispatchDidFailLoading):
(WebKit::FrameLoaderClient::dispatchDidFailLoad):
(WebKit::FrameLoaderClient::shouldFallBack):

  • webkit/webkitwebnavigationaction.cpp: Defined and applied type conversions.

(WebKit::kit):
(WebKit::core):

  • webkit/webkitwebsettings.cpp: Defined and applied type conversions.

(WebKit::core):

  • webkit/webkitwebview.cpp: Defined and applied type conversions.

(copyGtkTargetListConvertingWebCoreEnumValuesToWebKitEnumValues):
(webkit_web_view_dispose):
(webkit_web_view_init):
(webkit_web_view_get_copy_target_list):
(webkit_web_view_get_paste_target_list):

  • webkit/webkitwebviewprivate.h: Added targetList private field, which mirrors PasteboardHelper::defaultPasteboardHelper()->targetList() but with the flags converted to WebKitWebViewTargetInfo

Source/WebKit2:

  • UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Defined and applied type conversions.

(webkit_authentication_request_get_scheme):

  • UIProcess/API/gtk/WebKitCookieManager.cpp: Defined and applied type conversions.

(toWebKitCookieAcceptPolicy):
(toHTTPCookieAcceptPolicy):
(webkit_cookie_manager_set_persistent_storage):
(webkit_cookie_manager_set_accept_policy):
(webkitCookieManagerGetAcceptPolicyCallback):

  • UIProcess/API/gtk/WebKitCredential.cpp: Defined and applied type conversions.

(toWebKitCredentialPersistence):
(toWebCoreCredentialPersistence):
(webkit_credential_new):
(webkit_credential_get_persistence):

  • UIProcess/API/gtk/WebKitDownload.cpp: Defined and applied type conversions.

(webkitDownloadFailed):

  • UIProcess/API/gtk/WebKitError.cpp: Defined and applied type conversions.
  • UIProcess/API/gtk/WebKitFindController.cpp: Defined and applied type conversions.

(toWebKitFindOptions):
(webKitFindControllerPerform):
(webkit_find_controller_search_next):
(webkit_find_controller_search_previous):

  • UIProcess/API/gtk/WebKitFindController.h: Added new private fields to the enum, needed to match conversions.
  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: Defined and applied type conversions.

(didReceiveWebViewMessageFromInjectedBundle):

  • UIProcess/API/gtk/WebKitLoaderClient.cpp: Defined and applied type conversions.

(didFailProvisionalLoadWithErrorForFrame):
(didFailLoadWithErrorForFrame):

  • UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: Defined and applied type conversions.
  • UIProcess/API/gtk/WebKitPolicyClient.cpp: Defined and applied type conversions.

(toWebKitNavigationType):
(decidePolicyForNavigationAction):
(decidePolicyForNewWindowAction):

  • UIProcess/API/gtk/WebKitPrintOperation.cpp: Defined and applied type conversions.

(drawPagesForPrintingCompleted):

  • UIProcess/API/gtk/WebKitPrivate.cpp: Defined and applied type conversions.

(toWebKitError):
(toWebCoreError):

  • UIProcess/API/gtk/WebKitPrivate.h: Defined and applied type conversions.
  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Defined and applied type conversions.

(webkit_uri_scheme_request_finish_error):

  • UIProcess/API/gtk/WebKitWebContext.cpp: Defined and applied type conversions.

(toWebKitProcessModel):
(webkit_web_context_set_process_model):
(webkit_web_context_get_process_model):

  • UIProcess/API/gtk/WebKitWebView.cpp: Defined and applied type conversions.

(toSnapshotRegion):
(webkit_web_view_get_snapshot):

  • UIProcess/API/gtk/WebKitWebViewGroup.cpp: Defined and applied type conversions.

(toWebCoreUserContentInjectedFrames):
(webkit_web_view_group_add_user_style_sheet):

11:19 AM Changeset in webkit [164437] by mhahnenberg@apple.com
  • 2 edits in trunk/LayoutTests

Unskip fast/workers/use-machine-stack.html

Unreviewed test gardening. This was fixed as part of http://trac.webkit.org/changeset/164371,
so we're unskipping it.

10:48 AM Changeset in webkit [164436] by graouts@webkit.org
  • 13 edits
    1 copy in trunk/Source/WebInspectorUI

Web Inspector: create a CodeMirrorEditingController superclass
https://bugs.webkit.org/show_bug.cgi?id=129094

Reviewed by Timothy Hatcher.

Take code that is generic to editing of any text marker out of CodeMirrorColorEditingController to
create a new CodeMirrorEditingController superclass that'll be fit to use for future editing controllers.
Additioanlly, we fix existing issues with such editing by supporting text markers spread across several
lines and more robustly handling the Esc. key being pressed to dismiss a controller's popover.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
Adopt the new .createColorMarkers() method signature to provide a TextRange parameter rather than a single
line number.

  • UserInterface/CodeMirrorAdditions.js:

Remove the .boundsForRange() method in favor of a .rectsForRange() method which will allow us to draw better
menus when hovering over a text range by providing tight bounds rather than a large box. We also handle any
line wrapping produced by CodeMirror and remove any leading white-space so that the rects are tight to the
actual characters in the text marker.

We also change .createColorMarkers() to take in a TextRange parameter rather than a line number in order to
better deal with text markers spread across multiple lines.

  • UserInterface/CodeMirrorColorEditingController.js:

Remove any code that is adequate for any editing controller (which is moving to CodeMirrorEditingController).
We also adopt new interfaces exposed by CodeMirrorEditingController.

(WebInspector.CodeMirrorColorEditingController):
(WebInspector.CodeMirrorColorEditingController.prototype.get initialValue):
(WebInspector.CodeMirrorColorEditingController.prototype.get cssClassName):
(WebInspector.CodeMirrorColorEditingController.prototype.popoverWillPresent):
(WebInspector.CodeMirrorColorEditingController.prototype.popoverDidPresent):
(WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):

  • UserInterface/CodeMirrorEditingController.js: Copied from Source/WebInspectorUI/UserInterface/CodeMirrorColorEditingController.js.

New class meant to be subclassed by any future editing controller, and already subclassed by
CodeMirrorColorEditingController. This class exposes several hooks for subclasses to customize its behavior:

.initialValue: a value we can revert to if the editing is canceled
.cssClassName: a CSS class name that can be added to the editing controller's container
.popoverPreferredEdges: a list of preferredEdges as passed to Popover.prototype.present() with a sensible default
.popoverTargetFrameWithRects: a targetFrame passed to Popover.prototype.present(), defaults to a union of provided rects
.popoverWillPresent: called as the popover is about to be presented, typically overridden to set the popover's content
.popoverDidPresent: called as the popover just was presented, typically overridden when content needs to tuned only after
being added to the DOM and setting of the necessary machinery to update the serialized value in the editor based on interaction
within the popover without changing the serialized value upon showing the popover the very first time.

Additionally, the .value property must be an object supporting .toString() and .copy() method.

Finally, the .editingControllerDidStartEditing() and .editingControllerDidFinishEditing() delegate methods are fired
as editing begins and finishes.

(WebInspector.CodeMirrorEditingController):
(WebInspector.CodeMirrorEditingController.prototype.get marker):
(WebInspector.CodeMirrorEditingController.prototype.get range):
(WebInspector.CodeMirrorEditingController.prototype.get value):
(WebInspector.CodeMirrorEditingController.prototype.set value):
(WebInspector.CodeMirrorEditingController.prototype.get delegate):
(WebInspector.CodeMirrorEditingController.prototype.set delegate):
(WebInspector.CodeMirrorEditingController.prototype.get text):
(WebInspector.CodeMirrorEditingController.prototype.set text):
(WebInspector.CodeMirrorEditingController.prototype.get initialValue):
(WebInspector.CodeMirrorEditingController.prototype.get cssClassName):
(WebInspector.CodeMirrorEditingController.prototype.get popover):
(WebInspector.CodeMirrorEditingController.prototype.get popoverPreferredEdges):
(WebInspector.CodeMirrorEditingController.prototype.popoverTargetFrameWithRects):
(WebInspector.CodeMirrorEditingController.prototype.presentHoverMenu):
(WebInspector.CodeMirrorEditingController.prototype.dismissHoverMenu):
(WebInspector.CodeMirrorEditingController.prototype.popoverWillPresent):
(WebInspector.CodeMirrorEditingController.prototype.popoverDidPresent):

(WebInspector.CodeMirrorEditingController.prototype.handleKeydownEvent):
Event handler for keydown events as registered via the new WebInspector.addWindowKeydownListener() method.

(WebInspector.CodeMirrorEditingController.prototype.hoverMenuButtonWasPressed):
(WebInspector.CodeMirrorEditingController.prototype.didDismissPopover):

  • UserInterface/Geometry.js:

(WebInspector.Rect.unionOfRects):
(WebInspector.Rect.prototype.unionWithRect):
New utilities to get a Rect that is the union of the provided Rect or array of Rects.

(WebInspector.Polygon):
(WebInspector.Polygon.prototype.bounds):
New class used to store a list of points for a polygon and get its bounds, used by the HoverMenu class.

  • UserInterface/HoverMenu.css:

(.hover-menu):
(.hover-menu > svg):
(.hover-menu > svg > rect):
(.hover-menu > img):

  • UserInterface/HoverMenu.js:

We remove the assumption that a HoverMenu is only used to draw a single rounded rect based on a simple
Rect and instead support presentation based on an array of Rects where we either:

  • draw a single rounded rectangle if there is only a single Rect provided
  • draw two disconnected open-ended rects if we're provided with two non-overlapping Rects
  • draw a polygon surrounding all provided Rects in all other cases

No matter how the HoverMenu is drawn, the drawing is performed in SVG with either <rect> or a <path> elements.

(WebInspector.HoverMenu):
(WebInspector.HoverMenu.prototype.present):
(WebInspector.HoverMenu.prototype.dismiss):
(WebInspector.HoverMenu.prototype.handleEvent):
(WebInspector.HoverMenu.prototype._handleClickEvent):
(WebInspector.HoverMenu.prototype._drawOutline):
(WebInspector.HoverMenu.prototype._addRect):
(WebInspector.HoverMenu.prototype._addPath):
(WebInspector.HoverMenu.prototype._drawSingleLine):
(WebInspector.HoverMenu.prototype._drawTwoNonOverlappingLines):
(WebInspector.HoverMenu.prototype._drawOverlappingLines):

  • UserInterface/Main.html:

Link to the new CodeMirrorEditingController class.

  • UserInterface/Main.js:

Expose a new mechanism to deal with window-level handling of keydown events in order to allow
a list of handlers to accept or reject dealing with the provided keydown event based on the order
they were registered, in most recent to oldest registered handler. This allows, for instance, for
a more graceful handling of the Esc. key being pressed in the CodeMirrorEditingController and
bypasses the DOM structure allowing for objects managing elements in different DOM hierarchies
to compete with handling of keydown events.

(WebInspector.loaded):
(WebInspector.addWindowKeydownListener):
(WebInspector.removeWindowKeydownListener):
(WebInspector._updateWindowKeydownListener):
(WebInspector._sharedWindowKeydownListener):

  • UserInterface/SourceCodeTextEditor.css:

(.hover-menu.color > img):
Update the offset applied to a HoverMenu button based on the change of layout for such buttons which
are now absolutely positioned in code by HoverMenu rather than being laid out using the flex-box model.

  • UserInterface/SourceCodeTextEditor.js:

Abstrct away the assumption that only a color editing controller may be used to edit text markers in
a source code text editor.

(WebInspector.SourceCodeTextEditor.prototype.hidden):
Ensure we remove any currently-displayed hover menu for an editing controller when the editor is hidden.
This would happen in the situation where a keyboard shortcut was used to jump to another part of the
Web Inspector UI without using the mouse.

(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
Since we're now working with text ranges rather than lines, remove the code where we'd work out a set of
changed lines and call ._updateEditableMarkers() with the changed range directly instead.

(WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker):
Adopt the more generic method names rather than color-specific ones.

(WebInspector.SourceCodeTextEditor.prototype._showPopover):
When showing the popover outside of the use of a CodeMirrorEditingController, such as a JavaScript expression
when debugging, also deal with the possibility of the highlighted range containing multiple lines rather
than assume a single line.

(WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
More generic method name to support future, non-color editing controllers.

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
Find the outermost marker in the list of markers provided such that a marker containing other markers
shows the UI for the containing marker. For instance, a gradient marker would contain several color
markers and it's preferable to show the editing UI for the whole gradient rather than a specific color.

Additionally, adopt more generic ivars and method names to support future, non-color editing controllers.

(WebInspector.SourceCodeTextEditor.prototype._dismissEditingController):
Support for new parameter instructing that the editing controller dismissal should be instant rather than
animated, which is the default. This is useful when, for instance, the text editor is cleared.

(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing):
(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing):
Adopt the more generic method names rather than color-specific ones.

  • UserInterface/TextEditor.js:

(WebInspector.TextEditor.prototype.rectsForRange):
Remove .boundsForRange() in favor of this new method where we return a series of rects so that we may
draw a more pleasing HoverMenu.

(WebInspector.TextEditor.prototype.createColorMarkers):
Use a TextRanger rather than a single line number to match the underlying CodeMirror extension method.

(WebInspector.TextEditor.prototype.editingControllerForMarker):
Use the provided TextMarker's type to provide the most adequate CodeMirrorEditingController class.

  • UserInterface/TextMarker.js:

(WebInspector.TextMarker.prototype.get rects):
Remove the .bounds property in favor of .rects to match the underlying CodeMirror extension method.

10:23 AM Changeset in webkit [164435] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERT in FrameLoader::shouldInterruptLoadForXFrameOptions
https://bugs.webkit.org/show_bug.cgi?id=129081
<rdar://problem/16026440>

Reviewed by Alexey Proskuryakov.

Do not assert if the server sends us a malformed X-Frame-Options header.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):

10:15 AM Changeset in webkit [164434] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit/mac

[ASan] WebKit1 sources are not compiled using ASAN macros
<http://webkit.org/b/128871>

Reviewed by Brent Fulgham.

  • Configurations/WebKit.xcconfig: Use $inherited for

OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS so that ASAN_OTHER_CFLAGS
and ASAN_OTHER_CPLUSPLUSFLAGS are inherited from
DebugRelease.xcconfig.

9:38 AM Changeset in webkit [164433] by rgabor@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

ASSERTION FAILED: isUInt16() on ARMv7 after r113253.
https://bugs.webkit.org/show_bug.cgi?id=129101

Reviewed by Michael Saboff.

If the immediate value type is encoded then we shouldn't reach this assert.
Check the immediate type to avoid assertion in alignemnt check.

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::add):

9:27 AM Changeset in webkit [164432] by graouts@webkit.org
  • 4 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Popover should animate its frame to display its refreshed content
https://bugs.webkit.org/show_bug.cgi?id=129088

Reviewed by Timothy Hatcher.

When calling .update(), we now check whether we can animate the change of frame provided the
new computed frame to best fit the current content still matches the edge the popover uses
to attach to the target frame. If we find that we can do so, we animate the background frame
of the popover while ensuring the anchor point remains stable during the animation such that
only the popover's frame seems to animate.

  • UserInterface/Geometry.js:

(WebInspector.Rect.prototype.round):
Returns a new Rect with rounded values, using a floor for the position and a ceil for the size.

  • UserInterface/Main.html:

Link to the new UnitBezier.js source file.

  • UserInterface/Popover.js:

(WebInspector.Popover):
Make ._anchorPoint an ivar such that we don't need to pass a reference to the anchorPoint into
the various calls leading to an update of the popover's background drawing.

(WebInspector.Popover.prototype.set frame):
We no longer round the values of the frame here, instead calling the new .round() method on Rect
in places where we compute a new frame.

(WebInspector.Popover.prototype.set content):
(WebInspector.Popover.prototype.update):
Update the calls to ._update() to set the new shouldAnimate flag to true in situations where the
popover is already visible.

(WebInspector.Popover.prototype._update):
In the situation where there is a preference to animate the frame, as set by the new shouldAnimate
parameter, check that we can indeed animate by ensuring that the edge the popover uses to attach to
the target frame remains the same upon computing the new best metrics for the new content size. If
we can indeed animate, call _animateFrame(), otherwise set the new frame, anchor point and frame
drawing discretely like we used to.

(WebInspector.Popover.prototype._setAnchorPoint):
New method to ensure we floor the position of the anchor point to ensure, when animating, that the
anchor point remains stationary.

(WebInspector.Popover.prototype._animateFrame):
Using the new UnitBezier class, animate the popover frame from its previous value to its newly computed
value while ensuring the anchor point remains, at all times, the same absolute position such that it
remains stationary during the animation. The spline used to animate the frame is the same that a CSS
transition set with an "ease" timing-function (default value) would use.

(WebInspector.Popover.prototype._drawBackground):
(WebInspector.Popover.prototype._drawFrame):
Adopt new ._edge and ._anchorPoint ivars.

  • UserInterface/UnitBezier.js: Added.

New class used to perform animations using a timing function specified with a cubic Bézier curve. The code
is directly adapted from the Source/WebCore/platform/graphics/UnitBezier.h file.

(WebInspector.UnitBezier):
(WebInspector.UnitBezier.prototype.solve):
(WebInspector.UnitBezier.prototype._sampleCurveX):
(WebInspector.UnitBezier.prototype._sampleCurveY):
(WebInspector.UnitBezier.prototype._sampleCurveDerivativeX):
(WebInspector.UnitBezier.prototype._solveCurveX):

9:19 AM Changeset in webkit [164431] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: content using a CSS transition within a popover causes the popover to disappear
https://bugs.webkit.org/show_bug.cgi?id=129089

Reviewed by Timothy Hatcher.

Simply check that the element being transitioned is indeed the popover's container before assuming
that the "transitonend" received was for a fade-out transition.

  • UserInterface/Popover.js:

(WebInspector.Popover.prototype.handleEvent):

9:01 AM Changeset in webkit [164430] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WTF

Add StackStats sources to cmake and autotools build files
https://bugs.webkit.org/show_bug.cgi?id=129103

Reviewed by Anders Carlsson.

  • GNUmakefile.list.am:
  • wtf/CMakeLists.txt:
8:43 AM Changeset in webkit [164429] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: clicking on a color swatch in the Computed styles tab shouldn't show the color editing popover
https://bugs.webkit.org/show_bug.cgi?id=129093

Reviewed by Timothy Hatcher.

If the current editor is read-only, only allow cycling between color types since it wouldn't make sense to edit
such colors.

  • UserInterface/CSSStyleDeclarationTextEditor.js:
7:23 AM Changeset in webkit [164428] by k.czech@samsung.com
  • 3 edits in trunk/Source/WebCore

AX: Use auto to reduce some code in loops
https://bugs.webkit.org/show_bug.cgi?id=129087

Reviewed by Chris Fleizach.

Use auto where appropriate to reduce some code.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::boundingBoxForQuads):
(WebCore::AccessibilityObject::ariaRoleToWebCoreRole):

  • accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:

(webkitAccessibleHypertextGetNLinks):

6:31 AM Changeset in webkit [164427] by Michał Pakuła vel Rutka
  • 4 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add tests expectations for failing tests and remove ones for
passing tests after r163645, r163614, r164145.

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
6:15 AM WebKitGTK/Chroot edited by Andres Gomez
Added how to restart a user-wide instance of pulse audio (diff)
6:11 AM WebKitGTK/Chroot edited by Andres Gomez
Minor detail to Pulse running user-wide (diff)
6:06 AM WebKitGTK/Chroot edited by Andres Gomez
(diff)
5:52 AM Changeset in webkit [164426] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Unreviewed, rolling out r164422.
http://trac.webkit.org/changeset/164422
https://bugs.webkit.org/show_bug.cgi?id=129102

Causes assertions in
ScriptExecutionContext::canSuspendActiveDOMObjects()
(Requested by zdobersek on #webkit).

  • dom/KeyboardEvent.cpp:

(WebCore::KeyboardEvent::KeyboardEvent):

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

(WebCore::ScriptExecutionContext::reportException):
(WebCore::ScriptExecutionContext::publicURLManager):

  • dom/ScriptExecutionContext.h:
  • dom/ScriptRunner.h:
4:29 AM Changeset in webkit [164425] by zandobersek@gmail.com
  • 7 edits in trunk/Source/WebCore

Move to using std::unique_ptr for VisitedLinkState, CheckedRadioButtons
https://bugs.webkit.org/show_bug.cgi?id=128967

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr in the VisitedLinkState and
CheckedRadioButtons classes with std::unique_ptr.

  • dom/CheckedRadioButtons.cpp:

(WebCore::RadioButtonGroup::RadioButtonGroup):
(WebCore::RadioButtonGroup::remove):
(WebCore::CheckedRadioButtons::addButton):
(WebCore::CheckedRadioButtons::removeButton):

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

(WebCore::Document::Document):

  • dom/Document.h:
  • dom/VisitedLinkState.cpp:
  • dom/VisitedLinkState.h:
3:33 AM Changeset in webkit [164424] by Csaba Osztrogonác
  • 212 edits in trunk/Source

Get rid of redundant Platform.h includes
https://bugs.webkit.org/show_bug.cgi?id=128817

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

  • API/tests/JSNode.c:
  • API/tests/JSNodeList.c:
  • API/tests/minidom.c:
  • API/tests/testapi.c:
  • assembler/MacroAssembler.h:
  • bytecode/ByValInfo.h:
  • bytecode/CallLinkInfo.h:
  • bytecode/CallReturnOffsetToBytecodeOffset.h:
  • bytecode/CodeType.h:
  • bytecode/HandlerInfo.h:
  • bytecode/MethodOfGettingAValueProfile.h:
  • bytecode/PolymorphicAccessStructureList.h:
  • bytecode/PolymorphicPutByIdList.h:
  • bytecode/StructureStubClearingWatchpoint.h:
  • bytecode/StructureStubInfo.h:
  • bytecode/ValueRecovery.h:
  • bytecode/VirtualRegister.h:
  • dfg/DFGAbstractHeap.h:
  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAbstractInterpreterInlines.h:
  • dfg/DFGAbstractValue.h:
  • dfg/DFGAdjacencyList.h:
  • dfg/DFGAllocator.h:
  • dfg/DFGAnalysis.h:
  • dfg/DFGArgumentsSimplificationPhase.h:
  • dfg/DFGArrayMode.h:
  • dfg/DFGArrayifySlowPathGenerator.h:
  • dfg/DFGAtTailAbstractState.h:
  • dfg/DFGBackwardsPropagationPhase.h:
  • dfg/DFGBinarySwitch.h:
  • dfg/DFGBlockInsertionSet.h:
  • dfg/DFGBranchDirection.h:
  • dfg/DFGCFAPhase.h:
  • dfg/DFGCFGSimplificationPhase.h:
  • dfg/DFGCPSRethreadingPhase.h:
  • dfg/DFGCSEPhase.h:
  • dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
  • dfg/DFGCapabilities.h:
  • dfg/DFGClobberSet.h:
  • dfg/DFGClobberize.h:
  • dfg/DFGCommon.h:
  • dfg/DFGCommonData.h:
  • dfg/DFGConstantFoldingPhase.h:
  • dfg/DFGCriticalEdgeBreakingPhase.h:
  • dfg/DFGDCEPhase.h:
  • dfg/DFGDesiredIdentifiers.h:
  • dfg/DFGDesiredStructureChains.h:
  • dfg/DFGDesiredWatchpoints.h:
  • dfg/DFGDisassembler.h:
  • dfg/DFGDominators.h:
  • dfg/DFGDriver.h:
  • dfg/DFGEdge.h:
  • dfg/DFGEdgeDominates.h:
  • dfg/DFGEdgeUsesStructure.h:
  • dfg/DFGFailedFinalizer.h:
  • dfg/DFGFiltrationResult.h:
  • dfg/DFGFinalizer.h:
  • dfg/DFGFixupPhase.h:
  • dfg/DFGFlushFormat.h:
  • dfg/DFGFlushLivenessAnalysisPhase.h:
  • dfg/DFGFlushedAt.h:
  • dfg/DFGGraph.h:
  • dfg/DFGInPlaceAbstractState.h:
  • dfg/DFGInsertionSet.h:
  • dfg/DFGInvalidationPointInjectionPhase.h:
  • dfg/DFGJITCode.h:
  • dfg/DFGJITFinalizer.h:
  • dfg/DFGLICMPhase.h:
  • dfg/DFGLazyJSValue.h:
  • dfg/DFGLivenessAnalysisPhase.h:
  • dfg/DFGLongLivedState.h:
  • dfg/DFGLoopPreHeaderCreationPhase.h:
  • dfg/DFGMinifiedGraph.h:
  • dfg/DFGMinifiedID.h:
  • dfg/DFGMinifiedNode.h:
  • dfg/DFGNaturalLoops.h:
  • dfg/DFGNode.h:
  • dfg/DFGNodeAllocator.h:
  • dfg/DFGNodeFlags.h:
  • dfg/DFGNodeType.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.h:
  • dfg/DFGOSREntrypointCreationPhase.h:
  • dfg/DFGOSRExit.h:
  • dfg/DFGOSRExitBase.h:
  • dfg/DFGOSRExitCompilationInfo.h:
  • dfg/DFGOSRExitCompiler.h:
  • dfg/DFGOSRExitCompilerCommon.h:
  • dfg/DFGOSRExitJumpPlaceholder.h:
  • dfg/DFGPhase.h:
  • dfg/DFGPlan.h:
  • dfg/DFGPredictionInjectionPhase.h:
  • dfg/DFGPredictionPropagationPhase.h:
  • dfg/DFGResurrectionForValidationPhase.h:
  • dfg/DFGSSAConversionPhase.h:
  • dfg/DFGSafeToExecute.h:
  • dfg/DFGSaneStringGetByValSlowPathGenerator.h:
  • dfg/DFGSilentRegisterSavePlan.h:
  • dfg/DFGSlowPathGenerator.h:
  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGStackLayoutPhase.h:
  • dfg/DFGStructureAbstractValue.h:
  • dfg/DFGThunks.h:
  • dfg/DFGTierUpCheckInjectionPhase.h:
  • dfg/DFGToFTLDeferredCompilationCallback.h:
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h:
  • dfg/DFGTypeCheckHoistingPhase.h:
  • dfg/DFGUnificationPhase.h:
  • dfg/DFGUseKind.h:
  • dfg/DFGValidate.h:
  • dfg/DFGValueRecoveryOverride.h:
  • dfg/DFGValueSource.h:
  • dfg/DFGVariableAccessData.h:
  • dfg/DFGVariableAccessDataDump.h:
  • dfg/DFGVariableEvent.h:
  • dfg/DFGVariableEventStream.h:
  • dfg/DFGVirtualRegisterAllocationPhase.h:
  • dfg/DFGWatchpointCollectionPhase.h:
  • dfg/DFGWorklist.h:
  • disassembler/Disassembler.h:
  • ftl/FTLAbbreviatedTypes.h:
  • ftl/FTLAbbreviations.h:
  • ftl/FTLAbstractHeap.h:
  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.h:
  • ftl/FTLCommonValues.h:
  • ftl/FTLCompile.h:
  • ftl/FTLExitArgument.h:
  • ftl/FTLExitArgumentForOperand.h:
  • ftl/FTLExitArgumentList.h:
  • ftl/FTLExitThunkGenerator.h:
  • ftl/FTLExitValue.h:
  • ftl/FTLFail.h:
  • ftl/FTLForOSREntryJITCode.h:
  • ftl/FTLFormattedValue.h:
  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLJITCode.h:
  • ftl/FTLJITFinalizer.h:
  • ftl/FTLLink.h:
  • ftl/FTLLocation.h:
  • ftl/FTLLowerDFGToLLVM.h:
  • ftl/FTLLoweredNodeValue.h:
  • ftl/FTLOSREntry.h:
  • ftl/FTLOSRExit.h:
  • ftl/FTLOSRExitCompilationInfo.h:
  • ftl/FTLOSRExitCompiler.h:
  • ftl/FTLOutput.h:
  • ftl/FTLSaveRestore.h:
  • ftl/FTLStackMaps.h:
  • ftl/FTLState.h:
  • ftl/FTLSwitchCase.h:
  • ftl/FTLThunks.h:
  • ftl/FTLTypedPointer.h:
  • ftl/FTLValueFormat.h:
  • ftl/FTLValueFromBlock.h:
  • heap/JITStubRoutineSet.h:
  • interpreter/AbstractPC.h:
  • jit/AssemblyHelpers.h:
  • jit/CCallHelpers.h:
  • jit/ClosureCallStubRoutine.h:
  • jit/GCAwareJITStubRoutine.h:
  • jit/HostCallReturnValue.h:
  • jit/JITDisassembler.h:
  • jit/JITStubRoutine.h:
  • jit/JITThunks.h:
  • jit/JITToDFGDeferredCompilationCallback.h:
  • jit/RegisterSet.h:
  • jit/Repatch.h:
  • jit/ScratchRegisterAllocator.h:
  • jit/TempRegisterSet.h:
  • jit/ThunkGenerator.h:
  • llint/LLIntData.h:
  • llint/LLIntEntrypoint.h:
  • llint/LLIntExceptions.h:
  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntOpcode.h:
  • llint/LLIntSlowPaths.h:
  • llint/LLIntThunks.h:
  • llint/LowLevelInterpreter.h:
  • llvm/InitializeLLVM.h:
  • llvm/InitializeLLVMPOSIX.h:
  • llvm/LLVMAPI.h:
  • os-win32/inttypes.h:
  • runtime/ArrayStorage.h:
  • runtime/Butterfly.h:
  • runtime/CommonSlowPaths.h:
  • runtime/CommonSlowPathsExceptions.h:
  • runtime/IndexingHeader.h:
  • runtime/JSExportMacros.h:
  • runtime/PropertyOffset.h:
  • runtime/SparseArrayValueMap.h:

Source/WebKit/win:

  • WebDownloadCFNet.cpp:
  • WebDownloadCurl.cpp:
  • WebURLResponse.cpp:

Source/WebKit2:

  • config.h:

Source/WTF:

  • wtf/Assertions.h:
  • wtf/Atomics.h:
  • wtf/ByteOrder.h:
  • wtf/DataLog.h:
  • wtf/DisallowCType.h:
  • wtf/DynamicAnnotations.h:
  • wtf/ExportMacros.h:
  • wtf/FastMalloc.h:
  • wtf/FlipBytes.h:
  • wtf/InlineASM.h:
  • wtf/PrintStream.h:
  • wtf/ProcessID.h:
  • wtf/Threading.h:
  • wtf/ThreadingPrimitives.h:
2:24 AM Changeset in webkit [164423] by commit-queue@webkit.org
  • 6 edits in trunk

AX: Children Nodes for Canvas objects are not equal to Render Objects.
https://bugs.webkit.org/show_bug.cgi?id=123568

Patch by Artur Moryc <a.moryc@samsung.com> on 2014-02-20
Reviewed by Chris Fleizach.

Source/WebCore:

There is a difference in children nodes taken into account for RenderObject
and for NodeObject types. There is a problem with text nodes that are
focusable for EFL/GTK and therefore are not filtered out in the test like it
happens for the MAC port. Text nodes are eliminated in the
AccessibilityRenderObject::computeAccessibilityIsIgnored() method. The same
approach has been applied to the NodeObject to eliminate text nodes.

Covered by existing tests.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):

LayoutTests:

The canvas-accessibilitynodeobject.html test is not failing anymore.

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
1:57 AM Changeset in webkit [164422] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebCore

Move to using std::unique_ptr for KeyboardEvent, ScriptExecutionContext::PendingException
https://bugs.webkit.org/show_bug.cgi?id=129061

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr for KeyboardEvent and ScriptExecutionContext::PendingException
classes with std::unique_ptr. ScriptExecutionContext::Task objects are still handled through OwnPtr,
but this will be addressed later.

  • dom/KeyboardEvent.cpp:

(WebCore::KeyboardEvent::KeyboardEvent):

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

(WebCore::ScriptExecutionContext::reportException):
(WebCore::ScriptExecutionContext::publicURLManager):

  • dom/ScriptExecutionContext.h:
  • dom/ScriptRunner.h: Remove an unnecessary PassOwnPtr header inclusion.
1:49 AM Changeset in webkit [164421] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

Move to using std::unique_ptr for EventListenerMap, EventTarget
https://bugs.webkit.org/show_bug.cgi?id=129062

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr in the EventListenerMap and
EventTarget classes with std::unique_ptr.

  • dom/EventListenerMap.cpp:

(WebCore::EventListenerMap::add):

  • dom/EventListenerMap.h:
  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • dom/EventTarget.h:
1:46 AM Changeset in webkit [164420] by zandobersek@gmail.com
  • 16 edits in trunk/Source/WebCore

Move to using std::unique_ptr for Document and related classes
https://bugs.webkit.org/show_bug.cgi?id=129063

Reviewed by Anders Carlsson.

Replace uses of OwnPtr and PassOwnPtr in the Document and related classes with std::unique_ptr.

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

(WebCore::Document::Document):
(WebCore::Document::removedLastRef):
(WebCore::Document::selectorQueryCache):
(WebCore::Document::implementation):
(WebCore::Document::formController):
(WebCore::Document::createStyleResolver):
(WebCore::Document::clearStyleResolver):
(WebCore::Document::clearAXObjectCache):
(WebCore::Document::axObjectCache):
(WebCore::Document::setParsing):
(WebCore::Document::styleResolverChanged):
(WebCore::Document::setTransformSource):
(WebCore::Document::accessSVGExtensions):
(WebCore::Document::sharedObjectPoolClearTimerFired):
(WebCore::Document::didAddTouchEventHandler):

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

(WebCore::DocumentEventQueue::DocumentEventQueue):

  • dom/DocumentEventQueue.h:
  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::addMarker):

  • dom/DocumentMarkerController.h:
  • dom/DocumentSharedObjectPool.cpp:
  • dom/DocumentSharedObjectPool.h:
  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::activeStyleSheetsContains):

  • dom/DocumentStyleSheetCollection.h:
  • dom/DocumentType.h:
  • html/FormController.h:
  • rendering/TextAutosizer.h:
  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::doEnd):

1:10 AM Changeset in webkit [164419] by mihnea@adobe.com
  • 4 edits in trunk/Source/WebCore

[CSSRegions] Add helper method for region clipping flow content
https://bugs.webkit.org/show_bug.cgi?id=129036

Reviewed by Andrei Bucur.

Add helper method to test whether a region should clip the flow thread content
and use it thoughout the code.
Code refactoring, no functionality change, no new tests.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::RenderRegion::shouldClipFlowThreadContent):
(WebCore::RenderRegion::rectFlowPortionForBox):

  • rendering/RenderRegion.h:
12:28 AM Changeset in webkit [164418] by fred.wang@free.fr
  • 9 edits
    6 adds in trunk

Implement the MathML Operator Dictionary.
https://bugs.webkit.org/show_bug.cgi?id=99620

Reviewed by Chris Fleizach.

Source/WebCore:

The MathML Operator Dictionary is implemented and the corresponding mo
attributes are parsed. Currently, only the stretchy property is used for
the visual rendering and the fence/separators properties are used by the
accessibility code. Very basic heuristics to determine the form are also
added.

Tests: mathml/presentation/mo-form-fallback.html

mathml/presentation/mo-form-stretchy.html
mathml/presentation/mo-invalid-attributes.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isMathFenceOperator):
(WebCore::AccessibilityRenderObject::isMathSeparatorOperator):

  • mathml/mathattrs.in:
  • rendering/mathml/RenderMathMLFenced.cpp:

(WebCore::RenderMathMLFenced::createMathMLOperator):
(WebCore::RenderMathMLFenced::makeFences):
(WebCore::RenderMathMLFenced::addChild):

  • rendering/mathml/RenderMathMLFenced.h:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::MathMLOperatorDictionary::ExtractKey):
(WebCore::MathMLOperatorDictionary::ExtractChar):
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
(WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
(WebCore::RenderMathMLOperator::SetOperatorProperties):
(WebCore::RenderMathMLOperator::advanceForCharacter):
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::shouldAllowStretching):
(WebCore::RenderMathMLOperator::updateStyle):

  • rendering/mathml/RenderMathMLOperator.h:

LayoutTests:

  • mathml/presentation/mo-form-fallback-expected.html: Added.
  • mathml/presentation/mo-form-fallback.html: Added.
  • mathml/presentation/mo-form-stretchy-expected.html: Added.
  • mathml/presentation/mo-form-stretchy.html: Added.
  • mathml/presentation/mo-invalid-attributes-expected.html: Added.
  • mathml/presentation/mo-invalid-attributes.html: Added.
  • mathml/presentation/mo-stretch.html: add an explicit stretchy attribute on the &DoubleVerticalBar; which is actually not a delimiter.
12:00 AM Changeset in webkit [164417] by fpizlo@apple.com
  • 14 edits in trunk/Source/JavaScriptCore

DFG should have a way of carrying and preserving conditional branch weights
https://bugs.webkit.org/show_bug.cgi?id=129083

Reviewed by Michael Saboff.

Branch and Switch now have branch counts/weights for each target. This is encapsulated
behind DFG::BranchTarget. We carry this data all the way to the FTL, and the DFG
backend ignores it.

We don't set this data yet; that's for https://bugs.webkit.org/show_bug.cgi?id=129055.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::branchData):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::linkBlock):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::run):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:
  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::mergeToSuccessors):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGNode.cpp:

(JSC::DFG::BranchTarget::dump):

  • dfg/DFGNode.h:

(JSC::DFG::BranchTarget::BranchTarget):
(JSC::DFG::BranchTarget::setBytecodeIndex):
(JSC::DFG::BranchTarget::bytecodeIndex):
(JSC::DFG::BranchData::withBytecodeIndices):
(JSC::DFG::BranchData::takenBytecodeIndex):
(JSC::DFG::BranchData::notTakenBytecodeIndex):
(JSC::DFG::BranchData::forCondition):
(JSC::DFG::SwitchCase::SwitchCase):
(JSC::DFG::SwitchCase::withBytecodeIndex):
(JSC::DFG::SwitchData::SwitchData):
(JSC::DFG::Node::targetBytecodeOffsetDuringParsing):
(JSC::DFG::Node::targetBlock):
(JSC::DFG::Node::branchData):
(JSC::DFG::Node::successor):
(JSC::DFG::Node::successorForCondition):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleDoubleBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBooleanBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleInt32Branch):
(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):
(JSC::DFG::SpeculativeJIT::compileRegExpExec):
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):
(JSC::DFG::SpeculativeJIT::emitSwitchImm):
(JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump):
(JSC::DFG::SpeculativeJIT::emitSwitchChar):
(JSC::DFG::SpeculativeJIT::emitBinarySwitchStringRecurse):
(JSC::DFG::SpeculativeJIT::emitSwitchStringOnString):
(JSC::DFG::SpeculativeJIT::emitSwitchString):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleInt52Branch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileJump):
(JSC::FTL::LowerDFGToLLVM::compileBranch):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::buildSwitch):

Feb 19, 2014:

11:12 PM Changeset in webkit [164416] by ChangSeok Oh
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix after r164396

  • GNUmakefile.list.am: Added Promises.prototype.js properly
9:02 PM Changeset in webkit [164415] by Alan Bujtas
  • 11 edits in trunk/Source/WebCore

Subpixel rendering: Make GraphicsLayer's offsetFromRenderer subpixel position based.
https://bugs.webkit.org/show_bug.cgi?id=128694

Reviewed by Simon Fraser.

Changing layers from using integral types to using Float/LayoutUnits so that
we can position them on subpixels. They are still integral positioned though.

Covered by existing tests.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::setOffsetFromRenderer):
(WebCore::GraphicsLayer::paintGraphicsLayerContents):

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::offsetFromRenderer): removed incorrect comment.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
(WebCore::RenderLayerBacking::positionOverflowControlsLayers):
(WebCore::RenderLayerBacking::computeTransformOrigin):
(WebCore::RenderLayerBacking::computePerspectiveOrigin):

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

(WebCore::RenderLayerCompositor::requiresOwnBackingStore):

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):

  • rendering/RenderRegion.h:
8:18 PM Changeset in webkit [164414] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

8:14 PM Changeset in webkit [164413] by Lucas Forschler
  • 1 copy in tags/Safari-538.19

New Tag.

8:13 PM Changeset in webkit [164412] by Alan Bujtas
  • 12 edits in trunk/Source

Subpixel rendering: Make GraphicsLayer::paintGraphicsLayerContents()'s cliprect FloatRect based.
https://bugs.webkit.org/show_bug.cgi?id=128911

Reviewed by Simon Fraser.

Switching from IntRect to FloatRect makes device pixel position clipping possible.

Covered by existing tests.

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

(WebCore::GraphicsLayer::paintGraphicsLayerContents):

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

(WebCore::GraphicsLayerCA::platformCALayerPaintContents):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayerClient.h:
  • platform/graphics/ca/mac/TileController.h:
  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::platformCALayerPaintContents):

  • platform/graphics/mac/WebLayer.mm:

(WebCore::drawLayerContents):
(-[WebSimpleLayer drawInContext:]):

7:39 PM Changeset in webkit [164411] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Subpixel rendering: (RenderLayer)Pass non-css-pixel-snapped dirty rects to PaintInfo when painting renderer().
https://bugs.webkit.org/show_bug.cgi?id=128913

Reviewed by Simon Fraser.

This is part of the preparation to move RenderLayers to device pixel positioning.
We might need to device pixelsnapp the dirty rects later, but PaintInfo should be
able to manage that instead of doing it everywhere in the code.

Covered by existing tests.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):

7:26 PM Changeset in webkit [164410] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix.

  • UIProcess/API/C/WKPage.cpp: (WKPageGetBytecodeProfile): Updated a recently added

instance of ScriptCallback.

7:21 PM Changeset in webkit [164409] by ap@apple.com
  • 35 edits in trunk/Source/WebKit2

[WK2] IPC callback classes should not be tightly coupled to C API
https://bugs.webkit.org/show_bug.cgi?id=129030

Reviewed by Anders Carlsson.

Changed CallbackBase subclasses to take an std::function (with context captured inside).
Instead of C API objects, these callback functions take implementation ones.
There are VoidAPICallback and GenericAPICallback helpers for the common case of C API.

  • Shared/SecurityOriginData.h:
  • UIProcess/API/C/WKApplicationCacheManager.cpp:

(WKApplicationCacheManagerGetApplicationCacheOrigins):

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetStatistics):
(WKContextGetStatisticsWithOptions):

  • UIProcess/API/C/WKCookieManager.cpp:

(WKCookieManagerGetHostnamesWithCookies):
(WKCookieManagerGetHTTPCookieAcceptPolicy):

  • UIProcess/API/C/WKDatabaseManager.cpp:

(WKDatabaseManagerGetDatabasesByOrigin):
(WKDatabaseManagerGetDatabaseOrigins):

  • UIProcess/API/C/WKFrame.cpp:

(WKFrameGetMainResourceData):
(WKFrameGetResourceData):
(WKFrameGetWebArchive):

  • UIProcess/API/C/WKKeyValueStorageManager.cpp:

(WKKeyValueStorageManagerGetKeyValueStorageOrigins):
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):

  • UIProcess/API/C/WKMediaCacheManager.cpp:

(WKMediaCacheManagerGetHostnamesWithMediaCache):

  • UIProcess/API/C/WKOriginDataManager.cpp:

(WKOriginDataManagerGetOrigins):

  • UIProcess/API/C/WKPage.cpp:

(WKPageRunJavaScriptInMainFrame):
(WKPageRenderTreeExternalRepresentation):
(WKPageGetSourceForFrame):
(WKPageGetContentsAsString):
(WKPageGetSelectionAsWebArchiveData):
(WKPageGetContentsAsMHTMLData):
(WKPageForceRepaint):
(WKPageValidateCommand):
(WKPageComputePagesForPrinting):
(WKPageDrawPagesToPDF):

  • UIProcess/API/C/WKPluginSiteDataManager.cpp:

(WKPluginSiteDataManagerGetSitesWithData):
(WKPluginSiteDataManagerClearSiteData):
(WKPluginSiteDataManagerClearAllSiteData):

  • UIProcess/API/C/WKResourceCacheManager.cpp:

(WKResourceCacheManagerGetCacheOrigins):

  • UIProcess/API/gtk/WebKitCookieManager.cpp:

(webkit_cookie_manager_get_accept_policy):
(webkit_cookie_manager_get_domains_with_cookies):

  • UIProcess/API/gtk/WebKitPrintOperation.cpp:

(drawPagesForPrintingCompleted):
(webkitPrintOperationPrintPagesForFrame):

  • UIProcess/API/gtk/WebKitWebResource.cpp:

(resourceDataCallback):
(webkit_web_resource_get_data):

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_can_execute_editing_command):
(webkitWebViewRunJavaScriptCallback):
(webkit_web_view_run_javascript):
(resourcesStreamReadCallback):
(getContentsAsMHTMLDataCallback):
(webkit_web_view_save):
(webkit_web_view_save_to_file):

  • UIProcess/API/ios/WKInteractionView.mm:

(-[WKInteractionView _define:]):
(selectionChangedWithGesture):
(selectionChangedWithTouch):
(-[WKInteractionView changeSelectionWithGestureAt:withGesture:withState:]):
(-[WKInteractionView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:]):
(-[WKInteractionView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
(-[WKInteractionView requestAutocorrectionRectsForString:withCompletionHandler:]):
(-[WKInteractionView applyAutocorrection:toString:withCompletionHandler:]):
(-[WKInteractionView requestAutocorrectionContextWithCompletionHandler:]):

  • UIProcess/API/mac/WKPrintingView.mm:

(pageDidDrawToImage):
(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
(pageDidComputePageRects):
(-[WKPrintingView _askPageToComputePageRects]):
(-[WKPrintingView _drawPreview:]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView validateUserInterfaceItem:]):
(-[WKView startSpeaking:]):

  • UIProcess/AutoCorrectionCallback.h:

(WebKit::AutocorrectionDataCallback::create):
(WebKit::AutocorrectionDataCallback::performCallbackWithReturnValue):
(WebKit::AutocorrectionDataCallback::invalidate):
(WebKit::AutocorrectionDataCallback::AutocorrectionDataCallback):
(WebKit::AutocorrectionContextCallback::create):
(WebKit::AutocorrectionContextCallback::performCallbackWithReturnValue):
(WebKit::AutocorrectionContextCallback::invalidate):
(WebKit::AutocorrectionContextCallback::AutocorrectionContextCallback):

  • UIProcess/GenericCallback.h:

(WebKit::CallbackBase::CallbackBase):
(WebKit::CallbackBase::generateCallbackID):
(WebKit::VoidCallback::create):
(WebKit::VoidCallback::performCallback):
(WebKit::VoidCallback::invalidate):
(WebKit::VoidCallback::VoidCallback):
(WebKit::VoidAPICallback::create):
(WebKit::GenericCallback::create):
(WebKit::GenericCallback::performCallbackWithReturnValue):
(WebKit::GenericCallback::invalidate):
(WebKit::GenericCallback::GenericCallback):
(WebKit::GenericAPICallback::create):
(WebKit::ComputedPagesCallback::create):
(WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
(WebKit::ComputedPagesCallback::invalidate):
(WebKit::ComputedPagesCallback::ComputedPagesCallback):
(WebKit::ImageCallback::create):
(WebKit::ImageCallback::performCallbackWithReturnValue):
(WebKit::ImageCallback::invalidate):
(WebKit::ImageCallback::ImageCallback):

  • UIProcess/Plugins/WebPluginSiteDataManager.h:
  • UIProcess/StatisticsRequest.h:
  • UIProcess/WebApplicationCacheManagerProxy.h:
  • UIProcess/WebContext.h:
  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebDatabaseManagerProxy.h:
  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebKeyValueStorageManager.h:
  • UIProcess/WebMediaCacheManagerProxy.h:
  • UIProcess/WebOriginDataManagerProxy.h:
  • UIProcess/WebPageProxy.h:

(WebKit::ValidateCommandCallback::create):
(WebKit::ValidateCommandCallback::performCallbackWithReturnValue):
(WebKit::ValidateCommandCallback::invalidate):
(WebKit::ValidateCommandCallback::ValidateCommandCallback):
(WebKit::GestureCallback::create):
(WebKit::GestureCallback::performCallbackWithReturnValue):
(WebKit::GestureCallback::invalidate):
(WebKit::GestureCallback::GestureCallback):
(WebKit::TouchesCallback::create):
(WebKit::TouchesCallback::performCallbackWithReturnValue):
(WebKit::TouchesCallback::invalidate):
(WebKit::TouchesCallback::TouchesCallback):

  • UIProcess/WebResourceCacheManagerProxy.h:
  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):

7:03 PM Changeset in webkit [164408] by jhoneycutt@apple.com
  • 2 edits in trunk/Source/WTF

Crash in WTF::StringBuilder::append()

https://bugs.webkit.org/show_bug.cgi?id=125817
<rdar://problem/15671883>

Reviewed by Oliver Hunt.

  • wtf/text/StringBuilder.cpp:

(WTF::expandedCapacity):
Ensure that we return a new capacity of at least 'requiredLength' in
the case where requiredLength is large. Also, use unsigned rather than
size_t for the parameters and the return value, as callers pass
unsigned arguments and treat the result as an unsigned int.

6:08 PM Changeset in webkit [164407] by rniwa@webkit.org
  • 6 edits in trunk

fieldset:disabled fieldset > legend:first-child input should be disabled
https://bugs.webkit.org/show_bug.cgi?id=129077

Reviewed by Antti Koivisto.

Source/WebCore:

Similar to r164403. When a fieldset inside a disabled fieldset, input elements inside
the inner fieldset's first legend element child should be disabled.

Test: fast/forms/fieldset/fieldset-disabled-2.html

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::legend): Fixed the bug where it was returning the first
legend element descendent. It should be the first legend element _child_.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::updateAncestorDisabledState): Fixed the algorithm
to look for any ancestor fieldset that has been disabled instead of the first fieldset
ancestor and checking its disabledness.

LayoutTests:

Added a test case.o

  • fast/forms/fieldset/fieldset-disabled-2-expected.txt:
  • fast/forms/fieldset/fieldset-disabled-2.html:
6:03 PM Changeset in webkit [164406] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

Avoid sending redundant layer properties to the UI process, and avoid allocation of RemoteLayerBackingStore unless we need it
https://bugs.webkit.org/show_bug.cgi?id=129076

Reviewed by Tim Horton.

Normally we rely on GraphicsLayerCA to avoid redundant property
setting on PlatformCALayers, but for contents layers GraphicsLayerCA
sets properties on every update.

Make PlatformCALayerRemote more efficient in this case by not
setting dirty flags for unchanged property sets.

Also avoid creation of RemoteLayerBackingStore unless we
actually need one.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::ensureBackingStore):
(PlatformCALayerRemote::updateBackingStore):
(PlatformCALayerRemote::setBounds):
(PlatformCALayerRemote::setPosition):
(PlatformCALayerRemote::setAnchorPoint):
(PlatformCALayerRemote::setMasksToBounds):
(PlatformCALayerRemote::setAcceleratesDrawing):
(PlatformCALayerRemote::setBorderWidth):
(PlatformCALayerRemote::setBorderColor):
(PlatformCALayerRemote::setContentsScale):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
6:03 PM Changeset in webkit [164405] by Simon Fraser
  • 9 edits in trunk/Source/WebKit2

[UI-Side Compositing] 6% of main thread time spent copying LayerProperties when adding to hash table
https://bugs.webkit.org/show_bug.cgi?id=129074

Reviewed by Tim Horton.

Make RemoteLayerTreeTransaction::LayerProperties smaller and not copied by
value everywhere.

Put some big members into unique_ptrs, and store unique_ptrs
in the hash of layerID to properties.

Clean up member variable order of LayerProperties to improve packing.

Also have applyPropertiesToLayer() take references to things to avoid
copies.

  • Shared/mac/RemoteLayerTreePropertyApplier.h:
  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::changedLayers):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
(WebKit::dumpChangedLayers):

  • UIProcess/mac/RemoteLayerTreeHost.h:
  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree):
(WebKit::RemoteLayerTreeHost::createLayer):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::create):
(PlatformCALayerRemote::PlatformCALayerRemote):
(PlatformCALayerRemote::clone):
(PlatformCALayerRemote::recursiveBuildTransaction):
(PlatformCALayerRemote::ensureBackingStore):
(PlatformCALayerRemote::setNeedsDisplay):
(PlatformCALayerRemote::transform):
(PlatformCALayerRemote::setTransform):
(PlatformCALayerRemote::sublayerTransform):
(PlatformCALayerRemote::setSublayerTransform):
(PlatformCALayerRemote::setFilters):
(PlatformCALayerRemote::enumerateRectsBeingDrawn):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
5:16 PM Changeset in webkit [164404] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Debug build fix after r164401. Removed a bogus assertion in comparePositions.
When either position is anchored at a detached node, they don't have a tree scope in common.

  • editing/htmlediting.cpp:

(WebCore::comparePositions):

5:06 PM Changeset in webkit [164403] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

fieldset:disabled > legend:first-child legend input should not be disabled
https://bugs.webkit.org/show_bug.cgi?id=129068

Reviewed by Andreas Kling.

Source/WebCore:

An input element inside a disabled fieldset element is ordinarily disabled unless it's inside
a legend element that is the first of its kind to appear in the fieldset's child node list.

Prior to this patch, an input element inside such a legend element was erroneously disabled if
we had another legend element between the two as in <fieldset disabled><legend><legend><input>.

Fixed the bug by correcting the algorithm in updateAncestorDisabledState.

Test: fast/forms/fieldset/fieldset-disabled-2.html

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::updateAncestorDisabledState):

LayoutTests:

Added a new regression test.

  • fast/forms/fieldset/fieldset-disabled-2-expected.txt: Added.
  • fast/forms/fieldset/fieldset-disabled-2.html: Added.
5:06 PM Changeset in webkit [164402] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

Remove -[WKContentView setViewportSize:]
https://bugs.webkit.org/show_bug.cgi?id=129071

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-19
Reviewed by Enrica Casucci.

I forgot to clean that up.

  • UIProcess/API/ios/WKContentView.h:
  • UIProcess/API/ios/WKContentView.mm:
4:12 PM Changeset in webkit [164401] by rniwa@webkit.org
  • 19 edits in trunk

Changing selection shouldn't synchronously update editor UI components
https://bugs.webkit.org/show_bug.cgi?id=129024

Reviewed by Brent Fulgham.

Source/WebCore:

Make updates to spellchecker, alternative text controller (correction pane), and delete button controller
asynchronous for programmatically triggered selection changes.

We continue to update their states synchronously immediately after we have applied, unapplied, or reapplied
editing commands to keep states in spell checker and alternative text controller consistent. We should be
able to make them asynchronous as well in the future but that should be done in a separate patch.

  • WebCore.exp.in:
  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::respondToChangedSelection): This function used to enumerate all document
makers and call respondToMarkerAtEndOfWord on each one of them only to exit early when SetSelectionOptions
had DictationTriggered. This condition is now checked in Editor::respondToChangedSelection to avoid all the
unnecessary work and remove the dependency on SetSelectionOptions.
(WebCore::AlternativeTextController::respondToMarkerAtEndOfWord): Ditto.

  • editing/AlternativeTextController.h:
  • editing/Editor.cpp:

(WebCore::Editor::appliedEditing): Calls updateEditorUINowIfScheduled before calling respondToAppliedEditing
on the alternative text controller.
(WebCore::Editor::unappliedEditing): Ditto.
(WebCore::Editor::reappliedEditing): Ditto.
(WebCore::Editor::Editor): Initializes newly added booleans.
(WebCore::Editor::respondToChangedSelection): Continue to call respondToChangedSelection (for API consistency)
and setStartNewKillRingSequence but defer the "editor UI updates" to spellchecker, alternative text controller
and delete button controller by firing a newly added one shot timer.
(WebCore::Editor::updateEditorUINowIfScheduled): Synchronously update the pending editor UI updates.
(WebCore::Editor::editorUIUpdateTimerFired): Extracted from respondToChangedSelection.

  • editing/Editor.h:
  • testing/Internals.cpp:

(WebCore::Internals::markerCountForNode): Calls updateEditorUINowIfScheduled() to update document markers.
(WebCore::Internals::markerAt): Ditto.
(WebCore::Internals::updateEditorUINowIfScheduled): Added.
(WebCore::Internals::findEditingDeleteButton): Added. Updates delete button controller synchronously.
(WebCore::Internals::hasSpellingMarker): Calls updateEditorUINowIfScheduled() to update document markers.
(WebCore::Internals::hasAutocorrectedMarker): Ditto.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

Added symbols for internals.

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

LayoutTests:

Many tests now calls internals.updateEditorUINowIfScheduled() to update the spellchecker states, and uses
setTimeout() to make things testable in the browser.

  • editing/spelling/script-tests/spelling-backspace-between-lines.js:

(testTwoLinesMisspellings): Uses updateEditorUINowIfScheduled and setTimeout to make spellchecker recognize
two selection changes. This is okay since the user never moves selection multiple times in a single task.

  • editing/spelling/spellcheck-attribute.html: Ditto.
  • platform/mac/editing/deleting/deletionUI-click-on-delete-button.html: Use intenals.findEditingDeleteButton

which updates delete button controller states synchronously instead of getElementById which doesn't do that.

  • platform/mac/editing/deleting/id-in-deletebutton-expected.txt:
  • platform/mac/editing/deleting/id-in-deletebutton.html: Ditto. Also did some cleanups.
  • platform/mac/editing/deleting/resources/deletionUI-helpers.js:

(deletionUIDeleteButtonForElement): Ditto.

  • platform/mac/editing/spelling/editing-word-with-marker-1.html: Again, we must notify the spellchecker

synchronously here because we're expecting spellchecker to use the old selection set by setSelectionRange
in Editor::editorUIUpdateTimerFired triggered by the pasting command. This is, again, not a problem in
practice since user never pastes content synchronously after changing selection like this in a single task.

3:51 PM Changeset in webkit [164400] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Crash after -[JSContext evaluateScript:] when initializing JSContext with JSVirtualMachine
https://bugs.webkit.org/show_bug.cgi?id=129070

Reviewed by Mark Hahnenberg.

Clear our exception explicitly before throwing away the VM because our
exception references VM memory.

  • API/JSContext.mm:

(-[JSContext dealloc]):

  • API/tests/testapi.mm:

(testObjectiveCAPI):

3:47 PM Changeset in webkit [164399] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix after r164391

  • runtime/Arguments.h: Make SlowArgumentData public so template libraries can

access its methods.

3:43 PM Changeset in webkit [164398] by oliver@apple.com
  • 8 edits in trunk/Source/WebKit2

Add WK2 SPI to get bytecode profile from web process
https://bugs.webkit.org/show_bug.cgi?id=129069

Reviewed by Anders Carlsson.

Simple patch to allow asynchronous fetching of the
bytecode profiler output from the WebProcess.

  • UIProcess/API/C/WKPage.cpp:

(WKPageGetBytecodeProfile):

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::getBytecodeProfile):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::getBytecodeProfile):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
3:41 PM Changeset in webkit [164397] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Need to align sp before calling operationLoadVarargs on 32-bit platforms.
<https://webkit.org/b/129056>

Reviewed by Michael Saboff.

In JIT::compileLoadVarargs(), we'll call operationSizeFrameForVarargs()
to compute the amount of stack space we need for the varargs, adjust the
stack pointer to make room for those varargs, and then call
operationLoadVarargs() to fill in the varargs. Currently, the stack
pointer adjustment takes care of allocating space for the varargs, but
does not align the stack pointer for the call to operationLoadVarargs().
The fix is to align the stack pointer there.

Note: The stack pointer adjustment is based on the new CallFrame pointer
value returned by operationSizeFrameForVarargs(). On 64-bit platforms,
both the stack pointer and call frame pointer are similarly aligned
(i.e. low nibbles are 0). Hence, no additional adjustment is needed.
Only the 32-bit code needs the fix.

Note: The LLINT also works this way i.e. aligns the stack pointer before
calling llint_slow_path_call_varargs().

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileLoadVarargs):

3:31 PM Changeset in webkit [164396] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

[JS] Convert Promise.prototype.catch to be a built-in
https://bugs.webkit.org/show_bug.cgi?id=129052

Patch by Sam Weinig <sam@webkit.org> on 2014-02-19
Reviewed by Geoffrey Garen.

  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • builtins/Promise.prototype.js: Added.

(catch): Add JS based implementation of Promise.prototype.catch.

  • runtime/JSPromisePrototype.cpp:

Remove the C++ implementation of Promise.prototype.catch.

3:22 PM Changeset in webkit [164395] by zoltan@webkit.org
  • 1 edit
    1 add in trunk/PerformanceTests

[CSS Shapes] Add performance test for stacked floats with shape-outsides
https://bugs.webkit.org/show_bug.cgi?id=128821

Reviewed by Brent Fulgham.

This tests generate stacked floats content with shape-outsides.
The test is skipped by default.

  • Layout/Shapes/ShapeOutsideStackedPolygons.html: Added.
3:21 PM HackingWebInspector edited by Brian Burg
Improve words (diff)
3:11 PM Changeset in webkit [164394] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Another Windows update to quiet the bots.

  • platform/win/TestExpectations: Add more flakes and pass lint-test-expectations.
3:11 PM Changeset in webkit [164393] by fpizlo@apple.com
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

FTL should allow LLVM to allocate data sections with alignment > 8
https://bugs.webkit.org/show_bug.cgi?id=129066

Reviewed by Geoffrey Garen.

We were previously using the native allocator's alignment guarantees (which we presumed
to be 8 bytes), and further hinting our desires by using the LSectionWord type (which
was 8 bytes). This breaks now that LLVM will sometimes ask for 16 byte alignment on
some sections.

This changes our data section allocation strategy to use the new FTL::DataSection,
which can handle arbitrary 2k alignment.

(JSC::FTL::mmAllocateDataSection):
(JSC::FTL::dumpDataSection):
(JSC::FTL::compile):

  • ftl/FTLDataSection.cpp: Added.

(JSC::FTL::DataSection::DataSection):
(JSC::FTL::DataSection::~DataSection):

  • ftl/FTLDataSection.h: Added.

(JSC::FTL::DataSection::base):
(JSC::FTL::DataSection::size):

  • ftl/FTLJITCode.cpp:

(JSC::FTL::JITCode::addDataSection):

  • ftl/FTLJITCode.h:

(JSC::FTL::JITCode::dataSections):

  • ftl/FTLState.h:
3:04 PM Changeset in webkit [164392] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix comment.

  • ftl/FTLWeight.h:

(JSC::FTL::Weight::scaleToTotal):

3:02 PM Changeset in webkit [164391] by andersca@apple.com
  • 14 edits in trunk/Source

Add WTF_MAKE_FAST_ALLOCATED to more classes
https://bugs.webkit.org/show_bug.cgi?id=129064

Reviewed by Andreas Kling.

Source/JavaScriptCore:

  • dfg/DFGSpeculativeJIT.h:
  • heap/CopyWorkList.h:
  • heap/Region.h:
  • runtime/Arguments.h:
  • runtime/SymbolTable.h:
  • runtime/WriteBarrier.h:

Source/WebCore:

  • dom/EventContext.h:
  • platform/graphics/Region.h:
  • platform/text/BidiResolver.h:
  • rendering/LayoutState.h:

Source/WTF:

  • wtf/Bitmap.h:
2:42 PM Changeset in webkit [164390] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix after r164374

  • llint/LLIntOfflineAsmConfig.h: Added #define OFFLINE_ASM_X86_WIN 0

for ENABLE(LLINT_C_LOOP).

2:29 PM Changeset in webkit [164389] by fpizlo@apple.com
  • 9 edits
    2 adds in trunk/Source/JavaScriptCore

FTL should be able to convey branch weights to LLVM
https://bugs.webkit.org/show_bug.cgi?id=129054

Reviewed by Michael Saboff.

This introduces a really nice way to convey branch weights to LLVM. The basic class
is Weight, which just wraps a float; NaN is used when you are not sure. You can
pass this alongside a LBasicBlock to branching instructions like condbr and switch.
But for simplicity, you can just pass a WeightedTarget, which is a tuple of the
two. And for even greater simplicity, you can create WeightedTargets from
LBasicBlocks by doing:

usually(b) => WeightedTarget(b, Weight(1))
rarely(b) => WeightedTarget(b, Weight(0))
unsure(b) => WeightedTarget(b, Weight()) or WeightedTarget(b, Weight(NaN))


This allows for constructs like:

m_out.branch(isCell(value), usually(isCellCase), rarely(slowCase));


This was intended to be perf-neutral for now, but it did end up creating a ~1%
speed-up on V8v7 and Octane2.

(JSC::FTL::mdNode):

  • ftl/FTLCommonValues.cpp:

(JSC::FTL::CommonValues::CommonValues):

  • ftl/FTLCommonValues.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::compileStoreBarrierWithNullCheck):
(JSC::FTL::LowerDFGToLLVM::compileToThis):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
(JSC::FTL::LowerDFGToLLVM::compileArithMod):
(JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):
(JSC::FTL::LowerDFGToLLVM::compileCheckStructure):
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compileGetIndexedPropertyStorage):
(JSC::FTL::LowerDFGToLLVM::compileGetTypedArrayByteOffset):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::LowerDFGToLLVM::compileArrayPop):
(JSC::FTL::LowerDFGToLLVM::compileNewArrayWithSize):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::compileToPrimitive):
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt):
(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compileNotifyWrite):
(JSC::FTL::LowerDFGToLLVM::compileBranch):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::nonSpeculativeCompare):
(JSC::FTL::LowerDFGToLLVM::allocateCell):
(JSC::FTL::LowerDFGToLLVM::allocateBasicStorageAndGetEnd):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::contiguousPutByValOutOfBounds):
(JSC::FTL::LowerDFGToLLVM::buildSwitch):
(JSC::FTL::LowerDFGToLLVM::doubleToInt32):
(JSC::FTL::LowerDFGToLLVM::sensibleDoubleToInt32):
(JSC::FTL::LowerDFGToLLVM::lowDouble):
(JSC::FTL::LowerDFGToLLVM::strictInt52ToJSValue):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateStringOrStringObject):
(JSC::FTL::LowerDFGToLLVM::emitStoreBarrier):
(JSC::FTL::LowerDFGToLLVM::callCheck):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):

  • ftl/FTLOutput.cpp:

(JSC::FTL::Output::initialize):
(JSC::FTL::Output::appendTo):
(JSC::FTL::Output::newBlock):
(JSC::FTL::Output::sensibleDoubleToInt):
(JSC::FTL::Output::load):
(JSC::FTL::Output::store):
(JSC::FTL::Output::baseIndex):
(JSC::FTL::Output::branch):
(JSC::FTL::Output::crashNonTerminal):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::branch):
(JSC::FTL::Output::switchInstruction):

  • ftl/FTLSwitchCase.h:

(JSC::FTL::SwitchCase::SwitchCase):
(JSC::FTL::SwitchCase::weight):

  • ftl/FTLWeight.h: Added.

(JSC::FTL::Weight::Weight):
(JSC::FTL::Weight::isSet):
(JSC::FTL::Weight::operator!):
(JSC::FTL::Weight::value):
(JSC::FTL::Weight::scaleToTotal):

  • ftl/FTLWeightedTarget.h: Added.

(JSC::FTL::WeightedTarget::WeightedTarget):
(JSC::FTL::WeightedTarget::target):
(JSC::FTL::WeightedTarget::weight):
(JSC::FTL::usually):
(JSC::FTL::rarely):
(JSC::FTL::unsure):

1:57 PM Changeset in webkit [164388] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Build fix.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView pageExtendedBackgroundColor]):

1:56 PM Changeset in webkit [164387] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

isEditablePosition shouldn't trigger synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=129026

Reviewed by Brent Fulgham.

Just trigger style recalc instead.

  • editing/htmlediting.cpp:

(WebCore::isEditablePosition):

1:53 PM Changeset in webkit [164386] by ap@apple.com
  • 2 edits in trunk/LayoutTests

media/controls-styling-strict.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=129057

1:07 PM Changeset in webkit [164385] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused InspectorBackend member variable
https://bugs.webkit.org/show_bug.cgi?id=129053

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-19
Reviewed by Timothy Hatcher.

  • UserInterface/InspectorBackend.js:

(InspectorBackendClass):
(InspectorBackendClass.prototype.registerCommand):
(InspectorBackendClass.prototype.registerEnum):
(InspectorBackendClass.prototype.registerEvent):

1:02 PM Changeset in webkit [164384] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WTF

Make PrintStream::print() a variadic template
https://bugs.webkit.org/show_bug.cgi?id=126388

Patch by Zan Dobersek <zdobersek@igalia.com> on 2014-02-19
Reviewed by Brent Fulgham.

PrintStream::print() can be converted into a variadic template, printing the value
of the first parameter and recursively calling itself until the single parameter version
is used for printing the last value.

  • wtf/DataLog.h:

(WTF::dataLog): Convert the function to a variadic template as well.

  • wtf/PrintStream.h:

(WTF::PrintStream::print):

  • wtf/StringPrintStream.h:

(WTF::toCString): Ditto.
(WTF::toString): Ditto.

12:49 PM Changeset in webkit [164383] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

UIProcess needs to know the color of the page's extended background
https://bugs.webkit.org/show_bug.cgi?id=129004

Rubber-stamped by Andreas Kling.

Missed this late-breaking review comment. Fixing now!

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::RenderLayerCompositor):

12:47 PM Changeset in webkit [164382] by Beth Dakin
  • 14 edits in trunk/Source

UIProcess needs to know the color of the page's extended background
https://bugs.webkit.org/show_bug.cgi?id=129004

Source/WebCore:

Reviewed by Brent Fulgham.

This patch adds a new ChromeClient function,
pageExtendedBackgroundColorDidChange() which will be called whenever the extended
background color has changed.

New function.

  • page/ChromeClient.h:

(WebCore::ChromeClient::pageExtendedBackgroundColorDidChange):

Store the extended background color in a member variable so that we can know if it
changed even if we do not have an m_layerForOverhangAreas.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):

  • rendering/RenderLayerCompositor.h:

Source/WebKit2:

Reviewed by Simon Fraser and Brent Fulgham.

New method on WKWebView and WKView will return the page’s extended background
color.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView pageExtendedBackgroundColor]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView pageExtendedBackgroundColor]):

The color is stored in the WebPageProxy, and the ChromeClient sends a message to
the WebPageProxy with the new color whenever it changes.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::pageExtendedBackgroundColorDidChange):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::pageExtendedBackgroundColor):

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::pageExtendedBackgroundColorDidChange):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
12:44 PM Changeset in webkit [164381] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

[wk2] REGRESSION (r162710): Open tab urls not restored after switching to new Safari build
https://bugs.webkit.org/show_bug.cgi?id=128536
<rdar://problem/15911839>

Reviewed by Dan Bernstein.

  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::extractBackForwardListEntriesFromArray):
Don't fail to extract an entry if it doesn't have a snapshot UUID.

  • UIProcess/cf/WebPageProxyCF.cpp:

It turns out that this was the wrong version to bump, and we don't support
reading different versions of the session state data.

12:15 PM Changeset in webkit [164380] by krit@webkit.org
  • 4 edits
    1 copy
    1 add
    1 delete in trunk

Missing box doesn't use border-box as reference box for clip-path
https://bugs.webkit.org/show_bug.cgi?id=129049

Reviewed by Simon Fraser.

Source/WebCore:

If no reference box was specified the default reference box should be
border-box. Previously to this patch the reference box was the bounding
client rect. This was not following the specification.
http://www.w3.org/TR/2014/WD-css-masking-1-20140213/#the-clip-path
The change affects content using -webkit-clip-path in Safari. Since the
bounding client box is equalvalent to the border box most of the time
there shouldn't be to much impact.

Existing tests cover the issue.

  • rendering/RenderLayer.cpp:

(WebCore::computeReferenceBox):

LayoutTests:

Update the result for overflowing content. The clip-path uses the border-box instead of
the bounding client rect as reference box.
Change pixel test to reference text.

  • css3/masking/clip-path-circle-relative-overflow-expected.html: Added.
  • platform/mac/css3/masking/clip-path-circle-relative-overflow-expected.png: Removed.
  • platform/mac/css3/masking/clip-path-inset-expected.png: Added. This was missing in the repo.
12:10 PM Changeset in webkit [164379] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Add new ARM build slave for GTK+
https://bugs.webkit.org/show_bug.cgi?id=128978

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2014-02-19
Reviewed by Brent Fulgham.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
11:55 AM Changeset in webkit [164378] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Use std::swap() in HashTable::swap()
https://bugs.webkit.org/show_bug.cgi?id=128995

Patch by Zan Dobersek <zdobersek@igalia.com> on 2014-02-19
Reviewed by Brent Fulgham.

Use std::swap() to swap the member variable values of two HashTable objects in HashTable::swap().

  • wtf/HashTable.h:

(WTF::KeyTraits>::swap):

11:52 AM Changeset in webkit [164377] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

SegmentedVector::append() should take in rvalue reference, forward it to Vector::uncheckedAppend()
https://bugs.webkit.org/show_bug.cgi?id=128996

Patch by Zan Dobersek <zdobersek@igalia.com> on 2014-02-19
Reviewed by Brent Fulgham.

  • wtf/SegmentedVector.h:

(WTF::SegmentedVector::append): Take in an rvalue reference of the object that's to be appended and
then forward it to Vector::uncheckedAppend(). This avoids unnecessary copies in the current situation
where a const lvalue is accepted and passed on.

11:22 AM Changeset in webkit [164376] by commit-queue@webkit.org
  • 10 edits in trunk

Web Inspector: AX: clarify reason for ignored state where possible (hidden, default for tag, etc)
https://bugs.webkit.org/show_bug.cgi?id=129037

Patch by James Craig <jcraig@apple.com> on 2014-02-19
Reviewed by Timothy Hatcher.

Source/WebCore:

Passing back hidden and ignoredByDefault attrs to clarify some reasons for "ignored" status.

Test Updated: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Passing back hidden and ignoredByDefault attrs to clarify some reasons for "ignored" status.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/DOMNode.js:
  • UserInterface/DOMNodeDetailsSidebarPanel.js:

LayoutTests:

Test updates to support hidden and ignoredByDefault in accessibility properties.

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
11:07 AM Changeset in webkit [164375] by jhoneycutt@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Add missing layout test results for
<http://trac.webkit.org/changeset/164323>.

Unreviewed.

  • platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Added.
11:00 AM Changeset in webkit [164374] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

[Win][LLINT] Incorrect stack alignment.
https://bugs.webkit.org/show_bug.cgi?id=129045

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-19
Reviewed by Michael Saboff.

LLINT expects the stack to be 16 byte aligned, but with MSVC it is not.
To align the stack, a new backend, X86_WIN, is created.

  • llint/LLIntOfflineAsmConfig.h: Use X86_WIN backend on Windows.
  • llint/LowLevelInterpreter.asm: Align stack to 16 byte boundaries. Otherwise, use same implementation for X86_WIN as for X86.
  • llint/LowLevelInterpreter32_64.asm: Adjust stack offset to retrieve function parameters now that the stack is aligned.
  • offlineasm/backends.rb: Added X86_WIN backend.
  • offlineasm/x86.rb: Fix crash caused by incorrect assembly code for double types.
10:58 AM Changeset in webkit [164373] by commit-queue@webkit.org
  • 5 edits in trunk
ASSERTION FAILED: (year >= 1970 && yearday >= 0)
(year < 1970 && yearday < 0) in WTF::dateToDaysFrom1970

https://bugs.webkit.org/show_bug.cgi?id=128740

Source/JavaScriptCore:

Very large numbers could cause an overflow which resulted in the assertion failing in WTF::dateToDaysFrom1970
DateConstructor will now check if the number fits into an Int32 before casting

Patch by Dániel Bátyai <Dániel Bátyai> on 2014-02-19
Reviewed by Geoffrey Garen.

  • runtime/DateConstructor.cpp:

(JSC::constructDate):
(JSC::dateUTC):

LayoutTests:

Very large numbers could cause an overflow which resulted in the assertion failing in WTF::dateToDaysFrom1970
Added test case which checks for this

Patch by Dániel Bátyai <Dániel Bátyai> on 2014-02-19
Reviewed by Geoffrey Garen.

  • js/date-constructor-expected.txt:
  • js/script-tests/date-constructor.js:
10:48 AM Changeset in webkit [164372] by thiago.lacerda@openbossa.org
  • 6 edits in trunk

[WebRTC] Updating RTCConfiguration to match WebRTC editor's draft of 01/27/2014
https://bugs.webkit.org/show_bug.cgi?id=129000

Source/WebCore:

Reviewed by Eric Carlson.

Adding RTCIceTransports and RTCIdentityOption to RTCConfiguration object.

Existing test was updated.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::parseConfiguration): Taking into account iceTransports and requestIdentity
parameters.

  • platform/mediastream/RTCConfiguration.h:

(WebCore::RTCConfiguration::iceTransports): Added.
(WebCore::RTCConfiguration::setIceTransports): Added.
(WebCore::RTCConfiguration::requestIdentity): Added.
(WebCore::RTCConfiguration::setRequestIdentity): Added.
(WebCore::RTCConfiguration::RTCConfiguration): Initialize iceTransports and requestIdentity with the default
values.

LayoutTests:

Adding RTCIceTransports and RTCIdentityOption to RTCConfiguration object.

Reviewed by Eric Carlson.

  • fast/mediastream/RTCPeerConnection-expected.txt:
  • fast/mediastream/RTCPeerConnection.html:
10:41 AM Changeset in webkit [164371] by mhahnenberg@apple.com
  • 9 edits in trunk

Dedicated worker crash caused by global DFG worklists + GC
https://bugs.webkit.org/show_bug.cgi?id=128537

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

The process-global DFG worklists were causing objects to participate in the garbage collections of VMs
other than the one they were allocated in. This started manifesting in the worker tests because they're
one of the few WebKit tests that do multithreaded JS.

The fix is to filter out Plans from other VMs during collection.

  • dfg/DFGSafepoint.cpp:

(JSC::DFG::Safepoint::vm):

  • dfg/DFGSafepoint.h:
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::isActiveForVM):
(JSC::DFG::Worklist::suspendAllThreads):
(JSC::DFG::Worklist::resumeAllThreads):
(JSC::DFG::Worklist::visitChildren):

  • dfg/DFGWorklist.h:
  • heap/Heap.cpp:

(JSC::Heap::deleteAllCompiledCode):

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::copyLater):

LayoutTests:

Reenable a previously skipped test.

10:11 AM Changeset in webkit [164370] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Windows gardening. Mark more flakes.

  • platform/win/TestExpectations: Add flaky tests.
10:04 AM Changeset in webkit [164369] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Don't call to willBeDeletedFrom(Document&) when destructing document
https://bugs.webkit.org/show_bug.cgi?id=129013

Reviewed by Andreas Kling.

The document is half dead at this point.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::~ContainerNode):

9:58 AM Changeset in webkit [164368] by dbates@webkit.org
  • 3 edits
    6 adds in trunk

REGRESSION (r163560): Always treat SVG <tspan> and <textPath> as display inline
https://bugs.webkit.org/show_bug.cgi?id=128552
<rdar://problem/16029658>

Reviewed by Andreas Kling.

Source/WebCore:

Following <http://trac.webkit.org/changeset/163560>, SVG <tspan> and <textPath> may be treated as block-
level elements depending on their CSS styles (e.g. display: block). But such elements should always be
treated as inline-level elements.

Tests: svg/text/textpath-display-block.html

svg/text/textpath-display-none.html
svg/text/tspan-display-block.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

LayoutTests:

Added tests to ensure that SVG <tspan> and <textPath> are always treated as inline-level
elements when explicitly or implicitly specified as a non-none, non-inline display type.

Additionally, added a test to ensure that we don't render a <textPath> when it has CSS
display none. Note, the test LayoutTests/svg/batik/text/textProperties2.svg ensures a
similar behavior for <tspan>.

  • svg/text/textpath-display-block-expected.txt: Added.
  • svg/text/textpath-display-block.html: Added.
  • svg/text/textpath-display-none-expected.html: Added.
  • svg/text/textpath-display-none.html: Added.
  • svg/text/tspan-display-block-expected.txt: Added.
  • svg/text/tspan-display-block.html: Added.
9:54 AM Changeset in webkit [164367] by dbates@webkit.org
  • 3 edits
    2 adds in trunk

Do not dispatch change event twice in single step action
https://bugs.webkit.org/show_bug.cgi?id=116936
<rdar://problem/16086828>

Reviewed by Ryosuke Niwa.

Merged from Blink (patch by Kent Tamura):
https://src.chromium.org/viewvc/blink?view=rev&revision=151175

Source/WebCore:

Test: fast/forms/number/number-type-update-by-change-event.html

  • html/InputType.cpp:

(WebCore::InputType::stepUpFromRenderer):

LayoutTests:

  • fast/forms/number/number-type-update-by-change-event-expected.txt: Added.
  • fast/forms/number/number-type-update-by-change-event.html: Added.
9:35 AM Changeset in webkit [164366] by beidson@apple.com
  • 8 edits in trunk/Source

Add FeatureDefines for image controls
https://bugs.webkit.org/show_bug.cgi?id=129022

Reviewed by Jer Noble.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
9:24 AM Changeset in webkit [164365] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Setting playback rate on Media Controller modifies current time.
https://bugs.webkit.org/show_bug.cgi?id=129042

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-19
Reviewed by Jer Noble.

Source/WebCore:

In ClockGeneric: when setting playback rate or stoping timer,clock was restarted using current real time
instead of provided time by setCurrentTime.
Changed impl. so that m_offset is updated when clock stops to remember last clock position.
When playbackRate is changed m_offset is updated in order to not use old time interval for new playback rate.

Test: media/video-controller-currentTime-rate.html

  • html/MediaController.cpp:

(MediaController::updatePlaybackState):

  • platform/ClockGeneric.cpp:

(ClockGeneric::setPlayRate):
(ClockGeneric::start):
(ClockGeneric::stop):

LayoutTests:

  • media/video-controller-currentTime-rate-expected.txt: Added.
  • media/video-controller-currentTime-rate.html: Added.
9:05 AM Changeset in webkit [164364] by beidson@apple.com
  • 7 edits in trunk/Source

Add settings/preferences for enabling image controls
https://bugs.webkit.org/show_bug.cgi?id=129027

Reviewed by Jer Noble.

Source/WebCore:

  • WebCore.exp.in:
  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::setImageControlsEnabled):

  • page/Settings.h:

(WebCore::Settings::imageControlsEnabled):

Source/WebKit2:

  • Shared/WebPreferencesStore.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

7:20 AM Changeset in webkit [164363] by Bem Jones-Bey
  • 9 edits
    16 adds in trunk

[CSS Shapes] shape-outside does not properly handle different writing modes
https://bugs.webkit.org/show_bug.cgi?id=128631

Reviewed by David Hyatt.

Source/WebCore:

Fix ShapeOutsideInfo to properly convert the line coordinates and
shape coordinates with respect to the writing mode and writing
direction for the lines that are affected by the shape. This is
notably different from shape inside in that shape outside needs to use
the writing mode of the container, not of the element that the shape
is applied to.

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-border-box.html

fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-content-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-margin-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-padding-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-border-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-content-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-margin-box.html
fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-padding-box.html

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::borderWidth): Used by

ShapeInfo::setReferenceBoxLogicalSize.

(WebCore::RenderBoxModelObject::borderHeight): Ditto.

  • rendering/shapes/ShapeInfo.cpp:

(WebCore::ShapeInfo<RenderType>::setReferenceBoxLogicalSize): Use the

container's writing mode to determine the logical dimensions in
the case of shape outside.

(WebCore::ShapeInfo<RenderType>::computedShape): Use the new

ShapeInfo::styleForWritingMode method.

(WebCore::borderBeforeInWritingMode): Determines the borderBefore for

the passed in renderer using the writing mode passed in. The
borderBefore method on the renderer is implemented in RenderStyle,
unlike with the margin methods, so this was chosen instead of
attempting to move the border method implementation into a place
where it could take the writing mode as an argument.

(WebCore::borderAndPaddingBeforeInWritingMode): Determines the

borderAndPaddingBefore for the passed in renderer using the
given writihg mode. See above for why this method instead of doing
it like margins.

(WebCore::borderStartWithStyleForWritingMode): Determines the

borderStart for the passed in renderer using the writing mode and
direction from the style passed in. See above for why this method
instead of doing it like margins.

(WebCore::borderAndPaddingStartWithStyleForWritingMode): Determines

the borderAndPaddingStart for the passed in renderer using the
writing mode and direction from the style passed in. See above for
why this method instead of doing it like margins.

(WebCore::ShapeInfo<RenderType>::logicalTopOffset): Use the

container's writing mode to determine the logicalTopOffset in the
case of shape outside.

(WebCore::ShapeInfo<RenderType>::logicalLeftOffset): Use the

container's writing mode to determine the logicalTopOffset in the
case of shape outside.

  • rendering/shapes/ShapeInfo.h:
  • rendering/shapes/ShapeInsideInfo.cpp:

(WebCore::ShapeInsideInfo::styleForWritingMode): Return the entire

style because to determine start/end the writing direction is
needed in addtion to the writing mode.

  • rendering/shapes/ShapeInsideInfo.h:
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):

Properly convert the containing block line into the reference box
coordinates of the shape.

(WebCore::ShapeOutsideInfo::styleForWritingMode): Return the entire

style because to determine start/end the writing direction is
needed in addtion to the writing mode.

  • rendering/shapes/ShapeOutsideInfo.h:

LayoutTests:

Tests for floats with shape-outside where the float writing mode or
writing direction are difference from that of the container.

  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-border-box-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-border-box.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-content-box-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-content-box.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-margin-box-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-margin-box.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-padding-box-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-padding-box.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-border-box-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-border-box.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-content-box-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-content-box.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-margin-box-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-margin-box.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-padding-box-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-padding-box.html: Added.
2:25 AM Changeset in webkit [164362] by calvaris@igalia.com
  • 4 edits in trunk/Source/WebCore

[GStreamer] the GstPlayFlags enum diverged from upstream
https://bugs.webkit.org/show_bug.cgi?id=128957

Reviewed by Philippe Normand.

Removed the GstPlayFlags from the GStreamer implementation and
replaced by the use of the GFlags.

  • platform/graphics/gstreamer/GStreamerUtilities.h:
  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::getGstPlaysFlag): Created to get the flags by using the
GFlags infrastructure.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering):
Replaced GST_PLAY_FLAG_DOWNLOAD with getGstPlaysFlag.

1:45 AM Changeset in webkit [164361] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Replace WTF::bind() uses in RTCPeerConnection with C++11 lambdas
https://bugs.webkit.org/show_bug.cgi?id=129001

Reviewed by Eric Carlson.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::setLocalDescription): Pass a lambda function to
callOnMainThread() instead of using WTF::bind().
(WebCore::RTCPeerConnection::setRemoteDescription): Ditto.

1:41 AM Changeset in webkit [164360] by zandobersek@gmail.com
  • 3 edits
    3 deletes in trunk/Tools

Remove the remaining Nix cruft under Tools
https://bugs.webkit.org/show_bug.cgi?id=129003

Reviewed by Csaba Osztrogonác.

The Nix port was removed from the source tree so the remaining Nix-specific code
in the utility scripts is not required anymore.

  • Scripts/run-nix-tests: Removed.
  • Scripts/update-webkitnix-libs: Removed.
  • Scripts/webkitpy/style/checker.py:
  • jhbuild/jhbuild-wrapper:

(determine_platform):

  • nix/common.py: Removed.
  • nix/jhbuild.modules: Removed.
  • nix/jhbuildrc: Removed.
12:43 AM Changeset in webkit [164359] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.2.5

Tagging the WebKitGTK+ 2.2.5 release

12:12 AM Changeset in webkit [164358] by mitz@apple.com
  • 77 edits in trunk/Source

Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
https://bugs.webkit.org/show_bug.cgi?id=129029

Reviewed by Mark Rowe.

Source/JavaScriptCore:

  • API/JSValueRef.cpp:

(JSValueUnprotect):

  • jit/ExecutableAllocatorFixedVMPool.cpp:

Source/WebCore:

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):

  • config.h:
  • editing/Editor.cpp:

(WebCore::Editor::copyURL):

  • editing/EditorCommand.cpp:

(WebCore::createCommandMap):

  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::markMisspellingsAfterTyping):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadArchive):

  • page/AlternativeTextClient.h:
  • page/EventHandler.cpp:
  • page/PageGroup.cpp:

(WebCore::PageGroup::captionPreferences):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ThreadedScrollingTree.cpp:
  • page/scrolling/ThreadedScrollingTree.h:
  • platform/DragData.h:
  • platform/FileSystem.cpp:
  • platform/MemoryPressureHandler.cpp:
  • platform/Pasteboard.h:
  • platform/PlatformMouseEvent.h:

(WebCore::PlatformMouseEvent::PlatformMouseEvent):

  • platform/PlatformPasteboard.h:
  • platform/PlatformScreen.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):

  • platform/SuddenTermination.h:
  • platform/ThreadGlobalData.cpp:

(WebCore::ThreadGlobalData::ThreadGlobalData):
(WebCore::ThreadGlobalData::destroy):

  • platform/ThreadGlobalData.h:
  • platform/audio/mac/AudioDestinationMac.cpp:
  • platform/audio/mac/AudioFileReaderMac.cpp:
  • platform/audio/mac/AudioSessionMac.cpp:
  • platform/graphics/DisplayRefreshMonitor.h:
  • platform/graphics/FloatPoint.h:
  • platform/graphics/FloatRect.h:
  • platform/graphics/FloatSize.h:
  • platform/graphics/IntRect.h:
  • platform/graphics/IntSize.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::installedMediaEngines):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::utiFromMIMEType):

  • platform/graphics/cg/PDFDocumentImage.h:
  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:
  • platform/graphics/mac/GraphicsContextMac.mm:

(WebCore::GraphicsContext::drawLineForDocumentMarker):

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::supportsExtension):
(WebCore::Extensions3DOpenGL::drawBuffersEXT):

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):

  • platform/mac/KeyEventMac.mm:
  • platform/network/NetworkStateNotifier.h:
  • platform/network/cf/CookieJarCFNet.cpp:
  • platform/network/cf/ResourceRequest.h:
  • platform/network/cf/ResourceRequestCFNet.cpp:
  • platform/network/cf/SocketStreamHandleCFNet.cpp:

(WebCore::SocketStreamHandle::reportErrorToClient):

  • platform/text/TextEncodingRegistry.cpp:

(WebCore::extendTextCodecMaps):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):

Source/WebKit2:

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::netscapePluginModule):

  • Shared/API/c/WKDeprecatedFunctions.cpp:
  • Shared/WebPreferencesStore.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/PageClient.h:
  • UIProcess/Scrolling/RemoteScrollingTree.cpp:
  • UIProcess/Scrolling/RemoteScrollingTree.h:
  • UIProcess/WebContext.h:
  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChangeBackForwardList):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageSetTopOverhangImage):
(WKBundlePageSetBottomOverhangImage):

  • WebProcess/WebPage/PageBanner.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setDeviceScaleFactor):
(WebKit::WebPage::mainFrameDidLayout):
(WebKit::WebPage::beginPrinting):
(WebKit::WebPage::drawRectToImage):
(WebKit::WebPage::drawPagesToPDF):

  • WebProcess/WebPage/WebPage.messages.in:
  • config.h:

Source/WTF:

  • wtf/FeatureDefines.h:
  • wtf/Platform.h:
  • wtf/Threading.cpp:
  • wtf/text/cf/StringImplCF.cpp:

(garbageCollectionEnabled):

Feb 18, 2014:

10:15 PM Changeset in webkit [164357] by mitz@apple.com
  • 8 edits in trunk/Source

PLATFORM(MAC) is true when building for iOS
https://bugs.webkit.org/show_bug.cgi?id=129025

Reviewed by Mark Rowe.

Source/WebCore:

  • editing/Editor.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA) now that the former does not

include iOS.

Source/WebKit2:

  • Shared/Network/NetworkProcessCreationParameters.cpp: Changed PLATFORM(MAC) to

PLATFORM(COCOA) now that the former does not include iOS.
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • Shared/Network/NetworkProcessCreationParameters.h: Ditto.
  • WebKit2Prefix.h: Ditto.

Source/WTF:

  • wtf/Platform.h: Changed to define WTF_PLATFORM_MAC only on when building for OS X (but

still not when WTF_PLATFORM_GTK or WTF_PLATFORM_EFL are defined).

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

Windows gardening: Add annotations for Debug case.

  • platform/win/TestExpectations:
9:59 PM Changeset in webkit [164355] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Tools

[EFL][MiniBrowser] Remove view_mode parameter in window_create()
https://bugs.webkit.org/show_bug.cgi?id=128960

Reviewed by Gyuyoung Kim.

As view source code is removed in r164254, window_create() also should remove view_mode.

  • MiniBrowser/efl/main.c:

(on_key_down):
(on_window_create):
(window_create):
(elm_main):

9:46 PM Changeset in webkit [164354] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Correctly install libllvmForJSC.dylib in production builds
https://bugs.webkit.org/show_bug.cgi?id=129023

Reviewed by Mark Rowe.

In non-production builds, we copy it as before. In production builds, we use the install
path.

Also roll http://trac.webkit.org/changeset/164348 back in.

  • Configurations/Base.xcconfig:
  • Configurations/LLVMForJSC.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
9:32 PM Changeset in webkit [164353] by gyuyoung.kim@samsung.com
  • 3 edits in trunk

[EFL][CMake] Fix javascriptcore test failings by the jsCStack branch merge
https://bugs.webkit.org/show_bug.cgi?id=128961

Reviewed by Ryosuke Niwa.

Javascriptcore test on EFL port has been broken since the jsCStack branch merge.
For now we can fix almost tests by using "-fno-tree-dce option". Unfortunately,
EFL port needs not to check "uninitialized" build warning as error in order to
adjust the option to EFL port. This patch don't take it as error temporarily.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/WebKitHelpers.cmake:
8:59 PM Changeset in webkit [164352] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, roll out http://trac.webkit.org/changeset/164348 because it broke some
builds.

8:33 PM Changeset in webkit [164351] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

More Windows test gardening to get the bots green.

  • platform/win/TestExpectations: Mark some flaky tests, and some passes to reduce report output.
8:30 PM Changeset in webkit [164350] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Don't call LLVMInitializeNativeTarget() because it can be all messed up if you cross-compile LLVM
https://bugs.webkit.org/show_bug.cgi?id=129020

Reviewed by Dan Bernstein.

LLVMInitializeNativeTarget() is this super special inline function in llvm-c/Target.h that
depends on some #define's that come from some really weird magic in autoconf/configure.ac.
That magic fails miserably for cross-compiles. So, we need to manually initialize the things
that InitializeNativeTarget initializes.

  • llvm/library/LLVMExports.cpp:

(initializeAndGetJSCLLVMAPI):

8:12 PM Changeset in webkit [164349] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

Clean up WKContentView initialization
https://bugs.webkit.org/show_bug.cgi?id=129016

Reviewed by Benjamin Poulain.

WKContentView had too many initializers and duplicated init
code. Clean up by removing all but one initializer and and
doing all the setup in it.

  • UIProcess/API/ios/WKContentView.h:
  • UIProcess/API/ios/WKContentView.mm:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

8:08 PM Changeset in webkit [164348] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

The shell scripts in the Xcode build system should tell you when they failed
https://bugs.webkit.org/show_bug.cgi?id=129018

Reviewed by Mark Rowe.

7:21 PM Changeset in webkit [164347] by barraclough@apple.com
  • 14 edits in trunk/Source

Add fast mapping from StringImpl to JSString
https://bugs.webkit.org/show_bug.cgi?id=128625

Reviewed by Geoff Garen & Andreas Kling.

Source/JavaScriptCore:

  • runtime/JSString.cpp:

(JSC::JSString::WeakOwner::finalize):

  • once the JSString weakly owned by a StringImpl becomed unreachable remove the WeakImpl.
  • runtime/JSString.h:

(JSC::jsStringWithWeakOwner):

  • create a JSString wrapping a StringImpl, and weakly caches the JSString on the StringImpl.
  • runtime/VM.cpp:

(JSC::VM::VM):

  • initialize jsStringWeakOwner.

(JSC::VM::createLeakedForMainThread):

  • initialize jsStringWeakOwner - the main thread gets to use the weak pointer on StringImpl to cache a JSString wrapper.
  • runtime/VM.h:
    • renamed createLeaked -> createLeakedForMainThread to make it clear this should only be used to cretae the main thread VM.

Source/WebCore:

Removed JSStringCache from WebCore; call JSC::jsStringWithWeakOwner instead.

  • bindings/js/DOMWrapperWorld.cpp:

(WebCore::DOMWrapperWorld::clearWrappers):

  • removed JSStringCache.
  • bindings/js/DOMWrapperWorld.h:
    • removed JSStringCache.
  • bindings/js/JSDOMBinding.h:

(WebCore::jsStringWithCache):

  • call jsStringWithWeakOwner insead of using JSStringCache.
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM):

  • renamed createLeaked -> createLeakedForMainThread.
  • bindings/scripts/StaticString.pm:

(GenerateStrings):

  • StringImpl has an additional field.

Source/WTF:

Add weak pointer from StringImpl to JSString.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl):

  • ASSERT m_weakJSString is null.
  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl):

  • initialize m_weakJSString.

(WTF::StringImpl::weakJSString):
(WTF::StringImpl::setWeakJSString):

  • added acessors for m_weakJSString.
6:58 PM Changeset in webkit [164346] by oliver@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Prevent builtin js named with C++ reserved words from breaking the build
https://bugs.webkit.org/show_bug.cgi?id=129017

Reviewed by Sam Weinig.

Simple change to a couple of macros to make sure we don't create functions
named using reserved words.

  • builtins/BuiltinExecutables.cpp:
  • builtins/BuiltinNames.h:
6:44 PM Changeset in webkit [164345] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Another 32-bit build fix.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _acceleratedCompositingModeRootLayer]):

6:39 PM Changeset in webkit [164344] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

More more WK_API_ENABLED after r164337.

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::activeView):

6:34 PM Changeset in webkit [164343] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Can't use #if inside a macro, so we'll duplicate the macro for now.

Build fix for all of Mac.

  • UIProcess/API/mac/WKView.mm:
6:29 PM Changeset in webkit [164342] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't build WKThumbnailView on iOS; it won't build.

  • Configurations/WebKit2.xcconfig:
6:26 PM Changeset in webkit [164341] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

More WK_API_ENABLED after r164337.

  • UIProcess/API/mac/WKView.mm:

(-[WKView dealloc]):
(-[WKView scrollWheel:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]):

  • UIProcess/API/mac/WKViewInternal.h:
6:19 PM Changeset in webkit [164340] by Simon Fraser
  • 5 edits
    2 deletes in trunk/Source

Remove UIWKRemoteView
https://bugs.webkit.org/show_bug.cgi?id=129015

Source/WebCore:

Reviewed by Dan Bernstein.

The project referenced a maketokenizer script that disappeared
long ago.

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

Reviewed by Dan Bernstein.

Remove UIWKRemoteView which is unused.

  • Configurations/WebKit2.xcconfig:
  • UIProcess/API/ios/UIWKRemoteView.h: Removed.
  • UIProcess/API/ios/UIWKRemoteView.mm: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
6:19 PM Changeset in webkit [164339] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed Windows test gardening.

  • platform/win/TestExpectations: Re-enable the many tests that actually pass on Windows. Mark tests

using current syntax so we can see when tests start passing. Identify a few flaky tests.

6:12 PM Changeset in webkit [164338] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

32-bit build fix after r164337

  • UIProcess/API/Cocoa/WKThumbnailView.mm:

Address a review comment. We'll get this for free.

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::activeView):
Build fix.

5:57 PM Changeset in webkit [164337] by timothy_horton@apple.com
  • 15 edits
    3 adds in trunk/Source/WebKit2

Add a way to efficiently thumbnail WKViews
https://bugs.webkit.org/show_bug.cgi?id=128831
<rdar://problem/15669655>

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKThumbnailView.h: Added.
  • UIProcess/API/Cocoa/WKThumbnailView.mm: Added.

(-[WKThumbnailView initWithFrame:fromWKView:]):
(-[WKThumbnailView _viewWasUnparented]):
(-[WKThumbnailView _viewWasParented]):
(-[WKThumbnailView viewDidMoveToWindow]):
(-[WKThumbnailView setScale:]):
(-[WKThumbnailView setThumbnailLayer:]):
(-[WKThumbnailView thumbnailLayer]):

  • UIProcess/API/Cocoa/WKThumbnailViewInternal.h: Added.

Add WKThumbnailView.
Clients of this private API will call initWithFrame:fromWKView:,
giving the WKView they wish to borrow contents from.
They can also call setScale: to set the scale that will be used to render
the content in an implementation-defined set of cases (currently, we will
use the low resolution scale for WKViews which were not parented when the
WKThumbnailView was created; parented WKViews will use the existing scale).

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::isViewWindowActive):
(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::isViewVisibleOrOccluded):
(WebKit::PageClientImpl::isViewInWindow):
(WebKit::PageClientImpl::viewLayerHostingMode):
If the WKView has an actively-parented WKThumbnailView attached to it,
we should determine view visibility/etc. using that view instead of the WKView.

  • UIProcess/API/mac/WKView.mm:

(-[WKView dealloc]):
WKThumbnailView holds on to the WKView, and clears WKView's backpointer
when it leaves the window, so we should never see WKView get deallocated
with a live thumbnail view.

(-[WKView scrollWheel:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
Don't handle events while thumbnailed.

(-[WKView _setAcceleratedCompositingModeRootLayer:]):
Forward root layer changes to the installed thumbnail view.

(-[WKView _acceleratedCompositingModeRootLayer]):
_acceleratedCompositingModeRootLayer should return the same layer
that was set via _setAcceleratedCompositingModeRootLayer:, not its parent.

(-[WKView _setThumbnailView:]):
(-[WKView _thumbnailView]):
Install/uninstall a WKThumbnailView. Hand it our root layer if installing,
or recover it from the departing thumbnail view if uninstalling.

  • UIProcess/API/mac/WKViewInternal.h:

Add in a missing RetainPtr.h include that I missed earlier and causes trouble.
Add WKView _thumbnailView and _setThumbnailView:.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setThumbnailScale):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::mayStartMediaWhenInWindow):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
Swipe was accidentally depending on a mistake in WKView's
_acceleratedCompositingModeRootLayer where it was returning the wrong layer.
The actual root layer doesn't have a size, so we should use the drawing
area's size instead.

  • WebKit2.xcodeproj/project.pbxproj:

Add some new files.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):
If we reset the page scale because a load was committed, we should
reset the stored thumbnail-scale-less page scale so that we don't restore
the wrong scale when leaving thumbnailing.

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setThumbnailScale):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Apply the thumbnail scale to the page. If we're currently not in
thumbnail scaling mode, save the current page scale and scroll position
so we can restore them once we leave thumbnail mode again.
Transform the DrawingArea so that the page appears at the same
position and size, but scaled.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::setTransform):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::setTransform):
Add a DrawingArea method to apply an arbitrary transform to the drawing area.

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
(WebKit::TiledCoreAnimationDrawingArea::resumePainting):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
(WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
(WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
Remove the word "compositing" in a bunch of places where it isn't needed.
Rename m_rootLayer to m_hostingLayer, and repurpose m_rootLayer to store
the root compositing layer actually passed in via setRootCompositingLayer.
Rename m_pendingRootCompositingLayer to m_pendingRootLayer.

5:55 PM Changeset in webkit [164336] by Simon Fraser
  • 3 edits
    2 adds in trunk

border-box clip-paths jump around when outline changes
https://bugs.webkit.org/show_bug.cgi?id=128929

Source/WebCore:

Reviewed by Dirk Schulze.

computeReferenceBox() for clip paths was using "rootRelativeBounds"
to position the border-box. This bounds is an enclosing bounds for
the layer and its descendants, including outlines and absolute descendants,
so it is not the correct box to use to offset the border-box.

The caller has offsetFromRoot(), which is the correct thing to use,
so use it.

Test: css3/masking/clip-path-root-relative-bounds.html

  • rendering/RenderLayer.cpp:

(WebCore::computeReferenceBox):
(WebCore::RenderLayer::setupClipPath):

LayoutTests:

Reviewed by Dirk Schulze.

Test comparing a border-box clip path with and without an outline.

  • css3/masking/clip-path-root-relative-bounds-expected.html: Added.
  • css3/masking/clip-path-root-relative-bounds.html: Added.
5:29 PM Changeset in webkit [164335] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add SPI for enabling/disabling private browsing
https://bugs.webkit.org/show_bug.cgi?id=129012

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _privateBrowsingEnabled]):
(-[WKWebView _setPrivateBrowsingEnabled:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
5:16 PM Changeset in webkit [164334] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add more SPI methods to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=129011

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _webProcessIdentifier]):
(-[WKWebView _sessionState]):
(releaseNSData):
(-[WKWebView _restoreFromSessionState:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
5:07 PM Changeset in webkit [164333] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

FTL should build on ARM64
https://bugs.webkit.org/show_bug.cgi?id=129010

Reviewed by Sam Weinig.

  • disassembler/X86Disassembler.cpp: Just because we have the LLVM disassembler doesn't mean we're on X86.
  • ftl/FTLLocation.cpp: DWARF parsing for ARM64 is super easy.

(JSC::FTL::Location::isGPR):
(JSC::FTL::Location::gpr):
(JSC::FTL::Location::isFPR):
(JSC::FTL::Location::fpr):
(JSC::FTL::Location::restoreInto): This function wasn't even X86-specific to begin with so move it out of the #if stuff.

  • ftl/FTLUnwindInfo.cpp: They're called q not d.

(JSC::FTL::UnwindInfo::parse):

  • jit/GPRInfo.h:

(JSC::GPRInfo::toArgumentRegister): Add this method; we alraedy had it on X86.

4:45 PM Changeset in webkit [164332] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

Web Inspector: AX: more properties: exists, required, and invalid (exists was previously combined with ignored)
https://bugs.webkit.org/show_bug.cgi?id=128504

Patch by James Craig <jcraig@apple.com> on 2014-02-18
Reviewed by Timothy Hatcher.

Source/WebCore:

Additions to the accessibility node inspector: exists, required, invalid.

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Additions to the accessibility node inspector: exists, required, invalid.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/DOMNode.js:
  • UserInterface/DOMNodeDetailsSidebarPanel.js:

LayoutTests:

New files test the inspector protocol for DOM.getAccessibilityPropertiesForNode

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Added.
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html: Added.
4:43 PM Changeset in webkit [164331] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Commit the code change supposed to happen in r164320.

  • editing/Editor.cpp:

(WebCore::Editor::setIgnoreCompositionSelectionChange):
(WebCore::Editor::respondToChangedSelection):

  • editing/Editor.h:
4:36 PM Changeset in webkit [164330] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add more new SPI methods
https://bugs.webkit.org/show_bug.cgi?id=129009

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _certificateChain]):
(-[WKWebView _committedURL]):
(-[WKWebView _applicationNameForUserAgent]):
(-[WKWebView _setApplicationNameForUserAgent:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
4:04 PM Changeset in webkit [164329] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

TextFieldInputType::handleBeforeTextInsertedEvent shouldn't use plainText
https://bugs.webkit.org/show_bug.cgi?id=128953

Reviewed by Alexey Proskuryakov.

Don't use FrameSelection's toNormalizedRange and plainText. Instead, use the cached selection start and selection
end to extract the selected text. The caches are updated inside FrameSelection::setSelection whenever selection
is inside a text form control via HTMLTextFormControlElement::selectionChanged.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):

3:26 PM Changeset in webkit [164328] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Make reload SPI for now
https://bugs.webkit.org/show_bug.cgi?id=129007

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _reload]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
3:17 PM Changeset in webkit [164327] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add -[WKWebView reload]
https://bugs.webkit.org/show_bug.cgi?id=129005

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView reload]):

3:04 PM Changeset in webkit [164326] by fpizlo@apple.com
  • 13 edits
    2 adds in trunk/Source/JavaScriptCore

FTL unwind parsing should handle ARM64
https://bugs.webkit.org/show_bug.cgi?id=128984

Reviewed by Oliver Hunt.

This makes unwind parsing handle ARM64 and it makes all clients of unwind info capable of
dealing with that architecture.

The big difference is that ARM64 has callee-save double registers. This is conceptually easy
to handle, but out code for dealing with callee-saves spoke of "GPRReg". We've been in this
situation before: code that needs to deal with either a GPRReg or a FPRReg. In the past we'd
hacked around the problem, but this time I decided to do a full frontal assault. This patch
adds a Reg class, which is a box for either GPRReg or FPRReg along with tools for iterating
over all possible registers. Then, I threaded this through SaveRestore, RegisterSet,
RegisterAtOffset, and UnwindInfo. With the help of Reg, it was easy to refactor the code to
handle FPRs in addition to GPRs.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLRegisterAtOffset.cpp:

(JSC::FTL::RegisterAtOffset::dump):

  • ftl/FTLRegisterAtOffset.h:

(JSC::FTL::RegisterAtOffset::RegisterAtOffset):
(JSC::FTL::RegisterAtOffset::operator!):
(JSC::FTL::RegisterAtOffset::reg):
(JSC::FTL::RegisterAtOffset::operator==):
(JSC::FTL::RegisterAtOffset::operator<):
(JSC::FTL::RegisterAtOffset::getReg):

  • ftl/FTLSaveRestore.cpp:

(JSC::FTL::offsetOfReg):

  • ftl/FTLSaveRestore.h:
  • ftl/FTLUnwindInfo.cpp:

(JSC::FTL::UnwindInfo::parse):
(JSC::FTL::UnwindInfo::find):
(JSC::FTL::UnwindInfo::indexOf):

  • ftl/FTLUnwindInfo.h:
  • jit/Reg.cpp: Added.

(JSC::Reg::dump):

  • jit/Reg.h: Added.

(JSC::Reg::Reg):
(JSC::Reg::fromIndex):
(JSC::Reg::first):
(JSC::Reg::last):
(JSC::Reg::next):
(JSC::Reg::index):
(JSC::Reg::isSet):
(JSC::Reg::operator!):
(JSC::Reg::isGPR):
(JSC::Reg::isFPR):
(JSC::Reg::gpr):
(JSC::Reg::fpr):
(JSC::Reg::operator==):
(JSC::Reg::operator!=):
(JSC::Reg::operator<):
(JSC::Reg::operator>):
(JSC::Reg::operator<=):
(JSC::Reg::operator>=):
(JSC::Reg::hash):
(JSC::Reg::invalid):

  • jit/RegisterSet.h:

(JSC::RegisterSet::set):
(JSC::RegisterSet::clear):
(JSC::RegisterSet::get):

2:58 PM Changeset in webkit [164325] by andersca@apple.com
  • 4 edits
    1 copy in trunk/Source/WebKit2

Add SPI for allowing HTTPS certificates
https://bugs.webkit.org/show_bug.cgi?id=129002

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKProcessClass.mm:

(-[WKProcessClass _setAllowsSpecificHTTPSCertificate:forHost:]):

  • UIProcess/API/Cocoa/WKProcessClassInternal.h:
  • UIProcess/API/Cocoa/WKProcessClassPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h.
  • WebKit2.xcodeproj/project.pbxproj:
2:57 PM Changeset in webkit [164324] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Bottom/right sticky positioning don't correctly handle scroll containers with padding
https://bugs.webkit.org/show_bug.cgi?id=119280

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2014-02-18
Reviewed by Simon Fraser.

Source/WebCore:

Take padding into account during calculation of overflow constraining rect for sticky
positioning.

Test: fast/css/sticky/sticky-bottom-overflow-padding.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::stickyPositionOffset):

LayoutTests:

Check that sticky elements positioned correcly in overflow with padding.

  • fast/css/sticky/sticky-bottom-overflow-padding-expected.html: Added.
  • fast/css/sticky/sticky-bottom-overflow-padding.html: Added.
2:55 PM Changeset in webkit [164323] by jhoneycutt@apple.com
  • 7 edits
    1 add in trunk

Crash when merging ruby bases that contain floats

https://bugs.webkit.org/show_bug.cgi?id=127515
<rdar://problem/15896562>

Source/WebCore:

This crash occurs when we remove a ruby text object and decide to merge
two adjacent ruby base objects. The right ruby base's children were
being merged into the left ruby base, but the right ruby base's floats
were not being moved to the left base. This could cause us not to
descend into all nodes containing a FloatingObject in
RenderBlockFlow::markAllDescendantsWithFloatsForLayout(), because we
assume that if a block does not have a particular float in its float
list, none of its descendants will, either.

Reviewed by David Hyatt.

Test: fast/ruby/ruby-base-merge-block-children-crash-2.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::moveFloatsTo):
Code split out of moveAllChildrenIncludingFloatsTo().
(WebCore::RenderBlockFlow::moveAllChildrenIncludingFloatsTo):
Call moveFloatsTo().

  • rendering/RenderBlockFlow.h:

Add declaration of moveFloatsTo().

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::mergeChildrenWithBase):
Move children and floats to the new base.

  • rendering/RenderRubyBase.h:

Declare mergeChildrenWithBase().

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::removeChild):
Call mergeChildrenWithBase().

LayoutTests:

Reviewed by David Hyatt.

  • fast/ruby/ruby-base-merge-block-children-crash-2.html: Added.
2:54 PM Changeset in webkit [164322] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

iOS build fix after r164319.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelectedRange):

2:39 PM Changeset in webkit [164321] by Samuel White
  • 5 edits in trunk

AX: Searching for "immediate descendants only" can return unexpected results.
https://bugs.webkit.org/show_bug.cgi?id=128986

Reviewed by Chris Fleizach.

Source/WebCore:

Missed an application of the immediateDescendantsOnly flag during the initial implementation. We
need to make sure we don't decend into the startObject first if it is provided. This fix causes
the outer loop to 'skip' the first iteration so only siblings of the startObject are considered.

No new tests, updated existing search-predicate-immediate-descendants-only.html test to cover this case.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::findMatchingObjects):

LayoutTests:

Updated test and expectations to make sure the results match traditional "children" results when appropriate.

  • platform/mac/accessibility/search-predicate-immediate-descendants-only-expected.txt:
  • platform/mac/accessibility/search-predicate-immediate-descendants-only.html:
2:37 PM Changeset in webkit [164320] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Merge notifyComponentsOnChangedSelection into respondToSelectionChange
https://bugs.webkit.org/show_bug.cgi?id=128993

Reviewed by Andreas Kling.

Merged notifyComponentsOnChangedSelection into respondToSelectionChange since notifyComponentsOnChangedSelection
was only added in iOS codebase in response to the code added for continuous spellchecking and alternative text controller
in respondToChangedSelection but they should have been called inside setIgnoreCompositionSelectionChange.

So merge these two functions and make respondToChangedSelection behave like setIgnoreCompositionSelectionChange.

  • editing/Editor.cpp:

(WebCore::Editor::setIgnoreCompositionSelectionChange):
(WebCore::Editor::respondToChangedSelection):

  • editing/Editor.h:
2:35 PM Changeset in webkit [164319] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

FrameSelection::textWasReplaced and setSelectedRange shouldn't trigger synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=128951

Reviewed by Antti Koivisto.

Cleanup.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::textWasReplaced): Don't call updateLayout. It's totally unnecessarily.
(WebCore::FrameSelection::setSelectedRange): Ditto. Also removed the code to set affinity only when
range is collapsed since VisibleSelection::validate already does this.

2:24 PM Changeset in webkit [164318] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

Do not cache media time until media engine returns a non-zero value
https://bugs.webkit.org/show_bug.cgi?id=128976

Reviewed by Jer Noble.

No new tests, covered by existing tests.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid

until it is non-zero.

(WebCore::HTMLMediaElement::currentTime): Return 0 if m_cachedTime is invalid.

2:23 PM Changeset in webkit [164317] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] All WebKit clients should encrypt WebCrypto keys automatically
https://bugs.webkit.org/show_bug.cgi?id=128938

Reviewed by Dan Bernstein.

Don't pass ACLs on iOS. Key will be added to app's default Keychain access group.

Also, don't pass kSecAttrIsPermanent, which is irrelevant for password items, and
caused error -50 in DumpRenderTree for me when passed.

Added fallback to _NSGetProgname for account name, to account for tools such as
Mac DumpRenderTree that don't have bundle identifiers.

  • crypto/mac/SerializedCryptoKeyWrapMac.mm:

(WebCore::masterKeyAccountNameForCurrentApplication):
(WebCore::createAndStoreMasterKey):

2:23 PM Changeset in webkit [164316] by rniwa@webkit.org
  • 16 edits in trunk

setSelectionRange should set selection without validation
https://bugs.webkit.org/show_bug.cgi?id=128949

Reviewed by Enrica Casucci.

Source/WebCore:

Since positionForIndex in HTMLTextFormControlElement always returns a candidate Position, we don't have to
validate selection in setSelectionRange.

Also fixed various bugs uncovered by this change.

This patch also fixes fast/forms/input-select-webkit-user-select-none.html, which used to assert wrong outcome
so that WebKit's behavior matches that of Chrome and Firefox.

Test: fast/forms/input-select-webkit-user-select-none.html

  • dom/Position.h:

(WebCore::positionInParentBeforeNode): This function had a bug that when node is a child of the shadow root
it would return a null Position. Allow a position anchored inside a shadow root.
(WebCore::positionInParentAfterNode): Ditto.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::moveWithoutValidationTo): Renamed from moveTo and avoided selection validation.

  • editing/FrameSelection.h:
  • editing/htmlediting.cpp:

(WebCore::updatePositionForNodeRemoval): Fixed the bug that this function doesn't update positions before
or after children even if the shadow host of the anchor node is getting removed. Move the position before
the shadow host to be removed in both situations.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange): moveTo is renamed to moveWithoutValidationTo.
(WebCore::HTMLTextFormControlElement::selectionChanged): Check if the cached selection offsets are different
in lieu of FrameSelection::isRange() since they're equivalent here.
(WebCore::positionForIndex): Return the position inside or after the last br when there is one to match
the canonicalization algorithm we have. It's probably harmless to return the last position in the inner text
element anyways since most of our codebase supports that but this would avoid having to rebaseline dozens
of tests and reduces the risk of this patch.

LayoutTests:

Fixed input-select-webkit-user-select-none.html which was erroneously asserting selectionStart and selectionEnd
of a text field to be zero when it has -webkit-user-select: none. This doesn't not match behaviors of Chrome
and Firefox. They both retain the programatically set selection offsets since such style should not bleed into
the shadow DOM of the text field in the first place.

New behavior matches the latest Firefox and Chrome although we still have the bug that user cannot select text
inside such a text field.

Also modernized LayoutTests/editing/selection/5497643.html to make the expected results more readable and made
the test more robust against changes in the node index of textarea element.

  • editing/selection/5497643-expected.txt: See above.
  • editing/selection/5497643.html:
  • fast/forms/input-select-webkit-user-select-none-expected.txt: See above.
  • fast/forms/input-select-webkit-user-select-none.html:
  • editing/deleting/delete-ligature-001-expected.txt: Progression in the editing delegate callbacks dumps.

Now we set selection directly into the text node inside the inner text element.

  • platform/mac/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Ditto.
  • platform/mac/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Ditto.
  • platform/mac-mountainlion/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt:

Removed.

  • platform/mac-mountainlion/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt:

Removed.

2:23 PM Changeset in webkit [164315] by andersca@apple.com
  • 4 edits
    1 copy in trunk/Source/WebKit2

Add SPI for getting the original URL from a WKNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=128997

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKNavigationActionInternal.h:
  • UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

  • WebKit2.xcodeproj/project.pbxproj:
2:08 PM Changeset in webkit [164314] by zandobersek@gmail.com
  • 18 edits in trunk/Source/WebCore

Move IndexedDB module, LevelDB code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128964

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr in the IndexedDB module and LevelDB platform code with std::unique_ptr.

  • Modules/indexeddb/IDBCursorBackend.h:
  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
(WebCore::IDBDatabaseBackend::transactionFinishedAndAbortFired):
(WebCore::IDBDatabaseBackend::processPendingCalls):
(WebCore::IDBDatabaseBackend::processPendingOpenCalls):
(WebCore::IDBDatabaseBackend::openConnection):
(WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackend::deleteDatabase):
(WebCore::IDBDatabaseBackend::close):

  • Modules/indexeddb/IDBDatabaseBackend.h:

(WebCore::IDBDatabaseBackend::hasPendingSecondHalfOpen):
(WebCore::IDBDatabaseBackend::setPendingSecondHalfOpen):

  • Modules/indexeddb/IDBPendingDeleteCall.h:

(WebCore::IDBPendingDeleteCall::IDBPendingDeleteCall):

  • Modules/indexeddb/IDBPendingOpenCall.h:

(WebCore::IDBPendingOpenCall::IDBPendingOpenCall):

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):

  • Modules/indexeddb/IDBTransactionCoordinator.cpp:
  • Modules/indexeddb/IDBTransactionCoordinator.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:

(WebCore::setUpMetadata):
(WebCore::DefaultLevelDBFactory::openLevelDB):
(WebCore::IDBBackingStoreLevelDB::IDBBackingStoreLevelDB):
(WebCore::IDBBackingStoreLevelDB::~IDBBackingStoreLevelDB):
(WebCore::IDBBackingStoreLevelDB::open):
(WebCore::IDBBackingStoreLevelDB::openInMemory):
(WebCore::IDBBackingStoreLevelDB::create):
(WebCore::IDBBackingStoreLevelDB::getDatabaseNames):
(WebCore::deleteRange):
(WebCore::IDBBackingStoreLevelDB::deleteDatabase):
(WebCore::IDBBackingStoreLevelDB::getObjectStores):
(WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::getIndexes):
(WebCore::findGreatestKeyLessThanOrEqual):
(WebCore::IDBBackingStoreLevelDB::findKeyInIndex):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
  • platform/leveldb/LevelDBDatabase.cpp:

(WebCore::LevelDBDatabase::~LevelDBDatabase):
(WebCore::LevelDBDatabase::open):
(WebCore::LevelDBDatabase::openInMemory):
(WebCore::IteratorImpl::IteratorImpl):
(WebCore::LevelDBDatabase::createIterator):

  • platform/leveldb/LevelDBDatabase.h:
  • platform/leveldb/LevelDBTransaction.cpp:

(WebCore::LevelDBTransaction::commit):
(WebCore::LevelDBTransaction::createIterator):
(WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
(WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
(WebCore::LevelDBWriteOnlyTransaction::LevelDBWriteOnlyTransaction):

  • platform/leveldb/LevelDBTransaction.h:
  • platform/leveldb/LevelDBWriteBatch.cpp:

(WebCore::LevelDBWriteBatch::LevelDBWriteBatch):

  • platform/leveldb/LevelDBWriteBatch.h:
1:59 PM Changeset in webkit [164313] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add more WKWebView SPI
https://bugs.webkit.org/show_bug.cgi?id=128994

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _unreachableURL]):
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
1:44 PM Changeset in webkit [164312] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: editing a color in the Styles sidebar using the color picker only works once for a given color
https://bugs.webkit.org/show_bug.cgi?id=128965

Reviewed by Timothy Hatcher.

Use the WebInspector.TextMarker backing the CodeMirror TextMarker object to inspect its type in
order to identify color markers that were created for a color. This fixes a regression introduced
in http://webkit.org/b/125695 when we abstracted CodeMirror TextMarker objects.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror):

1:41 PM Changeset in webkit [164311] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Editing transparent color shows incorrect opacity slider
https://bugs.webkit.org/show_bug.cgi?id=128975

Reviewed by Joseph Pecoraro.

The opacity slider should show a range of colors from transparent to the full opacity of the tinted color.

  • UserInterface/ColorPicker.js:

(WebInspector.ColorPicker.prototype._updateSliders):

1:27 PM Changeset in webkit [164310] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

Follow-up: Add type-checked casts for StyleImage and subclasses
<http://webkit.org/b/128915>

Address some style issues based on feedback from Andreas Kling.

  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::cachedImageURL):

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::hasFailedOrCanceledSubresources):

  • Use the reference version of the type-checked casts since we know the pointers are not NULL.
  • rendering/style/StyleImage.h:
  • Use 'styleImage' instead of 'resource' in STYLE_IMAGE_TYPE_CASTS.
1:15 PM Changeset in webkit [164309] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Remove unnecessary UserActionElementSet constructor, destructor
https://bugs.webkit.org/show_bug.cgi?id=128962

Reviewed by Andreas Kling.

UserActionElementSet constructor and destructor are not necessary, as is not the
static create() function that returns PassOwnPtr<UserActionElementSet>. The implicit
constructor and destructor can take care of creating and destroying the sole HashMap
member variable.

  • dom/UserActionElementSet.cpp:
  • dom/UserActionElementSet.h:
1:01 PM Changeset in webkit [164308] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: shift-clicking #fff swatch results in bad rgb value
https://bugs.webkit.org/show_bug.cgi?id=128954

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-18
Reviewed by Daniel Bates.

parseInt("FF", 16) is already 255. Do not multiply the result by 255.

  • UserInterface/Color.js:

(WebInspector.Color.fromString):

12:47 PM Changeset in webkit [164307] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Minibrowser: Add shortcut to open Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=128813

Patch by Diego Pino García <Diego Pino Garcia> on 2014-02-18
Reviewed by Anders Carlsson.

Added shortcuts Ctrl+Shift+I and F12 for toggling Web Inspector.

  • MiniBrowser/gtk/BrowserWindow.c:

(toggleWebInspector):
(browser_window_init):

12:44 PM Changeset in webkit [164306] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:

(-[WKProcessClassConfiguration description]):

12:33 PM Changeset in webkit [164305] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.2

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

.:

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

Source/WebKit/gtk:

  • NEWS: Add release notes.
12:24 PM Changeset in webkit [164304] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

Temporarily remove support for setting the maximumDecodedImageSize. It is causing assertions.

  • Shared/WebPreferencesStore.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

12:13 PM Changeset in webkit [164303] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

Rename convertFixedAndStickyPosition() to convertPositionStyle()
https://bugs.webkit.org/show_bug.cgi?id=128987

Reviewed by NOBODY. This is addressing a post-commit review from Dean Jackson.

No new tests are necessary because there is no behavior change

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::convertPositionStyle):

  • editing/EditingStyle.h:
  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::appendElement):

12:05 PM Changeset in webkit [164302] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r164296.
http://trac.webkit.org/changeset/164296
https://bugs.webkit.org/show_bug.cgi?id=128989

Broke many media tests (Requested by eric_carlson on #webkit).

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
11:51 AM Changeset in webkit [164301] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

[iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized WebCoreWebThreadIsLockedOrDisabled
https://bugs.webkit.org/show_bug.cgi?id=128959

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-18
Reviewed by David Kilzer.

When JavaScriptCore is used without WebCore on iOS (e.g. JSContext)
the WebCoreWebThread* functions will not be initialized. Avoid
calling the function pointer if it is uninitialized. This was
happening with remote inspection via StringImpl::createCFString
for implicit NSString / WTFString conversion which uses isMainThread.

  • wtf/mac/MainThreadMac.mm:

(WTF::webThreadIsUninitializedOrLockedOrDisabled):
(WTF::isMainThread):
(WTF::canAccessThreadLocalDataForThread):

11:36 AM Changeset in webkit [164300] by mitz@apple.com
  • 8 edits in trunk/Source/WebKit2

[Cocoa] Implement -description in some API objects
https://bugs.webkit.org/show_bug.cgi?id=128956

Reviewed by Anders Carlsson.

  • Shared/API/Cocoa/WKRemoteObjectInterface.mm:

Changed category name to have the framework’s prefix.
(-[WKRemoteObjectInterface description]): Added.

  • UIProcess/API/Cocoa/WKFrameInfo.mm:

(-[WKFrameInfo description]): Added.

  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(-[WKNavigationAction description]): Added.

  • UIProcess/API/Cocoa/WKNavigationResponse.mm:

(-[WKNavigationResponse description]): Added.

  • UIProcess/API/Cocoa/WKProcessClass.mm:

(-[WKProcessClass description]): Added.

  • UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:

(-[WKProcessClassConfiguration description]): Added.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration description]): Added.

11:32 AM Changeset in webkit [164299] by mmaxfield@apple.com
  • 3 edits
    4 copies
    2 moves in trunk

Convert position:sticky to position:static upon copy and paste
https://bugs.webkit.org/show_bug.cgi?id=128982

Reviewed by NOBODY (OOPS!).

Source/WebCore:

This patch has two parts:

  1. Make sure that position:absolute elements trigger the position:relative wrapping (as

well as position:fixed)

  1. Now that we copy position:sticky, convert that to position:fixed

Tests: editing/pasteboard/copy-paste-converts-fixed.html

editing/pasteboard/copy-paste-converts-sticky.html
editing/pasteboard/copy-paste-wraps-position-absolute.html

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::convertFixedAndStickyPosition):

LayoutTests:

  • editing/pasteboard/copy-paste-converts-fixed-expected.txt: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
  • editing/pasteboard/copy-paste-converts-fixed.html: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.
  • editing/pasteboard/copy-paste-converts-sticky-expected.txt: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
  • editing/pasteboard/copy-paste-converts-sticky.html: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.
  • editing/pasteboard/copy-paste-wraps-position-absolute-expected.txt: Renamed from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
  • editing/pasteboard/copy-paste-wraps-position-absolute.html: Renamed from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.
11:10 AM Changeset in webkit [164298] by ddkilzer@apple.com
  • 12 edits in trunk/Source/WebCore

Add type-checked casts for StyleImage and subclasses
<http://webkit.org/b/128915>

Reviewed by Oliver Hunt.

  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::detachPendingImage):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedImageURL):

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::detachPendingImage):
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::cachedImageSet):
(WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::detachPendingImage):
(WebCore::CSSImageValue::cachedImage):
(WebCore::CSSImageValue::hasFailedOrCanceledSubresources):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingShapeImage):
(WebCore::StyleResolver::loadPendingImages):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::retrieveResourcesForProperties):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

  • Switch from static_cast<>() operators to toTypeName() methods.
  • Replace 0 with nullptr where convenient.
  • rendering/style/StyleCachedImage.h:
  • rendering/style/StyleCachedImageSet.h:
  • rendering/style/StyleGeneratedImage.h:
  • rendering/style/StyleImage.h:
  • rendering/style/StylePendingImage.h:
  • Define type-checked cast macros.
10:58 AM Changeset in webkit [164297] by weinig@apple.com
  • 10 edits in trunk/Source

Simplify HTML tokenizer parameterization down to what is used
https://bugs.webkit.org/show_bug.cgi?id=128977

Reviewed by Alexey Proskuryakov.

../WebCore:

  • Removes support for CustomHTMLTokenizerChunkSize.
  • Consolidates CustomHTMLTokenizerTimeDelay down to one implementation, using Settings::maxParseDuration
  • WebCore.exp.in:
  • html/parser/HTMLParserScheduler.cpp:

(WebCore::HTMLParserScheduler::HTMLParserScheduler):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
(WebCore::Page::customHTMLTokenizerTimeDelay):

  • page/Page.h:

../WebKit/mac:

Remove unused _setCustomHTMLTokenizerTimeDelay and _setCustomHTMLTokenizerChunkSize SPI.

  • WebView/WebView.mm:
  • WebView/WebViewPrivate.h:

../WebKit/win:

Remove unused SPI.

  • WebView.cpp:

(WebView::setCustomHTMLTokenizerTimeDelay):
(WebView::setCustomHTMLTokenizerChunkSize):

10:43 AM Changeset in webkit [164296] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

Do not cache media time until media engine returns a non-zero value
https://bugs.webkit.org/show_bug.cgi?id=128976

Reviewed by Jer Noble.

No new tests, covered by existing tests.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid

until it is non-zero.

9:36 AM Changeset in webkit [164295] by mitz@apple.com
  • 21 edits in trunk/Tools

Stop using PLATFORM(MAC) except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128952

Reviewed by Anders Carlsson.

  • TestWebKitAPI/JavaScriptTest.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) and changed to

use OBJC_CLASS.

  • TestWebKitAPI/PlatformUtilities.h: Changed PLATFORM(MAC) to USE(FOUNDATION) and changed

to use OBJC_CLASS.

  • TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: Changed PLATFORM(MAC) to

PLATFORM(COCOA).
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:

(TestWebKitAPI::TEST): Added expected default font-family values for iOS.

  • TestWebKitAPI/config.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • WebKitTestRunner/EventSenderProxy.h: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityController.h: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: Ditto.

(WTR::AccessibilityTextMarker::platformTextMarker):

  • WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.h: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: Ditto.

(WTR::AccessibilityTextMarkerRange::platformTextMarkerRange):

  • WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.h: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: Ditto.
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Ditto.
  • WebKitTestRunner/InjectedBundle/TestRunner.h: Ditto.
  • WebKitTestRunner/PlatformWebView.h: Ditto.
  • WebKitTestRunner/TestController.cpp: Ditto.

(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::processDidCrash):

  • WebKitTestRunner/TestInvocation.cpp: Ditto.

(WTR::updateThreadedScrollingForCurrentTest):
(WTR::TestInvocation::dumpWebProcessUnresponsiveness):

  • WebKitTestRunner/cg/TestInvocationCG.cpp: Ditto.

(WTR::computeMD5HashStringForContext):

9:10 AM Changeset in webkit [164294] by commit-queue@webkit.org
  • 10 edits
    69 adds in trunk

Source/WebCore: [CSS Blending] Add -webkit-blend-mode support for SVG.

https://bugs.webkit.org/show_bug.cgi?id=110427
Patch by Mihai Tica <mitica@adobe.com> on 2014-02-18
Reviewed by Dirk Schulze.

Add support for blend modes to SVG. This includes adding and validating isolation for blending.
Make masked elements isolate blending by creating a transparency layer.

Tests: css3/compositing/svg-blend-color-burn.html

css3/compositing/svg-blend-color-dodge.html
css3/compositing/svg-blend-color.html
css3/compositing/svg-blend-darken.html
css3/compositing/svg-blend-difference.html
css3/compositing/svg-blend-exclusion.html
css3/compositing/svg-blend-hard-light.html
css3/compositing/svg-blend-hue.html
css3/compositing/svg-blend-layer-blend.html
css3/compositing/svg-blend-layer-clip-path.html
css3/compositing/svg-blend-layer-filter.html
css3/compositing/svg-blend-layer-mask.html
css3/compositing/svg-blend-layer-opacity.html
css3/compositing/svg-blend-layer-shadow.html
css3/compositing/svg-blend-lighten.html
css3/compositing/svg-blend-luminosity.html
css3/compositing/svg-blend-multiply-alpha.html
css3/compositing/svg-blend-multiply.html
css3/compositing/svg-blend-normal.html
css3/compositing/svg-blend-overlay.html
css3/compositing/svg-blend-saturation.html
css3/compositing/svg-blend-screen.html
css3/compositing/svg-blend-soft-light.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleDidChange): Also pass a pointer to the old style when calling SVGRenderSupport::styleChanged.

  • rendering/style/RenderStyle.h: Add blendMode default getter when CSS_COMPOSITING is disabled.
  • rendering/style/SVGRenderStyle.h:

(WebCore::SVGRenderStyle::isolatesBlending): Add method.

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::styleChanged): Call updateMaskedAncestorShouldIsolateBlending only when a blend mode is set/unset.
(WebCore::SVGRenderSupport::isolatesBlending): Implement method that decides whether an SVGElement isolates or not blending.
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending): Traverse to the nearest ancestor having a mask.

  • Set a flag causing the creation of a transparency layer when rendering the masked element.
  • rendering/svg/SVGRenderSupport.h:
  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent): Call GraphicsContext::setCompositeOperation.

  • Isolate blending by creating a transparency layer.
  • Isolate group when rendering a masked element having a blended child node.
  • svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::SVGGraphicsElement): Set default m_shouldIsolateBlending to false.

  • svg/SVGGraphicsElement.h: Add m_shouldIsolateBlending member, getter and setter.

(WebCore::SVGGraphicsElement::shouldIsolateBlending):
(WebCore::SVGGraphicsElement::setShouldIsolateBlending):

LayoutTests: [CSS Blending] Add -webkit-blend-mode support for SVG.
https://bugs.webkit.org/show_bug.cgi?id=110427

Patch by Mihai Tica <mitica@adobe.com> on 2014-02-18
Reviewed by Dirk Schulze.

Test -webkit-blend-mode implementation for simple SVGs. This includes:

  • Test each blend operator.
  • Test that ensures blending is isolated by other properties: blending, filters, masks, shadow and opacity.
  • css3/compositing/svg-blend-color-burn.html: Test blend mode color-burn.
  • css3/compositing/svg-blend-color-dodge.html: Test blend mode color-dodge.
  • css3/compositing/svg-blend-color.html: Test blend mode color.
  • css3/compositing/svg-blend-darken.html: Test blend mode darken.
  • css3/compositing/svg-blend-difference.html: Test blend mode difference.
  • css3/compositing/svg-blend-exclusion.html: Test blend mode exclusion.
  • css3/compositing/svg-blend-hard-light.html: Test blend mode hard-light.
  • css3/compositing/svg-blend-hue.html: Test blend mode hue.
  • css3/compositing/svg-blend-layer-blend.html: mix-blend-mode should isolate for blending.
  • css3/compositing/svg-blend-layer-clip-path.html: clip-path should not isolate for blending.
  • css3/compositing/svg-blend-layer-filter.html: filters should isolate for blending.
  • css3/compositing/svg-blend-layer-mask.html: masks should isolate for blending.
  • css3/compositing/svg-blend-layer-opacity.html: opacity should isolate for blending.
  • css3/compositing/svg-blend-layer-shadow.html: -webkit-shadow should isolate for blending.
  • css3/compositing/svg-blend-lighten.html: Test blend mode lighten.
  • css3/compositing/svg-blend-luminosity.html: Test blend mode luminosity.
  • css3/compositing/svg-blend-multiply-alpha.html: Test blend mode multiply while also having alpha set.
  • css3/compositing/svg-blend-multiply.html: Test blend mode multiply.
  • css3/compositing/svg-blend-normal.html: Test blend mode normal. Note this blend mode has no effect.
  • css3/compositing/svg-blend-overlay.html: Test blend mode overlay.
  • css3/compositing/svg-blend-saturation.html: Test blend mode saturation.
  • css3/compositing/svg-blend-screen.html: Test blend mode screen.
  • css3/compositing/svg-blend-soft-light.html: Test blend mode soft-light.
  • platform/mac/css3/compositing/svg-blend-color-burn-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-color-burn-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-color-dodge-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-color-dodge-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-color-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-color-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-darken-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-darken-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-difference-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-difference-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-exclusion-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-exclusion-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-hard-light-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-hard-light-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-hue-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-hue-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-blend-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-blend-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-clip-path-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-clip-path-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-filter-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-filter-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-mask-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-mask-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-opacity-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-opacity-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-shadow-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-shadow-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-lighten-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-lighten-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-luminosity-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-luminosity-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-multiply-alpha-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-multiply-alpha-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-multiply-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-multiply-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-normal-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-normal-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-overlay-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-overlay-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-saturation-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-saturation-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-screen-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-screen-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-soft-light-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-soft-light-expected.txt: Added.
9:00 AM Changeset in webkit [164293] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

[GTK] Unreviewed fix. Correct wrong flags, ENABLE(GTK)->PLATFORM(GTK).

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::drawArraysInstanced):
(WebCore::Extensions3DOpenGL::drawElementsInstanced):
(WebCore::Extensions3DOpenGL::vertexAttribDivisor):

8:13 AM Changeset in webkit [164292] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: color picker sliders sometime look wrong on Retina display
https://bugs.webkit.org/show_bug.cgi?id=128963

Reviewed by Timothy Hatcher.

Round the values used to position and size popovers in order to ensure that their content don't suffer
from poor pixel alignment on Retina displays.

  • UserInterface/Popover.js:

(WebInspector.Popover.prototype.set frame):

7:21 AM Changeset in webkit [164291] by Michał Pakuła vel Rutka
  • 3 edits
    3 adds in trunk/LayoutTests

Unreviewed EFL gardening.

Add test expecations for failing and crashing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/fast/forms/search/search-size-with-decorations-expected.png: Added after r164145.
  • platform/efl/fast/forms/search/search-size-with-decorations-expected.txt: Ditto.
7:11 AM Changeset in webkit [164290] by mihnea@adobe.com
  • 4 edits
    5 adds in trunk

[CSSRegions] Compute region ranges for inline replaced elements
https://bugs.webkit.org/show_bug.cgi?id=128800

Reviewed by Andrei Bucur.

Source/WebCore:

Tests: fast/regions/hover-content-inside-iframe-in-region.html

fast/regions/select-multiple-in-region.html

When asking for the range of regions for an inline replaced box,
use the region cached on the root inline box for the inline replaced
box as the range of regions is computed only for blocks.
A future patch will extend the computation of region ranges
for inline blocks too.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
Remove the restriction set during https://bugs.webkit.org/show_bug.cgi?id=113703
and enable the code path for boxes not only for blocks.
Method RenderFlowThread::getRegionRangeForBox returns a null region when it is unable
to get the region range and we already check for null region case.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::getRegionRangeForBox):

LayoutTests:

  • fast/regions/hover-content-inside-iframe-in-region-expected.html: Added.
  • fast/regions/hover-content-inside-iframe-in-region.html: Added.
  • fast/regions/resources/iframe-in-region-source.html: Added.
  • fast/regions/select-multiple-in-region-expected.txt: Added.
  • fast/regions/select-multiple-in-region.html: Added.
6:42 AM Changeset in webkit [164289] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r164167 - [GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
https://bugs.webkit.org/show_bug.cgi?id=128808

Reviewed by Sergio Villar Senin.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkit_web_page_class_init): Use g_cclosure_marshal_VOIDVOID
instead of g_cclosure_marshal_VOID
OBJECT.

4:15 AM Changeset in webkit [164288] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.2

Merge r163871 - [GStreamer] High playback rate causes crash
https://bugs.webkit.org/show_bug.cgi?id=128453

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-11
Reviewed by Philippe Normand.

Source/WebCore:

To high playback rate passed to GStreamer was causing crash.
Added guard in setRate method.

Test: media/video-extreme-playbackrate-crash.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setRate):

LayoutTests:

Test checks if passing high playback rate causes crash.

  • media/video-extreme-playbackrate-crash-expected.txt: Added.
  • media/video-extreme-playbackrate-crash.html: Added.
4:12 AM Changeset in webkit [164287] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore

Merge r163435 - MediaPlayerPrivateGStreamerBase should have virtual destructor
https://bugs.webkit.org/show_bug.cgi?id=128238

Reviewed by Carlos Garcia Campos.

MediaPlayerPrivateGStreamer inherit MediaPlayerPrivateGStreamerBase.
So MediaPlayerPrivateGStreamerBase should have virtual destructor.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Made destructor as virtual.
4:08 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
4:07 AM Changeset in webkit [164286] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2

Merge r163954 - 'ar T' is not portable and breaks the build on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128596

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-12
Reviewed by Gustavo Noronha Silva.

Create thin archives only if we are using GNU ar.

  • Source/autotools/SetupLibtool.m4:
4:05 AM Changeset in webkit [164285] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r163875 - O_CLOEXEC in shm_open does not work on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128572

Reviewed by Darin Adler.

The O_CLOEXEC is not supported by shm_open() and is also not
necessary since FD_CLOEXEC is already set by default when the new
file descriptor is created.

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::create):

4:05 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
4:02 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
4:01 AM Changeset in webkit [164284] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r163292 - Fix wrong mix of fcntl commands and flags
https://bugs.webkit.org/show_bug.cgi?id=127842

Reviewed by Darin Adler.

We are mixing the commands to set file descriptor and file status
flags in a couple of fcntl() calls. FD_CLOEXEC must be set using
F_SETFD, and the access mode flags (O_RDONLY, O_WRONLY, O_RDWR)
with F_SETFL.

This combines patches by Guillem Jover and Sergio Correia.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::readBytesFromSocket):

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::createHandle):

3:59 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
3:55 AM Changeset in webkit [164283] by Carlos Garcia Campos
  • 10 edits
    5 adds in releases/WebKitGTK/webkit-2.2

Merge r155730 - DFG AI assumes that ToThis can never return non-object if it is passed an object, and operationToThis will get the wrong value of isStrictMode() if there's inlining
https://bugs.webkit.org/show_bug.cgi?id=121330

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg and Oliver Hunt.

Also print whether a function is strict mode in debug dumps.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpAssumingJITType):

  • bytecode/CodeOrigin.cpp:

(JSC::InlineCallFrame::dumpInContext):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

Tools:

Reviewed by Mark Hahnenberg and Oliver Hunt.

We should run tests even if they don't have expected files yet.

  • Scripts/run-layout-jsc:

LayoutTests:

Reviewed by Mark Hahnenberg and Oliver Hunt.

  • js/dfg-strict-mode-to-this-expected.txt: Added.
  • js/dfg-strict-mode-to-this.html: Added.
  • js/jsc-test-list:
  • js/script-tests/dfg-strict-mode-to-this.js: Added.

(thingy.bar):
(thingy.foo):
(thingy):

3:54 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
3:49 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
3:39 AM Changeset in webkit [164282] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.2/Source/JavaScriptCore

Merge r155480 - Introduce a SpecInt48 type and be more careful about what we mean by "Top" https://bugs.webkit.org/show_bug.cgi?id=121116

Reviewed by Oliver Hunt.

SpecInt48 will mean that we have something that would be a double if it was a JSValue,
but it's profitable to represent it as something other than a double.

SpecInt48AsDouble means that it has a value that could have been represented like
SpecInt48, but we're making a heuristic decision not to do it.

  • bytecode/SpeculatedType.h:

(JSC::isInt48Speculation):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):
(JSC::DFG::::clobberCapturedVars):

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::filter):

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::makeHeapTop):
(JSC::DFG::AbstractValue::makeBytecodeTop):
(JSC::DFG::AbstractValue::isHeapTop):
(JSC::DFG::AbstractValue::heapTop):
(JSC::DFG::AbstractValue::validateType):
(JSC::DFG::AbstractValue::validate):
(JSC::DFG::AbstractValue::makeTop):

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::initialize):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::noticeOSREntry):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):

3:38 AM Changeset in webkit [164281] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.2/Source/JavaScriptCore

Merge r155466 - SpecType should have SpecInt48AsDouble
https://bugs.webkit.org/show_bug.cgi?id=121065

Reviewed by Oliver Hunt.

  • bytecode/SpeculatedType.cpp:

(JSC::dumpSpeculation):
(JSC::speculationToAbbreviatedString):
(JSC::speculationFromValue):

  • bytecode/SpeculatedType.h:

(JSC::isInt48AsDoubleSpeculation):
(JSC::isIntegerSpeculation):
(JSC::isDoubleRealSpeculation):

3:33 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
3:10 AM Changeset in webkit [164280] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

[GTK] webkit_web_view_load_html reads UTF8 css files as UTF16
https://bugs.webkit.org/show_bug.cgi?id=127481

Patch by Sami Wagiaalla <swagiaal@redhat.com> on 2014-02-18
Reviewed by Carlos Garcia Campos.

Partial merge of r160572.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadString):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):

  • WebProcess/WebPage/WebPage.h:
3:05 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
2:22 AM Changeset in webkit [164279] by calvaris@igalia.com
  • 4 edits in trunk/Source/WebCore

Move inheriting method to the superclass in the JavaScript media controls
https://bugs.webkit.org/show_bug.cgi?id=128897

Reviewed by Jer Noble.

The inheriting method of the JavaScript multimedia controls was
moved from the subclasses to the superclass because this way it is
only defined once.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.extend): Added to replace inheritFrom in the
subclasses.

  • Modules/mediacontrols/mediaControlsGtk.js:
  • Modules/mediacontrols/mediaControlsiOS.js: Removed inheritFrom

and used extend.

2:16 AM Changeset in webkit [164278] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r162830 - [SOUP] WebProcess sometimes crashes when a download is cancelled
https://bugs.webkit.org/show_bug.cgi?id=127650

Reviewed by Martin Robinson.

The problem is that when the download is cancelled, the download
manager removes the download from the map and it's deleted. The
Download destructor calls platformInvalidate() that cancels the
resource handle if there's still one. We set to nullptr the
ResourceHandle when the download is cancelled to avoid cancelling
it twice, but it's done after calling Download::didCancel(). It
should be done before, because at that moment, when the download
is deleted, the resource handle pointer is still valid.

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::Download::cancel):

2:10 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
1:49 AM Changeset in webkit [164277] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] Fix hitting hasClass() assertion in debug with the new JS media controls
https://bugs.webkit.org/show_bug.cgi?id=128820

Reviewed by Martin Robinson.

The code introduced at r164024 caused the hit of hasClass()
assertion when getting the classNames() of an element with no
class. Now we check for it to avoid the assertion.

No new tests, current set detects the crash in many tests.

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::nodeHasClass): Check for hasClass() in order not to hit
the assertion when getting the classNames() in debug mode.

1:42 AM Changeset in webkit [164276] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Refactor SVGPreserveAspectRatio::parse()
https://bugs.webkit.org/show_bug.cgi?id=128658

Reviewed by Dirk Schulze.

To removed "goto" in SVGPreserveAspectRatio::parse(), this patch introduce parseInternal() to handle
existing behavior with local variables, and existing/new parse() functions invoke it, then set
those to member variables.

Motivated from Blink: https://src.chromium.org/viewvc/blink?view=rev&revision=166927

No new tests, no behavior change.

  • svg/SVGPreserveAspectRatio.cpp:

(WebCore::SVGPreserveAspectRatio::parse):
(WebCore::SVGPreserveAspectRatio::parseInternal):

  • svg/SVGPreserveAspectRatio.h: Add parse() and parseInternal() functions.

Feb 17, 2014:

11:53 PM Changeset in webkit [164275] by stavila@adobe.com
  • 6 edits in trunk/Source/WebCore

[CSS Regions] Move specific named flow methods from RenderRegion to RenderNamedFlowFragment
https://bugs.webkit.org/show_bug.cgi?id=128914

Reviewed by Antti Koivisto.

Moved named flow specific methods regionContainer() and regionContainerLayer() from
RenderRegion to RenderNamedFlowFragment and renamed them to fragmentContainer and
fragmentContainerLayer.

No new tests required.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::fragmentContainer):
(WebCore::RenderNamedFlowFragment::fragmentContainerLayer):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderRegion.cpp:
  • rendering/RenderRegion.h:
11:17 PM Changeset in webkit [164274] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Move PublicURLMansger to std::unique_ptr.
https://bugs.webkit.org/show_bug.cgi?id=128891

Patch by Sangho Kim <thomas.kim@lge.com> on 2014-02-17
Reviewed by Anders Carlsson.

Use std::unique_ptr and std::make_unique in place of PassOwnPtr and adoptPtr in the PublicURLManager

  • dom/ScriptExecutionContext.h:
  • html/PublicURLManager.cpp:

(WebCore::PublicURLManager::create):

  • html/PublicURLManager.h:
10:51 PM Changeset in webkit [164273] by ChangSeok Oh
  • 2 edits in trunk/Source/WebKit2

Unreviewed gtk build fix.

  • GNUmakefile.list.am: Remove WebHistoryClient.cpp/h after r164230.
9:18 PM Changeset in webkit [164272] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Expose a way to clear cookies modified after a given date
https://bugs.webkit.org/show_bug.cgi?id=128845

Patch by Ricky Mondello <Ricky Mondello> on 2014-02-17
Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in: Add a symbol.
  • platform/network/PlatformCookieJar.h: Declare deleteAllCookiesModifiedAfterDate.
  • platform/network/cf/CookieJarCFNet.cpp:

(WebCore::deleteAllCookiesModifiedAfterDate): Add a stub.

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::deleteAllCookiesModifiedAfterDate): Ditto.

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::deleteAllCookiesModifiedAfterDate): Ditto.

  • platform/network/mac/CookieJarMac.mm: Add a category NSHTTPCookieStorage category with the method

used for time-based clearing so we can build on all platforms. For now, we'll check for support
at runtime.

(WebCore::deleteAllCookiesModifiedAfterDate): Added. Without foundation API, we'll ignore the passed-in

NetworkStorageSession.

Source/WebKit2:

  • UIProcess/API/C/WKCookieManager.cpp:

(WKCookieManagerDeleteAllCookiesModifiedAfterDate): Added. Call out to the CookieManager.

  • UIProcess/API/C/WKCookieManager.h: Declare WKCookieManagerDeleteAllCookiesModifiedAfterDate.
  • UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate): Added. Dispatch message to the

Network Process.

  • UIProcess/WebCookieManagerProxy.h: Declare deleteAllCookiesModifiedAfterDate.
  • WebProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::deleteAllCookiesModifiedAfterDate): Added. Call out to WebCore to finish the job.

  • WebProcess/Cookies/WebCookieManager.h: Declare deleteAllCookiesModifiedAfterDate.
  • WebProcess/Cookies/WebCookieManager.messages.in: Add new message.
9:13 PM Changeset in webkit [164271] by ryuan.choi@samsung.com
  • 18 edits
    3 copies
    4 moves
    1 add in trunk/Source/WebKit2

[EFL][WK2] Move and make WKColorPickerResultListener to EFL specific interface
https://bugs.webkit.org/show_bug.cgi?id=119120

Reviewed by Gyuyoung Kim.

WKColorPickerResultListener and related files are only used in EFL since added.
Indeed, it does not work since refactored common logic for ColorPicker in WebPageProxy.

This patch moved them to EFL specfic and refactor to work well.

  • CMakeLists.txt: Moved WebColorPickerResultListenerProxy.cpp to PlatformEfl.cmake.
  • GNUmakefile.list.am: Removed ColorPickerResultListener related files which are only for Efl from source list.
  • PlatformEfl.cmake: Added ColorPickerResultListenerProxy related files and newly added files into source list.
  • UIProcess/API/APIUIClient.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/C/efl/WKColorPickerResultListener.cpp: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.cpp.

(WKColorPickerResultListenerGetTypeID):
(WKColorPickerResultListenerSetColor):

  • UIProcess/API/C/efl/WKColorPickerResultListener.h: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.h.
  • UIProcess/API/C/efl/WKViewEfl.cpp: Introduced WKColorPickerClient and setter.

(WKViewSetColorPickerClient):

  • UIProcess/API/C/efl/WKViewEfl.h:
  • UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: Enabled test case for color picker.

(TEST_F):

  • UIProcess/WebPageProxy.cpp: Removed unnecessary WebColorPickerResultListenerProxy dependency.
  • UIProcess/WebPageProxy.h: Ditto.
  • UIProcess/efl/PageUIClientEfl.cpp: Removed color picker callbacks of PageUIClient.

(WebKit::PageUIClientEfl::PageUIClientEfl):

  • UIProcess/efl/PageUIClientEfl.h:
  • UIProcess/efl/ViewClientEfl.cpp: Registered callbacks of WKColorPickerClient.

(WebKit::ViewClientEfl::showColorPicker):
(WebKit::ViewClientEfl::endColorPicker):
(WebKit::ViewClientEfl::ViewClientEfl):
(WebKit::ViewClientEfl::~ViewClientEfl):

  • UIProcess/efl/ViewClientEfl.h:
  • UIProcess/efl/WebColorPickerClient.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.

(WebKit::WebColorPickerClient::showColorPicker):
(WebKit::WebColorPickerClient::endPicker):

  • UIProcess/efl/WebColorPickerClient.h: Added.
  • UIProcess/efl/WebColorPickerEfl.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.

(WebKit::WebColorPickerEfl::WebColorPickerEfl):
(WebKit::WebColorPickerEfl::endPicker):
(WebKit::WebColorPickerEfl::showColorPicker):
(WebKit::WebColorPickerEfl::setSelectedColor):
(WebKit::WebColorPickerEfl::didChooseColor):

  • UIProcess/efl/WebColorPickerEfl.h: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.

(WebKit::WebColorPickerEfl::create):
(WebKit::WebColorPickerEfl::~WebColorPickerEfl):

  • UIProcess/efl/WebColorPickerResultListenerProxy.cpp: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.cpp.

(WebKit::WebColorPickerResultListenerProxy::WebColorPickerResultListenerProxy):
(WebKit::WebColorPickerResultListenerProxy::~WebColorPickerResultListenerProxy):
(WebKit::WebColorPickerResultListenerProxy::invalidate):
(WebKit::WebColorPickerResultListenerProxy::setColor):

  • UIProcess/efl/WebColorPickerResultListenerProxy.h: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.h.

(WebKit::WebColorPickerResultListenerProxy::create):

  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebViewEfl::initializeColorPickerClient):
(WebKit::WebViewEfl::createColorPicker):

  • UIProcess/efl/WebViewEfl.h:

(WebKit::WebViewEfl::colorPickerClient):

  • WebKit2.xcodeproj/project.pbxproj: Removed ColorPickerResultListener related files which are only for Efl from source list.
8:59 PM Changeset in webkit [164270] by mitz@apple.com
  • 9 edits in trunk/Tools

Stop using PLATFORM(MAC) in DumpRenderTree except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128950

Reviewed by Anders Carlsson.

Changed all PLATFORM(MAC) instances that were not excluding iOS to PLATFORM(COCOA).

  • DumpRenderTree/AccessibilityController.h:
  • DumpRenderTree/AccessibilityTextMarker.h:
  • DumpRenderTree/AccessibilityUIElement.cpp:
  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/cg/PixelDumpSupportCG.cpp:

(computeMD5HashStringForBitmapContext):

  • DumpRenderTree/cg/PixelDumpSupportCG.h:

(BitmapContext::~BitmapContext):

  • DumpRenderTree/config.h:
8:20 PM Changeset in webkit [164269] by fpizlo@apple.com
  • 12 edits
    1 delete in trunk

More ARM FTL glue
https://bugs.webkit.org/show_bug.cgi?id=128948

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: Allow for an header search directory for LLVM's generated files.
  • Configurations/LLVMForJSC.xcconfig: Link the right things for ARM.
  • assembler/ARM64Assembler.h: Builds fix.

(JSC::ARM64Assembler::fillNops):

  • disassembler/LLVMDisassembler.cpp: Use the right target triples.

(JSC::tryToDisassembleWithLLVM):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps): Build fix.

  • jit/GPRInfo.h: Builds fix.
  • llvm/library/LLVMExports.cpp: Link the right things.

(initializeAndGetJSCLLVMAPI):

Source/WTF:

  • wtf/Platform.h:

Tools:

  • Scripts/configure-llvm: Removed. This isn't really practical now that we require a separate build directory.
  • Scripts/copy-webkitlibraries-to-product-directory: Switch to using a separate build directory, and for setting a PATH before running LLVM's make.
8:10 PM Changeset in webkit [164268] by benjamin@webkit.org
  • 3 edits
    2 adds in trunk

SelectorCompiler incorrectly saves a backtracking register for a child chain without descendant relation on the right
https://bugs.webkit.org/show_bug.cgi?id=128944

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-17
Reviewed by Andreas Kling.

Source/WebCore:

When resolving the backtracking relations, the value of ancestorPositionSinceDescendantRelation was incorrect for the
rightmost child chain.
What was happenning is updateChainStates() would increment ancestorPositionSinceDescendantRelation even if there was
no descendant relation previously in the chain. As a result, the second SelectorFragment in the fragment chain would
save a backtracking register.

Previously this would just be a wasted register but since r163850, the number of registers available for compilation
is defined by SelectorCompiler::minimumRegisterRequirements(). Since we would have one less register available than computed,
we could run out of register and RegisterAllocator would invoke WTFCrash to avoid generating incorrect code.

This patch fixes the issue by not updating ancestorPositionSinceDescendantRelation until the first descendant relation
is seen. There was no need to fix the Adjacent relation because adjacentPositionSinceIndirectAdjacentTreeWalk already
had the correct guard.

Test: fast/selectors/querySelector-rightmost-child-chain-attribute-matching.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::updateChainStates):
(WebCore::SelectorCompiler::isFirstAdjacent): The name was a bad copy-paste, fix it.

LayoutTests:

  • fast/selectors/querySelector-rightmost-child-chain-attribute-matching-expected.txt: Added.
  • fast/selectors/querySelector-rightmost-child-chain-attribute-matching.html: Added.
7:50 PM Changeset in webkit [164267] by weinig@apple.com
  • 4 edits in trunk/Source/WebKit2

[iOS, WebKit2] Add settings and correct default values for settings important on iOS
https://bugs.webkit.org/show_bug.cgi?id=128947

Reviewed by Simon Fraser.

  • Shared/WebPreferencesStore.cpp:
  • Shared/WebPreferencesStore.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

6:50 PM Changeset in webkit [164266] by gyuyoung.kim@samsung.com
  • 9 edits in trunk

[CoordinatedGraphics][EFL] Remove view_source functions.
https://bugs.webkit.org/show_bug.cgi?id=128945

Reviewed by Anders Carlsson.

EFL port has been broken since r164254 because of removing view source files in WK2.
This patch is to follow to remove remained view source functions.

  • UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
  • UIProcess/API/C/CoordinatedGraphics/WKView.h:
  • UIProcess/API/efl/ewk_view.cpp:
  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:
  • UIProcess/CoordinatedGraphics/WebView.cpp:
  • UIProcess/CoordinatedGraphics/WebView.h:
6:31 PM Changeset in webkit [164265] by dino@apple.com
  • 4 edits
    9 adds in trunk

Constrain replaced element layout to from-intrinsic aspect ratio if specified
https://bugs.webkit.org/show_bug.cgi?id=128629

Reviewed by Simon Fraser.

Source/WebCore:

First pass at implementing -webkit-aspect-ratio: from-instrinsics;

After RenderReplaced has done layout, attempt to update the
resulting size to match the desired aspect ratio. This step
will only reduce the size of an element, and never below the
minimum dimensions.

Tests: fast/css/aspect-ratio/columns.html

fast/css/aspect-ratio/containers.html
fast/css/aspect-ratio/simple.html

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageDimensionsChanged): If we get an update
to our intrinsic dimensions, and layout depends on this, trigger
another layout pass.

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::layout): Implement the step described
above.

LayoutTests:

Three new tests that exercise aspect ratio on:

  • normal content
  • content that is constrained within a parent container
  • content in columns (pages)
  • fast/css/aspect-ratio/badchess-tall.png: Added.
  • fast/css/aspect-ratio/badchess-wide.png: Added.
  • fast/css/aspect-ratio/columns-expected.html: Added.
  • fast/css/aspect-ratio/columns.html: Added.
  • fast/css/aspect-ratio/containers-expected.html: Added.
  • fast/css/aspect-ratio/containers.html: Added.
  • fast/css/aspect-ratio/simple-expected.html: Added.
  • fast/css/aspect-ratio/simple.html: Added.
6:03 PM Changeset in webkit [164264] by Lucas Forschler
  • 5 edits in tags/Safari-538.16.7/Source

Versioning.

6:01 PM Changeset in webkit [164263] by Lucas Forschler
  • 1 copy in tags/Safari-538.16.7

New Tag.

5:35 PM Changeset in webkit [164262] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build.

  • WebCore.exp.in:
5:32 PM Changeset in webkit [164261] by andersca@apple.com
  • 8 edits in trunk/Source

Remove ENABLE_GLOBAL_FASTMALLOC_NEW
https://bugs.webkit.org/show_bug.cgi?id=127067

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • parser/Nodes.h:

Source/WebCore:

  • platform/Timer.h:

Source/WTF:

Remove the global operator new/operator delete overrides. Having ALWAYS_INLINE operators
like we do is really undefined behavior according to the C++ standard and we've been lucky enough
to get away with it so far, but any code that calls operator new/operator delete inside from the C++ standard
library (not from headers that are included) will be mismatched and potentially crash. libc++ calls
delete in it's std::thread implementation for example.

The only supported way to override operator new and operator delete globally is to not use inline
functions, but that would mean that any application using WebKit would not be able to provide custom
operator new/operator delete functions so we'll just reuse the already existing infrastructure consisting
of the WTF_MAKE_FAST_ALLOCATED macro.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/FastMalloc.h:
  • wtf/Platform.h:
4:56 PM Changeset in webkit [164260] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS][wk2] Custom layers are sometimes put on-screen without being parented
https://bugs.webkit.org/show_bug.cgi?id=128935
<rdar://problem/16022336>

Reviewed by Sam Weinig.

  • Platform/mac/LayerHostingContext.mm:

(WebKit::LayerHostingContext::createForExternalHostingProcess):
Give an explicit and unlikely display ID, so that the layer will never
be brought on-screen unless explicitly parented.

4:53 PM Changeset in webkit [164259] by weinig@apple.com
  • 4 edits in trunk/Source/WebCore

Move iOS only Settings into Settings.in and make them not-iOS only
https://bugs.webkit.org/show_bug.cgi?id=128942

Reviewed by Tim Horton.

  • page/Settings.cpp:
  • page/Settings.h:
  • page/Settings.in:
4:44 PM Changeset in webkit [164258] by andersca@apple.com
  • 7 edits
    2 copies
    1 add in trunk/Source/WebKit2

Add history delegate to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128930

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
  • UIProcess/API/Cocoa/WKProcessClass.mm:

(-[WKProcessClass initWithConfiguration:]):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _historyDelegate]):
(-[WKWebView _setHistoryDelegate:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/HistoryClient.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
  • UIProcess/Cocoa/HistoryClient.mm: Added.

(WebKit::HistoryClient::HistoryClient):
(WebKit::HistoryClient::~HistoryClient):
(WebKit::HistoryClient::didNavigateWithNavigationData):
(WebKit::HistoryClient::didPerformClientRedirect):
(WebKit::HistoryClient::didPerformServerRedirect):
(WebKit::HistoryClient::didUpdateHistoryTitle):
(WebKit::HistoryClient::populateVisitedLinks):
(WebKit::HistoryClient::shouldTrackVisitedLinks):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::navigationStates):
(WebKit::NavigationState::NavigationState):
(WebKit::NavigationState::~NavigationState):
(WebKit::NavigationState::fromWebPage):
(WebKit::NavigationState::historyDelegate):
(WebKit::NavigationState::setHistoryDelegate):
(WebKit::NavigationState::didNavigateWithNavigationData):
(WebKit::NavigationState::didPerformClientRedirect):
(WebKit::NavigationState::didPerformServerRedirect):
(WebKit::NavigationState::didUpdateHistoryTitle):

  • WebKit2.xcodeproj/project.pbxproj:
4:30 PM Changeset in webkit [164257] by mrobinson@webkit.org
  • 2 edits in trunk

[GTK] [CMake] JavaScriptCore crashes in JSC::eval
https://bugs.webkit.org/show_bug.cgi?id=128434

Reviewed by Anders Carlsson.

  • Source/cmake/OptionsGTK.cmake: Add -fno-omit-frame-pointer to the GTK+ CMake

port as well as -fno-tree-dce, like it is used in the autotools build.

4:16 PM Changeset in webkit [164256] by weinig@apple.com
  • 3 edits
    1 move
    1 add
    1 delete in trunk/Source/WebKit2

[WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa
https://bugs.webkit.org/show_bug.cgi?id=128939

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:

Add/remove files/groups.

  • WebProcess/WebProcess.h:

Change stopRunLoop() to be AppKit only.

  • WebProcess/cocoa: Added.
  • WebProcess/cocoa/WebProcessCocoa.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMac.mm.

(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::platformInitializeProcess):
(WebKit::WebProcess::initializeSandbox):
(WebKit::WebProcess::updateActivePages):

  • WebProcess/ios/WebProcessIOS.mm: Removed.
  • WebProcess/mac/WebProcessMac.mm: Removed.

Copy mac/WebProcessMac.mm to cocoa/WebProcessCocoa.mm, and add #if USE(APPKIT) where appropriate.

4:08 PM Changeset in webkit [164255] by andersca@apple.com
  • 22 edits in trunk/Source/WebKit2

Stop using isMainThread() in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=128940
<rdar://problem/15963666>

Reviewed by Enrica Casucci.

Since isMainThread() has a different meaning when the web thread is enabled on iOS,
just use RunLoop::isMain() to check if we're executing on the main thread.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::ensurePathExists):
(WebKit::DatabaseProcess::postDatabaseTask):
(WebKit::DatabaseProcess::performNextDatabaseTask):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::shutdown):
(WebKit::UniqueIDBDatabase::shutdownBackingStore):
(WebKit::UniqueIDBDatabase::didShutdownBackingStore):
(WebKit::UniqueIDBDatabase::deleteDatabase):
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
(WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata):
(WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata):
(WebKit::UniqueIDBDatabase::postTransactionOperation):
(WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
(WebKit::UniqueIDBDatabase::changeDatabaseVersion):
(WebKit::UniqueIDBDatabase::createObjectStore):
(WebKit::UniqueIDBDatabase::deleteObjectStore):
(WebKit::UniqueIDBDatabase::clearObjectStore):
(WebKit::UniqueIDBDatabase::createIndex):
(WebKit::UniqueIDBDatabase::deleteIndex):
(WebKit::UniqueIDBDatabase::putRecord):
(WebKit::UniqueIDBDatabase::getRecord):
(WebKit::UniqueIDBDatabase::openCursor):
(WebKit::UniqueIDBDatabase::cursorAdvance):
(WebKit::UniqueIDBDatabase::cursorIterate):
(WebKit::UniqueIDBDatabase::count):
(WebKit::UniqueIDBDatabase::deleteRange):
(WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore):
(WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::createIndexInBackingStore):
(WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
(WebKit::UniqueIDBDatabase::putRecordInBackingStore):
(WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
(WebKit::UniqueIDBDatabase::openCursorInBackingStore):
(WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
(WebKit::UniqueIDBDatabase::postMainThreadTask):
(WebKit::UniqueIDBDatabase::performNextMainThreadTask):
(WebKit::UniqueIDBDatabase::postDatabaseTask):
(WebKit::UniqueIDBDatabase::performNextDatabaseTask):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::generateDatabaseId):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::count):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::shared):

  • NetworkProcess/HostRecord.cpp:

(WebKit::HostRecord::scheduleResourceLoader):
(WebKit::HostRecord::addLoaderInProgress):
(WebKit::HostRecord::removeLoader):

  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::receivedRedirect):
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::willSendRequestAsync):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::setHostRecord):
(WebKit::NetworkResourceLoader::hostRecord):

  • NetworkProcess/mac/DiskCacheMonitor.mm:

(WebKit::DiskCacheMonitor::DiskCacheMonitor):

  • Shared/AsyncRequest.cpp:

(WebKit::generateRequestID):

  • Shared/Authentication/AuthenticationManager.cpp:

(WebKit::generateAuthenticationChallengeID):
(WebKit::AuthenticationManager::establishIdentifierForChallenge):
(WebKit::AuthenticationManager::useCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::cancelChallenge):

  • Shared/Downloads/mac/DownloadMac.mm:

(dispatchOnMainThread):

  • Shared/Plugins/NPObjectProxy.cpp:

(WebKit::NPObjectProxy::~NPObjectProxy):

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::getPluginInfoFromCarbonResources):

  • Shared/SessionTracker.cpp:

(WebKit::staticSessionMap):
(WebKit::storageSessionToID):
(WebKit::identifierBase):
(WebKit::SessionTracker::destroySession):
(WebKit::SessionTracker::setIdentifierBase):

  • UIProcess/APISession.cpp:

(API::generateID):
(API::Session::defaultSession):
(API::Session::legacyPrivateSession):

  • WebProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::dispatchCookiesDidChange):

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:

(WebKit::WebIDBFactoryBackend::open):
(WebKit::WebIDBFactoryBackend::deleteDatabase):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::generateServerConnectionIdentifier):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::storageSession):

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::dispatchWheelEvent):

3:53 PM Changeset in webkit [164254] by andersca@apple.com
  • 43 edits
    7 deletes in trunk/Source

Remove view source code
https://bugs.webkit.org/show_bug.cgi?id=127233

Reviewed by Antti Koivisto.

Source/WebCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::canExecuteScripts):

  • css/CSSDefaultStyleSheets.cpp:
  • css/CSSDefaultStyleSheets.h:
  • css/DocumentRuleSets.cpp:

(WebCore::DocumentRuleSets::appendAuthorStyleSheets):
(WebCore::DocumentRuleSets::collectFeatures):

  • css/DocumentRuleSets.h:
  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchUARules):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::appendAuthorStyleSheets):
(WebCore::StyleResolver::styleForElement):

  • css/view-source.css: Removed.
  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):

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

(WebCore::Document::Document):

  • dom/Document.h:
  • html/HTMLAttributeNames.in:
  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
(WebCore::HTMLFrameElementBase::openURL):

  • html/HTMLFrameElementBase.h:
  • html/HTMLViewSourceDocument.cpp: Removed.
  • html/HTMLViewSourceDocument.h: Removed.
  • html/parser/HTMLToken.h:
  • html/parser/HTMLViewSourceParser.cpp: Removed.
  • html/parser/HTMLViewSourceParser.h: Removed.
  • html/parser/TextViewSourceParser.cpp: Removed.
  • html/parser/TextViewSourceParser.h: Removed.
  • inspector/InspectorOverlayPage.css:

(.tag-name):
(.node-id):
(.class-name):

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::createDocument):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::receivedFirstData):

  • page/Frame.cpp:

(WebCore::Frame::Frame):

  • page/Frame.h:
  • xml/DOMParser.cpp:

(WebCore::DOMParser::parseFromString):

  • xml/XMLViewer.css:

(.tag):

  • xml/XSLTProcessor.cpp:

(WebCore::XSLTProcessor::createDocumentFromSource):

Source/WebKit/mac:

  • WebView/WebView.mm:
  • WebView/WebViewPrivate.h:

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::inViewSourceMode):
(WebFrame::setInViewSourceMode):

  • WebView.cpp:

(WebView::setInViewSourceMode):
(WebView::inViewSourceMode):

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
3:53 PM Changeset in webkit [164253] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening.

  • platform/win/TestExpectations: Remove a few duplicate test statements, as well as

some removed test cases.

3:45 PM Changeset in webkit [164252] by Simon Fraser
  • 5 edits
    2 adds in trunk

box-shadows get truncated with a combination of transforms and clip: (affects Google Maps)
https://bugs.webkit.org/show_bug.cgi?id=128937

Source/WebCore:

Reviewed by Dean Jackson.

RenderLayer::calculateLayerBounds() incorrectly assumed that if localClipRect() returns
a non-infinite rect, that rect is OK to use as the compositing bounds.

That is not a valid assumption when clip() has a larger rect than the element (e.g.
with negative top/left in the rect). In that case, localClipRect() still just
returns the background rect, but we actually need a larger compositing layer
to show the unclipped parts of descendants.

Fix by detecting clip() that exceeds the renderer bounds, and when it does,
not early returning in the UseLocalClipRectIfPossible clause.

Test: compositing/geometry/css-clip-oversize.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::localClipRect): Do a convertToLayerCoords()
because we need offsetFromRoot later, and we can pass our value down to
calculateRects(). Compute clipExceedsBounds based on the CSS clip rect.
(WebCore::RenderLayer::calculateClipRects): Don't early return if clipExceedsBounds
is true.

  • rendering/RenderLayer.h:

LayoutTests:

Reviewed by Dean Jackson.

Test with CSS clip() with a rect larger than the border box, and compositing.

  • compositing/geometry/clip-expected.txt: New expectation. This is a progression.
  • compositing/geometry/css-clip-oversize-expected.html: Added.
  • compositing/geometry/css-clip-oversize.html: Added.
3:29 PM Changeset in webkit [164251] by Antti Koivisto
  • 16 edits in trunk/Source/WebCore

Make TreeScope::rootNode return a reference
https://bugs.webkit.org/show_bug.cgi?id=128934

Reviewed by Andreas Kling.

It is never null.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRules):

  • dom/ContainerNode.h:

(WebCore::Node::isTreeScope):

  • dom/Document.cpp:

(WebCore::Document::buildAccessKeyMap):

  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::add):
(WebCore::DocumentOrderedMap::get):
(WebCore::DocumentOrderedMap::getAllElementsById):

  • dom/EventDispatcher.cpp:

(WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost):
(WebCore::eventTargetRespectingTargetRules):
(WebCore::shouldEventCrossShadowBoundary):

  • dom/Node.cpp:

(WebCore::Node::containingShadowRoot):
(WebCore::Node::removedFrom):

  • dom/ShadowRoot.h:

(WebCore::isShadowRoot):

  • dom/TreeScope.h:

(WebCore::TreeScope::rootNode):

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::DOMSelection):

  • page/DragController.cpp:

(WebCore::asFileInput):

  • page/FocusController.cpp:

(WebCore::FocusNavigationScope::rootNode):

2:44 PM Changeset in webkit [164250] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] There's another Windows SDK. Make sure we recognize it.
https://bugs.webkit.org/show_bug.cgi?id=128932

Reviewed by Tim Horton.

  • Scripts/webkitpy/port/win.py:

(WinPort._ntsd_location):

2:26 PM Changeset in webkit [164249] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: Invalid cast in WebCore::AccessibilityTable::isDataTable (CRBug 280352)
<https://webkit.org/b/128925>
<rdar://problem/16087351>

Merged from Blink (patch by Dominic Mazzoni):
https://src.chromium.org/viewvc/blink?revision=159711&view=revision

Reviewed by Oliver Hunt.

Source/WebCore:

Don't cast to a table cell element unless we are sure it is one.

Test: accessibility/display-table-cell-causes-crash.html

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::isDataTable):

LayoutTests:

  • accessibility/display-table-cell-causes-crash-expected.txt: Added.
  • accessibility/display-table-cell-causes-crash.html: Added.
2:12 PM Changeset in webkit [164248] by Antti Koivisto
  • 19 edits in trunk/Source/WebCore

Node constructor should take Document reference
https://bugs.webkit.org/show_bug.cgi?id=128931

Reviewed by Geoff Garen.

  • dom/Attr.cpp:

(WebCore::Attr::Attr):

  • dom/CharacterData.h:

(WebCore::CharacterData::CharacterData):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::~ContainerNode):

  • dom/ContainerNode.h:

(WebCore::ContainerNode::ContainerNode):

  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:

(WebCore::Node::Node):

  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::DocumentFragment):
(WebCore::DocumentFragment::create):

  • dom/DocumentFragment.h:
  • dom/DocumentType.cpp:

(WebCore::DocumentType::DocumentType):

  • dom/Element.h:

(WebCore::Element::Element):

  • dom/Entity.h:

(WebCore::Entity::Entity):

  • dom/EntityReference.cpp:

(WebCore::EntityReference::EntityReference):

  • dom/Node.cpp:

(WebCore::Node::~Node):
(WebCore::Node::willBeDeletedFrom):

  • dom/Node.h:
  • dom/Notation.cpp:
  • dom/Notation.h:

(WebCore::Notation::publicId):
(WebCore::Notation::systemId):
(WebCore::Notation::Notation):

Remove cruft from this non-instantiated class.

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):

  • dom/TemplateContentDocumentFragment.h:
1:40 PM Changeset in webkit [164247] by rniwa@webkit.org
  • 2 edits in trunk/Tools

webkitpy test fix on Mac after r164244.

It's somewhat crazy that we're trying to run unittests for Windows on Mac but whatever.

  • Scripts/webkitpy/port/win.py:

(WinPort._ntsd_location):

12:58 PM Changeset in webkit [164246] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Fix layout test added in r164232 to avoid bug 128929
and use rects which don't have minor rendering differences when
drawn into compositing layers.

  • compositing/contents-opaque/opaque-with-clip-path-expected.html:
  • compositing/contents-opaque/opaque-with-clip-path.html:
12:35 PM Changeset in webkit [164245] by Sergio Correia
  • 64 edits in trunk/Source

Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in WebCore/inspector
https://bugs.webkit.org/show_bug.cgi?id=128681

Reviewed by Timothy Hatcher.

Another step towards getting rid of PassOwnPtr/OwnPtr, now targeting
WebCore/inspector/*. Besides files in there, a few other files in
JavaScriptCore/inspector, WebKit/, WebKit2/WebProcess/WebCoreSupport/
and WebCore/testing were touched.

Source/JavaScriptCore:

  • inspector/ContentSearchUtilities.cpp:
  • inspector/ContentSearchUtilities.h:
  • inspector/agents/InspectorConsoleAgent.cpp:
  • inspector/agents/InspectorConsoleAgent.h:

Source/WebCore:

No new tests; no new behavior.

  • WebCore.exp.in:
  • inspector/CommandLineAPIHost.cpp:
  • inspector/CommandLineAPIHost.h:
  • inspector/DOMEditor.cpp:
  • inspector/DOMPatchSupport.cpp:
  • inspector/DOMPatchSupport.h:
  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:
  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorCanvasAgent.h:
  • inspector/InspectorDOMAgent.cpp:
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorFrontendClientLocal.cpp:
  • inspector/InspectorFrontendClientLocal.h:
  • inspector/InspectorHeapProfilerAgent.h:
  • inspector/InspectorHistory.cpp:
  • inspector/InspectorHistory.h:
  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInputAgent.h:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorMemoryAgent.cpp:
  • inspector/InspectorMemoryAgent.h:
  • inspector/InspectorOverlay.cpp:
  • inspector/InspectorOverlay.h:
  • inspector/InspectorProfilerAgent.cpp:
  • inspector/InspectorProfilerAgent.h:
  • inspector/InspectorResourceAgent.cpp:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:
  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:
  • inspector/PageConsoleAgent.cpp:
  • inspector/PageRuntimeAgent.h:
  • inspector/WebConsoleAgent.cpp:
  • inspector/WorkerRuntimeAgent.h:
  • testing/Internals.cpp:

Source/WebKit:

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

Source/WebKit/cf:

  • WebCoreSupport/WebInspectorClientCF.cpp:

Source/WebKit/efl:

  • WebCoreSupport/InspectorClientEfl.cpp:

Source/WebKit/gtk:

  • WebCoreSupport/InspectorClientGtk.cpp:

Source/WebKit/ios:

  • WebCoreSupport/WebInspectorClientIOS.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.cpp:
  • WebCoreSupport/WebInspectorClient.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
12:25 PM Changeset in webkit [164244] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Fall back to Windows symbol servers when necessary
https://bugs.webkit.org/show_bug.cgi?id=128926

Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/port/win.py:

(WinPort):
(setup_crash_log_saving): Fall back to Microsoft Symbol Server when local symbols are
not specified.

12:23 PM Changeset in webkit [164243] by fpizlo@apple.com
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

FTL should support ToPrimitive and the DFG should fold it correctly
https://bugs.webkit.org/show_bug.cgi?id=128892

Reviewed by Geoffrey Garen.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToPrimitive):

  • tests/stress/fold-to-primitive-in-cfa.js: Added.

(foo):
(.result.foo):

  • tests/stress/fold-to-primitive-to-identity-in-cfa.js: Added.

(foo):
(.result.foo):

12:19 PM Changeset in webkit [164242] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Rename Document::m_selfOnlyRefCount to m_referencingNodeCount
https://bugs.webkit.org/show_bug.cgi?id=128916

Reviewed by Andreas Kling.

Make the name more informative. Also make it zero based (document is not considered to reference itself).

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::removedLastRef):

  • dom/Document.h:

(WebCore::Document::increaseReferencingNodeCount):
(WebCore::Document::decreaseReferencingNodeCount):
(WebCore::Node::Node):

  • dom/Node.cpp:

(WebCore::Node::~Node):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

12:07 PM Changeset in webkit [164241] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Register preservation wrapper should know about the possibility of callee-saved FPRs
https://bugs.webkit.org/show_bug.cgi?id=128923

Reviewed by Mark Hahnenberg.

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterPreservationWrapper):
(JSC::generateRegisterRestoration):

  • jit/RegisterSet.cpp:
12:06 PM Changeset in webkit [164240] by Michał Pakuła vel Rutka
  • 2 edits in trunk/Source/WebKit2

Unreviewed EFL build fix attempt

  • CMakeLists.txt: Remove WebHistoryClient.cpp after r164230.
11:48 AM Changeset in webkit [164239] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

[GTK] Build failure caused by missing jsmin module
https://bugs.webkit.org/show_bug.cgi?id=128742

Reviewed by Philippe Normand.

No new tests since no functionality changed.

  • GNUmakefile.am: Relocate PYTHONPATH to make it meaningful.
11:46 AM HackingWebInspector edited by timothy@apple.com
(diff)
11:45 AM Changeset in webkit [164238] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

lr is a special register on ARM64
https://bugs.webkit.org/show_bug.cgi?id=128922

Reviewed by Mark Hahnenberg.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::specialRegisters):

11:44 AM HackingWebInspector edited by timothy@apple.com
(diff)
11:39 AM Changeset in webkit [164237] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix RegisterSet::calleeSaveRegisters() by making it correct on ARM64
https://bugs.webkit.org/show_bug.cgi?id=128921

Reviewed by Mark Hahnenberg.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::calleeSaveRegisters):

11:39 AM HackingWebInspector edited by timothy@apple.com
(diff)
11:36 AM Changeset in webkit [164236] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: CSS selectors containing a color name shouldn't be considered for color editing
https://bugs.webkit.org/show_bug.cgi?id=128909

Reviewed by Joseph Pecoraro.

Disregard any text that might be contained within a CSS selector.

  • UserInterface/CodeMirrorAdditions.js:
11:26 AM Changeset in webkit [164235] by andersca@apple.com
  • 4 edits in trunk/Source

WebKitGTK+ should stop calling functions to set the view source mode
https://bugs.webkit.org/show_bug.cgi?id=128919

Reviewed by Carlos Garcia Campos.

This is a first step towards getting rid of the view source mode from WebCore.
View source shouldn't be a mode on the web page and can be implemented in other ways by
embedding apps. Furthermore, the inspector has an excellent view source mode.

Source/WebKit/gtk:

  • webkit/webkitwebview.cpp:

(webkit_web_view_set_view_source_mode):
(webkit_web_view_get_view_source_mode):
Turn these into no-ops.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_set_view_mode):
(webkit_web_view_get_view_mode):
Turn these into no-ops.

11:22 AM Changeset in webkit [164234] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] Make regions unsplittable
https://bugs.webkit.org/show_bug.cgi?id=128811

Reviewed by David Hyatt.

Source/WebCore:

At the moment, nested regions are not properly fragmented across regions. For the moment,
the regions will become unsplittable elements to avoid slicing. At a later time a proper
fragmentation algorithm should be written, also taking into consideration pagination strut.

Test: fast/regions/unsplittable-nested-region.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::isUnsplittableForPagination):

LayoutTests:

Added test for checking that nested regions are unsplittable.

  • fast/regions/unsplittable-nested-region-expected.html: Added.
  • fast/regions/unsplittable-nested-region.html: Added.
11:15 AM Changeset in webkit [164233] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

RegisterSet::calleeSaveRegisters() should know about ARM64
https://bugs.webkit.org/show_bug.cgi?id=128918

Reviewed by Mark Hahnenberg.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::calleeSaveRegisters):

11:13 AM Changeset in webkit [164232] by Simon Fraser
  • 3 edits
    2 adds in trunk

Graphics buffer issue with clip-path and fixed positioned element
https://bugs.webkit.org/show_bug.cgi?id=126262

Source/WebCore:

Reviewed by Tim Horton.

If an element has a clip-path, backgroundIsKnownToBeOpaqueInRect() needs
to return false so that we don't try to make opaque compositing layers.

Test: compositing/contents-opaque/opaque-with-clip-path.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

Reviewed by Tim Horton.

  • compositing/contents-opaque/opaque-with-clip-path-expected.html: Added.
  • compositing/contents-opaque/opaque-with-clip-path.html: Added.
11:10 AM Changeset in webkit [164231] by stavila@adobe.com
  • 5 edits
    10 adds in trunk

[CSS Regions] The box decorations of an element overflowing a region should be clipped at the border box, not the content box
https://bugs.webkit.org/show_bug.cgi?id=128815

Reviewed by Andrei Bucur.

Source/WebCore:

Elements flowed into a region should not be painted past the region's content box
if they continue to flow into another region in that direction.
If they do not continue into another region in that direction, they should be
painted all the way to the region's border box.
Regions with overflow:hidden will apply clip at the border box, not the content box.

Tests: fast/regions/box-decorations-over-region-padding-fragmented.html

fast/regions/box-decorations-over-region-padding-horiz-bt.html
fast/regions/box-decorations-over-region-padding-vert-lr.html
fast/regions/box-decorations-over-region-padding-vert-rl.html
fast/regions/box-decorations-over-region-padding.html

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::flowThreadPortionRectForClipping):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::rectFlowPortionForBox):

LayoutTests:

Added tests for the painting of the borders of elements flowed into regions
over the region's padding area, for regions with overflow:hidden.
Tests were added for all writing modes.

  • fast/regions/box-decorations-over-region-padding-expected.html: Added.
  • fast/regions/box-decorations-over-region-padding-fragmented-expected.html: Added.
  • fast/regions/box-decorations-over-region-padding-fragmented.html: Added.
  • fast/regions/box-decorations-over-region-padding-horiz-bt-expected.html: Added.
  • fast/regions/box-decorations-over-region-padding-horiz-bt.html: Added.
  • fast/regions/box-decorations-over-region-padding-vert-lr-expected.html: Added.
  • fast/regions/box-decorations-over-region-padding-vert-lr.html: Added.
  • fast/regions/box-decorations-over-region-padding-vert-rl-expected.html: Added.
  • fast/regions/box-decorations-over-region-padding-vert-rl.html: Added.
  • fast/regions/box-decorations-over-region-padding.html: Added.
11:08 AM Changeset in webkit [164230] by andersca@apple.com
  • 7 edits
    1 move
    1 delete in trunk/Source/WebKit2

Turn the history client into a fancy API::HistoryClient abstract base class
https://bugs.webkit.org/show_bug.cgi?id=128917

Reviewed by Andreas Kling.

  • UIProcess/API/APIHistoryClient.h: Renamed from Source/WebKit2/UIProcess/WebHistoryClient.h.

(API::HistoryClient::~HistoryClient):
(API::HistoryClient::didNavigateWithNavigationData):
(API::HistoryClient::didPerformClientRedirect):
(API::HistoryClient::didPerformServerRedirect):
(API::HistoryClient::didUpdateHistoryTitle):
(API::HistoryClient::populateVisitedLinks):
(API::HistoryClient::shouldTrackVisitedLinks):

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetHistoryClient):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::setHistoryClient):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::populateVisitedLinks):

  • UIProcess/WebContext.h:

(WebKit::WebContext::historyClient):

  • UIProcess/WebHistoryClient.cpp: Removed.
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
11:00 AM Changeset in webkit [164229] by Csaba Osztrogonác
  • 109 edits in trunk/Source/JavaScriptCore

Move back primary header includes next to config.h
https://bugs.webkit.org/show_bug.cgi?id=128912

Reviewed by Alexey Proskuryakov.

  • dfg/DFGAbstractHeap.cpp:
  • dfg/DFGAbstractValue.cpp:
  • dfg/DFGArgumentsSimplificationPhase.cpp:
  • dfg/DFGArithMode.cpp:
  • dfg/DFGArrayMode.cpp:
  • dfg/DFGAtTailAbstractState.cpp:
  • dfg/DFGAvailability.cpp:
  • dfg/DFGBackwardsPropagationPhase.cpp:
  • dfg/DFGBasicBlock.cpp:
  • dfg/DFGBinarySwitch.cpp:
  • dfg/DFGBlockInsertionSet.cpp:
  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGCFAPhase.cpp:
  • dfg/DFGCFGSimplificationPhase.cpp:
  • dfg/DFGCPSRethreadingPhase.cpp:
  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGCapabilities.cpp:
  • dfg/DFGClobberSet.cpp:
  • dfg/DFGClobberize.cpp:
  • dfg/DFGCommon.cpp:
  • dfg/DFGCommonData.cpp:
  • dfg/DFGCompilationKey.cpp:
  • dfg/DFGCompilationMode.cpp:
  • dfg/DFGConstantFoldingPhase.cpp:
  • dfg/DFGCriticalEdgeBreakingPhase.cpp:
  • dfg/DFGDCEPhase.cpp:
  • dfg/DFGDesiredIdentifiers.cpp:
  • dfg/DFGDesiredStructureChains.cpp:
  • dfg/DFGDesiredTransitions.cpp:
  • dfg/DFGDesiredWatchpoints.cpp:
  • dfg/DFGDesiredWeakReferences.cpp:
  • dfg/DFGDesiredWriteBarriers.cpp:
  • dfg/DFGDisassembler.cpp:
  • dfg/DFGDominators.cpp:
  • dfg/DFGEdge.cpp:
  • dfg/DFGFailedFinalizer.cpp:
  • dfg/DFGFinalizer.cpp:
  • dfg/DFGFixupPhase.cpp:
  • dfg/DFGFlushFormat.cpp:
  • dfg/DFGFlushLivenessAnalysisPhase.cpp:
  • dfg/DFGFlushedAt.cpp:
  • dfg/DFGGraph.cpp:
  • dfg/DFGGraphSafepoint.cpp:
  • dfg/DFGInPlaceAbstractState.cpp:
  • dfg/DFGIntegerCheckCombiningPhase.cpp:
  • dfg/DFGInvalidationPointInjectionPhase.cpp:
  • dfg/DFGJITCode.cpp:
  • dfg/DFGJITCompiler.cpp:
  • dfg/DFGJITFinalizer.cpp:
  • dfg/DFGJumpReplacement.cpp:
  • dfg/DFGLICMPhase.cpp:
  • dfg/DFGLazyJSValue.cpp:
  • dfg/DFGLivenessAnalysisPhase.cpp:
  • dfg/DFGLongLivedState.cpp:
  • dfg/DFGLoopPreHeaderCreationPhase.cpp:
  • dfg/DFGMinifiedNode.cpp:
  • dfg/DFGNaturalLoops.cpp:
  • dfg/DFGNode.cpp:
  • dfg/DFGNodeFlags.cpp:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
  • dfg/DFGOSREntry.cpp:
  • dfg/DFGOSREntrypointCreationPhase.cpp:
  • dfg/DFGOSRExit.cpp:
  • dfg/DFGOSRExitBase.cpp:
  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler32_64.cpp:
  • dfg/DFGOSRExitCompiler64.cpp:
  • dfg/DFGOSRExitCompilerCommon.cpp:
  • dfg/DFGOSRExitJumpPlaceholder.cpp:
  • dfg/DFGOSRExitPreparation.cpp:
  • dfg/DFGPhase.cpp:
  • dfg/DFGPlan.cpp:
  • dfg/DFGPredictionInjectionPhase.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGResurrectionForValidationPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:
  • dfg/DFGSSALoweringPhase.cpp:
  • dfg/DFGSafepoint.cpp:
  • dfg/DFGSpeculativeJIT.cpp:
  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
  • dfg/DFGStackLayoutPhase.cpp:
  • dfg/DFGStoreBarrierElisionPhase.cpp:
  • dfg/DFGStrengthReductionPhase.cpp:
  • dfg/DFGThreadData.cpp:
  • dfg/DFGThunks.cpp:
  • dfg/DFGTierUpCheckInjectionPhase.cpp:
  • dfg/DFGToFTLDeferredCompilationCallback.cpp:
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
  • dfg/DFGTypeCheckHoistingPhase.cpp:
  • dfg/DFGUnificationPhase.cpp:
  • dfg/DFGUseKind.cpp:
  • dfg/DFGValidate.cpp:
  • dfg/DFGValueSource.cpp:
  • dfg/DFGVariableAccessDataDump.cpp:
  • dfg/DFGVariableEvent.cpp:
  • dfg/DFGVariableEventStream.cpp:
  • dfg/DFGVirtualRegisterAllocationPhase.cpp:
  • dfg/DFGWatchpointCollectionPhase.cpp:
  • dfg/DFGWorklist.cpp:
  • heap/JITStubRoutineSet.cpp:
  • jit/GCAwareJITStubRoutine.cpp:
  • jit/JIT.cpp:
  • jit/JITDisassembler.cpp:
  • jit/JITOperations.cpp:
  • jit/JITStubRoutine.cpp:
  • jit/JITStubs.cpp:
  • jit/TempRegisterSet.cpp:
10:59 AM Changeset in webkit [164228] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

FTL OSR exit shouldn't make X86-specific assumptions
https://bugs.webkit.org/show_bug.cgi?id=128890

Reviewed by Mark Hahnenberg.

Mostly this is about not using push/pop, but instead using the more abstract pushToSave() and popToRestore() while reflecting on the stack alignment.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::pushToSaveImmediateWithoutTouchingRegisters):
(JSC::MacroAssembler::pushToSaveByteOffset):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::pushToSaveImmediateWithoutTouchingRegisters):
(JSC::MacroAssemblerARM64::pushToSaveByteOffset):

  • ftl/FTLExitThunkGenerator.cpp:

(JSC::FTL::ExitThunkGenerator::emitThunk):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLThunks.cpp:

(JSC::FTL::osrExitGenerationThunkGenerator):

10:48 AM Changeset in webkit [164227] by b.long@cablelabs.com
  • 7 edits in trunk

DataCue.data should be a copy of the input ArrayBuffer, not a pointer
https://bugs.webkit.org/show_bug.cgi?id=128886

Reviewed by Eric Carlson.

Source/WebCore:

No new tests, just updated existing track-datacue.html test.

  • html/track/DataCue.cpp:

(WebCore::DataCue::DataCue): Add ExceptionCode and pass through to setData().
(WebCore::DataCue::data): Return a copy of m_data instead of a pointer.
(WebCore::DataCue::setData): Create a copy of the input data, or throw an exception if it's null.

  • html/track/DataCue.h: Add ExceptionCode parameters to constructor and data setter.
  • html/track/DataCue.idl: Same.

LayoutTests:

  • media/track/track-datacue-expected.txt:
  • media/track/track-datacue.html:
10:47 AM Changeset in webkit [164226] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, make this test pass without DFG. It was assuming that you always have DFG
and that it would always tier-up to the DFG - both wrong assumptions.

  • tests/stress/tricky-array-bounds-checks.js:

(foo):

10:26 AM Changeset in webkit [164225] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Try to fix iOS Debug builds without breaking Release builds.

  • WebProcess/WebPage/PageBanner.cpp:
  • WebProcess/WebPage/PageBanner.h:
9:18 AM Changeset in webkit [164224] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

CounterContentData::counter() and ImageContentData::image() should return references
<http://webkit.org/b/128671>

Reviewed by Darin Adler.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::contentToCSSValue):

  • Update to use references. Remove useless ASSERTs.
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImages):

  • Update to use references. StyleResolver::loadPendingImage() will be changed to take a reference in the near future.
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::createFor):

  • Update to use references. The auto keyword wanted to instantiate a StyleImage instead a reference, so it was replaced.
  • rendering/style/ContentData.h:

(WebCore::ImageContentData::ImageContentData): Add ASSERT that
m_image is not NULL.
(WebCore::ImageContentData::image): Return a reference. Remove
useless overload with identical name.
(WebCore::ImageContentData::cloneInternal): Simplify by using
implicit PassRefPtr constructor.
(WebCore::operator==): Remove unneeded deref operators.
(WebCore::CounterContentData::counter): Return a reference.
(WebCore::CounterContentData::cloneInternal): Remove unneeded
deref operator.
(WebCore::operator==): Remove unneeded deref operators.

9:17 AM Changeset in webkit [164223] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[MediaControls][iOS] Make mediacontrols match the system inline controls
https://bugs.webkit.org/show_bug.cgi?id=128833

Reviewed by Eric Carlson.

Move items slightly, fix button sizes, font sizes, and colors to match the
inline controls from MoviePlayer.framework.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-panel):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-play-button.paused):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-time-remaining-display):

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.configureInlineControls): Do not add the status text.
(ControllerIOS.prototype.updateTime): Call updateProgress().
(ControllerIOS.prototype.progressFillStyle): Draw a slightly different color.
(ControllerIOS.prototype.updateProgress): Draw white to the left of the currentTime.
(ControllerIOS.prototype.formatTime): Single leading zero in the time display fields.
(ControllerIOS.prototype.handleTimelineChange): Call updateProgress().

8:18 AM Changeset in webkit [164222] by ChangSeok Oh
  • 2 edits in trunk

[GTK] MEDIA_CONTROLS_SCRIPT depends on VIDEO_TRACK
https://bugs.webkit.org/show_bug.cgi?id=128799

Reviewed by Philippe Normand.

MEDIA_CONTROLS_SCRIPT has a dependency on VIDEO_TRACK. So it causes a build break
if building with autotools. cmake system has enabled it as default. So I propose
enabling VIDEO_TRACK as well.

  • Source/autotools/SetupWebKitFeatures.m4:
7:29 AM Changeset in webkit [164221] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix typos in Tools/efl/jhbuild.modules.
https://bugs.webkit.org/show_bug.cgi?id=128908

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-02-17
Reviewed by Csaba Osztrogonác.

  • efl/jhbuild.modules: 's/<deb /<dep /g'
7:17 AM Changeset in webkit [164220] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Enable DFG_JIT on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128898

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-17
Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h:
6:56 AM Changeset in webkit [164219] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for crashing and failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
6:12 AM Changeset in webkit [164218] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r162724 - [GTK] youtube HTML5 videos in fullscreen, after <Esc>, can't go fullscreen again
https://bugs.webkit.org/show_bug.cgi?id=127064

When pressing <Esc> or <f> at full screen, the WebView shall emit the
event webkitfullscreenchange, but wk2gtk does not emit it. This is
because the WebView manages directly the exit of the full screen.

With this patch the WebView calls requestExitFullScreen to the full
screen manager, instead of managing directly the exit of the full
screen, and the event webkitfullscreenchange will be dispatched
correctly.

Reviewed by Martin Robinson.

No tests are included because there is a bug in WKTR that prevents the
execution of a test for this patch. See
https://bugs.webkit.org/show_bug.cgi?id=127348

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseKeyPressEvent): Call
webkitWebViewBaseRequestExitFullScreen.
(webkitWebViewBaseRequestExitFullScreen): Added.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Ditto.
6:09 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
5:23 AM Changeset in webkit [164217] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix the CLoop build after r163760
https://bugs.webkit.org/show_bug.cgi?id=128900

Patch by Dániel Bátyai <Dániel Bátyai> on 2014-02-17
Reviewed by Csaba Osztrogonác.

  • llint/LLIntThunks.cpp:
5:14 AM Changeset in webkit [164216] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

CLoop buildfix after r164207
https://bugs.webkit.org/show_bug.cgi?id=128899

Patch by Dániel Bátyai <Dániel Bátyai> on 2014-02-17
Reviewed by Csaba Osztrogonác.

  • dfg/DFGCommon.h:

(JSC::DFG::shouldShowDisassembly):

3:24 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
3:11 AM WebKitGTK/2.4.x edited by zandobersek@gmail.com
Add bug #126927 as a future merge candidate. (diff)
3:09 AM Changeset in webkit [164215] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.3.90

Tagging the WebKitGTK+ 2.3.90 release

2:57 AM Changeset in webkit [164214] by Manuel Rego Casasnovas
  • 3 edits
    2 adds in trunk

[CSS Grid Layout] Fix missing layout in flexible and content sized columns
https://bugs.webkit.org/show_bug.cgi?id=128672

Reviewed by Sergio Villar Senin.

Source/WebCore:

RenderGrid::logicalContentHeightForChild() is called for some items at the beginning of RenderGrid::layoutGridItems()
from RenderGrid::computeUsedBreadthOfGridTracks(). This causes that the comparison inside the for loop in
RenderGrid::layoutGridItems() does not detect width changes, so elements won't be marked as needsLayout.

So the comparison is done in RenderGrid::logicalContentHeightForChild() and the element is marked to perform a layout if
the width has changed.

The issue can be reproduced easily with a simple grid with one flexible or content sized column, all the available width
is not used. On top of that, when you resize the window the flexible or content sized columns are not updating their
size properly.

CSS Grid Layout perftest results are around 4% worse, which is expected as we're adding a missing layout.

Test: fast/css-grid-layout/flex-content-sized-column-use-available-width.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::logicalContentHeightForChild): Check width changes and mark element as needed layout if required.

LayoutTests:

Add test that reproduce the issue for both cases flexible and content sized columns.

  • fast/css-grid-layout/flex-content-sized-column-use-available-width-expected.html: Added.
  • fast/css-grid-layout/flex-content-sized-column-use-available-width.html: Added.
2:54 AM Changeset in webkit [164213] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

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

.:

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

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.3.90.
2:51 AM Changeset in webkit [164212] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4/Source

Unreviewed. Fix make distcheck.

Source/WebCore:

  • GNUmakefile.list.am: Add missing header files.

Source/WebKit2:

  • GNUmakefile.list.am: Add missing header files.
12:47 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
(diff)
12:32 AM Changeset in webkit [164211] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4

Merge r163954 - 'ar T' is not portable and breaks the build on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128596

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-12
Reviewed by Gustavo Noronha Silva.

Create thin archives only if we are using GNU ar.

  • Source/autotools/SetupLibtool.m4:
12:27 AM Changeset in webkit [164210] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r163875 - O_CLOEXEC in shm_open does not work on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128572

Reviewed by Darin Adler.

The O_CLOEXEC is not supported by shm_open() and is also not
necessary since FD_CLOEXEC is already set by default when the new
file descriptor is created.

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::create):

12:25 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:21 AM Changeset in webkit [164209] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r163871 - [GStreamer] High playback rate causes crash
https://bugs.webkit.org/show_bug.cgi?id=128453

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-11
Reviewed by Philippe Normand.

Source/WebCore:

To high playback rate passed to GStreamer was causing crash.
Added guard in setRate method.

Test: media/video-extreme-playbackrate-crash.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setRate):

LayoutTests:

Test checks if passing high playback rate causes crash.

  • media/video-extreme-playbackrate-crash-expected.txt: Added.
  • media/video-extreme-playbackrate-crash.html: Added.
12:20 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:15 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
Note: See TracTimeline for information about the timeline view.