Timeline



May 16, 2014:

11:23 PM Changeset in webkit [168992] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/efl

[EFL] Build break after 168978.
https://bugs.webkit.org/show_bug.cgi?id=133012.

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-16
Reviewed by Simon Fraser.

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):

10:41 PM Changeset in webkit [168991] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[Mac][MSE] setCurrentTime() goes down fastSeek path in MediaPlayerPrivateMediaSourceAVFObjC.
https://bugs.webkit.org/show_bug.cgi?id=133023

Reviewed by Eric Carlson.

When seeking a MSE video, do not go down the fastSeekForMediaTime() path if the
seek resulted from a setCurrentTime() call. The logic can lead to attempted seeks
before buffered ranges.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):

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

(WebCore::MediaSourcePrivateAVFObjC::seekToTime):

7:11 PM Changeset in webkit [168990] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning

6:42 PM Changeset in webkit [168989] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.41

Create Safari-538.34.41 tag.

6:30 PM Changeset in webkit [168988] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Build break after 168978.
https://bugs.webkit.org/show_bug.cgi?id=133012.

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-16
Reviewed by Simon Fraser.

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webKitSettingsConstructed):

6:18 PM Changeset in webkit [168987] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Fix a straggler.

Remove call to internals.settings.setRegionBasedColumnsEnabled(true).

  • fast/repaint/spanner-with-margin.html:
5:29 PM Changeset in webkit [168986] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Put back a symbol removed in r168978 that Safari needs, but deprecate it.

Reviewed by Anders Carlsson.

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKPreferencesSetRegionBasedColumnsEnabled):
(WKPreferencesGetRegionBasedColumnsEnabled):

5:06 PM Changeset in webkit [168985] by Simon Fraser
  • 269 edits in trunk/LayoutTests

Remove calls to internals.settings.setRegionBasedColumnsEnabled(true);
in tests.

Some of these tests may now be no-ops, but I haven't found a convenient
way to know which ones.

  • fast/multicol/break-in-columns-before-spanner-expected.html:
  • fast/multicol/break-in-columns-before-spanner.html:
  • fast/multicol/break-in-scrollable-expected.html:
  • fast/multicol/break-in-scrollable.html:
  • fast/multicol/client-rects-spanners-complex.html:
  • fast/multicol/client-rects-spanners.html:
  • fast/multicol/inline-children-crash.html:
  • fast/multicol/mixed-opacity-fixed-test.html:
  • fast/multicol/mixed-opacity-test.html:
  • fast/multicol/mixed-positioning-stacking-order.html:
  • fast/multicol/multicol-li-crash.html:
  • fast/multicol/newmulticol/adjacent-spanners.html:
  • fast/multicol/newmulticol/avoid-column-break-inside.html:
  • fast/multicol/newmulticol/balance-images.html:
  • fast/multicol/newmulticol/balance-maxheight1.html:
  • fast/multicol/newmulticol/balance-maxheight2.html:
  • fast/multicol/newmulticol/balance1.html:
  • fast/multicol/newmulticol/balance10.html:
  • fast/multicol/newmulticol/balance2.html:
  • fast/multicol/newmulticol/balance3.html:
  • fast/multicol/newmulticol/balance4.html:
  • fast/multicol/newmulticol/balance5.html:
  • fast/multicol/newmulticol/balance6.html:
  • fast/multicol/newmulticol/balance7.html:
  • fast/multicol/newmulticol/balance8.html:
  • fast/multicol/newmulticol/balance9.html:
  • fast/multicol/newmulticol/block-becomes-spanner-expected.html:
  • fast/multicol/newmulticol/block-becomes-spanner.html:
  • fast/multicol/newmulticol/break-after-expected.html:
  • fast/multicol/newmulticol/break-after.html:
  • fast/multicol/newmulticol/break-before.html:
  • fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html:
  • fast/multicol/newmulticol/breaks-2-columns-3.html:
  • fast/multicol/newmulticol/breaks-3-columns-3.html:
  • fast/multicol/newmulticol/cell-shrinkback.html:
  • fast/multicol/newmulticol/change-spanner-display-expected.html:
  • fast/multicol/newmulticol/change-spanner-display.html:
  • fast/multicol/newmulticol/change-spanner-parent-display-expected.html:
  • fast/multicol/newmulticol/change-spanner-parent-display.html:
  • fast/multicol/newmulticol/client-rects.html:
  • fast/multicol/newmulticol/clipping-expected.html:
  • fast/multicol/newmulticol/clipping-overflow-hidden-expected.html:
  • fast/multicol/newmulticol/clipping-overflow-hidden.html:
  • fast/multicol/newmulticol/clipping-top-overflow-expected.html:
  • fast/multicol/newmulticol/clipping-top-overflow.html:
  • fast/multicol/newmulticol/clipping.html:
  • fast/multicol/newmulticol/column-rules-fixed-height.html:
  • fast/multicol/newmulticol/columns-shorthand-parsing.html:
  • fast/multicol/newmulticol/compare-with-old-impl/BottomToTop-tb.html:
  • fast/multicol/newmulticol/compare-with-old-impl/LeftToRight-tb.html:
  • fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/before-child-anonymous-column-block.html:
  • fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox.html:
  • fast/multicol/newmulticol/compare-with-old-impl/clone-summary.html:
  • fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking.html:
  • fast/multicol/newmulticol/compare-with-old-impl/column-span-inside-multicol-webkit-box.html:
  • fast/multicol/newmulticol/compare-with-old-impl/continuation-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html:
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html:
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html:
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html:
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html:
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html:
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html:
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html:
  • fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input-expected.html:
  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input.html:
  • fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html:
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/runin-continuation-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination.html:
  • fast/multicol/newmulticol/compare-with-old-impl/span-as-nested-inline-block-child.html:
  • fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash.html:
  • fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash.html:
  • fast/multicol/newmulticol/direct-child-column-span-all.html:
  • fast/multicol/newmulticol/fixed-height-fill-auto-expected.html:
  • fast/multicol/newmulticol/fixed-height-fill-auto.html:
  • fast/multicol/newmulticol/fixed-height-fill-balance-2.html:
  • fast/multicol/newmulticol/fixed-height-fill-balance-expected.html:
  • fast/multicol/newmulticol/fixed-height-fill-balance.html:
  • fast/multicol/newmulticol/float-avoidance.html:
  • fast/multicol/newmulticol/float-multicol.html:
  • fast/multicol/newmulticol/float-paginate-complex.html:
  • fast/multicol/newmulticol/float-paginate-empty-lines.html:
  • fast/multicol/newmulticol/float-paginate.html:
  • fast/multicol/newmulticol/hide-box-horizontal-bt-expected.html:
  • fast/multicol/newmulticol/hide-box-horizontal-bt.html:
  • fast/multicol/newmulticol/hide-box-vertical-lr-expected.html:
  • fast/multicol/newmulticol/hide-box-vertical-lr.html:
  • fast/multicol/newmulticol/hide-box-vertical-rl-expected.html:
  • fast/multicol/newmulticol/hide-box-vertical-rl.html:
  • fast/multicol/newmulticol/insert-row-content1-expected.html:
  • fast/multicol/newmulticol/insert-row-content1.html:
  • fast/multicol/newmulticol/insert-row-content2-expected.html:
  • fast/multicol/newmulticol/insert-row-content2.html:
  • fast/multicol/newmulticol/insert-row-content3-expected.html:
  • fast/multicol/newmulticol/insert-row-content3.html:
  • fast/multicol/newmulticol/insert-row-content4-expected.html:
  • fast/multicol/newmulticol/insert-row-content4.html:
  • fast/multicol/newmulticol/insert-row-content5-expected.html:
  • fast/multicol/newmulticol/insert-row-content5.html:
  • fast/multicol/newmulticol/insert-row-content6-expected.html:
  • fast/multicol/newmulticol/insert-row-content6.html:
  • fast/multicol/newmulticol/insert-row-content7-expected.html:
  • fast/multicol/newmulticol/insert-row-content7.html:
  • fast/multicol/newmulticol/insert-row-content8-expected.html:
  • fast/multicol/newmulticol/insert-row-content8.html:
  • fast/multicol/newmulticol/insert-row-content9-expected.html:
  • fast/multicol/newmulticol/insert-row-content9.html:
  • fast/multicol/newmulticol/insert-spanner-child1-expected.html:
  • fast/multicol/newmulticol/insert-spanner-child1.html:
  • fast/multicol/newmulticol/insert-spanner-child2-expected.html:
  • fast/multicol/newmulticol/insert-spanner-child2.html:
  • fast/multicol/newmulticol/insert-spanner-child3-expected.html:
  • fast/multicol/newmulticol/insert-spanner-child3.html:
  • fast/multicol/newmulticol/insert-spanner1-expected.html:
  • fast/multicol/newmulticol/insert-spanner1.html:
  • fast/multicol/newmulticol/insert-spanner2-expected.html:
  • fast/multicol/newmulticol/insert-spanner2.html:
  • fast/multicol/newmulticol/insert-spanner3-expected.html:
  • fast/multicol/newmulticol/insert-spanner3.html:
  • fast/multicol/newmulticol/insert-spanner4-expected.html:
  • fast/multicol/newmulticol/insert-spanner4.html:
  • fast/multicol/newmulticol/insert-spanner5-expected.html:
  • fast/multicol/newmulticol/insert-spanner5.html:
  • fast/multicol/newmulticol/insert-spanner6-expected.html:
  • fast/multicol/newmulticol/insert-spanner6.html:
  • fast/multicol/newmulticol/insert-spanner7-expected.html:
  • fast/multicol/newmulticol/insert-spanner7.html:
  • fast/multicol/newmulticol/insert-spanner8-expected.html:
  • fast/multicol/newmulticol/insert-spanner8.html:
  • fast/multicol/newmulticol/layers-in-multicol.html:
  • fast/multicol/newmulticol/layers-split-across-columns.html:
  • fast/multicol/newmulticol/leading-and-trailing-margin-expected.html:
  • fast/multicol/newmulticol/leading-and-trailing-margin.html:
  • fast/multicol/newmulticol/leading-margin.html:
  • fast/multicol/newmulticol/line-grid-inside-columns.html:
  • fast/multicol/newmulticol/line-grid-into-columns.html:
  • fast/multicol/newmulticol/multicol-with-spanner-becomes-regular-block.html:
  • fast/multicol/newmulticol/orphans-and-widows-balance.html:
  • fast/multicol/newmulticol/positioned-split.html:
  • fast/multicol/newmulticol/positioned-with-constrained-height.html:
  • fast/multicol/newmulticol/progression-reverse-overflow.html:
  • fast/multicol/newmulticol/progression-reverse.html:
  • fast/multicol/newmulticol/remove-row-content1-expected.html:
  • fast/multicol/newmulticol/remove-row-content1.html:
  • fast/multicol/newmulticol/remove-row-content2-expected.html:
  • fast/multicol/newmulticol/remove-row-content2.html:
  • fast/multicol/newmulticol/remove-row-content3-expected.html:
  • fast/multicol/newmulticol/remove-row-content3.html:
  • fast/multicol/newmulticol/remove-row-content4-expected.html:
  • fast/multicol/newmulticol/remove-row-content4.html:
  • fast/multicol/newmulticol/remove-row-content5-expected.html:
  • fast/multicol/newmulticol/remove-row-content5.html:
  • fast/multicol/newmulticol/remove-row-content6-expected.html:
  • fast/multicol/newmulticol/remove-row-content6.html:
  • fast/multicol/newmulticol/remove-row-content7-expected.html:
  • fast/multicol/newmulticol/remove-row-content7.html:
  • fast/multicol/newmulticol/remove-row-content8-expected.html:
  • fast/multicol/newmulticol/remove-row-content8.html:
  • fast/multicol/newmulticol/remove-row-content9-expected.html:
  • fast/multicol/newmulticol/remove-row-content9.html:
  • fast/multicol/newmulticol/remove-spanner1-expected.html:
  • fast/multicol/newmulticol/remove-spanner1.html:
  • fast/multicol/newmulticol/remove-spanner2-expected.html:
  • fast/multicol/newmulticol/remove-spanner2.html:
  • fast/multicol/newmulticol/remove-spanner3-expected.html:
  • fast/multicol/newmulticol/remove-spanner3.html:
  • fast/multicol/newmulticol/remove-spanner4-expected.html:
  • fast/multicol/newmulticol/remove-spanner4.html:
  • fast/multicol/newmulticol/remove-spanner5-expected.html:
  • fast/multicol/newmulticol/remove-spanner5.html:
  • fast/multicol/newmulticol/remove-spanner6-expected.html:
  • fast/multicol/newmulticol/remove-spanner6.html:
  • fast/multicol/newmulticol/single-line.html:
  • fast/multicol/newmulticol/sole-spanner.html:
  • fast/multicol/newmulticol/span-between-text-expected.html:
  • fast/multicol/newmulticol/span-between-text.html:
  • fast/multicol/newmulticol/spanner-becomes-regular-block-expected.html:
  • fast/multicol/newmulticol/spanner-becomes-regular-block.html:
  • fast/multicol/newmulticol/spanner-first-expected.html:
  • fast/multicol/newmulticol/spanner-first.html:
  • fast/multicol/newmulticol/spanner-img-expected.html:
  • fast/multicol/newmulticol/spanner-img.html:
  • fast/multicol/newmulticol/spanner-inline-block-expected.html:
  • fast/multicol/newmulticol/spanner-inline-block.html:
  • fast/multicol/newmulticol/spanner-last-expected.html:
  • fast/multicol/newmulticol/spanner-last.html:
  • fast/multicol/newmulticol/spanner-nested-dynamic-expected.html:
  • fast/multicol/newmulticol/spanner-nested-dynamic.html:
  • fast/multicol/newmulticol/spanner-nested-expected.html:
  • fast/multicol/newmulticol/spanner-nested.html:
  • fast/multicol/newmulticol/spanner-pseudo-after1-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-after1.html:
  • fast/multicol/newmulticol/spanner-pseudo-after2-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-after2.html:
  • fast/multicol/newmulticol/spanner-pseudo-after3-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-after3.html:
  • fast/multicol/newmulticol/spanner-pseudo-after4-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-after4.html:
  • fast/multicol/newmulticol/spanner-pseudo-before-after1-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-before-after1.html:
  • fast/multicol/newmulticol/spanner-pseudo-before-after2-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-before-after2.html:
  • fast/multicol/newmulticol/spanner-pseudo-before-after3-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-before-after3.html:
  • fast/multicol/newmulticol/spanner-pseudo-before-after4-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-before-after4.html:
  • fast/multicol/newmulticol/spanner-pseudo-before1-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-before1.html:
  • fast/multicol/newmulticol/spanner-pseudo-before2-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-before2.html:
  • fast/multicol/newmulticol/spanner-pseudo-before3-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-before3.html:
  • fast/multicol/newmulticol/spanner-pseudo-before4-expected.html:
  • fast/multicol/newmulticol/spanner-pseudo-before4.html:
  • fast/multicol/newmulticol/spanner-table-expected.html:
  • fast/multicol/newmulticol/spanner-table.html:
  • fast/multicol/newmulticol/spanner-with-margin-expected.html:
  • fast/multicol/newmulticol/spanner-with-margin.html:
  • fast/multicol/newmulticol/spanner1-expected.html:
  • fast/multicol/newmulticol/spanner1.html:
  • fast/multicol/newmulticol/spanner2-expected.html:
  • fast/multicol/newmulticol/spanner2.html:
  • fast/multicol/newmulticol/spanner3-expected.html:
  • fast/multicol/newmulticol/spanner3.html:
  • fast/multicol/newmulticol/spanner4-expected.html:
  • fast/multicol/newmulticol/spanner4.html:
  • fast/multicol/newmulticol/spanner5-expected.html:
  • fast/multicol/newmulticol/spanner5.html:
  • fast/multicol/newmulticol/spanner6-expected.html:
  • fast/multicol/newmulticol/spanner6.html:
  • fast/multicol/newmulticol/spanner7-expected.html:
  • fast/multicol/newmulticol/spanner7.html:
  • fast/multicol/newmulticol/spanner8-expected.html:
  • fast/multicol/newmulticol/spanner8.html:
  • fast/multicol/newmulticol/spanner9-expected.html:
  • fast/multicol/newmulticol/spanner9.html:
  • fast/multicol/newmulticol/trailing-margin-with-spanner-expected.html:
  • fast/multicol/newmulticol/trailing-margin-with-spanner.html:
  • fast/multicol/newmulticol/trailing-margin-with-spanner2-expected.html:
  • fast/multicol/newmulticol/trailing-margin-with-spanner2.html:
  • fast/multicol/newmulticol/unresolvable-percent-height-2.html:
  • fast/multicol/newmulticol/unresolvable-percent-height.html:
  • fast/multicol/newmulticol/unresolvable-percent-max-height-2.html:
  • fast/multicol/newmulticol/unresolvable-percent-max-height.html:
  • fast/multicol/offset-top-left.html:
  • fast/multicol/percent-height.html:
  • fast/multicol/positioned-outside-of-columns.html:
  • fast/multicol/scrolling-column-rules.html:
  • fast/multicol/tall-float-expected.html:
  • fast/multicol/tall-float.html:
  • fast/multicol/transform-inside-opacity.html:
  • fast/multicol/zoom-test-expected.html:
  • fast/multicol/zoom-test.html:
4:28 PM Changeset in webkit [168984] by oliver@apple.com
  • 9 edits in trunk/Source/WebKit2

Separate enabling sandbox extensions from the WEB_PROCESS_SANDBOX flag
https://bugs.webkit.org/show_bug.cgi?id=133016

Reviewed by Alexey Proskuryakov.

Add a distinct SANDBOX_EXTENSIONS flag to guard sandbox extensions
and switch over to it in the places that extensions are used.

  • Shared/SandboxExtension.h:
  • Shared/mac/SandboxExtensionMac.mm:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChooseFilesForOpenPanel):

  • WebKit2Prefix.h:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

3:09 PM Changeset in webkit [168983] by msaboff@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Crash in JSC::Yarr::YarrGenerator<(JSC::Yarr::YarrJITCompileMode)0>::generatePatternCharacterFixed() due to WTF::CrashOnOverflow::overflowed + 9
https://bugs.webkit.org/show_bug.cgi?id=133009

Reviewed by Oliver Hunt.

If we determine that any alternative requires a minumum match size greater than
INT_MAX, we handle the match in the interpreter.

Check to see if the pattern has unsigned lengths before invoking YARR JIT.

  • runtime/RegExp.cpp:

(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):

  • tests/stress/large-regexp.js: New test added.

Set m_containsUnsignedLengthPattern flag if any alternative's minimum length
doesn't fit in an int.

  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPatternConstructor::setupDisjunctionOffsets):

Clear new m_containsUnsignedLengthPattern flag.

  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPattern::YarrPattern):

  • yarr/YarrPattern.h:

(JSC::Yarr::YarrPattern::reset):
(JSC::Yarr::YarrPattern::containsUnsignedLengthPattern):

2:55 PM Changeset in webkit [168982] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Add a heuristic to set the right horizontal offset on rotation for responsive websites
https://bugs.webkit.org/show_bug.cgi?id=132937
<rdar://problem/16710097>

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

When responsive websites have the content size lay out larger than the minimal layout size,
we should not keep the relative horizontal position into view,
many of those websites have all the content on the left.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):

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

[iOS][WK2] On dynamic resize, the content offset is contrained to the old content size
https://bugs.webkit.org/show_bug.cgi?id=132972

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

When we set the content offset, UIScrollView limits the value to the current valid range for
content size. Since the content size was only updated after the animation, when the first frame
comes in, the content offset would sometimes be limited to a smaller rect that the actual content.

To fix this, set the expected future content size before changing the offset.

During the animation, the content size could have changed arbitrarily. At the end of the animation,
we take the actual frame and set the definite content size.
Any update after that will be regular updates through didCommitLayer.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):

2:39 PM Changeset in webkit [168980] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] ScrollView::visibleContentRectInternal is bypassing the iOS code for unobscuredContentRect
https://bugs.webkit.org/show_bug.cgi?id=133008

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

  • platform/ScrollView.cpp:

(WebCore::ScrollView::visibleContentRectInternal):
ScrollView::visibleContentRectInternal() was calling the internal implementation of visibleContentRect().
That was skipping the iOS implementation and getting the framerect directly. That size is invalid on iOS
when the exposed rect and unobscured rect are not the same.

2:32 PM Changeset in webkit [168979] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

[Mac] naturalSize not updated when preload=metadata
https://bugs.webkit.org/show_bug.cgi?id=132994

Reviewed by Eric Carlson.

Source/WebCore:
Test: media/video-load-preload-metadata-naturalsize.html

When preload=metadata, we never create an AVPlayerItem, and therefore never receive a
presentationSize KVO. When an AVAsset informs us that its tracks have changed, and there
is no AVPlayerItem, recalculate presentation size based on the first video track's natural
size.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):

LayoutTests:

  • media/video-load-preload-metadata-naturalsize-expected.txt: Added.
  • media/video-load-preload-metadata-naturalsize.html: Added.
2:16 PM Changeset in webkit [168978] by Simon Fraser
  • 12 edits in trunk/Source

Remove "region-based columns" prefs
https://bugs.webkit.org/show_bug.cgi?id=133006
<rdar://problem/16945824>

Reviewed by Dave Hyatt.

Remove "region-based columns" prefs and related code, since this is only
way to render columns now.

Source/WebCore:

  • page/Settings.in:

Source/WebKit/mac:

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

(+[WebPreferences initialize]):
(-[WebPreferences setRegionBasedColumnsEnabled:]): Deleted.
(-[WebPreferences regionBasedColumnsEnabled]): Deleted.

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

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetRegionBasedColumnsEnabled): Deleted.
(WKPreferencesGetRegionBasedColumnsEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

1:53 PM Changeset in webkit [168977] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Link search area for touch events is too large in some cases
https://bugs.webkit.org/show_bug.cgi?id=132988
<rdar://problem/16917843>

Reviewed by Simon Fraser.

  • page/ios/FrameIOS.mm:

(WebCore::Frame::qualifyingNodeAtViewportLocation):

  • Adjust the search area to screen ppi.
  • Remove cut-off at scale 1. This made us pick physically far-away elements when zoomed in.


  • platform/PlatformScreen.h:
  • platform/ios/PlatformScreenIOS.mm:

(WebCore::mobileGestaltFloatValue):
(WebCore::screenPPIFactor):

Figure out screens physical PPI relative to a base.

1:46 PM Changeset in webkit [168976] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit2

Work around bug in Silverlight
https://bugs.webkit.org/show_bug.cgi?id=133004

Reviewed by Anders Carlsson.

  • PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:

(WebKit::PluginProcessMainDelegate::doPreInitializationWork): Add low-resolution flag
to user defaults prior to NSApplication invocation. This code was moved from
PluginProcess::platformInitializeProcess.

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::platformInitializeProcess): Move low-resolution flag
setting to PluginProcessMainDelegate.

12:53 PM Changeset in webkit [168975] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Added some flaky tests to TestExpectations.

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-05-16

  • platform/gtk/TestExpectations:
12:45 PM Changeset in webkit [168974] by jer.noble@apple.com
  • 6 edits in trunk/Source/WebCore

[MSE] Crash at WebCore::SourceBuffer::~SourceBuffer + 110
https://bugs.webkit.org/show_bug.cgi?id=132973

Reviewed by Eric Carlson.

Change SourceBuffer::m_private into a Ref<>, and add an assertion to
SourceBufferPrivateAVFObjC's destructor if its client has not been cleared.

Eliminate unnecessary churn in MediaSourcePrivateAVFObjC by having the predicate
functor take bare pointers, rather than a PassRefPtr.

The underlying problem seems to be in WebAVStreamDataParserListener. RefPtrs were
being created off the main thread to a non-thread safe ref counted class. In some
situations, this would result in double decrementing the ref, which would cause an
early destruction of the underlying object. Instead replace these RefPtr strong
pointers with explicit weak ones. Ensure the parser and its delegate are not freed
before the append operation completes by passing strong pointers into the async
append operation lambda.

There were a few places where we weren't null checking m_mediaSource before using it,
and at least one place where we weren't clearing m_mediaSource.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::SourceBuffer): Use Ref instead of RefPtr.
(WebCore::SourceBuffer::appendBufferTimerFired): Ditto.

  • Modules/mediasource/SourceBuffer.h:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:

(WebCore::MediaSourcePrivateAVFObjCHasAudio): Take a bare pointer, instead of a PassRefPtr.
(WebCore::MediaSourcePrivateAVFObjCHasVideo): Ditto.

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

(WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer): Clear the back pointer when removing a buffer.

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

(-[WebAVStreamDataParserListener initWithParser:parent:WebCore::]): Use WeakPtr instead of RefPtr.
(-[WebAVStreamDataParserListener invalidate]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::append): Ditto.

12:21 PM WebKitGTK/KeepingTheTreeGreen edited by eocanha@igalia.com
(diff)
12:01 PM Changeset in webkit [168973] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[Gtk] media/media-blocked-by-beforeload.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=89811

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-16
Reviewed by Eric Carlson.

Problem is that we cannot predict when 'error' event would be called,
because is called async on 'source' element. Solution is to not log
'loadedmetadata' and 'loadstart' events.

  • media/media-blocked-by-beforeload-expected.txt:
  • media/media-blocked-by-beforeload.html:
11:47 AM Changeset in webkit [168972] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Subpixel rendering: Push named flows in region to device pixel when painting.
https://bugs.webkit.org/show_bug.cgi?id=132986

Reviewed by Simon Fraser.

Remove integral rounding when named flow sets the painting offset on the graphics context.
Use device pixel snapping instead to ensure that we can paint on odd device pixel positions on retina displays.

Source/WebCore:
Test: fast/regions/hidpi-region-with-auto-margin-on-subpixel-position.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

  • fast/regions/hidpi-region-with-auto-margin-on-subpixel-position-expected.html: Added.
  • fast/regions/hidpi-region-with-auto-margin-on-subpixel-position.html: Added.
11:26 AM Changeset in webkit [168971] by stavila@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSS Regions] Add ASSERT to make sure using the flowThread cache does not return incorrect results
https://bugs.webkit.org/show_bug.cgi?id=132906

Reviewed by Simon Fraser.

If flowThreadContainingBlock() is called on an object which is in a different
flow thread than the one currently being laid out, this method will return an incorrect
result. I added an assertion for that to make sure we catch and treat any such scenarios.
For the moment, this assertion is only validated for regions, as multicol still has some issues.

No new tests required.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::locateFlowThreadContainingBlockNoCache):
(WebCore::RenderObject::locateFlowThreadContainingBlock):

  • rendering/RenderObject.h:
10:07 AM Changeset in webkit [168970] by mhock@apple.com
  • 5 edits
    2 adds in trunk

MemoryCache::addImageToCache should return the result of add().
https://bugs.webkit.org/show_bug.cgi?id=132928
<rdar://problem/16651547>

Reviewed by Alexey Proskuryakov.

Source/WebCore:
API test: WebKit1.MemoryCacheADdImageToCache (MemoryCacheAddImageToCacheIOS.mm)

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::addImageToCache):

Tools:

  • TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/ios/MemoryCacheAddImageToCacheIOS.mm: Added.

(TestWebKitAPI::TEST):

9:34 AM Changeset in webkit [168969] by dfarler@apple.com
  • 2 edits in trunk/Tools

old-run-webkit-tests: allow specifying a simulator app path
https://bugs.webkit.org/show_bug.cgi?id=132975

Reviewed by Anders Carlsson.

  • Scripts/old-run-webkit-tests:

(openIPhoneSimulator):
Add new --simulator-app command line parameter for specifying the
absolute path to the simulator app to launch before starting a
session.

7:35 AM Changeset in webkit [168968] by commit-queue@webkit.org
  • 6 edits in trunk/Tools

[webkitpy] In case of multiple bug rollout, all bugs should be reopened, not only the oldest one
https://bugs.webkit.org/show_bug.cgi?id=131363

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-16
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/common/checkout/checkout_mock.py:
  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:

(MockBugzilla):

  • Scripts/webkitpy/tool/commands/download_unittest.py:

(test_create_rollout_multiple_revision_with_one_resolved):
(test_create_rollout_multiple_resolved):
(test_rollout_two_revisions):
(test_rollout_multiple_revisions):
(test_rollout_multiple_revisions_with_a_missing_bug_id):

  • Scripts/webkitpy/tool/steps/createbug.py:

(CreateBug.run):

  • Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:

(ReopenBugAfterRollout.run):

6:22 AM Changeset in webkit [168967] by abucur@adobe.com
  • 23 edits in trunk/Source/WebCore

[CSS Regions] Reduce the RenderRegion invasiveness in rendering code
https://bugs.webkit.org/show_bug.cgi?id=132121

Reviewed by Antti Koivisto.

Remove the RenderRegion / RenderNamedFlowFragment parameters and fields from
the painting / hit testing data structures and use a stateful approach to
correctly handle regions.

When painting or hit testing, the current flow thread is saved along the current
region. They are accessed through the |currentRenderNamedFlowFragment| helper
method on RenderObject or RenderLayer.

The patch also changes a bunch of 0s to nullptrs.

Tests: No new tests, no functional change.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):

  • rendering/HitTestLocation.cpp:

(WebCore::HitTestLocation::HitTestLocation):
(WebCore::HitTestLocation::operator=):

  • rendering/HitTestLocation.h:

(WebCore::HitTestLocation::region): Deleted.

  • rendering/HitTestResult.h:
  • rendering/PaintInfo.h:

(WebCore::PaintInfo::PaintInfo):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::nodeAtPoint):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):

  • rendering/RenderBoxModelObject.cpp:

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

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

(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):

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

(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::clippedByAncestor):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::currentRenderNamedFlowFragment):

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

(WebCore::RenderReplaced::shouldPaint):

  • rendering/RenderReplica.cpp:

(WebCore::RenderReplica::paint):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::nodeAtPoint):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::nodeAtPoint):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

4:56 AM Changeset in webkit [168966] by berto@igalia.com
  • 4 edits in trunk

RTCDtmfSender default values need to be updated.
https://bugs.webkit.org/show_bug.cgi?id=132952

Patch by Kiran <kiran.guduru@samsung.com> on 2014-05-16
Reviewed by Eric Carlson.

Source/WebCore:
The default ToneDuration and ToneGap values are modified in the updated spec.
So these values need to be updated.

Test: fast/mediastream/RTCPeerConnection-dtmf.html.

  • Modules/mediastream/RTCDTMFSender.cpp:

LayoutTests:
Added checks to test default, min value interToneGap
and duration and max value for duration.
(Spec does not specify any max value for inTertoneGap)

  • fast/mediastream/RTCPeerConnection-dtmf.html:
2:02 AM Changeset in webkit [168965] by Lucas Forschler
  • 6 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r168886.

2:00 AM Changeset in webkit [168964] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168862.

1:57 AM Changeset in webkit [168963] by Lucas Forschler
  • 3 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168848.

1:54 AM Changeset in webkit [168962] by Lucas Forschler
  • 26 edits
    1 copy in branches/safari-538.34.5-branch/Source/JavaScriptCore

Merged r168776.

1:53 AM Changeset in webkit [168961] by Csaba Osztrogonác
  • 244 edits in trunk

[WK2] Change the remaining framework includes from WebKit2 to WebKit
https://bugs.webkit.org/show_bug.cgi?id=132956

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-16
Reviewed by Sam Weinig.

Source/WebKit2:

  • NetworkProcess/unix/NetworkProcessMainUnix.cpp:
  • NetworkProcess/unix/NetworkProcessMainUnix.h:
  • PluginProcess/unix/PluginProcessMainUnix.h:
  • Shared/API/c/cairo/WKImageCairo.h:
  • Shared/API/c/cf/WKURLRequestCF.h:
  • Shared/API/c/cf/WKURLResponseCF.h:
  • Shared/API/c/efl/WKArrayEfl.cpp:
  • Shared/API/c/efl/WKArrayEfl.h:
  • UIProcess/API/C/CoordinatedGraphics/WKView.h:
  • UIProcess/API/C/WKBatteryManager.h:
  • UIProcess/API/C/WKBatteryStatus.h:
  • UIProcess/API/C/WKGrammarDetail.h:
  • UIProcess/API/C/WKTextChecker.h:
  • UIProcess/API/C/WKVibration.h:
  • UIProcess/API/C/WKViewportAttributes.h:
  • UIProcess/API/C/cairo/WKIconDatabaseCairo.h:
  • UIProcess/API/C/efl/WKAPICastEfl.h:
  • UIProcess/API/C/efl/WKColorPickerResultListener.h:
  • UIProcess/API/C/efl/WKEventEfl.h:
  • UIProcess/API/C/efl/WKPageEfl.h:
  • UIProcess/API/C/efl/WKPopupItem.h:
  • UIProcess/API/C/efl/WKPopupMenuListener.h:
  • UIProcess/API/C/efl/WKViewEfl.cpp:
  • UIProcess/API/C/efl/WKViewEfl.h:
  • UIProcess/API/C/gtk/WKFullScreenClientGtk.h:
  • UIProcess/API/C/gtk/WKInspectorClientGtk.h:
  • UIProcess/API/C/gtk/WKView.h:
  • UIProcess/API/C/gtk/WKViewPrivate.h:
  • UIProcess/API/C/soup/WKContextSoup.h:
  • UIProcess/API/C/soup/WKCookieManagerSoup.h:
  • UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h:
  • UIProcess/API/C/soup/WKSoupRequestManager.h:
  • UIProcess/API/Cocoa/WKErrorRecoveryAttempting.h:
  • UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.h:
  • UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
  • UIProcess/API/cpp/efl/WKEinaSharedString.h:
  • UIProcess/API/efl/EwkView.cpp:
  • UIProcess/API/efl/EwkView.h:
  • UIProcess/API/efl/EwkViewCallbacks.h:
  • UIProcess/API/efl/GestureRecognizer.h:
  • UIProcess/API/efl/ewk_application_cache_manager_private.h:
  • UIProcess/API/efl/ewk_auth_request_private.h:
  • UIProcess/API/efl/ewk_back_forward_list_item_private.h:
  • UIProcess/API/efl/ewk_back_forward_list_private.h:
  • UIProcess/API/efl/ewk_context_menu_item.cpp:
  • UIProcess/API/efl/ewk_context_private.h:
  • UIProcess/API/efl/ewk_cookie_manager_private.h:
  • UIProcess/API/efl/ewk_database_manager_private.h:
  • UIProcess/API/efl/ewk_error_private.h:
  • UIProcess/API/efl/ewk_favicon_database_private.h:
  • UIProcess/API/efl/ewk_file_chooser_request_private.h:
  • UIProcess/API/efl/ewk_page_group_private.h:
  • UIProcess/API/efl/ewk_popup_menu_item_private.h:
  • UIProcess/API/efl/ewk_popup_menu_private.h:
  • UIProcess/API/efl/ewk_security_origin_private.h:
  • UIProcess/API/efl/ewk_settings_private.h:
  • UIProcess/API/efl/ewk_storage_manager_private.h:
  • UIProcess/API/efl/ewk_view.cpp:
  • UIProcess/API/efl/ewk_view_private.h:
  • UIProcess/API/efl/ewk_window_features_private.h:
  • UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp:
  • UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
  • UIProcess/API/gtk/WebKitDownloadClient.cpp:
  • UIProcess/API/gtk/WebKitPrivate.h:
  • UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h:
  • UIProcess/efl/BatteryProvider.h:
  • UIProcess/efl/ContextHistoryClientEfl.h:
  • UIProcess/efl/DownloadManagerEfl.h:
  • UIProcess/efl/FindClientEfl.h:
  • UIProcess/efl/FormClientEfl.h:
  • UIProcess/efl/PageLoadClientEfl.h:
  • UIProcess/efl/PagePolicyClientEfl.h:
  • UIProcess/efl/PageUIClientEfl.h:
  • UIProcess/efl/RequestManagerClientEfl.h:
  • UIProcess/efl/TextCheckerClientEfl.h:
  • UIProcess/efl/VibrationClientEfl.h:
  • UIProcess/efl/ViewClientEfl.cpp:
  • UIProcess/efl/ViewClientEfl.h:
  • UIProcess/efl/WebInspectorProxyEfl.cpp:
  • WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
  • WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
  • WebProcess/efl/SeccompFiltersWebProcessEfl.cpp:
  • WebProcess/efl/SeccompFiltersWebProcessEfl.h:
  • WebProcess/efl/WebProcessMainEfl.cpp:
  • WebProcess/efl/WebProcessMainEfl.h:
  • WebProcess/gtk/WebGtkInjectedBundleMain.cpp:
  • WebProcess/gtk/WebProcessMainGtk.cpp:
  • WebProcess/gtk/WebProcessMainGtk.h:
  • mac/WKPreferences.h:

Tools:

  • MiniBrowser/MiniBrowserWebProcessPlugIn.h:
  • MiniBrowser/mac/AppDelegate.m:
  • MiniBrowser/mac/WK2BrowserWindowController.m:
  • TestWebKitAPI/InjectedBundleController.h:
  • TestWebKitAPI/InjectedBundleMain.cpp:
  • TestWebKitAPI/JavaScriptTest.cpp:
  • TestWebKitAPI/PlatformUtilities.h:
  • TestWebKitAPI/Tests/CustomProtocolsSyncXHRTest.mm:
  • TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp:
  • TestWebKitAPI/Tests/WebKit2/CanHandleRequest_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/CookieManager.cpp:
  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewRestoreZoomAndScrollBackForward.cpp:
  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewUserViewportToContents.cpp:
  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp:
  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/DidNotHandleKeyDown.cpp:
  • TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp:
  • TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp:
  • TestWebKitAPI/Tests/WebKit2/EphemeralSessionPushStateNoHistoryCallback.cpp:
  • TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp:
  • TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp:
  • TestWebKitAPI/Tests/WebKit2/Find.cpp:
  • TestWebKitAPI/Tests/WebKit2/FindMatches.mm:
  • TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp:
  • TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp:
  • TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp:
  • TestWebKitAPI/Tests/WebKit2/Geolocation.cpp:
  • TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback.cpp:
  • TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp:
  • TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp:
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp:
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins.cpp:
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/LayoutMilestonesWithAllContentInFrame.cpp:
  • TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
  • TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp:
  • TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/LoadPageOnCrash.cpp:
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp:
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp:
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
  • TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp:
  • TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp:
  • TestWebKitAPI/Tests/WebKit2/ParentFrame_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/PasteboardNotifications.mm:
  • TestWebKitAPI/Tests/WebKit2/PasteboardNotifications_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp:
  • TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp:
  • TestWebKitAPI/Tests/WebKit2/ReloadPageAfterCrash.cpp:
  • TestWebKitAPI/Tests/WebKit2/ResizeReversePaginatedWebView.cpp:
  • TestWebKitAPI/Tests/WebKit2/ResizeWindowAfterCrash.cpp:
  • TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp:
  • TestWebKitAPI/Tests/WebKit2/SeccompFilters.cpp:
  • TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp:
  • TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:
  • TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
  • TestWebKitAPI/Tests/WebKit2/WKStringJSString.cpp:
  • TestWebKitAPI/Tests/WebKit2/WebArchive.cpp:
  • TestWebKitAPI/Tests/WebKit2/WebArchive_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:
  • TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm:
  • TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor.mm:
  • TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor_Bundle.mm:
  • TestWebKitAPI/Tests/WebKit2/mac/GetPIDAfterAbortedProcessLaunch.cpp:
  • TestWebKitAPI/Tests/WebKit2/mac/WeakObjCPtr.mm:
  • TestWebKitAPI/Tests/WebKit2/win/AltKeyGeneratesWMSysCommand.cpp:
  • TestWebKitAPI/Tests/WebKit2/win/DoNotCopyANullCFURLResponse.cpp:
  • TestWebKitAPI/Tests/WebKit2/win/ResizeViewWhileHidden.cpp:
  • TestWebKitAPI/Tests/WebKit2/win/TranslateMessageGeneratesWMChar.cpp:
  • TestWebKitAPI/Tests/WebKit2/win/WMCloseCallsUIClientClose.cpp:
  • TestWebKitAPI/Tests/WebKit2/win/WMPrint.cpp:
  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:
  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme.mm:
  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm:
  • TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing.mm:
  • TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm:
  • TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextGroupTest.mm:
  • TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextLoadDelegateTest.mm:
  • TestWebKitAPI/Tests/mac/DeviceScaleFactorOnBack.mm:
  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
  • TestWebKitAPI/config.h:
  • TestWebKitAPI/efl/PlatformWebView.cpp:
  • TestWebKitAPI/mac/JavaScriptTestMac.mm:
  • TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
  • TestWebKitAPI/mac/PlatformWebViewMac.mm:
  • TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.h:
  • TestWebKitAPI/mac/WebKitAgnosticTest.mm:
  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/GeolocationProviderMock.cpp:
  • WebKitTestRunner/GeolocationProviderMock.h:
  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/InjectedBundle/GCController.cpp:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp:
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:
  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/InjectedBundle/TextInputController.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
  • WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:
  • WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
  • WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
  • WebKitTestRunner/PlatformWebView.h:
  • WebKitTestRunner/StringFunctions.h:
  • WebKitTestRunner/TestController.cpp:
  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:
  • WebKitTestRunner/TestInvocation.h:
  • WebKitTestRunner/WebKitTestRunnerPrefix.h:
  • WebKitTestRunner/WebNotificationProvider.cpp:
  • WebKitTestRunner/WebNotificationProvider.h:
  • WebKitTestRunner/WorkQueueManager.cpp:
  • WebKitTestRunner/cairo/TestInvocationCairo.cpp:
  • WebKitTestRunner/cg/TestInvocationCG.cpp:
  • WebKitTestRunner/cocoa/CrashReporterInfo.mm:
  • WebKitTestRunner/config.h:
  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:
  • WebKitTestRunner/ios/TestControllerIOS.mm:
  • WebKitTestRunner/mac/EventSenderProxy.mm:
  • WebKitTestRunner/mac/PlatformWebViewMac.mm:
  • WebKitTestRunner/mac/TestControllerMac.mm:
1:48 AM Changeset in webkit [168960] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168768.

1:44 AM Changeset in webkit [168959] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168724.

1:43 AM Changeset in webkit [168958] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168694.

1:42 AM Changeset in webkit [168957] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168691.

1:41 AM Changeset in webkit [168956] by Lucas Forschler
  • 7 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168690.

1:39 AM Changeset in webkit [168955] by Lucas Forschler
  • 5 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168637.

1:37 AM Changeset in webkit [168954] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168629.

1:35 AM Changeset in webkit [168953] by Lucas Forschler
  • 54 edits
    1 copy in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168566.

1:26 AM Changeset in webkit [168952] by Lucas Forschler
  • 6 edits in branches/safari-538.34.5-branch/Source

Merged r168473.

1:22 AM Changeset in webkit [168951] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r168873.

1:21 AM Changeset in webkit [168950] by Lucas Forschler
  • 8 edits in branches/safari-538.34.5-branch/Source

Merged r168882.

1:03 AM Changeset in webkit [168949] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r168882.

12:56 AM Changeset in webkit [168948] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r168758.

12:53 AM Changeset in webkit [168947] by Lucas Forschler
  • 6 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r168755.

12:52 AM Changeset in webkit [168946] by Lucas Forschler
  • 12 edits in branches/safari-538.34.5-branch/Source

Merged r168744.

12:47 AM Changeset in webkit [168945] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merge r168777.

12:46 AM Changeset in webkit [168944] by Lucas Forschler
  • 3 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r168670.

12:42 AM Changeset in webkit [168943] by Lucas Forschler
  • 5 edits in branches/safari-538.34.5-branch/Source

Merged r168661.

12:39 AM Changeset in webkit [168942] by matthew_hanson@apple.com
  • 26 edits
    1 copy in branches/safari-538.34-branch/Source/JavaScriptCore

Merge r168776.

12:37 AM Changeset in webkit [168941] by Lucas Forschler
  • 4 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168568.

12:35 AM Changeset in webkit [168940] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168563.

12:33 AM Changeset in webkit [168939] by Lucas Forschler
  • 11 edits in branches/safari-538.34.5-branch

Merged r168555.

12:28 AM Changeset in webkit [168938] by Lucas Forschler
  • 6 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r168519.

12:24 AM Changeset in webkit [168937] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r168514.

12:15 AM Changeset in webkit [168936] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r168572.

12:14 AM Changeset in webkit [168935] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r168557.

12:13 AM Changeset in webkit [168934] by Lucas Forschler
  • 16 edits in branches/safari-538.34.5-branch/Source

Merged r168556.

12:12 AM Changeset in webkit [168933] by Lucas Forschler
  • 4 edits in branches/safari-538.34.5-branch/Source

Merged r168513.

12:08 AM Changeset in webkit [168932] by Lucas Forschler
  • 5 edits in branches/safari-538.34.5-branch/Source

Merged r168497.

12:06 AM Changeset in webkit [168931] by Lucas Forschler
  • 10 edits in branches/safari-538.34.5-branch/Source

Merged r168459.

12:00 AM Changeset in webkit [168930] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merge r168745.

May 15, 2014:

11:58 PM Changeset in webkit [168929] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebKit/mac

Merge r168913.

11:52 PM Changeset in webkit [168928] by Lucas Forschler
  • 7 edits in branches/safari-538.34.5-branch/Source

Merged r168452.

11:51 PM Changeset in webkit [168927] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merge r168870.

11:47 PM Changeset in webkit [168926] by Lucas Forschler
  • 7 edits in branches/safari-538.34.5-branch/Source

Merged r168447.

10:21 PM Changeset in webkit [168925] by gyuyoung.kim@samsung.com
  • 4 edits in trunk

[EFL][WK2] Skip failing unit tests
https://bugs.webkit.org/show_bug.cgi?id=132979

Reviewed by Daniel Bates.

Source/WebKit2:

  • PlatformEfl.cmake: Skip failing unit tests for now.

Tools:

  • TestWebKitAPI/PlatformEfl.cmake: Skip failing unit tests for now.
9:51 PM Changeset in webkit [168924] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix the Apple Mavericks Release, Apple MountainLion Release,
Apple MountainLion Release (32-bit Build), EFL, and GTK builds following
<http://trac.webkit.org/changeset/168921> (https://bugs.webkit.org/show_bug.cgi?id=132669)

  • dom/ContainerNode.cpp: Include SVGElement.h for the definition of Node::hasTagName(const SVGQualifiedName&).
9:44 PM Changeset in webkit [168923] by Lucas Forschler
  • 5 edits in branches/safari-538.34.5-branch/Source

Versioning.

9:32 PM Changeset in webkit [168922] by Lucas Forschler
  • 1 copy in branches/safari-538.34.5-branch

New Branch

9:30 PM Changeset in webkit [168921] by dbates@webkit.org
  • 11 edits
    24 adds in trunk

ASSERT_NOT_REACHED() in DocumentOrderedMap::get() when removing SVG subtree
https://bugs.webkit.org/show_bug.cgi?id=132669
<rdar://problem/14931432>

Reviewed by Brent Fulgham and Ryosuke Niwa.

Source/WebCore:
Fixes an assertion failure when removing an SVG element with a duplicate id.

When removing an SVG element with id A we synchronously instruct each element that references A
to find the first element with id A, call this N, from the document root and register itself to
either receive subsequent notifications from N (say, there is another element with id A) or as
waiting for an element with id A (say, N = nullptr; => we removed the last element with id A from
the document). Because the elements that reference A perform this operation synchronously when
removing an element they consult an transient state of the DocumentOrderedMap when querying for the
element with id A.

Without loss of generality, let E, E_1, E_2, and E_3 be elements, where E_1, E_2, E_3 are children
of E in that order and E_1.id = E_2.id = A and E_3.href = #A (that is, it references an element
with id A). Suppose we remove E then we remove E_1, update DocumentOrderedMap to decrement its count
for id A, and notify E_3 to look for an element with id A. This leads to an assertion failure since
DocumentOrderedMap expects to find an element with id A, E_2, but cannot find such an element when
traversing from the document root because E was unlinked from the document root (i.e. E_2 is in a
disjoint subtree).

Tests: svg/custom/change-id-of-use-during-removal.html

svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath.html
svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree.html
svg/custom/remove-use-with-duplicate-id-referenced-by-later-use.html

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeChild): Call SVGDocumentExtensions::rebuildElements() after we remove
a DOM subtree so that applicable SVG elements can update their referenced element when the DocumentOrderedMap
is in a stable-state.
(WebCore::ContainerNode::removeChildren): Ditto.

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::rebuildElements): Added; notifies SVG elements that their href attribute
changed so that they query the DocumentOrderedMap for the element they reference by id in their href attribute.
(WebCore::SVGDocumentExtensions::clearTargetDependencies): Added; Called from removing
an SVG element S from the DOM. Appends all elements that reference the id of S to the end of a Vector of
elements to be rebuilt (when SVGDocumentExtensions::rebuildElements() is called) and notifies these elements
that have been marked to be rebuilt so that they can invalidate their state (e.g. stop animating).
(WebCore::SVGDocumentExtensions::rebuildAllElementReferencesForTarget): Changed to take its argument by reference
(since it's always non-null) and simplified logic to synchronously notify SVG updates that their referenced element
may have changed. Calling SVGElement::svgAttributeChanged() on an element E should at most remove the dependencies
of E.

  • svg/SVGDocumentExtensions.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::~SVGElement): Substitute "*this" for "this" as SVGDocumentExtensions::rebuildAllElementReferencesForTarget()
now takes a reference instead of a pointer.
(WebCore::SVGElement::removedFrom): Modified to call SVGDocumentExtensions::clearTargetDependencies().
(WebCore::SVGElement::attributeChanged): Substitute "*this" for "this" as SVGDocumentExtensions::rebuildAllElementReferencesForTarget()
now takes a reference instead of a pointer.

  • svg/SVGElement.h:

(WebCore::SVGElement::callClearTarget): Added; calls through to private virtual SVGElement::clearTarget().
(WebCore::SVGElement::clearTarget): Added.

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::clearTarget): Added.

  • svg/SVGTRefElement.h:
  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::clearTarget): Added.

  • svg/animation/SVGSMILElement.h:

LayoutTests:
Add tests to ensure that we don't cause an assertion failure when removing an SVG element with a duplicate id.

  • svg/custom/change-id-of-use-during-removal-expected.txt: Added.
  • svg/custom/change-id-of-use-during-removal.html: Added.
  • svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath-expected.txt: Added.
  • svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath.html: Added.
  • svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref-expected.txt: Added.
  • svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree-expected.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree.html: Added.
  • svg/custom/remove-use-with-duplicate-id-referenced-by-later-use-expected.html: Added.
  • svg/custom/remove-use-with-duplicate-id-referenced-by-later-use.html: Added.
8:56 PM Changeset in webkit [168920] by Simon Fraser
  • 10 edits in trunk/Source

[iOS WK2] When zoomed, fixed elements jump at the start of a scroll, and jump back at the end.
https://bugs.webkit.org/show_bug.cgi?id=132978
<rdar://problem/16894428>

Reviewed by Benjamin Poulain.

Source/WebCore:

This was the actual cause of the bug; r168560 changed the rect passed in here
to be the customFixedPositionRect rather than the unobscured rect, but we
used it to call FrameView::rectForViewportConstrainedObjects() which gave back
another bogus rect. So just use the rect passed in.

  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:

(WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterViewportChange):

Source/WebKit2:

Move the static function fixedPositionRectFromExposedRect() to a member function on
WebPageProxy so we can call it from more places. Also never give WebCore a customFixedPosition
rect that extends past the document bounds, but allow rubber-banding/pinching in the UI process to
move fixed elements outside the document.

  • UIProcess/PageClient.h: Need to expose minimumZoomScale() and contentsSize() to WebPageProxy.
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::minimumZoomScale):
(WebKit::PageClientImpl::contentsSize):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
Pass the computeCustomFixedPositionRect(ConstrainedToDocumentRect) to WebCore, but use computeCustomFixedPositionRect()
for the ScrollingCoordinator update.
(adjustedUnexposedEdge): Deleted.
(adjustedUnexposedMaxEdge): Deleted.
(fixedPositionRectFromExposedRect): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::adjustedUnexposedEdge):
(WebKit::adjustedUnexposedMaxEdge):
(WebKit::WebPageProxy::computeCustomFixedPositionRect):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): This fixes some flashing when the scrolling tree
was being updated while scrolling; we now pass the correct rect.

8:32 PM Changeset in webkit [168919] by commit-queue@webkit.org
  • 22 edits in trunk/Source/WebInspectorUI

Web Inspector: Should remove JSDoc comment blocks.
https://bugs.webkit.org/show_bug.cgi?id=132984

Patch by Jono Wells <jonowells@apple.com> on 2014-05-15
Reviewed by Timothy Hatcher.

Remove JSDoc comment blocks. These are no longer necessary.

  • UserInterface/Base/Main.js:
  • UserInterface/Base/Object.js:
  • UserInterface/Controllers/DOMTreeManager.js:
  • UserInterface/Models/CSSCompletions.js:
  • UserInterface/Models/DOMNode.js:
  • UserInterface/Models/SourceMap.js:
  • UserInterface/Protocol/InspectorBackend.js:
  • UserInterface/Protocol/RemoteObject.js:
  • UserInterface/Views/ApplicationCacheFrameContentView.js:
  • UserInterface/Views/ConsoleMessage.js:
  • UserInterface/Views/ConsoleMessageImpl.js:
  • UserInterface/Views/ContextMenu.js:
  • UserInterface/Views/DOMTreeElement.js:
  • UserInterface/Views/DOMTreeOutline.js:
  • UserInterface/Views/DOMTreeUpdater.js:
  • UserInterface/Views/DataGrid.js:
  • UserInterface/Views/DatabaseContentView.js:
  • UserInterface/Views/EditingSupport.js:
  • UserInterface/Views/ObjectPropertiesSection.js:
  • UserInterface/Views/Popover.js:
  • UserInterface/Views/TreeOutline.js:

JSDoc style comment blocks removed.

5:11 PM Changeset in webkit [168918] by mrowe@apple.com
  • 3 edits in trunk/Source/WebKit2

<https://webkit.org/b/132976> Move discovery of sharing services off the main thread

Discovery of sharing services can require disk access and IPC. Since the interface to
ServicesController is already asynchronous, we can easily perform the discovery on a
background queue. This can eliminate tens to hundreds of milliseconds worth of work
from the main thread when creating the first web process.

Reviewed by Brady Eidson.

  • UIProcess/mac/ServicesController.h:
  • UIProcess/mac/ServicesController.mm:

(WebKit::ServicesController::ServicesController):
(WebKit::ServicesController::refreshExistingServices): Bail out early if we're already
in the process of refreshing the services. Kick the discovery over to a background queue,
with it hopping back to the main queue to update the actual state and notify any contexts
that were interested.

5:02 PM Changeset in webkit [168917] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Fixed a typo in a comment and updated previous change log entry.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::elementDidFocus):

4:46 PM Changeset in webkit [168916] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] www.wikipedia.org is loading much slower due to FormClient::willBeginInputSession
https://bugs.webkit.org/show_bug.cgi?id=132974

Reviewed by Enrica Casucci.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::elementDidFocus): Don’t call FormClient::willBeginInputSession if the
focus isn’t user-initiated, because in that case the UI process will bail out of
-_startAssistingNode:userIsInteracting:userObject: before creating an input session and
calling the -_webView:didStartInputSession:.

4:28 PM Changeset in webkit [168915] by dbates@webkit.org
  • 14 edits
    12 adds in trunk

SVG element may reference arbitrary DOM element before running its insertion logic
https://bugs.webkit.org/show_bug.cgi?id=132757
<rdar://problem/15703817>

Reviewed by Ryosuke Niwa.

Source/WebCore:
Fixes an issue where an SVG element may reference an arbitrary DOM element e before e finished being
inserted in the tree.

Currently when an SVG element A is inserted into a document we use document.getElementById() to find the
element B it references (if any). If A is inserted before B and B has the same id as a later element in
the document then A can find B before B is notified that its been inserted into the document (i.e. before
Element::insertedFrom() is called on B). Instead, A should call document.getElementById() only after
cessation of the insertion operation that inserted it to ensure that all inserted nodes (including B)
processed their insertion-specific logic.

Tests: svg/custom/reparent-animate-element.html

svg/custom/reparent-feimage-element.html
svg/custom/reparent-mpath-element.html
svg/custom/reparent-textpath-element.html
svg/custom/reparent-tref-element.html
svg/custom/reparent-use-element.html

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGFEImageElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGFEImageElement::didNotifySubtreeInsertions): Added; turns around and calls SVGFEImageElement::buildPendingResources().

  • svg/SVGFEImageElement.h:
  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGMPathElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGMPathElement::didNotifySubtreeInsertions): Added; turns around and calls SVGMPathElement::buildPendingResources().

  • svg/SVGMPathElement.h:
  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGTRefElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGTRefElement::didNotifySubtreeInsertions): Added; turns around and calls SVGTRefElement::buildPendingResources().

  • svg/SVGTRefElement.h:
  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGTextPathElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGTextPathElement::didNotifySubtreeInsertions): Added; turns around and calls SVGTextPathElement::buildPendingResources().

  • svg/SVGTextPathElement.h:
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGUseElement::buildPendingResources()) after its subtree is
inserted.
(WebCore::SVGUseElement::didNotifySubtreeInsertions): Added; turns around and calls SVGUseElement::buildPendingResources().

  • svg/SVGUseElement.h:
  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGSMILElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGSMILElement::didNotifySubtreeInsertions): Added; turns around and calls SVGSMILElement::buildPendingResources().

  • svg/animation/SVGSMILElement.h:

LayoutTests:
Add tests to ensure that we don't cause an assertion failure when re-parenting an SVG subtree that
contains an element with a duplicate id.

  • svg/custom/reparent-animate-element-expected.txt: Added.
  • svg/custom/reparent-animate-element.html: Added.
  • svg/custom/reparent-feimage-element-expected.txt: Added.
  • svg/custom/reparent-feimage-element.html: Added.
  • svg/custom/reparent-mpath-element-expected.txt: Added.
  • svg/custom/reparent-mpath-element.html: Added.
  • svg/custom/reparent-textpath-element-expected.txt: Added.
  • svg/custom/reparent-textpath-element.html: Added.
  • svg/custom/reparent-tref-element-expected.txt: Added.
  • svg/custom/reparent-tref-element.html: Added.
  • svg/custom/reparent-use-element-expected.txt: Added.
  • svg/custom/reparent-use-element.html: Added.
4:03 PM Changeset in webkit [168914] by mhahnenberg@apple.com
  • 6 edits
    4 adds in trunk

JSDOMWindow should not claim HasImpureGetOwnPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=132918

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • jit/Repatch.cpp:

(JSC::tryRepatchIn): We forgot to check for watchpoints when repatching "in".

Source/WebCore:
Tests: js/cached-window-properties.html

js/cached-window-prototype-properties.html

We now correctly handle the impurity of JSDOMWindow's custom getOwnPropertySlot without needing the
blanket HasImpureGetOwnPropertySlot. We do this through the use of watchpoints and by explicitly forbidding
any caching beyond a certain point using PropertySlot::disableCaching. Getting rid of this flag will allow
us to cache many properties/methods on both the JSDOMWindow and its prototype, which are very commonly used
across the web.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

  • bindings/scripts/CodeGeneratorJS.pm:

(HasComplexGetOwnProperty):
(InterfaceRequiresAttributesOnInstance):
(InstanceOverridesGetOwnPropertySlot):
(GenerateHeader):

LayoutTests:
We now correctly handle the impurity of JSDOMWindow's custom getOwnPropertySlot without needing the
blanket HasImpureGetOwnPropertySlot. We do this through the use of watchpoints and by explicitly forbidding
any caching beyond a certain point using PropertySlot::disableCaching. Getting rid of this flag will allow
us to cache many properties/methods on both the JSDOMWindow and its prototype, which are very commonly used
across the web.

These tests trigger inline caching of window and window prototype properties.

  • js/cached-window-properties-expected.txt: Added.
  • js/cached-window-properties.html: Added.
  • js/cached-window-prototype-properties-expected.txt: Added.
  • js/cached-window-prototype-properties.html: Added.
2:27 PM Changeset in webkit [168913] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Crash in [WebSharingServicePickerController clear]
<rdar://problem/16879073> and https://bugs.webkit.org/show_bug.cgi?id=132968

Reviewed by Tim Horton.

  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController clear]): Add a RetainPtr protector so this object

isn’t dealloc’ed partway through.

2:20 PM Changeset in webkit [168912] by Simon Fraser
  • 2 edits in trunk/Source/WebKit/mac

Initialize the WebKitRegionBasedColumnsEnabled pref on iOS WK1
https://bugs.webkit.org/show_bug.cgi?id=132969

Reviewed by Dan Bernstein.

Move this outside the #if !PLATFORM(IOS) block.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

2:20 PM Changeset in webkit [168911] by Simon Fraser
  • 2 edits in trunk/Source/WebKit/mac

Clean up -[WebView _preferencesChanged]
https://bugs.webkit.org/show_bug.cgi?id=132967

Reviewed by Sam Weinig.

-[WebView _preferencesChanged] was a horrible mess of #ifdefs. Clean this up by
moving all the #if PLATFORM() code together, and moving all the feature-define related
settings to the end.

No behavior changes, checked by diffing the resulting Settings with and without
the patch, on OS X and iOS.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

2:17 PM Changeset in webkit [168910] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

[iOS] Support TestWebKitAPI in the iOS Simulator
<http://webkit.org/b/129535>
<rdar://problem/16203529>

Reviewed by Daniel Bates.

  • Scripts/run-api-tests:

(runTest):
(listAllTests):

  • Extract common arguments into local variable.
  • Use xcrun to find the sim tool in order to invoke

TestWebKitAPI properly in the iOS Simulator.

  • Scripts/webkitdirs.pm:

(argumentsForConfiguration): Set --device or --sim as
appropriate to fix buildTestTool() in run-api-tests.

2:00 PM Changeset in webkit [168909] by ap@apple.com
  • 4 edits in trunk/Source/WebCore

NetworkProcess crashes at ResourceHandle::continueDidReceiveResponse
https://bugs.webkit.org/show_bug.cgi?id=132966
<rdar://problem/16373694>

Reviewed by Brady Eidson.

Covered by many fast/files tests.

  • platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::continueDidReceiveResponse):
  • platform/network/BlobResourceHandle.h:
  • platform/network/ResourceHandle.h:

Don't call delegate's continueDidReceiveResponse when loading a blob:// URL,
the delegate is null. On the Mac, we used to lazily create it, which was also wrong,
but at least not observable.

1:58 PM Changeset in webkit [168908] by ap@apple.com
  • 2 edits
    8 adds in trunk/LayoutTests

Automatically zip document bundles used via File API
https://bugs.webkit.org/show_bug.cgi?id=132713
<rdar://problem/13397892>

Actually land the tests.

  • fast/files/filereader-zip-bundle-expected.txt: Added.
  • fast/files/filereader-zip-bundle.html: Added.
  • fast/files/resources/document.rtfd: Added.
  • fast/files/resources/document.rtfd/TXT.rtf: Added.
  • http/tests/local/fileapi/resources/document.rtfd: Added.
  • http/tests/local/fileapi/resources/document.rtfd/TXT.rtf: Added.
  • http/tests/local/fileapi/upload-zip-bundle-as-blob-expected.txt: Added.
  • http/tests/local/fileapi/upload-zip-bundle-as-blob.html: Added.
  • platform/wk2/TestExpectations:
1:03 PM Changeset in webkit [168907] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] WKWebView sends invalid content offsets at the end of animated resize
https://bugs.webkit.org/show_bug.cgi?id=132941
<rdar://problem/16921557>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-15
Reviewed by Tim Horton.

Since we cannot change the scale and content inset simultaneously while accounting for the obscured insets,
we end up with invalid contentOffsets.

To work around the problem, change the content scale outside of UIScrollView to ensure none of the side effect
happens.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _endAnimatedResize]):

12:45 PM Changeset in webkit [168906] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Fix a logging typo in copy-webkitlibraries-to-product-directory

Reviewed by Dean Jackson.

  • Scripts/copy-webkitlibraries-to-product-directory:
12:17 PM Changeset in webkit [168905] by commit-queue@webkit.org
  • 23 edits in trunk/Source/WebCore

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

Broke some compositing regions tests on Mavericks (Requested
by mihnea_ on #webkit).

Reverted changeset:

"[CSS Regions] Reduce the RenderRegion invasiveness in
rendering code"
https://bugs.webkit.org/show_bug.cgi?id=132121
http://trac.webkit.org/changeset/168899

12:15 PM Changeset in webkit [168904] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2 View Gestures (Zoom): Document size changes during zoom gesture cause erratic scrolling
https://bugs.webkit.org/show_bug.cgi?id=132944
<rdar://problem/15769454>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
If a layer flush occurs and we have an active transient zoom,
re-apply the transient zoom to the relevant platform layers, because
WebCore might have overwritten the relevant layer properties.

(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
Reset m_transientZoomScale before flushLayers() so that we don't
re-apply the transient zoom when we're actually trying to commit it.

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

Add pointer lock to features without enabling it.
https://bugs.webkit.org/show_bug.cgi?id=132961

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-15
Reviewed by Sam Weinig.

  • Configurations/FeatureDefines.xcconfig:

Added ENABLE_POINTER_LOCK to list of features.

Source/WebCore:

  • WebCore.exp.in:

Added linker symbols which differ with pointer lock enabled.

  • WebCore.xcodeproj/project.pbxproj:

Added PointerLockController.cpp to build.

Source/WebKit/mac:

  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
Added extra parameters needed when pointer lock is enabled.

11:28 AM Changeset in webkit [168902] by mhahnenberg@apple.com
  • 9 edits in trunk

Move subframe name getter lookup later in JSDOMWindow::getOwnPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=132922

Reviewed by Geoffrey Garen.

Source/WebCore:
No new tests.

In JSDOMWindow::getOwnPropertySlot, we currently look for the property on the JSDOMWindow,
then we search the window's subframes for name getters, then we look in the window's prototype
chain. Apparently we were doing the lookup in this order to be compatible with Mozilla, but
Mozilla no longer implements this behavior. Instead, they do the lookup on the prototype before
looking for subframe name getters. We should change this to match Mozilla. This has the convenient
side effect of allowing us to cache lookups in the window's prototype chain.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

LayoutTests:
In JSDOMWindow::getOwnPropertySlot, we currently look for the property on the JSDOMWindow,
then we search the window's subframes for name getters, then we look in the window's prototype
chain. Apparently we were doing the lookup in this order to be compatible with Mozilla, but
Mozilla no longer implements this behavior. Instead, they do the lookup on the prototype before
looking for subframe name getters. We should change this to match Mozilla. This has the convenient
side effect of allowing us to cache lookups in the window's prototype chain.

  • fast/dom/Window/window-function-frame-getter-precedence-expected.txt: Rebaseline to account

for change in behavior.

  • fast/dom/Window/window-function-frame-getter-precedence.html:
  • http/tests/security/document-all-expected.txt: Rebaseline due to the presenece of a security check

that was previously not done with the old behavior.

  • http/tests/security/window-named-proto-expected.txt: Ditto.
  • http/tests/security/window-named-valueOf-expected.txt: Ditto.
  • http/tests/security/xss-DENIED-window-name-alert.html: Changed test so it actually tests named getters.
10:48 AM Changeset in webkit [168901] by Simon Fraser
  • 23 edits in trunk/Source

[UI-side compositing] Fix copying animations between layers, and pausing them
https://bugs.webkit.org/show_bug.cgi?id=132943
<rdar://problem/16906369&16906541>

Reviewed by Tim Horton.

Source/WebCore:

Pass the animation key back to animationStarted(), though this isn't used
when animations are running in-process.

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

(-[WebAnimationDelegate animationDidStart:]):
(PlatformCALayerMac::animationStarted):

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayerWin::animationStarted):

  • platform/graphics/ca/win/PlatformCALayerWin.h:

Source/WebKit2:

Fix PlatformCAAnimationRemote to support animation copying, and to record
the beginTime for implicitly started animations. This fixes animation pausing,
and copying of animations between layers when they go between tiled and non-tiled.

This requires sending the animation key back through animationDidStart() so that
we can record this beginTime on the PlatformCAAnimationRemote in the web process.
This path doesn't set the "hasExplicitBeginTime" flag.

PlatformCAAnimationRemote also now stores a hash of active animations, so that
it can implement animationForKey(), and record the beginTime.

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidStart):

  • UIProcess/mac/RemoteLayerTreeHost.h:
  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::animationDidStart): Grovel for the key for this
animation; sadly CA doesn't give us an easier way.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::acceleratedAnimationDidStart):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(-[WKAnimationDelegate animationDidStart:]):
(WebKit::PlatformCAAnimationRemote::copy):
(WebKit::PlatformCAAnimationRemote::copyTimingFunctionFrom):
(WebKit::PlatformCAAnimationRemote::copyFromValueFrom):
(WebKit::PlatformCAAnimationRemote::copyToValueFrom):
(WebKit::PlatformCAAnimationRemote::copyValuesFrom):
(WebKit::PlatformCAAnimationRemote::copyKeyTimesFrom):
(WebKit::PlatformCAAnimationRemote::copyTimingFunctionsFrom):
(WebKit::addAnimationToLayer):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::addAnimationForKey):
(WebKit::PlatformCALayerRemote::removeAnimationForKey):
(WebKit::PlatformCALayerRemote::animationForKey):
(WebKit::PlatformCALayerRemote::animationStarted):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::animationDidStart):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidStart):

10:18 AM Changeset in webkit [168900] by ddkilzer@apple.com
  • 2 edits
    1 move
    1 add in trunk/Tools

TestWebKitAPI: URLExtras.mm should be a shared test for iOS and Mac
<http://webkit.org/b/132959>

Reviewed by Dan Bernstein.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add

Cocoa directory to project and move URLExtras.mm into it.

  • TestWebKitAPI/Tests/Cocoa/URLExtras.mm: Renamed from Tools/TestWebKitAPI/Tests/mac/URLExtras.mm.
9:43 AM Changeset in webkit [168899] by abucur@adobe.com
  • 23 edits in trunk/Source/WebCore

[CSS Regions] Reduce the RenderRegion invasiveness in rendering code
https://bugs.webkit.org/show_bug.cgi?id=132121

Reviewed by Antti Koivisto.

Remove the RenderRegion / RenderNamedFlowFragment parameters and fields from
the painting / hit testing data structures and use a stateful approach to
correctly handle regions.

When painting or hit testing, the current flow thread is saved along the current
region. They are accessed through the |currentRenderNamedFlowFragment| helper
method on RenderObject or RenderLayer.

The patch also changes a bunch of 0s to nullptrs.

Tests: No new tests, no functional change.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):

  • rendering/HitTestLocation.cpp:

(WebCore::HitTestLocation::HitTestLocation):
(WebCore::HitTestLocation::operator=):

  • rendering/HitTestLocation.h:

(WebCore::HitTestLocation::region): Deleted.

  • rendering/HitTestResult.h:
  • rendering/PaintInfo.h:

(WebCore::PaintInfo::PaintInfo):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::nodeAtPoint):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):

  • rendering/RenderBoxModelObject.cpp:

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

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

(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):

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

(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::clippedByAncestor):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::currentRenderNamedFlowFragment):

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

(WebCore::RenderReplaced::shouldPaint):

  • rendering/RenderReplica.cpp:

(WebCore::RenderReplica::paint):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::nodeAtPoint):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::nodeAtPoint):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

9:35 AM Changeset in webkit [168898] by Simon Fraser
  • 8 edits in trunk/Source

Clean up "has non-zero begin time" terminology in animations
https://bugs.webkit.org/show_bug.cgi?id=132942

Reviewed by Tim Horton.

Change the "non-zero beginTime" terminology in the platform CA animations
code to "explicit beginTime": this flag really means that we explicitly set
the beginTime of the animation, rather than let CA set the beginTime when
committing the animation. This flag is used for animations with negative
delay, and when pausing.

Source/WebCore:

The WKNonZeroBeginTimeFlag key was spread across PlatformCALayerMac and PlatformCAAnimationMac,
so hide it behind getter/setter functions.

Remove lots of m_layer.get() in PlatformCAAnimationMac.

  • platform/graphics/ca/mac/PlatformCAAnimationMac.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.mm:

(WebCore::hasExplicitBeginTime):
(WebCore::setHasExplicitBeginTime):
(PlatformCAAnimationMac::copy):
(PlatformCAAnimationMac::keyPath):
(PlatformCAAnimationMac::beginTime):
(PlatformCAAnimationMac::setBeginTime):
(PlatformCAAnimationMac::duration):
(PlatformCAAnimationMac::setDuration):
(PlatformCAAnimationMac::speed):
(PlatformCAAnimationMac::setSpeed):
(PlatformCAAnimationMac::timeOffset):
(PlatformCAAnimationMac::setTimeOffset):
(PlatformCAAnimationMac::repeatCount):
(PlatformCAAnimationMac::setRepeatCount):
(PlatformCAAnimationMac::autoreverses):
(PlatformCAAnimationMac::setAutoreverses):
(PlatformCAAnimationMac::fillMode):
(PlatformCAAnimationMac::setFillMode):
(PlatformCAAnimationMac::setTimingFunction):
(PlatformCAAnimationMac::copyTimingFunctionFrom):
(PlatformCAAnimationMac::isRemovedOnCompletion):
(PlatformCAAnimationMac::setRemovedOnCompletion):
(PlatformCAAnimationMac::isAdditive):
(PlatformCAAnimationMac::setAdditive):
(PlatformCAAnimationMac::valueFunction):
(PlatformCAAnimationMac::setValueFunction):
(hasNonZeroBeginTimeFlag): Deleted.
(setNonZeroBeginTimeFlag): Deleted.

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

(-[WebAnimationDelegate animationDidStart:]):

Source/WebKit2:

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<):

  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(-[WKAnimationDelegate animationDidStart:]):
(WebKit::PlatformCAAnimationRemote::Properties::encode):
(WebKit::PlatformCAAnimationRemote::Properties::decode):
(WebKit::PlatformCAAnimationRemote::setBeginTime):
(WebKit::addAnimationToLayer):

8:18 AM Changeset in webkit [168897] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

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

Lots of media tests still come to crash on EFL layout test
(Requested by gyuyoung on #webkit).

Reverted changeset:

"LayoutTests: Unreviewed EFL gardening. Unskip media test both
EFL WK1 and WK2."
http://trac.webkit.org/changeset/168893

1:51 AM Changeset in webkit [168896] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk/LayoutTests

[EFL] Add new test expectations after r168544
https://bugs.webkit.org/show_bug.cgi?id=132908

Unreviewed gardening

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-05-15

  • platform/efl/TestExpectations:
  • platform/efl/svg/foreignObject/svg-document-in-html-document-expected.txt:
  • platform/efl/svg/text/small-fonts-in-html5-expected.txt:
  • platform/efl/svg/zoom/page/zoom-svg-as-relative-image-expected.txt: Added.
  • platform/efl/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.
1:09 AM Changeset in webkit [168895] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Incremental updates during scroll-to-top shouldn’t count as “stable” updates
https://bugs.webkit.org/show_bug.cgi?id=132934

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateVisibleContentRects]):
If we're in a scroll-to-top programmatic scroll, the update is not stable.
The last event comes in with _isScrollingToTop false, so we do our stable update.

1:06 AM Changeset in webkit [168894] by Carlos Garcia Campos
  • 9 edits in trunk

[GTK] Compile all installed resources as GResources
https://bugs.webkit.org/show_bug.cgi?id=131099

Reviewed by Philippe Normand.

Source/WebCore:

  • PlatformGTK.cmake: Do not install the resources.
  • platform/audio/gtk/AudioBusGtk.cpp:

(WebCore::AudioBus::loadPlatformResource): Load the audio resource
from GResources and use createBusFromInMemoryAudioFile().

  • platform/graphics/Image.h: Remove unsued function loadPlatformThemeIcon.
  • platform/graphics/gtk/ImageGtk.cpp:

(WebCore::loadImageFromGResource): Load the given icon name from GResources.
(WebCore::loadResourceSharedBuffer): Use char* instead of CString.
(WebCore::loadMissingImageIconFromTheme): Try to load the missing
icon from the current GTK icon theme.
(WebCore::Image::loadPlatformResource): Call
loadMissingImageIconFromTheme for missing icon or
loadImageFromGResource for any other icon name.
(WebCore::getPathToImageResource): Deleted.
(WebCore::getThemeIconFileName): Deleted.
(WebCore::loadImageFromFile): Deleted.
(WebCore::Image::loadPlatformThemeIcon): Deleted.

Source/WebKit2:
It avoids conflicts with old WebKit versions, and resources are
always found even without installing or using environment variables.

  • PlatformGTK.cmake: Add rules to write the xml file with the

resources depending on the configure options and to generate and
build the GResources file.

Tools:

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.setup_environ_for_server): Removed now unneeded
AUDIO_RESOURCES_PATH env var.

May 14, 2014:

10:40 PM Changeset in webkit [168893] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

LayoutTests: Unreviewed EFL gardening. Unskip media test both EFL WK1 and WK2.
Crash doesn't happen anymore.

  • platform/efl/TestExpectations:
10:07 PM Changeset in webkit [168892] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Fix an unit test of ewk_context_url_scheme_register()
https://bugs.webkit.org/show_bug.cgi?id=132902

Reviewed by Anders Carlsson.

This test can be run when CUSTOM_PROTOCOL is enabled. Besides the test needs
to check if registered callback function works well.

  • UIProcess/API/efl/tests/test_ewk2_context.cpp:

(EWK2ContextTest::schemeRequestCallback):
(TEST_F):

9:20 PM Changeset in webkit [168891] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Use default context for ewk_view_add
https://bugs.webkit.org/show_bug.cgi?id=132936

Reviewed by Gyuyoung Kim.

Since r146265, ewk_view_add created new context and it's regression.
This patch restores the behavior of ewk_view_add to original one.

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_add):

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

9:08 PM Changeset in webkit [168890] by Beth Dakin
  • 7 edits in trunk/Source/WebCore

Tiled scrolling indicator needs to take topContentInset into account
https://bugs.webkit.org/show_bug.cgi?id=132940

Reviewed by Simon Fraser.

The tiled scrolling indicator needs to move down by the value of the
topContentInset. This patch makes that happen by caching the topContentInset in
the TileController. This does feel a little silly since there is already a
function called setTiledScrollingIndicatorPosition() on TiledBacking. However, it
was often the case that calling that function had no effect because m_coverageMap
had not yet been created, and then the information was lost. So instead, we cache
the value.

Set TiledBacking’s copy of topContentInset whenever it changes for the FrameView.

  • page/FrameView.cpp:

(WebCore::FrameView::topContentInsetDidChange):

New function to set the inset. Use the inset to position the coverage map.

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

(WebCore::TileController::TileController):
(WebCore::TileController::setTopContentInset):

When the coverage map is created, consult the value of the inset.

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

(WebCore::TileCoverageMap::TileCoverageMap):

Once the backing has been ensured, set the inset.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):

8:58 PM Changeset in webkit [168889] by mjs@apple.com
  • 2 edits in trunk/Source/WebKit2

Database Process crashes after loading html5test.com
https://bugs.webkit.org/show_bug.cgi?id=132938
<rdar://problem/16241419>

Reviewed by Ryosuke Niwa.

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess): Expand comment
about the null check.
(WebKit::DatabaseProcessIDBConnection::deleteDatabase): Call disconnectedFromWebProcess
to pick up its null check and to avoid duplicating code.

8:29 PM Changeset in webkit [168888] by matthew_hanson@apple.com
  • 6 edits in branches/safari-538.34-branch

Rollout r168821.

8:27 PM Changeset in webkit [168887] by matthew_hanson@apple.com
  • 7 edits
    3 deletes in branches/safari-538.34-branch

Rollout r168822.

8:24 PM Changeset in webkit [168886] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

Merge r1267628 from branch.
<rdar://problem/15751219>

Pratik Solanki <psolanki@apple.com>

Reviewed by Simon Fraser.",

TileController relied on the tiling mode in TileCache to determine if it should use low-res
tiles when zooming. Unfortunately, sometimes the tiling mode gets set to Zooming even though
it's actually a pan. Thus we can end up with blurry tiles. Fix this by adding a new flag on
TileCache that controls this behavior and have UIKit set it only when we have an actual zoom
operation.


  • platform/ios/LegacyTileCache.h:

(WebCore::LegacyTileCache::tileControllerShouldUseLowScaleTiles):
(WebCore::LegacyTileCache::setTileControllerShouldUseLowScaleTiles):

  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::LegacyTileCache):

  • platform/ios/wak/WAKWindow.h:
  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow setTileControllerShouldUseLowScaleTiles:]):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles):

8:23 PM Changeset in webkit [168885] by matthew_hanson@apple.com
  • 7 edits
    3 deletes in tags/Safari-538.34.40

Rollout r168822.

8:09 PM Changeset in webkit [168884] by matthew_hanson@apple.com
  • 6 edits in tags/Safari-538.34.40

Rollout r168821.

7:37 PM Changeset in webkit [168883] by commit-queue@webkit.org
  • 7 edits
    3 deletes in trunk

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

Caused repaint bugs (Requested by weinig on #webkit).

Reverted changeset:

"Text decorations do not contribute to visual overflow"
https://bugs.webkit.org/show_bug.cgi?id=132773
http://trac.webkit.org/changeset/168750

7:33 PM Changeset in webkit [168882] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

[New multicolumn] Spin in RenderMultiColumnSet::repaintFlowThreadContent()
https://bugs.webkit.org/show_bug.cgi?id=132884

Reviewed by Beth Dakin.

On iOS, wikipedia pages can hang under RenderMultiColumnSet::repaintFlowThreadContent().
It appears that computedColumnHeight is set to 0 in prepareForLayout, but layout never happens
on the RenderMultiColumnSet in some cases, leaving the column height set to zero.
This caused columnIndexAtOffset() to return bad values, which resulted in very long loops
in repaintFlowThreadContent().

This fix is a stop-gap.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::columnIndexAtOffset):

6:48 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
5:59 PM Changeset in webkit [168881] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-538.34.40/Source

Versioning.

5:32 PM Changeset in webkit [168880] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] The top/bottom edges should not be sticky when restoring the scroll position from the dynamic size update history
https://bugs.webkit.org/show_bug.cgi?id=132931

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-14
Reviewed by Sam Weinig.

The goal of dynamicSizeUpdateHistory is to make dynamic resize completely reversible.
Because of the stick-to-edges heuristics, this was not true near the top and bottom edges.

For example, start in landscape, scroll the page a bit, then rotate to portrait. Now you have
a lot more vertical space, and the top edge of the document is at the edge of the scrollview.
Rotate back to landscape: the position is restored correct, but it is then overriden by
the stick-to-edges branch.

When we restore the position from history, we should only put it back in the valid bounds, skipping
stick-to-edges entirely.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):

5:27 PM Changeset in webkit [168879] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove FrameView::viewportConstrainedExtentRect, it is unused
https://bugs.webkit.org/show_bug.cgi?id=132927

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

  • page/FrameView.cpp:

(WebCore::FrameView::viewportConstrainedExtentRect): Deleted.

  • page/FrameView.h:

Simon replaced this by viewportConstrainedVisibleContentRect, remove the old code.

5:26 PM Changeset in webkit [168878] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.40

New tag for Safari-538.34.40

5:26 PM Changeset in webkit [168877] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-538.34.40

Remove the Safari-538.34.40 and recreate from safari-538.34-branch

5:22 PM Changeset in webkit [168876] by matthew_hanson@apple.com
  • 7 edits in branches/safari-538.34-branch/Source

Merge r168859.

5:20 PM Changeset in webkit [168875] by matthew_hanson@apple.com
  • 4 edits in branches/safari-538.34-branch/Source/WebKit/mac

Merge r168847.

5:16 PM Changeset in webkit [168874] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Enable IOSurface view snapshots for 10.9+
https://bugs.webkit.org/show_bug.cgi?id=132932
<rdar://problem/16900619>

Reviewed by Dean Jackson.

  • UIProcess/mac/ViewSnapshotStore.h:

r166005 unintentionally worked around <rdar://problem/16734031>.
r168689 fixed another bug that caused sometimes randomly white snapshots.
It's safe to turn on IOSurface view snapshots where purgeability is supported.

5:13 PM Changeset in webkit [168873] by matthew_hanson@apple.com
  • 2 edits in trunk/Source/WebCore

Only define MAX_GRID_TRACK_REPETITIONS if CSS_GRID_LAYOUT is enabled.

This was causing -Wunused-const-variable errors.

  • css/CSSParser.cpp: Add include guard.
5:08 PM Changeset in webkit [168872] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Only define MAX_GRID_TRACK_REPETITIONS if CSS_GRID_LAYOUT is enabled.

This was causing -Wunused-const-variable errors.

  • css/CSSParser.cpp: Add include guard.
4:58 PM Changeset in webkit [168871] by Beth Dakin
  • 4 edits in trunk/Source/WebCore

Tile cache has way too many tiles when pinch-zoomed in
https://bugs.webkit.org/show_bug.cgi?id=132929
-and corresponding-
<rdar://problem/16527172>

Reviewed by Benjamin Poulain.

This patch makes the margin sizing functions return the set margin size scaled by
the TileGrid's scale. We also need to get rid of the old notion we used to have
that margin tiles might be allowed to have a different size than the other tiles.
We don't want that. They should have the normal margin size, but they should
affect the overall coverage area.

Scale by the TileGrid's scale.

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

(WebCore::TileController::topMarginHeight):
(WebCore::TileController::bottomMarginHeight):
(WebCore::TileController::leftMarginWidth):
(WebCore::TileController::rightMarginWidth):

Get rid of adjustRectAtTileIndexForMargin() since we do not want to ever do this
adjustment. Use tileSize instead of margin size for all sizing computations.

  • platform/graphics/ca/mac/TileGrid.h:
  • platform/graphics/ca/mac/TileGrid.mm:

(WebCore::TileGrid::rectForTileIndex):
(WebCore::TileGrid::getTileIndexRangeForRect):
(WebCore::TileGrid::adjustRectAtTileIndexForMargin): Deleted.

4:36 PM Changeset in webkit [168870] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Search fields should not use centered look
https://bugs.webkit.org/show_bug.cgi?id=132930
<rdar://problem/16825842>

Reviewed by Beth Dakin.

We need to explicitly set the centeredLook property
to NO on modern releases of Mac.

  • rendering/RenderThemeMac.mm: Declare a new private property and set it to NO.

(WebCore::RenderThemeMac::search):

4:20 PM Changeset in webkit [168869] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Use the correct client in WebPageProxy::unwrapCryptoKey
https://bugs.webkit.org/show_bug.cgi?id=132924

Reviewed by Darin Adler.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::unwrapCryptoKey): Match what

we now do in wrapCryptoKey().

4:13 PM Changeset in webkit [168868] by Alan Bujtas
  • 28 edits
    2 adds in trunk

Subpixel layout: Change Element.offset* client* scroll* return type to double.
https://bugs.webkit.org/show_bug.cgi?id=132895

Reviewed by Simon Fraser.

Source/WebCore:
This patch changes Element.offset*, Element.client* and Element.scroll* APIs return
type from long to double to match the latest CSSOM View Module spec[1].
Element.offset* and Element.client* do return subpixel values from now on.
Element.scroll* still return integral values as the scrolling code hasn't adopted to subpixel rendering yet.

subpixelCSSOMElementMetricsEnabled setting is added to be able to turn this feature on/off
from WK2 preferences. It toggles the return value from subpixel to floored integral.
It does not change layout/rendering behavior.

Reference list of what other browsers do:
IE: http://blogs.msdn.com/b/ie/archive/2012/02/17/sub-pixel-rendering-and-the-css-object-model.aspx
Blink: http://www.chromestatus.com/features/5497402177880064
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=825607

[1] http://www.w3.org/TR/2013/WD-cssom-view-20131217/

Test: cssom/subpixel-offsetleft-top-width-height-values.html

  • dom/Element.cpp:

(WebCore::localZoomForRenderer):
(WebCore::adjustForLocalZoom):
(WebCore::convertToNonSubpixelValueIfNeeded):
(WebCore::Element::offsetLeft):
(WebCore::Element::offsetTop):
(WebCore::Element::offsetWidth):
(WebCore::Element::offsetHeight):
(WebCore::Element::clientLeft):
(WebCore::Element::clientTop):
(WebCore::Element::clientWidth):
(WebCore::Element::clientHeight):
(WebCore::Element::scrollLeft):
(WebCore::Element::scrollTop):
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):
(WebCore::Element::scrollWidth):
(WebCore::Element::scrollHeight):

  • dom/Element.h:
  • dom/Element.idl:
  • html/HTMLBodyElement.cpp:

(WebCore::adjustForZoom):
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::setScrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
(WebCore::HTMLBodyElement::setScrollTop):
(WebCore::HTMLBodyElement::scrollHeight):
(WebCore::HTMLBodyElement::scrollWidth):

  • html/HTMLBodyElement.h:
  • page/Settings.in:

Source/WebKit2:
This patch changes Element.offset*, Element.client* and Element.scroll* APIs return
type from long to double to match the latest CSSOM View Module spec[1].
Element.offset* and Element.client* do return subpixel values from now on.
Element.scroll* still return integral values as the scrolling code hasn't adopted to subpixel rendering yet.

subpixelCSSOMElementMetricsEnabled setting is added to be able to turn this feature on/off
from WK2 preferences. It toggles the return value from subpixel to floored integral.
It does not change layout/rendering behavior.

Reference list of what other browsers do:
IE: http://blogs.msdn.com/b/ie/archive/2012/02/17/sub-pixel-rendering-and-the-css-object-model.aspx
Blink: http://www.chromestatus.com/features/5497402177880064
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=825607

[1] http://www.w3.org/TR/2013/WD-cssom-view-20131217/

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetSubpixelCSSOMElementMetricsEnabled):
(WKPreferencesGetSubpixelCSSOMElementMetricsEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:
Some test cases expect integral values, so the test content is updated accordingly.
It mostly means adding Math.round() before comparing values in order to match pixelSnappedIntRect()
functionality.

  • css3/calc/simple-calcs-prefixed.html: changed file format from Windows to Unix.
  • css3/calc/simple-calcs.html: changed file format from Windows to Unix.
  • cssom/subpixel-offsetleft-top-width-height-values-expected.txt: Added.
  • cssom/subpixel-offsetleft-top-width-height-values.html: Added.
  • editing/selection/drag-start-event-client-x-y.html: use floor as we compare the return value to a truncated integer.
  • editing/selection/mixed-editability-10.html:
  • fast/css/zoom-in-length-round-trip.html:
  • fast/dom/non-numeric-values-numeric-parameters-expected.txt:
  • fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
  • fast/forms/basic-buttons.html:
  • js/dom/dom-static-property-for-in-iteration-expected.txt:
  • platform/mac/fast/scrolling/scroll-div-latched-div.html:
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe.html:
  • platform/mac/fast/scrolling/scroll-select-bottom-test.html:
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe.html:
  • platform/mac/fast/scrolling/scroll-select-latched-select.html:
  • resources/check-layout.js:
3:56 PM Changeset in webkit [168867] by matthew_hanson@apple.com
  • 3 edits in branches/safari-538.34-branch/Source/WebKit2

Merge r168609.

3:55 PM Changeset in webkit [168866] by benjamin@webkit.org
  • 11 edits in trunk/Source/WebKit2

[iOS][WK2] Expose the viewport meta tag width on the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=132926
<rdar://problem/16892115>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-14
Reviewed by Sam Weinig.

Safari requires the viewport meta tag width for legacy stuff on WebApps. Just send it
over to the UIProcess when it changes.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _setViewportMetaTagWidth:]):
(-[WKWebView _viewportMetaTagWidth]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didChangeViewportMetaTagWidth):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::viewportMetaTagWidthDidChange):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::viewportPropertiesDidChange):

3:50 PM Changeset in webkit [168865] by commit-queue@webkit.org
  • 3 edits
    5 adds in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-14

  • platform/gtk/TestExpectations: Report and mark new tests failing.
  • platform/gtk/editing/apply-style-iframe-crash-expected.txt: Added.

Rebaseline after r168641.

  • platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.txt: Added.

Rebaseline after r168543.

  • platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.txt: Added.

Rebaseline after r168543.

  • platform/gtk/svg/hixie/mixed/010-expected.txt: Rebaseline after r168674.
  • platform/gtk/svg/zoom/page/zoom-svg-as-relative-image-expected.txt: Added.

Rebaseline after r168350.

  • platform/gtk/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.

Rebaseline after r168674.

3:39 PM Changeset in webkit [168864] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Make view debugging easier
https://bugs.webkit.org/show_bug.cgi?id=132892

Reviewed by Tim Horton.

Enhance -[WKCompositingView description] to show WebKit-related information
which is useful when dumping a window's UIView hierarchy.

Also have WKTransformView and WKRemoteView inherit from WKCompositingView,
and thereby get the hitTest:withEvent: override for free, as well as better dumping.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(-[WKCompositingView description]):
(-[WKTransformView hitTest:withEvent:]): Deleted.
(-[WKRemoteView hitTest:withEvent:]): Deleted.

3:22 PM Changeset in webkit [168863] by matthew_hanson@apple.com
  • 3 edits in tags/Safari-538.34.40/Source/WebKit2

Merge r168609.

3:09 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
2:13 PM Changeset in webkit [168862] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Fixed positioned element must relayout correctly before sending resize events to the page
https://bugs.webkit.org/show_bug.cgi?id=132920
<rdar://problem/16836866>

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

During the dynamic resize operation, we do not update the fixed position elements because
it is a very hard problem on the UI Process side.

When the animation finishes, the fixed positioned rect is recomputed on the UIProcess and pushed
to the WebProcess.

The problem is sending the rect after the animation is too late, the content can observe the fixed
elements layout through JavaScript and would get the old size.

This patch fixes the issue updating the CustomFixedPositionLayoutRect on the WebProcess before
notifying the content of the resize.
First, we layout the content to the new fixed layout size to get the new content size.
Then, we compute the new FixedPositionedLayoutRect with FrameView's viewportConstrainedObjectsRect(),
this use the real content size and our estimated unobscured content rect.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):

1:48 PM Changeset in webkit [168861] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Inline caching for proxies clobbers baseGPR too early
https://bugs.webkit.org/show_bug.cgi?id=132916

Reviewed by Filip Pizlo.

We clobber baseGPR prior to the Structure checks, so if any of the checks fail then the slow path
gets the target of the proxy rather than the proxy itself. We need to delay the clobbering of baseGPR
until we know the inline cache is going to succeed.

  • jit/Repatch.cpp:

(JSC::generateByIdStub):

1:17 PM Changeset in webkit [168860] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed build fix.

was missing commands to build LLInt portions of JSC.

  • llint/LLIntData.cpp: 64-bit build fix.
1:12 PM Changeset in webkit [168859] by beidson@apple.com
  • 7 edits in trunk/Source

Implement NSSharingServiceDelegate method "transitionImageForShareItem"
<rdar://problem/16878020> and https://bugs.webkit.org/show_bug.cgi?id=132911

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController sharingService:transitionImageForShareItem:contentRect:]):

  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::renderedImageForControlledImage): Paint the entire content rect for the controlled image

into an ImageBuffer, then return the resulting NSImage. This only paints the image itself and not any
overlapping content by setting the selection and appropriate painting mode.

1:11 PM Changeset in webkit [168858] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Another unreviewed build fix.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::getTimingData):
Added necessary UNUSED_PARAMs.

1:03 PM Changeset in webkit [168857] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r168849.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::getTimingData):
Protect use of timing data with ENABLE(WEB_TIMING).

12:14 PM Changeset in webkit [168856] by matthew_hanson@apple.com
  • 3 edits in tags/Safari-538.34.40/Source/WebKit2

Merge r168553.

12:13 PM Changeset in webkit [168855] by matthew_hanson@apple.com
  • 3 edits in branches/safari-538.34-branch/Source/WebKit2

Merge r168553.

12:00 PM Changeset in webkit [168854] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.34.5

New tag.

11:47 AM Changeset in webkit [168853] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Update versioning to 538.34.41

11:43 AM Changeset in webkit [168852] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.40

New tag Safari-538.34.40

11:40 AM Changeset in webkit [168851] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Update versioning to 538.34.40

11:32 AM Changeset in webkit [168850] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-538.34.5

Remove Tag.

11:28 AM Changeset in webkit [168849] by achristensen@apple.com
  • 5 edits in trunk/Source/WebCore

Refactor duplicate code in web timing.
https://bugs.webkit.org/show_bug.cgi?id=132917

Reviewed by Alexey Proskuryakov.

  • platform/network/ResourceHandle.h:

Added getTimingData declaration.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::getTimingData):

  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Moved duplicate code to ResourceHandle.

11:02 AM Changeset in webkit [168848] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION(WK2): Many pages have very wrong text size after rotating.
https://bugs.webkit.org/show_bug.cgi?id=132893
<rdar://problem/16806958>

Reviewed by Benjamin Poulain.

Whenever our viewport width changes we must reset text autosizing
on the renderer.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPage::setMinimumLayoutSizeForMinimalUI):
(WebKit::WebPage::resetTextAutosizingBeforeLayoutIfNeeded):
(WebKit::WebPage::dynamicViewportSizeUpdate):

11:02 AM Changeset in webkit [168847] by beidson@apple.com
  • 4 edits in trunk/Source/WebKit/mac

sourceFrameOnScreenForShareItem: can be off by a pixel
<rdar://problem/16878020> and https://bugs.webkit.org/show_bug.cgi?id=132911

Reviewed by Simon Fraser.

In a land of LayoutUnits and sub-pixel rendering, converting between IntRects and
FloatRects can be error prone. So we now try to minimize such conversions.

  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController sharingService:sourceFrameOnScreenForShareItem:]):

  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::clientFloatRectForNode): Split this into a separate utility method

as it will be shared with other code very soon. Instead of using absoluteBoundingBoxRect()
which does lossy float->int conversions, try to keep things in terms of FloatRects as
much as possible.

(WebContextMenuClient::screenRectForHitTestNode): Call clientFloatRectForNode to get the

FloatRect, then perform the lossy rounding conversion to an IntRect only once.

10:47 AM Changeset in webkit [168846] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

2014-05-14 Zalan Bujtas <Alan Bujtas>

Fix line ending style for the test.

  • editing/selection/drag-start-event-client-x-y.html:
10:44 AM Changeset in webkit [168845] by achristensen@apple.com
  • 15 edits in trunk/Source

Use references instead of pointers with ResourceLoadTiming.
https://bugs.webkit.org/show_bug.cgi?id=132846

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in:

Removed ResourceResponseBase::setResourceLoadTiming linker symbol.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForResourceResponse):

  • page/PerformanceResourceTiming.cpp:

(WebCore::PerformanceResourceTiming::domainLookupStart):
(WebCore::PerformanceResourceTiming::domainLookupEnd):
(WebCore::PerformanceResourceTiming::connectStart):
(WebCore::PerformanceResourceTiming::connectEnd):
(WebCore::PerformanceResourceTiming::secureConnectionStart):
(WebCore::PerformanceResourceTiming::requestStart):
Use references instead of pointers.

  • page/PerformanceResourceTiming.h:

Make an instance instead of a RefPtr.

  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::domainLookupStart):
(WebCore::PerformanceTiming::domainLookupEnd):
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::connectEnd):
(WebCore::PerformanceTiming::secureConnectionStart):
(WebCore::PerformanceTiming::requestStart):
(WebCore::PerformanceTiming::responseStart):
Check to see if the loader exists, then use ResourceLoadTiming reference.
(WebCore::PerformanceTiming::resourceLoadTiming): Deleted.

  • page/PerformanceTiming.h:

Removed resourceLoadTiming declaration.

  • platform/network/ResourceLoadTiming.h:

(WebCore::ResourceLoadTiming::ResourceLoadTiming):
(WebCore::ResourceLoadTiming::operator=):
Replaced reference counting with copy constructors.
(WebCore::ResourceLoadTiming::create): Deleted.
(WebCore::ResourceLoadTiming::deepCopy): Deleted.

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::adopt):
(WebCore::ResourceResponseBase::copyData):
(WebCore::ResourceResponseBase::resourceLoadTiming):
(WebCore::ResourceResponseBase::setResourceLoadTiming):
(WebCore::ResourceResponseBase::compare):

  • platform/network/ResourceResponseBase.h:
  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::didStartRequest):
(WebCore::networkEventCallback):
Use references instead of pointers.

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):
Use references instead of pointers and null checks.

10:29 AM Changeset in webkit [168844] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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

The patch added an assertion which fires on 6 tests (Requested
by ap on #webkit).

Reverted changeset:

"[CSS Regions] Add ASSERT to make sure using the flowThread
cache does not return incorrect results"
https://bugs.webkit.org/show_bug.cgi?id=132906
http://trac.webkit.org/changeset/168837

10:24 AM Changeset in webkit [168843] by jhoneycutt@apple.com
  • 34 edits
    7 deletes in trunk

Revert "Don't dispatch 'beforeload' event inside FrameView::layout()",
commit 84fe8cf6fbe8b5de9a06300ca3ef6d0ffc96948c, and associated
follow-up fixes:

"platform/mac/plugins/testplugin-onnew-onpaint.html failing after

r168668", commit c17be3bf5127baf94310af4b4b9bf5a57d29aaf4

"[Win] Unreviewed build fix after r168668.", commit

4fa470ad12c38ee7d4c114541b6dd321181a8bc9

The original merged patch appears to have caused a regression in
fast/dom/HTMLObjectElement/object-as-frame.html.

<https://bugs.webkit.org/show_bug.cgi?id=132886>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in:
  • dom/Document.cpp:

(WebCore::Document::updateLayoutIgnorePendingStylesheets):

  • dom/Document.h:
  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::renderWidgetForJSBindings):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderWidgetForJSBindings):

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired): Deleted.

  • page/FrameView.h:
  • testing/Internals.cpp:

(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

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

LayoutTests:

  • compositing/plugins/composited-plugin.html:
  • compositing/plugins/no-backing-store.html:
  • fast/dom/beforeload/flash-before-load.html:
  • fast/events/beforeload-assertion-expected.txt: Removed.
  • fast/events/beforeload-assertion.html: Removed.
  • fast/events/beforeload-iframe-crash-expected.txt: Removed.
  • fast/events/beforeload-iframe-crash.html: Removed.
  • fast/events/beforeload-input-time-crash-expected.txt: Removed.
  • fast/events/beforeload-input-time-crash.html: Removed.
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
  • http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:

(testImpl.iframe.onload):
(testImpl):

  • http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
  • platform/mac/plugins/supports-carbon-event-model.html:
  • platform/mac/plugins/testplugin-onnew-onpaint.html:
  • plugins/get-user-agent-with-null-npp-from-npp-new.html:
  • plugins/mouse-click-plugin-clears-selection.html:
  • plugins/netscape-plugin-map-data-to-src.html:
  • plugins/no-mime-with-valid-extension.html:
  • plugins/plugin-initiate-popup-window.html:
  • plugins/windowless_plugin_paint_test.html:
  • resources/plugin.js: Removed.
9:59 AM Changeset in webkit [168842] by commit-queue@webkit.org
  • 4 edits in trunk

alidation for getUserMedia() errorCallback is missing.
https://bugs.webkit.org/show_bug.cgi?id=132901

Patch by Kiran <kiran.guduru@samsung.com> on 2014-05-14
Reviewed by Darin Adler.

Source/WebCore:
The patch adds the validation for getUserMedia errorCallBack
and throws TypeMismatchError.

Test: fast/mediastream/getusermedia.html

  • Modules/mediastream/NavigatorUserMedia.cpp:

(WebCore::NavigatorUserMedia::webkitGetUserMedia):

LayoutTests:
This test checks for null values in getUserMedia errorCallback.

  • fast/mediastream/getusermedia.html:
9:57 AM Changeset in webkit [168841] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

ARM Traditional buildfix after r168776.
https://bugs.webkit.org/show_bug.cgi?id=132903

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-14
Reviewed by Darin Adler.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::abortWithReason): Added.

9:48 AM Changeset in webkit [168840] by ap@apple.com
  • 7 edits in trunk/LayoutTests

Change line endings of some test files to LF to make it easier to commit and test changes.

  • css3/calc/simple-calcs.html:
  • css3/calc/simple-minmax.html:
  • css3/calc/transforms-scale-expected.html:
  • css3/calc/transforms-scale.html:
  • css3/calc/transforms-translate-expected.html:
  • css3/calc/transforms-translate.html:
9:44 AM Changeset in webkit [168839] by commit-queue@webkit.org
  • 24 edits in trunk

Remove CSS_STICKY_POSITION guards
https://bugs.webkit.org/show_bug.cgi?id=132676

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-05-14
Reviewed by Simon Fraser.

.:

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

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EPosition):

  • css/CSSValueKeywords.in:
  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::convertPositionStyle):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:
9:41 AM Changeset in webkit [168838] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Fix line ending style for the test (as an experiment).

  • css3/calc/simple-calcs-prefixed.html:
8:38 AM Changeset in webkit [168837] by stavila@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSS Regions] Add ASSERT to make sure using the flowThread cache does not return incorrect results
https://bugs.webkit.org/show_bug.cgi?id=132906

Reviewed by Andrei Bucur.

If flowThreadContainingBlock() is called on an object which is in a different
flow thread than the one currently being laid out, this method will return an incorrect
result. I added an assertion for that to make sure we catch and treat any such scenarios.

No new tests required.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::locateFlowThreadContainingBlockNoCache):
(WebCore::RenderObject::locateFlowThreadContainingBlock):

  • rendering/RenderObject.h:
8:14 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
7:35 AM Changeset in webkit [168836] by abucur@adobe.com
  • 5 edits in trunk/Source/WebCore

[CSS Regions] Don't relayout when updating the region range unless necessary
https://bugs.webkit.org/show_bug.cgi?id=132120

Reviewed by Antti Koivisto.

The patch reduces the cases when a relayout is made for boxes that change the region range.
This lowers the amount of nested layouts in most cases and produces big layout speedups for trees
without overhanging floats.

Tests: Major performance improvement with speedups of 50-60% on:
Layout/RegionsAuto.html, Layout/RegionsAutoMaxHeight.html and Layout/RegionsFixed.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateRegionRangeForBoxChild): Ask the child box if it needs a relayout
in case its region range changes.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild): It's not necessary to do two layouts here because
there's no block direction position change between them for the child.
(WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange): If the block doesn't have floats
or if it expands to enclose the floats it doesn't need to relayout after a region range chage.
It's not possible for it to have a float inside overflow that must be repositioned using the new
range.

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBox.h:

(WebCore::RenderBox::needsLayoutAfterRegionRangeChange): By default don't relayout after a region
range change.

6:43 AM Changeset in webkit [168835] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

RuleData should ref the StyleRule
https://bugs.webkit.org/show_bug.cgi?id=132865

Reviewed by Andreas Kling.

As a defensive move make RuleData ref the StyleRule.
This adds some ref churn but the overall performance impact should be minimal.

  • css/RuleSet.h:

(WebCore::RuleData::rule):

5:48 AM Changeset in webkit [168834] by Carlos Garcia Campos
  • 3 edits
    1 copy
    1 add
    1 delete in trunk/Tools

REGRESSION(CMAKE): [GTK] InputMethodFilter unit test is not built
https://bugs.webkit.org/show_bug.cgi?id=132686

Reviewed by Philippe Normand.

Bring back InputMethodFilter test to the build and compile it into
a single binary TestWebCore with the other WebCore tests. Also
move it from TestWebKitAPI/gtk/ to TestWebKitAPI/Tests/WebCore/gtk/.

  • Scripts/run-gtk-tests:

(TestRunner): Remove WebCoreGtk from the list of test directories.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WebCore/gtk/InputMethodFilter.cpp: Renamed from Tools/TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp.
5:44 AM Changeset in webkit [168833] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] Make XVFBDriver optional
https://bugs.webkit.org/show_bug.cgi?id=131036

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-14
Reviewed by Gyuyoung Kim.

  • Scripts/webkitpy/port/efl.py:

(EflPort._driver_class):

2:52 AM Changeset in webkit [168832] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

2:50 AM Changeset in webkit [168831] by Lucas Forschler
  • 1 copy in tags/Safari-538.35

New Tag.

2:47 AM Changeset in webkit [168830] by Antti Koivisto
  • 4 edits in trunk/Source

Source/WebCore: GIF animations don't restart after scrolling on iOS WebKit1
https://bugs.webkit.org/show_bug.cgi?id=132900

Reviewed by Andreas Kling.

  • WebCore.exp.in:

Source/WebKit/mac: GIF animations don't restart after scrolling with iOS WebKit1
https://bugs.webkit.org/show_bug.cgi?id=132900
<rdar://problem/16490858>

Reviewed by Andreas Kling.

  • WebView/WebView.mm:

(-[WebView _didFinishScrollingOrZooming]):

Check if the animations need to be restarted after scrolling finishes.

2:46 AM Changeset in webkit [168829] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

2:44 AM Changeset in webkit [168828] by Lucas Forschler
  • 1 copy in tags/Safari-538.34.5

New Tag.

2:40 AM Changeset in webkit [168827] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168767.

2:38 AM Changeset in webkit [168826] by Lucas Forschler
  • 3 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168764.

2:34 AM Changeset in webkit [168825] by Lucas Forschler
  • 8 edits in branches/safari-538.34-branch/Source

Merge patch for <rdar://problem/16650338>.

2:08 AM Changeset in webkit [168824] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168758.

2:06 AM Changeset in webkit [168823] by Lucas Forschler
  • 6 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168755.

2:03 AM Changeset in webkit [168822] by Lucas Forschler
  • 7 edits
    3 copies in branches/safari-538.34-branch

Merged r168750.

1:57 AM Changeset in webkit [168821] by Lucas Forschler
  • 6 edits in branches/safari-538.34-branch

Merged r168599.

1:53 AM Changeset in webkit [168820] by Lucas Forschler
  • 12 edits in branches/safari-538.34-branch/Source

Merged r168744.

1:44 AM Changeset in webkit [168819] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168768.

1:40 AM Changeset in webkit [168818] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168724.

1:37 AM Changeset in webkit [168817] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168694.

1:35 AM Changeset in webkit [168816] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168691.

1:33 AM Changeset in webkit [168815] by Lucas Forschler
  • 7 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168690.

1:29 AM Changeset in webkit [168814] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168740.

1:15 AM Changeset in webkit [168813] by Lucas Forschler
  • 2 edits
    1 copy
    1 delete in branches/safari-538.34-branch/Source/WebKit2

Merged r168739.

1:13 AM Changeset in webkit [168812] by Lucas Forschler
  • 8 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168689.

1:11 AM Changeset in webkit [168811] by Lucas Forschler
  • 3 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168670.

1:08 AM Changeset in webkit [168810] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Merged r168661.

1:04 AM Changeset in webkit [168809] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168637.

1:02 AM Changeset in webkit [168808] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168629.

12:59 AM Changeset in webkit [168807] by Lucas Forschler
  • 9 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168655.

12:56 AM Changeset in webkit [168806] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168643.

12:54 AM Changeset in webkit [168805] by Lucas Forschler
  • 7 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168602.

12:50 AM Changeset in webkit [168804] by Lucas Forschler
  • 2 edits
    1 copy
    1 delete in branches/safari-538.34-branch/Source/WebKit2

Merged r168583.

12:45 AM Changeset in webkit [168803] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168572.

12:43 AM Changeset in webkit [168802] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168557.

12:41 AM Changeset in webkit [168801] by Lucas Forschler
  • 16 edits in branches/safari-538.34-branch/Source

Merged r168556.

12:36 AM Changeset in webkit [168800] by Lucas Forschler
  • 4 edits in branches/safari-538.34-branch/Source

Merged r168513.

12:26 AM Changeset in webkit [168799] by Lucas Forschler
  • 4 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168568.

12:23 AM Changeset in webkit [168798] by Lucas Forschler
  • 54 edits
    1 copy in branches/safari-538.34-branch/Source/WebKit2

Merged r168566.

12:18 AM Changeset in webkit [168797] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168563.

12:14 AM Changeset in webkit [168796] by Lucas Forschler
  • 8 edits in branches/safari-538.34-branch

Fix dates in ChangeLogs.

May 13, 2014:

11:45 PM Changeset in webkit [168795] by Lucas Forschler
  • 11 edits in branches/safari-538.34-branch

Merged r168555.

11:42 PM Changeset in webkit [168794] by Lucas Forschler
  • 3 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168536.

11:39 PM Changeset in webkit [168793] by Lucas Forschler
  • 6 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168519.

11:35 PM Changeset in webkit [168792] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168514.

11:33 PM Changeset in webkit [168791] by abucur@adobe.com
  • 8 edits
    2 adds in trunk

[CSS Regions] Assertion failure in some cases with inline blocks
https://bugs.webkit.org/show_bug.cgi?id=132859

Reviewed by Mihnea Ovidenie.

Source/WebCore:
The patch hardens the conditions when the region range caches are
populated to avoid desynchronizations when objects move during layout.
This is true especially in the case of the boxes found inside
inline blocks, that get their range from the containing line.

There is a new function |computedRegionRangeForBox| that will always
return a region range for a box using a best effort algorithm. This should
be used only when there's no need to cache region information.

This change also allows better control over the lifecycle of the
|RenderBoxRegionInfo| objects stored on the regions. We can now iterate
over the full range of the box when cleaning up the region box info. The
same applies for the width change detection function.

Test: fast/regions/inline-block-shifted-region.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::updateRegionForLine): Don't set the containing
region if the block doesn't have a range. The returned value would not
be correctly clamped.

  • rendering/RenderBox.cpp:

(WebCore::RenderBlock::hasRegionRangeInFlowThread):

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

(WebCore::RenderFlowThread::removeRenderBoxRegionInfo): Iterate only over
the range of the box, not from the start of the region chain.
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock): Same as
above.
(WebCore::RenderFlowThread::hasCachedRegionRangeForBox):
(WebCore::RenderFlowThread::getRegionRangeForBoxFromCachedInfo):
(WebCore::RenderFlowThread::getRegionRangeForBox):
(WebCore::RenderFlowThread::computedRegionRangeForBox): Best effort function
to determine the range of a box. It will always return something as long
as the flow thread has regions.
(WebCore::RenderFlowThread::objectShouldFragmentInFlowRegion): Use the new function
to determine the range.

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

(WebCore::RenderNamedFlowThread::absoluteQuadsForBox): Use the new function to determine
the range.

LayoutTests:
Test that moving lines with inline blocks doesn't cause an assertion.

  • fast/regions/inline-block-shifted-region-expected.txt: Added.
  • fast/regions/inline-block-shifted-region.html: Added.
11:32 PM Changeset in webkit [168790] by Lucas Forschler
  • 11 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168508.

11:24 PM Changeset in webkit [168789] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168489.

11:21 PM Changeset in webkit [168788] by Lucas Forschler
  • 4 edits in branches/safari-538.34-branch/Source/WebInspectorUI

Merged r168484.

11:20 PM Changeset in webkit [168787] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Add ewk_view_fixed_layout_size_set|get()
https://bugs.webkit.org/show_bug.cgi?id=132811

Reviewed by Christophe Dumez.

Some EFL applications need to set size of fixed layout when enabling fixed layout.
This APIs can pass ownership regarding the size of fixed layout to application side.

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_layout_fixed_size_set):
(ewk_view_layout_fixed_size_get):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

11:17 PM Changeset in webkit [168786] by Lucas Forschler
  • 6 edits in branches/safari-538.34-branch/Source

Merged r168473.

11:14 PM Changeset in webkit [168785] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Merged r168497.

11:12 PM Changeset in webkit [168784] by Lucas Forschler
  • 10 edits in branches/safari-538.34-branch/Source

Merged r168459.

10:56 PM Changeset in webkit [168783] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Flakiness dashboard contains outdated list of bots on builders.jsonp
https://bugs.webkit.org/show_bug.cgi?id=132874

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-13
Reviewed by Darin Adler.

  • TestResultServer/static-dashboards/builders.jsonp: Regenerate this

file by changing to the directory Tools/TestResultServer and executing
the script generate_builders_json.py

10:54 PM Changeset in webkit [168782] by Lucas Forschler
  • 7 edits in branches/safari-538.34-branch/Source

Merged r168452.

10:50 PM Changeset in webkit [168781] by Lucas Forschler
  • 7 edits in branches/safari-538.34-branch/Source

Merged r168447.

9:29 PM Changeset in webkit [168780] by fpizlo@apple.com
  • 5 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] DFG should not exit due to inadequate profiling coverage when it can trivially fill in the profiling coverage due to variable constant inference and the better prediction modeling of typed array GetByVals
https://bugs.webkit.org/show_bug.cgi?id=132896

Reviewed by Geoffrey Garen.

This is a slight win on SunSpider, but it's meant to ultimately help us on
embenchen/lua. We already do well on that benchmark but our convergence is slower than
I'd like.

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::refine):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

9:15 PM Changeset in webkit [168779] by Simon Fraser
  • 5 edits in trunk/Source

Fix "ASSERTION FAILED: m_representation == PlatformLayerRepresentation" with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=132899

Reviewed by Beth Dakin.

Source/WebCore:

Export some things

  • WebCore.exp.in:

Source/WebKit2:

The new InsetClipLayer and ContentShadowLayer members on scrolling nodes
need to be correctly encoded/decoded for UI-side compositing, and dumped
correctly.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):
(WebKit::RemoteScrollingTreeTextStream::dump):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

9:13 PM Changeset in webkit [168778] by hmuller@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Shapes] line height grows around polygon and incorrectly causes text to wrap to next line
https://bugs.webkit.org/show_bug.cgi?id=131622

Reviewed by Bem Jones-Bey.

Source/WebCore:
Corrected an earlier PolygonShape fix https://bugs.webkit.org/show_bug.cgi?id=132132
When the top or bottom of a layout line is coincident with a polygon edge vertex, we
only consider it an intersection if the edge extends into the line.

Test: fast/shapes/shape-outside-floats/shape-outside-edge-case.html

  • rendering/shapes/PolygonShape.cpp:

(WebCore::OffsetPolygonEdge::clippedEdgeXRange):

LayoutTests:

  • fast/shapes/shape-outside-floats/shape-outside-edge-case-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-edge-case.html: Added.
8:58 PM Changeset in webkit [168777] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

m_layerForOverhangAreas is sometimes not positioned correctly when topContentInset
has changed
https://bugs.webkit.org/show_bug.cgi?id=132898
-and corresponding-
<rdar://problem/16644710>

Reviewed by Anders Carlsson.

This function is called whenever the topContentInset changes, so use it as an
opportunity to ensure that m_layerForOverhangAreas has been positioned correctly.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameViewDidChangeSize):

Everyone gets an anchor point!
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

8:57 PM Changeset in webkit [168776] by fpizlo@apple.com
  • 26 edits
    1 add in trunk/Source/JavaScriptCore

JIT breakpoints should be more informative
https://bugs.webkit.org/show_bug.cgi?id=132882

Reviewed by Oliver Hunt.

Introduce the notion of an AbortReason, which is a nice enumeration of coded assertion
failure names. This means that all you need to figure out why the JIT SIGTRAP'd is to look
at that platform's abort reason register (r11 on X86-64 for example).

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/AbortReason.h: Added.
  • assembler/AbstractMacroAssembler.h:
  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::abortWithReason):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::abortWithReason):

  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::abortWithReason):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::abortWithReason):

  • dfg/DFGSlowPathGenerator.h:

(JSC::DFG::SlowPathGenerator::generate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::bail):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::compileMakeRope):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGThunks.cpp:

(JSC::DFG::osrEntryThunkGenerator):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::jitAssertIsInt32):
(JSC::AssemblyHelpers::jitAssertIsJSInt32):
(JSC::AssemblyHelpers::jitAssertIsJSNumber):
(JSC::AssemblyHelpers::jitAssertIsJSDouble):
(JSC::AssemblyHelpers::jitAssertIsCell):
(JSC::AssemblyHelpers::jitAssertTagsInPlace):
(JSC::AssemblyHelpers::jitAssertHasValidCallFrame):
(JSC::AssemblyHelpers::jitAssertIsNull):
(JSC::AssemblyHelpers::jitAssertArgumentCountSane):
(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::checkStackPointerAlignment):
(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo): Deleted.

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emitSlow_op_div):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTINativeCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::compileGetDirectOffset):
(JSC::JIT::addStructureTransitionCheck): Deleted.
(JSC::JIT::testPrototype): Deleted.

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::compileGetDirectOffset):

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterRestoration):

  • jit/Repatch.cpp:

(JSC::addStructureTransitionCheck):
(JSC::linkClosureCall):

  • jit/ThunkGenerators.cpp:

(JSC::emitPointerValidation):
(JSC::nativeForGenerator):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::generate):

8:43 PM Changeset in webkit [168775] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.34.4/Source/WebCore

Merged r168742.

8:39 PM Changeset in webkit [168774] by bshafiei@apple.com
  • 6 edits in tags/Safari-538.34.4/Source/WebCore

Merged r168728.

8:31 PM Changeset in webkit [168773] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.34.4/Source

Versioning.

8:28 PM Changeset in webkit [168772] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.34.4

New tag.

8:27 PM Changeset in webkit [168771] by bshafiei@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

8:13 PM Changeset in webkit [168770] by bshafiei@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168742.

8:11 PM Changeset in webkit [168769] by bshafiei@apple.com
  • 6 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168728.

6:09 PM Changeset in webkit [168768] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Another build fix.

Reviewed by Dan Bernstein.

  • Shared/API/Cocoa/WKFoundation.h:

Make sure to include Availability.h

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

Attempted build fix after https://bugs.webkit.org/show_bug.cgi?id=132891

  • page/PageDebuggable.cpp:
5:35 PM Changeset in webkit [168766] by dino@apple.com
  • 2 edits in trunk/Source/WebKit

Step 2 (of 2) fixing the Windows build. Add new setPageScaleFactor.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
5:28 PM Changeset in webkit [168765] by dino@apple.com
  • 2 edits in trunk/Source/WebKit

Step 1 of fixing the windows build. Remove setPageScaleFactor.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
5:21 PM Changeset in webkit [168764] by timothy@apple.com
  • 3 edits in trunk/Source/WebCore

Force developerExtrasEnabled when a remote Inspector client connects.

https://bugs.webkit.org/show_bug.cgi?id=132891

Reviewed by Joseph Pecoraro.

  • page/PageDebuggable.cpp:

(WebCore::PageDebuggable::PageDebuggable): Initialize m_forcedDeveloperExtrasEnabled to false.
(WebCore::PageDebuggable::connect): Set m_forcedDeveloperExtrasEnabled if the setting is changed.
(WebCore::PageDebuggable::disconnect): Switch developerExtrasEnabled back to false
if m_forcedDeveloperExtrasEnabled is true.

  • page/PageDebuggable.h: Added m_forcedDeveloperExtrasEnabled.
5:13 PM Changeset in webkit [168763] by Beth Dakin
  • 9 edits in trunk/Source

REGRESSION (topContentInset): Searching through Facebook Messenger's chat causes
scrolling in News Feed
https://bugs.webkit.org/show_bug.cgi?id=132889
-and corresponding-
<rdar://problem/16715716>

Reviewed by Simon Fraser.

Source/WebCore:
First of all, scrollOffsetRelativeToDocument() was very poorly named. This patch
re-names it to the much more accurate documentScrollOffsetRelativeToViewOrigin().
Re-naming it makes it clear that ONE call site was not getting the right offset.
That call site does not want to know the document’s position relative to the view
origin, but rather it wants to know the Document’s position relative to the
scrolling origin.

Export new name.

  • WebCore.exp.in:

Use newly re-named documentScrollPositionRelativeToViewOrigin().

  • page/FrameView.cpp:

(WebCore::FrameView::convertToRenderer):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::documentScrollOffsetRelativeToViewOrigin):
(WebCore::ScrollView::documentScrollPositionRelativeToViewOrigin):
(WebCore::ScrollView::documentScrollOffsetRelativeToScrollableAreaOrigin):
(WebCore::ScrollView::rootViewToContents):
(WebCore::ScrollView::windowToContents):
(WebCore::ScrollView::scrollOffsetRelativeToDocument): Deleted.
(WebCore::ScrollView::scrollPositionRelativeToDocument): Deleted.

  • platform/ScrollView.h:

THIS is the spot that needs the new function,
documentScrollOffsetRelativeToScrollableAreaOrigin()()

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollRectToVisible):

Source/WebKit2:
Re-name scrollOffsetRelativeToDocument() to
documentScrollPositionRelativeToViewOrigin().

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::rectsForTextMatches):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn):

5:10 PM Changeset in webkit [168762] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.75.15

New Tag.

5:09 PM Changeset in webkit [168761] by dino@apple.com
  • 8 edits in trunk/Source

[iOS] Page scale update messages for media controls should only fire at the end of zooming
https://bugs.webkit.org/show_bug.cgi?id=132857
<rdar://problem/16631009>

Reviewed by Simon Fraser.

As the user was zooming, the media controls that responded
to the page scale (and resized themselves) would do so
slightly out of sync with the screen refreshes, and it looked

Source/WebCore:
terrible. They really only need to get told at the end
of the zoom that they need to relayout.

Allow setPageScaleFactor to accept another parameter
that indicates if the change is stable. That way, changes
during a user triggers zoom gesture can be ignored for
media controls.

  • WebCore.exp.in: Page::setPageScaleFactor takes a new parameter.
  • dom/Document.cpp:

(WebCore::Document::pageScaleFactorChangedAndStable): Renamed from pageScaleFactorChanged.
(WebCore::Document::pageScaleFactorChanged): Deleted.

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

(WebCore::Page::setPageScaleFactor): Accepts a new inStableState parameter,
and tells the main frame that the scale factor has changed if it's stable.

  • page/Page.h:

Source/WebKit2:
terrible.

We already know if a pageScale change is happening inside
a gesture using the inStableState property of the visibleContentRectUpdateInfo.
Simply pass this along to WebCore::Page.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects): Pass inStableState onto the
WebCore::Page. Note that we have to send this message even if the
scale has not changed, since the last changing update might not have
been stable.

5:08 PM Changeset in webkit [168760] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-537.75.15

Remove trunk-based tag

5:07 PM Changeset in webkit [168759] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168445.

5:00 PM Changeset in webkit [168758] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r168755.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):

4:59 PM Changeset in webkit [168757] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168654.

4:56 PM Changeset in webkit [168756] by Lucas Forschler
  • 26 edits
    1 copy in branches/safari-538.34-branch/Source/JavaScriptCore

Merged r168443.

4:54 PM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
4:47 PM Changeset in webkit [168755] by eric.carlson@apple.com
  • 6 edits in trunk/Source/WebCore

[Mac] hasVideo should return true when video is ready to display
https://bugs.webkit.org/show_bug.cgi?id=132885

Reviewed by Jer Noble.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

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

(WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack): Don't change the

enabled state of the AVPlayerItemTrack during setup.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize

m_cachedIsReadyForDisplay.

(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Remove "enabled" KVO observers.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Observe "readyForDisplay"

change notifications.

(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoLayer): Remove for "readyForDisplay"

observer.

(WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): Return cached readyForDisplay

state instead of polling every time.

(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Call setHasVideo(true) if the

player layer is ready for display.

(WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks): Update logging.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::firstFrameAvailableDidChange): Cache readyForDisplay

state, call tracksChanged() if we haven't seen a video track yet.

(WebCore::MediaPlayerPrivateAVFoundationObjC::trackEnabledDidChange): New.
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive): Correct logging.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Remove old "enabled" listeners

before release tracks, add new ones to new tracks.

(WebCore::assetTrackMetadataKeyNames): Add "enabled" to the list of properties we require to

be loaded before announcing that metadata has loaded.

(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Observe

"readyForDisplay" and "enabled".

  • platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:

(WebCore::VideoTrackPrivateAVFObjC::resetPropertiesFromTrack): Don't change the

enabled state of the AVPlayerItemTrack during setup.

4:41 PM Changeset in webkit [168754] by Lucas Forschler
  • 15 edits
    2 copies in branches/safari-538.34-branch/Source

Merged r168442.

4:38 PM Changeset in webkit [168753] by Lucas Forschler
  • 9 edits in branches/safari-538.34-branch/Source

Merged r168439.

4:34 PM Changeset in webkit [168752] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit/mac

Merged r168438.

4:30 PM Changeset in webkit [168751] by Lucas Forschler
  • 3 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168441.

4:25 PM Changeset in webkit [168750] by mmaxfield@apple.com
  • 7 edits
    4 adds in trunk

Text decorations do not contribute to visual overflow https://bugs.webkit.org/show_bug.cgi?id=132773

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-05-13
Reviewed by Darin Adler.

Source/WebCore:
Tests: fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect.html

  • rendering/InlineTextBox.cpp:

(WebCore::textDecorationStrokeThickness): Refactor into a common function
(WebCore::wavyOffsetFromDecoration): Ditto
(WebCore::InlineTextBox::extendVerticalVisualOverflowForDecorations): Given
vertical overflow bounds, possibly extend those to include location of
decorations.
(WebCore::InlineTextBox::paintDecoration): Use refactored functions.

  • rendering/InlineTextBox.h: Function signature
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::setLogicalWidthForTextRun): Call extendVerticalVisualOverflowForDecorations()

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeAffectsVisualOverflow): Inspects shadows and text decorations
(WebCore::RenderStyle::changeRequiresLayout): Calls changeAffectsVisualOverflow()
(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline): Moved code from here
to changeAffectsVisualOverflow().

  • rendering/style/RenderStyle.h: Function signature

LayoutTests:
This test makes sure that repaint rects are extended to include text decorations that may
lie outside of the text layout rects. It compares text with an underline to text that has
had underline applied to it in a timer.

  • fast/css3-text/css3-text-decoration/repaint/resources/Litherum.svg: Added. This font has a

descent of 0 (so it will not intersect underlines)

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-expected.html: Added.

Apply the underline without any timeout

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect.html: Added.

Apply the underline with a timeout.

4:06 PM Changeset in webkit [168749] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

3:56 PM Changeset in webkit [168748] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.75.16

New Tag.

3:47 PM Changeset in webkit [168747] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebKit2

[iOS][WK2] When the secondary UIScrollView delegates respond to callbacks, delay the state change until both delegates have finished
https://bugs.webkit.org/show_bug.cgi?id=132849
<rdar://problem/16863716>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-13
Reviewed by Anders Carlsson.

When there are two delegates responding to UIScrollView changes, there was often an intermediate invalid
state forwarded to the UIProcess.

For example, on scroll, WKWebView would update the state based on the current obscured insets in response to
delegate callbacks.
After that update, Safari would modify the insets, thus updating the state again.
The first state changed by WKWebView is incomplete, and should never have been set.

This patch works around the issue by delaying visible update rect in those cases.

When the two delegates of WKScrollView respond to the same selector, WKScrollView invokes
[UIWebView _willInvokeUIScrollViewDelegateCallback] on entry, and
[UIWebView _didInvokeUIScrollViewDelegateCallback] on exit.

Between those two calls, WKWebView does not forward the new UI state to the WebProcess.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _willInvokeUIScrollViewDelegateCallback]):
(-[WKWebView _didInvokeUIScrollViewDelegateCallback]):
(-[WKWebView _updateVisibleContentRects]):

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

(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

  • UIProcess/ios/WKScrollView.h:
  • UIProcess/ios/WKScrollView.mm:

(-[WKScrollViewDelegateForwarder initWithInternalDelegate:externalDelegate:]):
(-[WKScrollViewDelegateForwarder forwardInvocation:]):
(-[WKScrollView setInternalDelegate:]):

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

[iOS][WK2] Remove the _extendedBackgroundExclusionInsets SPI
https://bugs.webkit.org/show_bug.cgi?id=132848
<rdar://problem/16875093>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-13
Reviewed by Darin Adler.

The SPI is no longer needed by Safari.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _updateScrollViewBackground]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _setObscuredInsets:]):
(-[WKWebView _endAnimatedResize]):
(updateTopAndBottomExtendedBackgroundExclusionIfNecessary): Deleted.
(-[WKWebView _setExtendedBackgroundExclusionInsets:]): Deleted.
(-[WKWebView _extendedBackgroundExclusionInsets]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
3:26 PM Changeset in webkit [168745] by Samuel White
  • 2 edits in trunk/Source/WebKit2

AX: Hit testing not accounting for top content inset.
https://bugs.webkit.org/show_bug.cgi?id=132876

Reviewed by Chris Fleizach.

Updated accessibilityHitTest: to account for top content inset when converting from screen coords to WebKit coords.

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

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

REGRESSION (WebKit2): Zooming to text field leaves it partially hidden by the form assistant.
https://bugs.webkit.org/show_bug.cgi?id=132879
<rdar://problem/16318049>

Reviewed by Benjamin Poulain.

Source/WebCore:
Adding some exports. The fix to setScrollPosition is to avoid clamping the scroll
position when using delegate scrolling.

  • WebCore.exp.in:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::setScrollPosition):

Source/WebKit2:
Adds the heuristics to zoom and scroll to ensure the element being focused
is fully visible and its text readable.

  • Shared/AssistedNodeInformation.cpp:

(WebKit::AssistedNodeInformation::encode):
(WebKit::AssistedNodeInformation::decode):

  • Shared/AssistedNodeInformation.h:

(WebKit::AssistedNodeInformation::AssistedNodeInformation):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _zoomToFocusRect:WebCore::selectionRect:WebCore::fontSize:minimumScale:maximumScale:allowUserScaling:forceScroll:]):
(-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):

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

(-[WKContentView _zoomToFocusRect:selectionRect:fontSize:minimumScale:maximumScale:allowUserScaling:forceScroll:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _displayFormNodeInputView]):
(-[WKContentView _startAssistingNode:userIsInteracting:userObject:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getAssistedNodeInformation):

2:51 PM Changeset in webkit [168743] by jhoneycutt@apple.com
  • 2 edits in trunk/LayoutTests

platform/mac/plugins/testplugin-onnew-onpaint.html failing after r168668
<https://bugs.webkit.org/show_bug.cgi?id=132877>

Reviewed by Brent Fulgham.

  • platform/mac/plugins/testplugin-onnew-onpaint.html:

Make the test wait until plug-ins have loaded before finishing.

2:45 PM Changeset in webkit [168742] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Followup to: Update positioning/drawing of the image controls button.
<rdar://problem/16885077> and https://bugs.webkit.org/show_bug.cgi?id=132883

Reviewed by Tim Horton.

Cleared up the actual intent behind review feedback on the original patch.

  • html/shadow/mac/ImageControlsButtonElementMac.cpp:

(WebCore::ImageControlsButtonElementMac::maybeCreate):

2:38 PM Changeset in webkit [168741] by fpizlo@apple.com
  • 10 edits in trunk/Websites/webkit.org

Updated the files to have the right width.

  • blog-files/ftl-jit/dfg_pipeline.png:
  • blog-files/ftl-jit/four_tier_performance.png:
  • blog-files/ftl-jit/ftl_asm_bench_performance.png:
  • blog-files/ftl-jit/ftl_pipeline.png:
  • blog-files/ftl-jit/ftl_timeline.png:
  • blog-files/ftl-jit/polymorphic_inlining_performance.png:
  • blog-files/ftl-jit/polyvariance.png:
  • blog-files/ftl-jit/polyvariant_devirtualization_performance.png:
  • blog-files/ftl-jit/three_tier_performance.png:
2:34 PM Changeset in webkit [168740] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Fix the iOS Simulator build.

  • UIProcess/mac/ViewSnapshotStore.h:
2:27 PM Changeset in webkit [168739] by timothy_horton@apple.com
  • 2 edits
    1 add
    1 delete in trunk/Source/WebKit2

Speculative build fix for iOS.

  • UIProcess/ios/WebMemoryPressureHandlerIOS.cpp: Removed.
  • UIProcess/ios/WebMemoryPressureHandlerIOS.mm: Added.

(WebKit::WebMemoryPressureHandler::shared):
(WebKit::WebMemoryPressureHandler::WebMemoryPressureHandler):

  • WebKit2.xcodeproj/project.pbxproj:

Make WebMemoryPressureHandlerIOS Obj-C.

2:21 PM Changeset in webkit [168738] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168550.

2:18 PM Changeset in webkit [168737] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168569.

2:17 PM Changeset in webkit [168736] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168552.

2:14 PM Changeset in webkit [168735] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Tools

Merged r168546.

2:12 PM Changeset in webkit [168734] by Lucas Forschler
  • 1 edit in branches/safari-538.34-branch/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationResponsePrivate.h

Rollout previous branch specific fix.

2:11 PM Changeset in webkit [168733] by fpizlo@apple.com
  • 1 edit
    12 adds in trunk/Websites/webkit.org

Add some illustrations about how JSC works.

  • blog-files/ftl-jit: Added.
  • blog-files/ftl-jit/dfg_pipeline.png: Added.
  • blog-files/ftl-jit/four_tier_performance.png: Added.
  • blog-files/ftl-jit/ftl_asm_bench_performance.png: Added.
  • blog-files/ftl-jit/ftl_pipeline.png: Added.
  • blog-files/ftl-jit/ftl_timeline.png: Added.
  • blog-files/ftl-jit/object_model.png: Added.
  • blog-files/ftl-jit/polymorphic_inlining_performance.png: Added.
  • blog-files/ftl-jit/polyvariance.png: Added.
  • blog-files/ftl-jit/polyvariant_devirtualization_performance.png: Added.
  • blog-files/ftl-jit/three_tier_performance.png: Added.
  • blog-files/ftl-jit/three_tiers.png: Added.
2:08 PM Changeset in webkit [168732] by rniwa@webkit.org
  • 3 edits in trunk/PerformanceTests

DYEBench should run 20 iterations in browser
https://bugs.webkit.org/show_bug.cgi?id=132795

Reviewed by Gavin Barraclough.

Right now, run-perf-tests runs BYEBench 4 times with different instances of DRT/WTR to get
a more stable time and account for differences in the runtime environment, particularly,
ASLR (Address Space Layout Randomization).

While we can't account for the latter effect when the benchmark is ran inside a browser,
we can at least run 20 iterations to get a more stable (but perhaps biased by ALSR) number.

While the sample size of 20 is statistically unsound to compute the arithmetic mean from,
it's MUCH better than the current sample size of 5.

  • DoYouEvenBench/Full.html:

(benchmarkClient.iterationCount): Set the default iteration count to 20.
(startTest): Use benchmarkClient.iterationCount as the iteration count.

  • DoYouEvenBench/resources/benchmark-report.js:

(benchmarkClient.iterationCount): Continue to use the old iteration count of 5 when ran
inside run-perf-tests.

2:07 PM Changeset in webkit [168731] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Tools

Merged r168545.

2:04 PM Changeset in webkit [168730] by Lucas Forschler
  • 236 edits
    9 copies
    1 delete in branches/safari-538.34-branch

Merged r168541.

1:57 PM Changeset in webkit [168729] by commit-queue@webkit.org
  • 14 edits in trunk/Source/JavaScriptCore

[Win] Enum type with value zero is compatible with void*, potential cause of crashes.
https://bugs.webkit.org/show_bug.cgi?id=132772

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-13
Reviewed by Geoffrey Garen.

Using the MSVC compiler, an instance of an enum type with value zero, is compatible with void* (see bug 132683 for a code example).
This has caused crashes on Windows on two occasions (bug 132683, and bug 121001).
This patch tries to prevent these type of crashes by using a type with explicit constructors instead of void*.
The void* parameter in the loadDouble and storeDouble methods are replaced with TrustedImmPtr.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::loadDouble):
(JSC::MacroAssemblerARM::storeDouble):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::loadDouble):
(JSC::MacroAssemblerARM64::storeDouble):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::loadDouble):
(JSC::MacroAssemblerARMv7::storeDouble):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::loadDouble):
(JSC::MacroAssemblerMIPS::storeDouble):

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::loadDouble):
(JSC::MacroAssemblerSH4::storeDouble):

  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::storeDouble):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::absDouble):
(JSC::MacroAssemblerX86Common::negateDouble):
(JSC::MacroAssemblerX86Common::loadDouble):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::compileClampDoubleToByte):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::purifyNaN):

  • jit/JITInlines.h:

(JSC::JIT::emitLoadDouble):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitFloatTypedArrayGetByVal):

  • jit/ThunkGenerators.cpp:

(JSC::floorThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::powThunkGenerator):

1:43 PM Changeset in webkit [168728] by beidson@apple.com
  • 6 edits in trunk/Source/WebCore

Update positioning/drawing of the image controls button.
<rdar://problem/16885077> and https://bugs.webkit.org/show_bug.cgi?id=132883

Reviewed by Tim Horton.

  • html/shadow/mac/ImageControlsButtonElementMac.cpp:

(WebCore::ImageControlsButtonElementMac::maybeCreate): Add inline style for top/right

positioning based on the metrics from the render theme.

  • html/shadow/mac/imageControlsMac.css:

(.x-webkit-image-controls-button): Can’t hard code any positioning.

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::imageControlsButtonPositionOffset):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::servicesRolloverButtonCell):
(WebCore::RenderThemeMac::imageControlsButtonPositionOffset):

12:32 PM Changeset in webkit [168727] by Gustavo Noronha Silva
  • 2 edits in releases/WebKitGTK/webkit-2.4

Merge 165473 - [GTK][CMAKE] Too verbose build output
https://bugs.webkit.org/show_bug.cgi?id=130076

Reviewed by Carlos Garcia Campos.

.:

  • Source/cmake/OptionsGTK.cmake: Generate a script which does the actual build. This

works around an issue where cmake --build doesn't support ninja's pretty printing.

Tools:

Instead of building with cmake --build which isn't smart about pretty printing and
colors, we build with a script which calls the proper build command.

  • Scripts/webkitdirs.pm:

(buildCMakeGeneratedProject): For GTK+ call the script that we generate during
the CMake configuration pass.

Conflicts:

ChangeLog
Tools/ChangeLog

12:32 PM Changeset in webkit [168726] by Simon Fraser
  • 8 edits in trunk/Source

[iOS WK2] background-attachment:fixed behaves very poorly
https://bugs.webkit.org/show_bug.cgi?id=132881
<rdar://problem/16789526>

Reviewed by Beth Dakin.

Source/WebCore:

Remove the old ENABLE_FAST_MOBILE_SCROLLING code, and add a setting that
controls whether fixed backgrounds paint relative to the document, which
is enabled for iOS (WK1 and WK2). This setting is consulted when we repaint
fixed backgrounds on scrolling, when we paint them, and when we decide to make
a layer for fixed backgrounds.

  • page/Settings.cpp:
  • page/Settings.in:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::willBeRemovedFromTree):
(WebCore::shouldRepaintFixedBackgroundsOnScroll): Deleted.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer):

Source/WTF:

Remove ENABLE_FAST_MOBILE_SCROLLING. Ports can use the fixedBackgroundsPaintRelativeToDocument
setting now.

  • wtf/FeatureDefines.h:
12:32 PM Changeset in webkit [168725] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Tools/Scripts/webkitdirs.pm

Merge 165457 - [GTK][CMake] --update-gtk has no effect
https://bugs.webkit.org/show_bug.cgi?id=130088

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2014-03-11
Reviewed by Philippe Normand.

  • Scripts/webkitdirs.pm:

(buildCMakeProjectOrExit): call update-webkitgtk-libs if --update-gtk has been passed
as an argument.

Conflicts:

Tools/ChangeLog

12:32 PM Changeset in webkit [168724] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Another follow-up build fix.

  • Shared/API/Cocoa/WKFoundation.h:
12:32 PM Changeset in webkit [168723] by Gustavo Noronha Silva
  • 3 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge 165452 - [GTK] The jhbuild environment should set CMAKE_PREFIX_PATH and CMAKE_LIBRARY_PATH
https://bugs.webkit.org/show_bug.cgi?id=130064

Reviewed by Philippe Normand.

  • efl/jhbuildrc: Remove duplicated code.
  • gtk/jhbuildrc: Remove duplicated code.
  • jhbuild/jhbuildrc_common.py:

(init): Move duplicated code from jhbuildrc's and extend setting CMake environment variables to
GTK+. We always set the CMAKE_LIBRARY_PATH, which should be harmless for EFL 32-bit systems.
and is apparently necessary for GTK+.

Conflicts:

Tools/ChangeLog

12:32 PM Changeset in webkit [168722] by Gustavo Noronha Silva
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source

Merge 165437 - [GTK][CMake] Add HARFBUZZ_INCLUDE_DIRS to WebKit and WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130070

Reviewed by Martin Robinson.

Source/WebKit:

  • PlatformGTK.cmake:

Source/WebKit2:

  • PlatformGTK.cmake:

Conflicts:

Source/WebKit/ChangeLog
Source/WebKit2/ChangeLog

12:31 PM Changeset in webkit [168721] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/PlatformGTK.cmake

Merge 165386 - [GTK][CMAKE] gtk-doc HTML documentation is generated by default when building with CMake
https://bugs.webkit.org/show_bug.cgi?id=130016

Reviewed by Carlos Garcia Campos.

  • Source/PlatformGTK.cmake: Add two gtkdoc targets, one which builds HTML and one which

doesn't. Add the non-HTML version to the default target, but not the HTML version. The
HTML version will still run when building the distribution tarball.

Conflicts:

ChangeLog

12:31 PM Changeset in webkit [168720] by Gustavo Noronha Silva
  • 4 edits in releases/WebKitGTK/webkit-2.4/Source

Merge 165378 - [GTK] [CMake] Clean up library linking
https://bugs.webkit.org/show_bug.cgi?id=129782

Reviewed by Philippe Normand.

.:

  • Source/cmake/OptionsGTK.cmake: Add a macro to wrap all libraries in a list with --whole-archive

so that unused symbols are not dropped. This is useful when building up shared libraries
from convenience libraries.

Source/WebCore:

  • PlatformGTK.cmake: Some files are duplicated on the source list of two convenience

libraries. Ensure that they are all compiled into WebCore instead of WebCorePlatformGTK.
Some simply need to be moved to WebCore from WebCorePlatformGTK. Don't try to link
WebCorePlatformGTK against WebCore -- convenience libraries should be able to save
their symbol resolution for the final linking step.

Source/WebKit:

  • PlatformGTK.cmake: Use the new macro.

Source/WebKit2:

  • PlatformGTK.cmake: Use the new macro.

Conflicts:

ChangeLog
Source/WebCore/ChangeLog
Source/WebKit/ChangeLog
Source/WebKit2/ChangeLog

12:31 PM Changeset in webkit [168719] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Tools/Scripts/webkitdirs.pm

Merge 165263 - [CMake] [GTK] Build with ninja when it is available
https://bugs.webkit.org/show_bug.cgi?id=129805

Reviewed by Philippe Normand.

  • Scripts/webkitdirs.pm:

(canUseNinja): Added this helper which tries to execute Ninja, in an effort to determine
if it's available on the system.
(cmakeGeneratedBuildfile): Return the path to the generated build file. Only Unix support ATM.
(generateBuildSystemFromCMakeProject): For GTK+ compile with Ninja when possible.

Conflicts:

Tools/ChangeLog

12:31 PM Changeset in webkit [168718] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/WebCore/CMakeLists.txt

Merge 165192 - [GTK][CMake] Fix the GTK+ CMake build
https://bugs.webkit.org/show_bug.cgi?id=129801

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-06
Reviewed by Martin Robinson.

Include missing files for CMake build

  • CMakeLists.txt: Add a missing references to DOMURLMediaStream

Conflicts:

Source/WebCore/ChangeLog

12:31 PM Changeset in webkit [168717] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Tools/gtk/make-dist.py

Merge 165174 - [GTK][CMake] Tarball is created with wrong tarball paths
https://bugs.webkit.org/show_bug.cgi?id=129496

Reviewed by Daniel Bates.

  • gtk/make-dist.py:

(Manifest.init): I inadvertently inverted the logic of these checks when
landing the original patch with some suggestions from the reviewer. With the
checks corrected, the tarball path is constructed properly.

Conflicts:

Tools/ChangeLog

12:30 PM Changeset in webkit [168716] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/cmake/OptionsCommon.cmake

Merge 165173 - [CMake] Ninja generator builds fail with "Argument list too long"
https://bugs.webkit.org/show_bug.cgi?id=129771

Reviewed by Daniel Bates.

  • Source/cmake/OptionsCommon.cmake: Work around a bug in the Ninja CMake generator,

by forcing the use of response files.

Conflicts:

ChangeLog

12:30 PM Changeset in webkit [168715] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/WebCore/PlatformGTK.cmake

Merge 165166 - [GTK][CMake] The GObject DOM bindings should always be built
https://bugs.webkit.org/show_bug.cgi?id=127963

Reviewed by Ryosuke Niwa.

  • PlatformGTK.cmake: Make compilation of the WebKitGTK+ GObject DOM bindings

unconditional, instead of conditional on the WebKit2 build.

Conflicts:

Source/WebCore/ChangeLog
Source/WebCore/PlatformGTK.cmake

12:30 PM Changeset in webkit [168714] by Gustavo Noronha Silva
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/cmake

Merge 165149 - [CMake] Use thin archives if building on Linux for non-shared-core debug builds
https://bugs.webkit.org/show_bug.cgi?id=108330

Reviewed by Martin Robinson.

In order to get non-shared debug builds, this patch applied T option for
thin archives to the flags passed to ar when cmake based ports build on linux.
In addition, applied u option which avoids adding a file twice.

  • Source/cmake/OptionsCommon.cmake: Moved archive options from OptionsGTK.cmake.
  • Source/cmake/OptionsEfl.cmake:

Removed error messages for non-shared-core debug builds.

  • Source/cmake/OptionsGTK.cmake: Moved archive options to OptionsCommon.cmake.

Conflicts:

ChangeLog
Source/cmake/OptionsCommon.cmake

12:30 PM Changeset in webkit [168713] by Gustavo Noronha Silva
  • 6 edits
    1 delete in releases/WebKitGTK/webkit-2.4

Merge 165114 - [GTK][CMake] Generate documentation for the DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=126211

Reviewed by Carlos Garcia Campos.

Source/WebCore:

  • PlatformGTK.cmake: Add some files to the GObjectDOMBindings build, so that the

doc generation succeeds. Have the GObjectDOMBindings_INSTALLED_HEADERS variable contain
all installed headers and use another variable for GIR generation. Create the configuration
file for the gtkdoc generation.

Source/WebKit:

  • PlatformGTK.cmake: The list of headers for GIR generation has a better name

now.

Source/WebKit2:

  • PlatformGTK.cmake: The list of headers for GIR generation has a better name now.

Tools:

  • gtk/GNUmakefile.am: No longer generation sections and SGML files in the makefile.
  • gtk/generate-gtkdoc: Call the code from webkitdom.py to generate sections and SGML files.
  • gtk/generate-webkitdom-doc-files: Removed.
  • gtk/webkitdom.py: Moved WebKit GObject DOM bindings doc generation code here, so

that it can be called by generate-gtkdoc.

Conflicts:

Source/WebCore/ChangeLog
Source/WebKit/ChangeLog
Source/WebKit2/ChangeLog
Tools/ChangeLog

12:29 PM Changeset in webkit [168712] by Gustavo Noronha Silva
  • 6 edits
    2 adds
    2 deletes in releases/WebKitGTK/webkit-2.4

Merge 165060 - [GTK] Simplify the GObject DOM bindings API break check into one step
https://bugs.webkit.org/show_bug.cgi?id=129571

Reviewed by Carlos Garcia Campos.

.:

  • Source/PlatformGTK.cmake: We don't need to run the API break check before gtkdoc generation.

Add the check to 'make check.'

Source/WebCore:

  • bindings/gobject/GNUmakefile.am: We no longer generate the webkitdom.symbols file in the

DerivedSources directory. All the logic is handled internally in the script now.

  • bindings/scripts/gobject-run-api-break-test: Removed.

Tools:

  • GNUmakefile.am: Add the API break check to 'make check.'
  • gtk/check-for-webkitdom-api-breaks: Added. A combination of the two removed scripts.
  • gtk/check-gdom-symbols: Removed.
  • gtk/webkitdom.py: Added.

(header_name_list_from_gtkdoc_config_file): Gets the names of all headers from the gtkdoc config file.
(get_all_webkitdom_symbol_files): Find the symbol files from the names.

Conflicts:

ChangeLog
Source/WebCore/ChangeLog
Tools/ChangeLog

12:29 PM Changeset in webkit [168711] by Gustavo Noronha Silva
  • 5 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge 164739 - [GTK] Reduplicate common.top_level_path in scripts
https://bugs.webkit.org/show_bug.cgi?id=129291

Reviewed by Philippe Normand.

Duplicate common.top_level_path and avoid polluting many scripts with awkward system
path manipulation and weird dependencies on the jhbuild infrastructure.

  • Scripts/run-gtk-tests: Use common again.

(TestRunner._setup_testing_environment): Ditto.

  • gtk/check-gdom-symbols: Ditto.
  • gtk/common.py:

(top_level_path): Re-add top_level_path..
(get_build_path): Use the builtin top_level_path again.

  • gtk/find-make-dist-errors: Use common again.

(get_missing_headers): Ditto.

  • gtk/generate-inspector-gresource-manifest.py: Ditto.

Conflicts:

Tools/ChangeLog

12:29 PM Changeset in webkit [168710] by Gustavo Noronha Silva
  • 3 edits in releases/WebKitGTK/webkit-2.4

Merge 164704 - [GTK] generate-gtkdoc can fail with WebKit1 or WebKit2 only builds
https://bugs.webkit.org/show_bug.cgi?id=129319

Patch by Martin Robinson <mrobinson@igalia.com> on 2014-02-26
Reviewed by Carlos Garcia Campos.

Source/WebKit/gtk:

  • GNUmakefile.am: Do not generate the documentation configuration file if the port

is disabled.

Source/WebKit2:

  • GNUmakefile.am: Do not generate the documentation configuration file if the port

is disabled.

Tools:

  • gtk/generate-gtkdoc:

(get_generator_for_config): Properly handle the situation where the pkgconfig file is missing.

Conflicts:

Source/WebKit/gtk/ChangeLog
Source/WebKit2/ChangeLog
Tools/ChangeLog

12:29 PM Changeset in webkit [168709] by Gustavo Noronha Silva
  • 10 edits in releases/WebKitGTK/webkit-2.4

Merge 164632 - [GTK] generate-gtkdoc should not generate documentation for source files for unbuilt source files
https://bugs.webkit.org/show_bug.cgi?id=128417

Reviewed by Carlos Garcia Campos.

.:

  • Source/cmake/OptionsGTK.cmake: Define the paths to the pkgconfig files here, so that they

may one day be used in the webkitdom config file generation.

Source/WebCore:

  • bindings/gobject/GNUmakefile.am: Generate a config file for webkitdom documentation generation.

Source/WebKit:

  • PlatformGTK.cmake: Correct the definition of WebKitGTK_ENUM_GENERATION_HEADERS and generate

a gtkdoc-webkitgtk.cfg file to be used by generate-gtkdoc.

Source/WebKit/gtk:

  • GNUmakefile.am: Generate a config file for generate-gtkdoc.

Source/WebKit2:

  • GNUmakefile.am: Generate a config file for generate-gtkdoc.
  • PlatformGTK.cmake: Ditto.

Tools:

  • gtk/GNUmakefile.am: Make the documentation process depend on the configuration files.
  • gtk/generate-gtkdoc: Switch from using hard-coded configurations to reading them from

a makefile. This allows accepting a header list from the build system, which can be used
to dynamically build a list of ignored files. We can ignore any source file that doesn't
have a corresponding header file on the header list.

  • gtk/gtkdoc.py: Now accept a headers parameter, which can be used instead of passing just

source directories to gtkdoc-scan.

Conflicts:

ChangeLog
Source/WebCore/ChangeLog
Source/WebKit/ChangeLog
Source/WebKit/gtk/ChangeLog
Source/WebKit2/ChangeLog
Tools/ChangeLog

12:28 PM Changeset in webkit [168708] by Gustavo Noronha Silva
  • 8 edits
    1 add
    1 delete in releases/WebKitGTK/webkit-2.4/Tools

Merge 164585 - Extract common parts from jhbuildrc files.
https://bugs.webkit.org/show_bug.cgi?id=125986

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-02-24
Reviewed by Csaba Osztrogonác.

Co-authored with Peter Szanka <h868064@stud.u-szeged.hu>.

  • Scripts/run-gtk-tests:

(TestRunner._setup_testing_environment):

  • efl/common.py: Removed.
  • efl/jhbuildrc:
  • gtk/check-gdom-symbols:
  • gtk/common.py:

(binary_build_path):
(get_build_path):

  • gtk/find-make-dist-errors:

(get_missing_headers):

  • gtk/generate-gtkdoc:

(get_webkit2_options):
(get_webkit1_options.src_path):
(get_webkit1_options):
(get_webkitdom_options.src_path):
(get_webkitdom_options):

  • gtk/generate-inspector-gresource-manifest.py:
  • gtk/jhbuildrc:
  • jhbuild/jhbuildrc_common.py: Added.

(script_path):
(top_level_path):
(init):

Conflicts:

Tools/ChangeLog

12:28 PM Changeset in webkit [168707] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Tools/gtk/generate-gtkdoc

Merge 164560 - [GTK] generate-gtkdoc should use argparse
https://bugs.webkit.org/show_bug.cgi?id=128418

Reviewed by Carlos Garcia Campos.

  • gtk/generate-gtkdoc: Get all arguments from argparse, pass then as parameters

to all functions, and guard the main routine with a name == main check.

Conflicts:

Tools/ChangeLog
Tools/Scripts/webkitdirs.pm

12:28 PM Changeset in webkit [168706] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Tools/Scripts/webkitdirs.pm

Merge 165111 - [GTK][CMake] build-webkit should rerun cmake if the Makefile is missing
https://bugs.webkit.org/show_bug.cgi?id=129380

Reviewed by Philippe Normand.

  • Scripts/webkitdirs.pm:

(generateBuildSystemFromCMakeProject): Check for the existence of the Makefile before
skipping CMake execution.

Conflicts:

Tools/ChangeLog

12:27 PM Changeset in webkit [168705] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/cmake/OptionsGTK.cmake

Merge 165058 - [GTK][CMake] ENABLE_NAVIGATOR_CONTENT_UTILS is mistakenly enabled for the CMake build
https://bugs.webkit.org/show_bug.cgi?id=129502

Reviewed by Carlos Garcia Campos.

  • Source/cmake/OptionsGTK.cmake: Disable the option for GTK+.

Conflicts:

ChangeLog

12:27 PM Changeset in webkit [168704] by Gustavo Noronha Silva
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source

Merge 164979 - [cmake] *Names.cpp file should be regenerated after touching StaticString.pm
https://bugs.webkit.org/show_bug.cgi?id=129031

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-03-03
Reviewed by Csaba Osztrogonác.

.:

  • Source/cmake/WebKitMacros.cmake: Added a call for make_names.pm dependencies in GENERATE_FONT_NAMES and GENERATE_DOM_NAMES macros.

Source/WebCore:

  • CMakeLists.txt: Added make_names.pl dependencies: bindings/scripts/Hasher.pm and bindings/scripts/StaticString.pm

Conflicts:

ChangeLog
Source/WebCore/ChangeLog

12:27 PM Changeset in webkit [168703] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/WebCore/CMakeLists.txt

Merge 164586 - [CMake] Get rid of "FIXME: The Blackberry port ..." from WebCore/CmakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=129152

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-02-24
Reviewed by Gyuyoung Kim.

  • CMakeLists.txt:

Conflicts:

Source/WebCore/ChangeLog

12:27 PM Changeset in webkit [168702] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Tools/DumpRenderTree/PlatformGTK.cmake

Merge 164559 - [GTK][CMake] Many plugin tests fail when running WebKit1 layout tests
https://bugs.webkit.org/show_bug.cgi?id=129191

Reviewed by Anders Carlsson.

  • DumpRenderTree/PlatformGTK.cmake: Properly specify the library build directory

for the GTK+ DumpRenderTree build. We could manually construct this path, but the
name of the directory is "lib" and not "libs". Instead we should use the CMake
variable specifically assigned to this task.

Conflicts:

Tools/ChangeLog

12:27 PM Changeset in webkit [168701] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/cmake/OptionsGTK.cmake

Merge 164257 - [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.

Conflicts:

ChangeLog

12:27 PM Changeset in webkit [168700] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/cmake/OptionsCommon.cmake

Merge 164090 - [GTK] [CMake] JavaScriptCore crashes in JSC::eval
https://bugs.webkit.org/show_bug.cgi?id=128434

Extend a fix for EFL to all ports that use GCC. Also include further fixes
that were applied only to the autotools build.

Reviewed by Gyuyoung Kim.

  • Source/cmake/OptionsCommon.cmake: Add -fno-omit-frame-pointer to all ports as well

as -fno-tree-dce, which is necessary for GTK+.

  • Source/cmake/OptionsEfl.cmake: The GCC flag additions are now in the common options file.

Conflicts:

ChangeLog

12:26 PM Changeset in webkit [168699] by Gustavo Noronha Silva
  • 4 edits
    1 add in releases/WebKitGTK/webkit-2.4

Merge 164076 - [GTK][CMake] Generate GObject DOM bindings .symbols files
https://bugs.webkit.org/show_bug.cgi?id=126210

Reviewed by Martin Robinson.

.:

  • Source/PlatformGTK.cmake: add checking DOM bindings API as a dependency

for documentation generation.

Source/WebCore:

No new tests. Build change only.

  • CMakeLists.txt: list Quota module files and IDLs even if the feature

is disabled, for GTK, since we rely on that for our DOM bindings.

  • PlatformGTK.cmake: add a new target to check for DOM symbols API by

running the new python script.

  • bindings/gobject/GNUmakefile.am: call the new python script instead

of using a custom rule.

Tools:

  • gtk/check-gdom-symbols: Added. Checks symbols compatibility.

(should_update_symbols_file):

Conflicts:

ChangeLog
Source/WebCore/ChangeLog
Tools/ChangeLog

12:26 PM Changeset in webkit [168698] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/WebCore/CMakeLists.txt

Merge 163379 - [CMAKE] Remove workaround for GCC 4.6
https://bugs.webkit.org/show_bug.cgi?id=128176

Reviewed by Csaba Osztrogonác.

Since r162126, WebKit requires at least 4.7.

  • CMakeLists.txt:

Conflicts:

Source/WebCore/ChangeLog

12:26 PM Changeset in webkit [168697] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/WTF/wtf/FeatureDefines.h

Merge 163339 - [GTK][CMake] Enable SUBPIXEL_LAYOUT in FeatureDefines.h like EFL does
https://bugs.webkit.org/show_bug.cgi?id=128136

Reviewed by Martin Robinson.

  • wtf/FeatureDefines.h: enable SUBPIXEL_LAYOUT if it's not set, for GTK+.

Conflicts:

Source/WTF/ChangeLog

12:26 PM Changeset in webkit [168696] by Gustavo Noronha Silva
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/WebCore/PlatformGTK.cmake

Merge 163240 - Unreviewed. Fixed GTK+ CMake build after r162922.

  • PlatformGTK.cmake: Removed SoupURIUtils.cpp from the

compilation.

Conflicts:

Source/WebCore/ChangeLog

12:25 PM Changeset in webkit [168695] by Gustavo Noronha Silva
  • 9 edits in releases/WebKitGTK/webkit-2.4

Merge 163155 - [GTK] [CMake] Add support for building against GTK+ 2
https://bugs.webkit.org/show_bug.cgi?id=127959

Reviewed by Anders Carlsson.

.:

  • Source/cmake/OptionsGTK.cmake: Add a new option to use GTK 2 and make a variable holding the

library API version. When using GTK 2 do not build WebKit 2.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Source/WebCore:

  • PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Source/WebKit:

  • PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Source/WebKit2:

  • PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

Tools:

  • DumpRenderTree/PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.
  • GtkLauncher/CMakeLists.txt: Ditto.
  • ImageDiff/PlatformGTK.cmake: Ditto.
  • TestWebKitAPI/Tests/WebKitGtk/CMakeLists.txt: Ditto.

Conflicts:

ChangeLog
Source/JavaScriptCore/ChangeLog
Source/WebCore/ChangeLog
Source/WebKit/ChangeLog
Source/WebKit2/ChangeLog
Tools/ChangeLog

12:25 PM Changeset in webkit [168694] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Another follow-up build fix.

  • Shared/API/Cocoa/WKFoundation.h:
12:25 PM Changeset in webkit [168693] by Gustavo Noronha Silva
  • 2 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge 163114 - [GTK] [CMake] Add a "make dist" target
https://bugs.webkit.org/show_bug.cgi?id=116378

Reviewed by Gustavo Noronha Silva.

.:

  • Source/PlatformGTK.cmake: A CMake support for executing the make-dist

script and then turning the tarfile into a LZMA compressed file.

Source/WebCore:

  • CMakeLists.txt: Don't build WebKitVersion.h for WebKitGTK+. We don't use it

and we don't want to distribute the dependency.

Tools:

Added a script that reads a manifest file an produces a tarball. Also add
the manifest.

  • gtk/make-dist.py: Added.
  • gtk/manifest.txt: Added.

Conflicts:

ChangeLog
Source/WebCore/ChangeLog
Tools/ChangeLog

12:25 PM Changeset in webkit [168692] by Gustavo Noronha Silva
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge 163032 - [GTK] [CMake] Fix the build after r162835
https://bugs.webkit.org/show_bug.cgi?id=127753

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Add support for using the prefix header (GCC / clang only for now)

when WebKit2_USE_PREFIX_HEADER is set to true.

  • PlatformGTK.cmake: Set WebKit2_USE_PREFIX_HEADER support and no longer process some message.in files.
  • WebKit2Prefix.h: Add support for the CMake GTK+ build.

Conflicts:

Source/WebKit2/ChangeLog

12:22 PM Changeset in webkit [168691] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Follow-up fix.

  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(-[WKNavigationAction _initWithNavigationActionData:WebKit::]):
(-[WKNavigationAction _isUserInitiated]):

12:20 PM Changeset in webkit [168690] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Add -[WKNavigationAction modifierFlags] and -[WKNavigationAction buttonNumber]
https://bugs.webkit.org/show_bug.cgi?id=132880
<rdar://problem/16901354>

Reviewed by Dan Bernstein.

  • Shared/API/Cocoa/WKFoundation.h:

Add typedef for older systems.

  • UIProcess/API/Cocoa/WKNavigationAction.h:

Add -[WKNavigationAction modifierFlags] and -[WKNavigationAction buttonNumber]

  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(toWKNavigationType):
This can be static now.

(toNSEventModifierFlags):
Helper to convert WebEvent::Modifiers to NSEventModifierFlags.

(toNSButtonNumber):
Helper to convert WebMouseEvent::Button to an AppKit button number.

(-[WKNavigationAction initWithNavigationActionData:WebKit::]):
New initializer that takes a NavigationActionData and fills in the relevant ivars from it.

(-[WKNavigationAction _isUserInitiated]):
Return the new ivar.

  • UIProcess/API/Cocoa/WKNavigationActionInternal.h:

Remove readwrite overrides.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
Use initWithNavigationActionData:

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::createNewPage):
Use initWithNavigationActionData:

11:11 AM Changeset in webkit [168689] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit2

WebKit2 View Gestures (Swipe): Encode snapshots as JPEG on some platforms
https://bugs.webkit.org/show_bug.cgi?id=127788
<rdar://problem/15928241>

Reviewed by Anders Carlsson.

Allow JPEG snapshots. Compression is done asynchronously.
Enable JPEG snapshots (for now) on all PLATFORM(MAC).
We'll switch back to IOSurface snapshots on 10.9+ after <rdar://problem/16734031> is resolved.

  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _takeViewSnapshot]):
Store the image size on the ViewSnapshot.
Move IOSurface-related code to ViewSnapshotStore.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
Adopt asLayerContents().

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::retrieveSnapshotForItem):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):
Adopt asLayerContents().
Put the snapshot on the right layer (the parent of the snapshot image layer);
if it's on the snapshot image layer itself, if there is no image, the shadow
is displayed on top of the white placeholder.
Only reset snapshot purgeability if we're using IOSurface snapshots.

  • UIProcess/mac/ViewSnapshotStore.h:

Add a bunch of macros to allow us to switch the snapshot backing store implementation.

  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshotStore::ViewSnapshotStore):
(WebKit::ViewSnapshotStore::~ViewSnapshotStore):
(WebKit::ViewSnapshotStore::recordSnapshot):
If takeViewSnapshot() fails, don't remove the existing snapshot.

(WebKit::createIOSurfaceFromImage):
(WebKit::compressImageAsJPEG):
(WebKit::ViewSnapshotStore::reduceSnapshotMemoryCost):
(WebKit::ViewSnapshotStore::didCompressSnapshot):
(WebKit::ViewSnapshot::clearImage):
(WebKit::ViewSnapshot::asLayerContents):
Asynchronously compress snapshots - if we're using JPEG snapshots - for a
very large memory win (~20-30x).

11:01 AM Changeset in webkit [168688] by commit-queue@webkit.org
  • 10 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening

Rebaseline affected tests after svg root element background repaint changes
introduced in r168674.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-05-13

  • platform/gtk/http/tests/misc/slow-loading-image-in-pattern-expected.txt:
  • platform/gtk/svg/custom/circle-move-invalidation-expected.txt:
  • platform/gtk/svg/custom/mouse-move-on-svg-container-expected.txt:
  • platform/gtk/svg/custom/mouse-move-on-svg-container-standalone-expected.txt:
  • platform/gtk/svg/custom/mouse-move-on-svg-root-expected.txt:
  • platform/gtk/svg/custom/mouse-move-on-svg-root-standalone-expected.txt:
  • platform/gtk/svg/custom/pattern-userSpaceOnUse-userToBaseTransform-expected.txt:
  • platform/gtk/svg/custom/svg-float-border-padding-expected.txt:
  • platform/gtk/svg/text/small-fonts-in-html5-expected.txt:
10:56 AM Changeset in webkit [168687] by Alan Bujtas
  • 3 edits
    2 adds in trunk

REGRESSSION(r168528) Subpixel rendering: Selection rect is not positioned properly when SVG text is selected.
https://bugs.webkit.org/show_bug.cgi?id=132868

Reviewed by Dirk Schulze.

Scale the selection rect. r168528 missed applying this final transform on the selection/painting rect.

Source/WebCore:
Test: svg/text/hidpi-text-selection-rect-position.html

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::selectionRectForTextFragment):

LayoutTests:

  • svg/text/hidpi-text-selection-rect-position-expected.html: Added.
  • svg/text/hidpi-text-selection-rect-position.html: Added.
10:30 AM Changeset in webkit [168686] by zoltan@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

[CSS Regions] Add basic tests for inset flows into regions
https://bugs.webkit.org/show_bug.cgi?id=132871

Reviewed by Mihnea Ovidenie.

  • fast/regions/shape-outside-floats/regions-shape-outside-floats-inset-expected.html: Added.
  • fast/regions/shape-outside-floats/regions-shape-outside-floats-inset.html: Added.
10:08 AM Changeset in webkit [168685] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

ASSERTION FAILED: leftCategory != CalcOther && rightCategory != CalcOther
in WebCore::CSSCalcBinaryOperation::createSimplified
https://bugs.webkit.org/show_bug.cgi?id=132870

Source/WebCore:
According to the standard, calc() should be able to handle angle, time
and frequency values as well: http://www.w3.org/TR/css3-values/#calc

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-13
Reviewed by Darin Adler.

Test: fast/css/calc-with-angle-time-frequency.html

  • css/CSSCalculationValue.cpp:

(WebCore::unitCategory):
(WebCore::CSSCalcPrimitiveValue::createCalcExpression):
(WebCore::CSSCalcPrimitiveValue::computeLengthPx):
(WebCore::CSSCalcPrimitiveValue::addSubtractResult):
(WebCore::CSSCalcPrimitiveValue::determineCategory):
(WebCore::CSSCalcBinaryOperation::primitiveType)

  • css/CSSCalculationValue.h: extending CalculationCategory
  • css/CSSParser.cpp:

(WebCore::CSSParser::validCalculationUnit):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::primitiveType):

LayoutTests:
Added test contains calc() expressions with angle, time and frequency values,
covering all the newly introduced unit types, each of which used to fail.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-13
Reviewed by Darin Adler.

  • fast/css/calc-with-angle-time-frequency-expected.txt: Added.
  • fast/css/calc-with-angle-time-frequency.html: Added.
9:26 AM Changeset in webkit [168684] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Try to fix the !ENABLE(ICONDATABASE) build

  • loader/icon/IconDatabase.h: Include WTFString.h.
8:34 AM Changeset in webkit [168683] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

REGRESSION(r167771): [GTK] Text fields and areas are rendered unthemed
https://bugs.webkit.org/show_bug.cgi?id=132864

Reviewed by Philippe Normand.

This is because the virtual methods changed the API in the parent,
and since we don't have the methods marked as override we didn't
noticed it. After using override keyword for all virtual methods
in the derived class another problem showed up, the ActiveListBox
selection methods were incorrectly named.

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::paintTextArea): Update to API changes in the
parent class.

  • platform/gtk/RenderThemeGtk.h: Mark all virtual methods as

override and the class as final.

  • platform/gtk/RenderThemeGtk2.cpp:

(WebCore::RenderThemeGtk::paintTextField): Update to API changes
in the parent class.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): Deleted.
(WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): Deleted.
(WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): Deleted.
(WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): Deleted.

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::RenderThemeGtk::paintTextField): Update to API changes
in the parent class.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): Deleted.
(WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): Deleted.
(WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): Deleted.
(WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): Deleted.

8:30 AM Changeset in webkit [168682] by commit-queue@webkit.org
  • 32 edits in trunk/LayoutTests

[EFL] Rebaseline after r168575
https://bugs.webkit.org/show_bug.cgi?id=132867

Unreviewed gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-05-13

  • platform/efl-wk2/fast/css/input-search-padding-expected.png:
  • platform/efl/fast/css/css1_forward_compatible_parsing-expected.txt:
  • platform/efl/fast/css/first-line-text-decoration-expected.txt:
  • platform/efl/fast/css/h1-in-section-elements-expected.png:
  • platform/efl/fast/css/h1-in-section-elements-expected.txt:
  • platform/efl/fast/css/input-search-padding-expected.txt:
  • platform/efl/fast/css/word-space-extra-expected.txt:
  • platform/efl/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/efl/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/efl/fast/forms/searchfield-heights-expected.txt:
  • platform/efl/fast/forms/textAreaLineHeight-expected.txt:
  • platform/efl/fast/inline/continuation-outlines-expected.txt:
  • platform/efl/fast/inline/outline-continuations-expected.txt:
  • platform/efl/fast/invalid/nestedh3s-expected.txt:
  • platform/efl/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/efl/fast/table/014-expected.txt:
  • platform/efl/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
  • platform/efl/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/efl/mathml/presentation/mo-stretch-expected.png:
  • platform/efl/mathml/presentation/mo-stretch-expected.txt:
  • platform/efl/scrollbars/custom-scrollbar-with-incomplete-style-expected.txt:
  • platform/efl/svg/hixie/error/012-expected.png:
  • platform/efl/svg/hixie/error/012-expected.txt:
  • platform/efl/svg/hixie/mixed/010-expected.txt:
  • platform/efl/svg/in-html/circle-expected.txt:
  • platform/efl/svg/wicd/rightsizing-grid-expected.txt:
  • platform/efl/svg/wicd/test-rightsizing-b-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug113235-1-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug113235-2-expected.txt:
  • platform/efl/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
  • platform/efl/tables/mozilla/other/wa_table_tr_align-expected.txt:
8:20 AM Changeset in webkit [168681] by calvaris@igalia.com
  • 4 edits in trunk/Source/WebCore

[GStreamer] Move toGstClockTime to utilities
https://bugs.webkit.org/show_bug.cgi?id=132702

Reviewed by Philippe Normand.

toGstClockTime should be in GStreamerUtilities and corrected typo
in getGstPlayFlag.

No new tests needed.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::getGstPlayFlag): Renamed from getGstPlaysFlag.
(WebCore::toGstClockTime): Moved from MediaPlayerPrivateGStreamer.
(WebCore::getGstPlaysFlag): Deleted.

  • platform/graphics/gstreamer/GStreamerUtilities.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering):
Corrected getGstPlayFlag typo.
(WebCore::toGstClockTime): Deleted.

7:44 AM Changeset in webkit [168680] by Darin Adler
  • 10 edits in trunk/Source

Make a few icon database improvements
https://bugs.webkit.org/show_bug.cgi?id=132812

Reviewed by Brady Eidson.

Source/WebCore:

  • WebCore.exp.in: Export more IconDatabase functions, since they are now called

by WebKit2 through pointers to a class marked final.

  • loader/icon/IconDatabase.cpp: Removed unneeded includes. Use override for

virtual functions.

  • loader/icon/IconDatabase.h: Removed unneeded includes. Marked the class final.

Use override for virtual functions. Use a public constructor instead of a create
function.

  • loader/icon/IconDatabaseBase.h: Removed unneeded includes.

Source/WebKit2:

  • UIProcess/API/C/WKIconDatabase.cpp:

(WKIconDatabaseCopyIconDataForPageURL): Moved the actual implementation of this
out of the bindings into the WebIconDatabase class.

  • UIProcess/API/C/WKIconDatabase.h: Fixed argument names that were inconsistent.
  • UIProcess/WebIconDatabase.cpp: Removed unneeded includes.

(WebKit::WebIconDatabase::create): Pass a reference instead of a pointer.
(WebKit::WebIconDatabase::WebIconDatabase): Take a reference instead of a pointer.
(WebKit::WebIconDatabase::invalidate): Use nullptr.
(WebKit::WebIconDatabase::setDatabasePath): Use make_unique.
(WebKit::WebIconDatabase::setIconDataForIconURL): Removed unneeded local variable.
(WebKit::WebIconDatabase::imageForPageURL): Use nullptr.
(WebKit::WebIconDatabase::nativeImageForPageURL): Ditto.
(WebKit::WebIconDatabase::didFinishURLImport): Use a modern for loop.
(WebKit::WebIconDatabase::iconDataForPageURL): Added. Moved this here from
WKIconDatabase.cpp, but also changed to use createWithoutCopying to avoid making
another copy of the data for each icon.

  • UIProcess/WebIconDatabase.h: Removed unneeded includes. Derive from

IconDatabaseClient privately. Use nullptr. Added iconDataForPageURL member
function. Use a reference for the constructor argument. Use override for
virtual functions. Use unique_ptr instead of OwnPtr.

6:56 AM Changeset in webkit [168679] by berto@igalia.com
  • 5 edits
    2 adds in trunk

[MediaStream] MediaStream.addTrack Should not check for active state.

Source/WebCore:
https://bugs.webkit.org/show_bug.cgi?id=132558

Patch by Kiran <kiran.guduru@samsung.com> on 2014-05-13
Reviewed by Eric Carlson.

MediaStream.addTrack method is checking for active state of a
MediaStream, but it should not check for active state while adding a Track.

Test: fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::addTrack):

LayoutTests:
Nhttps://bugs.webkit.org/show_bug.cgi?id=132558.

Patch by Kiran <kiran.guduru@samsung.com> on 2014-05-13
Reviewed by Eric Carlson.

MediaStream.addTrack method is checking for active state of a
MediaStream, but it should not check for active state while adding a Track

Removed check not to add tracks to ended stream:relative which forced tests to avoid this bug.

  • fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
  • fast/mediastream/MediaStream-add-remove-tracks.html:

New tests:

  • fast/mediastream/MediaStream-add-tracks-to-inactive-stream-expected.txt: Added.
  • fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html: Added.
6:11 AM Changeset in webkit [168678] by stavila@adobe.com
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Restore regionLayoutUpdated event in iOS7 inspector and remove regionOversetChanged
https://bugs.webkit.org/show_bug.cgi?id=132731

Reviewed by Joseph Pecoraro.

Added the regionLayoutUpdated event back into the inspector for compatibility with iOS 7
and removed regionOversetChanged from the iOS7 inspector as iOS 7 does not implement that event.

  • UserInterface/Models/ScriptTimelineRecord.js:
  • UserInterface/Protocol/CSSObserver.js:

(WebInspector.CSSObserver.prototype.regionLayoutUpdated):

  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-7.0.json:
3:21 AM Changeset in webkit [168677] by commit-queue@webkit.org
  • 44 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening

Rebaseline affected tests by changes to avoid increasing empty
LayoutRects introduced at r168575.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-05-13

  • platform/gtk/fast/css/css1_forward_compatible_parsing-expected.txt:
  • platform/gtk/fast/css/first-line-text-decoration-expected.txt:
  • platform/gtk/fast/css/h1-in-section-elements-expected.txt:
  • platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:
  • platform/gtk/fast/css/text-overflow-input-expected.txt:
  • platform/gtk/fast/css/word-space-extra-expected.txt:
  • platform/gtk/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/gtk/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/gtk/fast/forms/box-shadow-override-expected.txt:
  • platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
  • platform/gtk/fast/forms/fieldset-align-expected.txt:
  • platform/gtk/fast/forms/input-appearance-height-expected.txt:
  • platform/gtk/fast/forms/placeholder-position-expected.txt:
  • platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.txt:
  • platform/gtk/fast/forms/search-display-none-cancel-button-expected.txt:
  • platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt:
  • platform/gtk/fast/forms/textAreaLineHeight-expected.txt:
  • platform/gtk/fast/inline/continuation-outlines-expected.txt:
  • platform/gtk/fast/inline/continuation-outlines-with-layers-expected.txt:
  • platform/gtk/fast/inline/outline-continuations-expected.txt:
  • platform/gtk/fast/invalid/nestedh3s-expected.txt:
  • platform/gtk/fast/multicol/client-rects-expected.txt:
  • platform/gtk/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/gtk/fast/multicol/client-rects-spanners-expected.txt:
  • platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
  • platform/gtk/fast/multicol/span/span-margin-collapsing-expected.txt:
  • platform/gtk/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/gtk/fast/regions/repaint/repaint-regions-overflow-expected.txt:
  • platform/gtk/fast/repaint/search-field-cancel-expected.txt:
  • platform/gtk/fast/replaced/width100percent-searchfield-expected.txt:
  • platform/gtk/fast/table/014-expected.txt:
  • platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/gtk/mathml/presentation/mo-stretch-expected.txt:
  • platform/gtk/scrollbars/custom-scrollbar-with-incomplete-style-expected.txt:
  • platform/gtk/svg/custom/use-font-face-crash-expected.txt:
  • platform/gtk/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt:
  • platform/gtk/svg/wicd/rightsizing-grid-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug113235-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug113235-2-expected.txt:
  • platform/gtk/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
  • platform/gtk/tables/mozilla/other/wa_table_tr_align-expected.txt:
3:05 AM WebKitGTK/SpeedUpBuild edited by Diego Pino Garcia
(diff)

May 12, 2014:

11:41 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
11:40 PM Changeset in webkit [168676] by mark.lam@apple.com
  • 9 edits
    8 adds in trunk

WebKit2 on iOS needs to capture the main thread's floating point environment.
<https://webkit.org/b/132755>

Reviewed by Geoffrey Garen.

Source/WebCore:
For iOS, WorkerThread::workerThread() expects to be able to initialize the
worker thread's floating point environment to be the same as the one in the
main thread. The FP env of the main thread is expected to have been captured
in the mainThreadFEnv global. On WebKit2 for iOS, we neglected to initialize
mainThreadFEnv.

We now introduce a FloatingPointEnvironment class that will encapsulate the main
thread (aka "UIThread") fenv, and we'll call FloatingPointEnv::saveMainThreadEnvironment()
from ChildProcess::platformInitialize() to ensure that the FloatingPointEnvironment
singleton instance is initialized properly for WebKit2.

In the ChildProcess::platformInitialize(), we also need to initialize the ARMv7
FP env to support denormalized numbers. We'll do this before calling
saveMainThreadEnvironment().

Tests: fast/workers/worker-floating-point.html

js/floating-point-denormalized.html

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/ios/wak/FloatingPointEnvironment.cpp: Added.

(WebCore::FloatingPointEnvironment::env):
(WebCore::FloatingPointEnvironment::FloatingPointEnvironment):
(WebCore::FloatingPointEnvironment::enableDenormalSupport):
(WebCore::FloatingPointEnvironment::saveMainThreadEnvironment):
(WebCore::FloatingPointEnvironment::propagateMainThreadEnvironment):

  • platform/ios/wak/FloatingPointEnvironment.h: Added.
  • platform/ios/wak/WebCoreThread.h:
  • platform/ios/wak/WebCoreThread.mm:

(RunWebThread):
(StartWebThread):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::workerThread):

Source/WebKit2:

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::platformInitialize):

  • Call FloatingPointEnv::enableNeededFloatingPointModes() to initialize the ARMv7 FP env to support denormalized numbers.
  • Call FloatingPointEnv::saveMainThreadEnvironment() to capture the main thread fp env.

LayoutTests:

  • fast/workers/resources/worker-floating-point.js: Added.

(runTest1):
(doDiv):
(runTest2):

  • fast/workers/worker-floating-point-expected.txt: Added.
  • fast/workers/worker-floating-point.html: Added.
  • js/floating-point-denormalized-expected.txt: Added.
  • js/floating-point-denormalized.html: Added.
  • js/script-tests/floating-point-denormalized.js: Added.
11:38 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
11:14 PM Changeset in webkit [168675] by gyuyoung.kim@samsung.com
  • 2 edits
    3 adds in trunk/Source/WebKit2

[EFL][WK2] Fix ewk_view_navigation test in EWK2ViewTest
https://bugs.webkit.org/show_bug.cgi?id=132817

Reviewed by Dirk Schulze.

To load test html pages, call ewk_view_uri_set() instead of EWK2UnitTestServer.
Besides this patch adds test html page for ewk_view_navigation unit test.

  • UIProcess/API/efl/tests/resources/Page1.html: Added.
  • UIProcess/API/efl/tests/resources/Page2.html: Added.
  • UIProcess/API/efl/tests/resources/Page3.html: Added.
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

11:04 PM Changeset in webkit [168674] by krit@webkit.org
  • 22 edits
    6 adds in trunk

SVG root element accepts background color but fails to repaint it
https://bugs.webkit.org/show_bug.cgi?id=63153

Reviewed by Dean Jackson.

Source/WebCore:
This is back ported from Blink. Don't know the exact commit though.
The patch checks if the SVGSVGElement is an outermost root element.
If it is, mark the whole element for repaint.

Test: svg/custom/svg-root-background.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateHasBoxDecorations):
(WebCore::RenderBoxModelObject::updateFromStyle):

  • rendering/RenderBoxModelObject.h:
  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::RenderSVGRoot):
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::paintReplaced):
(WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):

This is a simple optimization by taking the necessary parts
from RenderReplaced and SVGRenderSupport.

  • rendering/svg/RenderSVGRoot.h:

LayoutTests:
Check that background color updates if the size of an outermost
root SVG element changes.

  • svg/custom/svg-root-background-expected.png: Added.
  • svg/custom/svg-root-background-expected.txt: Added.
  • svg/custom/svg-root-background.html: Added.
10:00 PM Changeset in webkit [168673] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

9:58 PM Changeset in webkit [168672] by Lucas Forschler
  • 1 copy in tags/Safari-538.34.3

New Tag.

9:53 PM Changeset in webkit [168671] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix after r168668.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add

missing export symbols.

9:32 PM Changeset in webkit [168670] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

[iOS] Fixed items are sometimes clipped after rubber-banding
https://bugs.webkit.org/show_bug.cgi?id=132851
<rdar://problem/16870790>

Reviewed by Benjamin Poulain.

On iOS fixed-position layers would get clipped to the document rect,
but with rubber-banding, we can now have a custom fixed postion rect
that extends outside the document rect.

Another issue was that we would un-composite fixed elements sometimes
when scrolling fast, again because they could fall outside of the document rect.

A final issue was that pinching could reveal parts of fixed elements that should
lie outside the viewport, rather than clipping the layers.

Fix by converting both call points to use viewportConstrainedVisibleContentRect()
rather than viewportConstrainedExtentRect(). On non-iOS platforms these are
the same, but on iOS viewportConstrainedVisibleContentRect() uses the
custom fixed position rect, which is the correct rect to intersect with.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForPosition):

8:19 PM Changeset in webkit [168669] by jpfau@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, fix mismatched test expectation.

  • webgl/many-contexts-expected.txt:
7:25 PM Changeset in webkit [168668] by jhoneycutt@apple.com
  • 31 edits
    7 adds in trunk

Don't dispatch 'beforeload' event inside FrameView::layout()

https://bugs.webkit.org/show_bug.cgi?id=132621
<rdar://problem/15661470>

This merges Blink revision 162073 with minor renaming and style
changes. From that commit:

Executing JavaScript code inside FrameView::layout() is problematic.
e.g. an assertion failure tested in fast/events/beforeload-assertion.html.
We should avoid it.

This CL makes 'beforeload' event dispatching for plugins and iframes asynchronous,
except plugin access from JavaScript code (HTMLPlugInElement::
renderWidgetForJSBindings).

Reviewed by Brent Fulgham.

Source/WebCore:
Tests: fast/events/beforeload-assertion.html

fast/events/beforeload-iframe-crash.html
fast/events/beforeload-input-time-crash.html

  • WebCore.exp.in:
  • dom/Document.cpp:

(WebCore::Document::updateLayoutIgnorePendingStylesheets):

  • dom/Document.h:
  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::renderWidgetForJSBindings):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderWidgetForJSBindings):

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired):
(WebCore::FrameView::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::performPostLayoutTasks):

  • page/FrameView.h:
  • testing/Internals.cpp:

(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • compositing/plugins/composited-plugin.html:
  • compositing/plugins/no-backing-store.html:
  • fast/dom/beforeload/flash-before-load.html:
  • fast/events/beforeload-assertion-expected.txt: Added.
  • fast/events/beforeload-assertion.html: Added.
  • fast/events/beforeload-iframe-crash-expected.txt: Added.
  • fast/events/beforeload-iframe-crash.html: Added.
  • fast/events/beforeload-input-time-crash-expected.txt: Added.
  • fast/events/beforeload-input-time-crash.html: Added.
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
  • http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:

(testImpl.iframe.onload):
(testImpl):

  • http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
  • platform/mac/plugins/supports-carbon-event-model.html:
  • plugins/get-user-agent-with-null-npp-from-npp-new.html:
  • plugins/mouse-click-plugin-clears-selection.html:
  • plugins/netscape-plugin-map-data-to-src.html:
  • plugins/no-mime-with-valid-extension.html:
  • plugins/plugin-initiate-popup-window.html:
  • plugins/windowless_plugin_paint_test.html:
  • resources/plugin.js: Added.

(runAfterPluginLoad):

6:29 PM Changeset in webkit [168667] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Adjust expected result for test added in r168666.

  • webgl/many-contexts-expected.txt:
6:07 PM Changeset in webkit [168666] by roger_fong@apple.com
  • 4 edits
    2 adds in trunk

Limit number of active graphics contexts per web process.
https://bugs.webkit.org/show_bug.cgi?id=132833.
<rdar://problem/16888459>

Reviewed by Dean Jackson.

Test: webgl/many-contexts.html

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/mac/GraphicsContext3DMac.mm: Limit number of active contexts to 16.

(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::~GraphicsContext3D):

  • webgl/many-contexts-expected.txt: Added.
  • webgl/many-contexts.html: Added.
5:32 PM Changeset in webkit [168665] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Build fix fix.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):

5:29 PM Changeset in webkit [168664] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

DataDetectorUI doesn't update with resize
https://bugs.webkit.org/show_bug.cgi?id=132830
<rdar://problem/16871179>

Reviewed by Simon Fraser.

  • editing/Editor.cpp:

(WebCore::Editor::scanSelectionForTelephoneNumbers): Add public, no-argument
version that can be called after layout changes.
(WebCore::Editor::didLayout): Reprocess telephone number data
since Ranges will have changed.

  • editing/Editor.h:
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::updateDataDetectorsForSelection): Added.

  • editing/FrameSelection.h:
  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks): Ask the FrameSelection to update the
Range information for selected phone numbers.

5:27 PM Changeset in webkit [168663] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, EFL build fix since r168625.

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformDefaultLocalStorageDirectory): Remove const keyword.

5:21 PM Changeset in webkit [168662] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix the iOS build.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):

5:14 PM Changeset in webkit [168661] by Simon Fraser
  • 5 edits in trunk/Source

[iOS WK2] Fuzzy tiles on some sites on loading
https://bugs.webkit.org/show_bug.cgi?id=132847
<rdar://problem/16816178>

Reviewed by Benjamin Poulain.

Source/WebCore:

Export WebCore::TileController::contentsScale() const

  • WebCore.exp.in:

Source/WebKit2:

PlatformCALayerRemoteTiledBacking overrode setContentsScale() but not contentsScale(),
causing us to early-return from GraphicsLayerCA::updateContentsScale() and leave the
scale wrong. Fix by overriding contentsScale() also.

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:

(WebKit::PlatformCALayerRemoteTiledBacking::contentsScale):

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
5:13 PM Changeset in webkit [168660] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Add debug dumping for ViewportConfiguration
https://bugs.webkit.org/show_bug.cgi?id=132843

Reviewed by Benjamin Poulain.

Add some TextStream-based dumping for ViewportConfiguration.

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::updateConfiguration):
(WebCore::ViewportConfigurationTextStream::ViewportConfigurationTextStream):
(WebCore::ViewportConfigurationTextStream::increaseIndent):
(WebCore::ViewportConfigurationTextStream::decreaseIndent):
(WebCore::dumpProperty):
(WebCore::ViewportConfigurationTextStream::writeIndent):
(WebCore::ViewportConfigurationTextStream::operator<<):
(WebCore::ViewportConfiguration::description):
(WebCore::ViewportConfiguration::dump):

  • page/ViewportConfiguration.h:
5:11 PM Changeset in webkit [168659] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168658.

5:05 PM Changeset in webkit [168658] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Followup to "Teach Editor to support more direct replacement of a Node"
<rdar://problem/16817952> and https://bugs.webkit.org/show_bug.cgi?id=132834

Pair programmed and pair reviewed by Brady Eidson and Darin Adler.

  • editing/mac/EditorMac.mm:

(WebCore::maybeCopyNodeAttributesToFragment):
(WebCore::Editor::replaceNodeFromPasteboard):

4:31 PM Changeset in webkit [168657] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

Triple-buffer RemoteLayerBackingStore
https://bugs.webkit.org/show_bug.cgi?id=132786
<rdar://problem/16877498>

Reviewed by Simon Fraser.

We need three buffers because we're currently unable to synchronize
with the render server to swap when they're not in use, so we were
throwing surfaces away far too frequently.

This hugely reduces time spent in IOSurface::create on various repaint benchmarks.

  • Shared/mac/RemoteLayerBackingStore.h:

(WebKit::RemoteLayerBackingStore::hasFrontBuffer):
(WebKit::RemoteLayerBackingStore::volatility): Deleted.

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::RemoteLayerBackingStore):
(WebKit::RemoteLayerBackingStore::clearBackingStore):
(WebKit::RemoteLayerBackingStore::encode):
(WebKit::RemoteLayerBackingStore::decode):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
(WebKit::RemoteLayerBackingStore::setBufferVolatility):
(WebKit::RemoteLayerBackingStore::Buffer::discard):
(WebKit::RemoteLayerBackingStore::setVolatility): Deleted.

  • Shared/mac/RemoteLayerBackingStoreCollection.mm:

(WebKit::RemoteLayerBackingStoreCollection::purgeabilityTimerFired):
Put the ShareableBitmap/IOSurface and a volatility bit in a Buffer struct.
Also factor out "throw away this buffer and put it in the pool" into Buffer::discard().
We keep a volatility bit because querying IOSurface purgeability is expensive,
and we have a guarantee that any changes will happen in the Web process
and go through this class (the lack of this guarantee in most cases is why I'm not
putting this bit in WebCore::IOSurface itself).

Make it so that each buffer's volatility can be adjusted individually
by setBufferVolatility(), and adopt in RemoteLayerBackingStoreCollection.

Add a third buffer, m_secondaryBackBuffer, which will swap with the back buffer
before swapping front and back if the back buffer (soon to be the front buffer)
is still in use by the render server. This means that we will almost never
have to throw away a surface because it's in use (and conversely never need
to make a new surface).

Adjust RemoteLayerBackingStoreCollection to make secondary back surfaces purgeable
more aggressively than others.

4:29 PM Changeset in webkit [168656] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit

Don't make a Frameworks symlink inside WebKitLegacy.framework
https://bugs.webkit.org/show_bug.cgi?id=132842
<rdar://problem/16886939>

Reviewed by Dan Bernstein.

  • WebKit.xcodeproj/project.pbxproj:
4:21 PM Changeset in webkit [168655] by Beth Dakin
  • 9 edits in trunk/Source/WebCore

Content shadow layer needs to move in sync with the content layer
https://bugs.webkit.org/show_bug.cgi?id=132841
-and corresponding-
<rdar://problem/16641115>

Reviewed by Simon Fraser.

Now that the root content layer moves a little bit (for y scroll positions between
0 and topContentInset), the shadow layer needs to move along with it since the
shadow layer should always have the same position as the root content layer.

Set the root state node’s shadow layer, and update the position whenever the root
content layer’s position is updated.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

Fetch the compositor’s layerForContentShadow().

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):

  • page/scrolling/ScrollingCoordinator.h:

Hook up the contentShadowLayer in the state node.

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setContentShadowLayer):

Hook it up in the ScrollingTreeNode as well. Move the layer whenever the m
_scrolledContentsLayer is moved.

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

The shadow layer needs an anchor point now that we are moving it around.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

4:17 PM Changeset in webkit [168654] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r165972): Can't type into text fields in Flash
https://bugs.webkit.org/show_bug.cgi?id=132840
<rdar://problem/16671969>

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm: (-[WKView inputContext]): Restore a function that

got accidentally lost when adding async text input code.

4:02 PM Changeset in webkit [168653] by Chris Fleizach
  • 8 edits in trunk/Source/WebKit2

AX: .js dialogs shown in unload while AX is running crash WebKit.
https://bugs.webkit.org/show_bug.cgi?id=123828

Reviewed by Anders Carlsson.

Utilize platform API to inform AX clients when the WebProcess will suspend and resume.
This allows us to avoid having special behavior for accessibility when the WebProcess needs
to wait on a reply.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForSyncReply):

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.cpp:

(IPC::Connection::willSendSyncMessage):
(IPC::Connection::didReceiveSyncReply):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
(WebKit::WebChromeClient::print):
(WebKit::WebChromeClient::exceededDatabaseQuota):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

4:01 PM Changeset in webkit [168652] by Lucas Forschler
  • 11 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168650.

3:57 PM Changeset in webkit [168651] by krit@webkit.org
  • 3 edits
    2 adds in trunk

<svg> with opacity and compositing double-applies its opacity
https://bugs.webkit.org/show_bug.cgi?id=116856

Reviewed by Simon Fraser.

Source/WebCore:
The opacity is applied by the compositor. However, all SVG elements
create transparency layers on their own to apply opacity. So did
SVGSVGElement.

Added a check if the current element has a compositing layer and skip
creating transparency layer if it has.

Test: svg/custom/composited-svg-with-opacity.html

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

LayoutTests:
Test that opacity is not applied twice for composited inline SVG.

  • svg/custom/composited-svg-with-opacity-expected.html: Added.
  • svg/custom/composited-svg-with-opacity.html: Added.
3:47 PM Changeset in webkit [168650] by beidson@apple.com
  • 11 edits in trunk/Source/WebCore

Teach Editor to support more direct replacement of a Node
<rdar://problem/16817952> and https://bugs.webkit.org/show_bug.cgi?id=132834

Reviewed by Enrica Casucci.

The new method "Editor::replaceNodeFromPasteboard" has the intent that the new DocumentFragment
from the pasteboard is as similar to the old Node as possible.

In practice, the new DocumentFragment:
1 - Can represent a single node that's missing various attributes the original Node had.
2 - Can be an unwanted fragment of arbitrary depth when the replacement happens inside Mail.app

This fixes both of these issues.

Add a MailBlockquoteHandling enum class for various Editor operations to pass through to the
ReplaceSelectionCommand:

  • editing/Editor.cpp:

(WebCore::Editor::handleTextEvent):
(WebCore::Editor::pasteAsFragment):
(WebCore::Editor::pasteWithPasteboard):
(WebCore::Editor::replaceSelectionWithFragment):

  • editing/Editor.h:
  • dom/TextEvent.cpp:

(WebCore::TextEvent::createForPlainTextPaste):
(WebCore::TextEvent::createForFragmentPaste):
(WebCore::TextEvent::TextEvent):

  • dom/TextEvent.h:

(WebCore::TextEvent::mailBlockquoteHandling):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
(WebCore::ReplaceSelectionCommand::doApply): Consider whether or not this particular Editor

operation was meant to give special consideration to Mail's Blockquotes.

  • editing/ReplaceSelectionCommand.h:
  • editing/efl/EditorEfl.cpp:

(WebCore::Editor::pasteWithPasteboard):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::pasteWithPasteboard):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::pasteWithPasteboard):
(WebCore::Editor::readSelectionFromPasteboard):
(WebCore::maybeCopyNodeAttributesToFragment): If the new DocumentFragment represents a single HTML node

with the same tag name is the original HTML node, copy over most attributes from the original node.

(WebCore::Editor::replaceNodeFromPasteboard): Create the fragment, run it through maybeCopyNodeAttributesToFragment.

  • WebCore.exp.in:
3:21 PM Changeset in webkit [168649] by commit-queue@webkit.org
  • 14 edits in trunk/Source/JavaScriptCore

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

Broke ARM build (Requested by jpfau on #webkit).

Reverted changeset:

"[Win] Enum type with value zero is compatible with void*,
potential cause of crashes."
https://bugs.webkit.org/show_bug.cgi?id=132772
http://trac.webkit.org/changeset/168642

3:19 PM Changeset in webkit [168648] by Brent Fulgham
  • 2 edits in trunk/Source/WebInspectorUI

[Win] Correct Cygwin Path Confusion in WebInspectorUI Build
https://bugs.webkit.org/show_bug.cgi?id=132826

Reviewed by Joseph Pecoraro.

  • Scripts/copy-user-interface-resources.pl: If the build is running

under Cygwin, be sure to use '/usr/bin/python', instead of just
'python' to avoid build errors.

2:38 PM Changeset in webkit [168647] by achristensen@apple.com
  • 25 edits
    1 delete in trunk/Source

Progress on web timing.
https://bugs.webkit.org/show_bug.cgi?id=132574

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • CMakeLists.txt:

Removed ResourceLoadTiming.cpp.

  • WebCore.exp.in:

Added linker symbols for ResourceLoadTiming.

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

Removed ResourceLoadTiming.cpp.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForTiming):

  • inspector/protocol/Network.json:

Updated ResourceTiming structure.

  • loader/DocumentLoadTiming.cpp:

(WebCore::DocumentLoadTiming::setNavigationStart):

  • loader/DocumentLoadTiming.h: Deleted unused setNavigationStart function.
  • page/Performance.idl:

Updated spec URL.

  • page/PerformanceResourceTiming.cpp:

(WebCore::PerformanceResourceTiming::domainLookupStart):
(WebCore::PerformanceResourceTiming::domainLookupEnd):
(WebCore::PerformanceResourceTiming::connectStart):
(WebCore::PerformanceResourceTiming::secureConnectionStart):
(WebCore::PerformanceResourceTiming::responseEnd):
Updated ResourceLoadTiming member variable names.
(WebCore::PerformanceResourceTiming::responseStart):

  • page/PerformanceResourceTiming.h:
  • page/PerformanceResourceTiming.idl:

Deleted responseStart because it is not in the spec.

  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::domainLookupStart):
(WebCore::PerformanceTiming::domainLookupEnd):
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::secureConnectionStart):
(WebCore::PerformanceTiming::requestStart):
(WebCore::PerformanceTiming::responseStart):
Updated ResourceLoadTiming member variable names.
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
Use navigationStart as base for resource load times.

  • page/PerformanceTiming.idl:

Updated spec URL.

  • platform/network/HTTPParsers.h:

Removed unused class declarations.

  • platform/network/ResourceHandle.h:

Moved soup request time from ResourceLoadTiming to ResourceHandle.

  • platform/network/ResourceLoadTiming.cpp: Removed.
  • platform/network/ResourceLoadTiming.h:

(WebCore::ResourceLoadTiming::deepCopy):
(WebCore::ResourceLoadTiming::operator==):
(WebCore::ResourceLoadTiming::ResourceLoadTiming):
Updated ResourceLoadTiming member variable names.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::createNSURLConnection):
Collect timing data.

  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Save timing data to a ResourceLoadTiming on the ResourceResponse.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::gotHeadersCallback):
(WebCore::restartedCallback):
(WebCore::milisecondsSinceRequest):
(WebCore::ResourceHandle::didStartRequest):
(WebCore::networkEventCallback):
(WebCore::createSoupMessageForHandleAndRequest):
(WebCore::ResourceHandle::sendPendingRequest):
Updated ResourceLoadTiming member variable names.
(WebCore::wroteBodyCallback): Deleted.

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):
Transfer ResourceLoadTiming values if they exist.

2:34 PM Changeset in webkit [168646] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Expose WebPage::usesEphemeralSession to the bundle
https://bugs.webkit.org/show_bug.cgi?id=132836

Reviewed by Anders Carlsson.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _usesNonPersistentWebsiteDataStore]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
2:18 PM Changeset in webkit [168645] by krit@webkit.org
  • 10 edits
    16 adds in trunk

SVG outline property is broken and inefficient
https://bugs.webkit.org/show_bug.cgi?id=113666

Reviewed by Dean Jackson.

Source/WebCore:
"[SVG2] css 'outline' property should apply to svg elements

The 'outline' property was only partially working in SVG before
this patch, this makes it work on text and text content child
elements too.

This makes SVG render the outlines as part of the foreground paint
phase.

Partly based on Florin Malita's webkit patch https://bugs.webkit.org/show_bug.cgi?id=113666#c12."

Tests: svg/custom/outline-stacking-expected.svg

svg/custom/outline-stacking.svg
svg/custom/rgba-color-outline.svg
svg/text/text-outline-expected.svg
svg/text/text-outline-rgba.html
svg/text/text-outline.html
svg/text/textpath-outline-expected.svg
svg/text/textpath-outline.svg
svg/text/tspan-multiple-outline.svg
svg/text/tspan-outline-2-expected.svg
svg/text/tspan-outline-2.svg
svg/text/tspan-outline-expected.svg
svg/text/tspan-outline.html

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::paint): Draw outline in forground

paint phase.

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::paint): Draw outline in forground

paint phase.

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced): Pass paint offset.

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::paint): Draw outline in forground

paint phase.

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::paint): Draw outline in forground

paint phase.

  • rendering/svg/SVGInlineFlowBox.cpp:

(WebCore::SVGInlineFlowBox::paint): Pass paint offset.

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paint): Draw outline in forground

paint phase.

  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::paint): Pass paint offset.

LayoutTests:
Test stacking for outline properties. 'outline' should
not draw above overlapping content anymore.
Test outline drawing for text elements.

  • svg/custom/outline-stacking-expected.svg: Added.
  • svg/custom/outline-stacking.svg: Added.
  • svg/custom/rgba-color-outline-expected.html: Added.
  • svg/custom/rgba-color-outline.svg: Added.
  • svg/text/text-outline-expected.svg: Added.
  • svg/text/text-outline-rgba-expected.html: Added.
  • svg/text/text-outline-rgba.html: Added.
  • svg/text/text-outline.html: Added.
  • svg/text/textpath-outline-expected.svg: Added.
  • svg/text/textpath-outline.svg: Added.
  • svg/text/tspan-multiple-outline-expected.html: Added.
  • svg/text/tspan-multiple-outline.svg: Added.
  • svg/text/tspan-outline-2-expected.svg: Added.
  • svg/text/tspan-outline-2.svg: Added.
  • svg/text/tspan-outline-expected.svg: Added.
  • svg/text/tspan-outline.html: Added.
2:07 PM Changeset in webkit [168644] by Lucas Forschler
  • 19 edits in branches/safari-538.34-branch/Source

Merged r168565.

2:06 PM Changeset in webkit [168643] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Layer for bottom overhang area needs to be offset by the topContentInset
https://bugs.webkit.org/show_bug.cgi?id=132835
-and corresponding-
<rdar://problem/16641115>

Reviewed by Simon Fraser.

Push this layer down by the topContentInset in addition to the root layer height,
footer height, and header height.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):

1:42 PM Changeset in webkit [168642] by commit-queue@webkit.org
  • 14 edits in trunk/Source/JavaScriptCore

[Win] Enum type with value zero is compatible with void*, potential cause of crashes.
https://bugs.webkit.org/show_bug.cgi?id=132772

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-12
Reviewed by Geoffrey Garen.

Using the MSVC compiler, an instance of an enum type with value zero, is compatible with void* (see bug 132683 for a code example).
This has caused crashes on Windows on two occasions (bug 132683, and bug 121001).
This patch tries to prevent these type of crashes by using a type with explicit constructors instead of void*.
The void* parameter in the loadDouble and storeDouble methods are replaced with TrustedImmPtr.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::loadDouble):
(JSC::MacroAssemblerARM::storeDouble):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::loadDouble):
(JSC::MacroAssemblerARM64::storeDouble):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::loadDouble):
(JSC::MacroAssemblerARMv7::storeDouble):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::loadDouble):
(JSC::MacroAssemblerMIPS::storeDouble):

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::loadDouble):
(JSC::MacroAssemblerSH4::storeDouble):

  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::storeDouble):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::absDouble):
(JSC::MacroAssemblerX86Common::negateDouble):
(JSC::MacroAssemblerX86Common::loadDouble):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::compileClampDoubleToByte):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::purifyNaN):

  • jit/JITInlines.h:

(JSC::JIT::emitLoadDouble):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitFloatTypedArrayGetByVal):

  • jit/ThunkGenerators.cpp:

(JSC::floorThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::powThunkGenerator):

1:31 PM Changeset in webkit [168641] by jhoneycutt@apple.com
  • 6 edits in trunk

REGRESSION (r167818): editing/inserting/typing-space-to-trigger-smart-link.html fails on WebKit1 bots

<https://bugs.webkit.org/show_bug.cgi?id=132207>
<rdar://problem/16730393>

Source/WebCore:
Reverts the previous workaround in favor of a more specific fix for the
null dereference.

Reviewed by Darin Adler.

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
Check whether the run's start and end are still in the document, as
removeConflictingInlineStyleFromRun() may have removed them.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::apply):
Reverted previous workaround.
(WebCore::ApplyEditCommand::ReentrancyGuard::isRecursiveCall): Deleted.
(WebCore::ApplyEditCommand::ReentrancyGuard::Scope::Scope): Deleted.
(WebCore::ApplyEditCommand::ReentrancyGuard::Scope::~Scope): Deleted.

LayoutTests:
Reviewed by Darin Adler.

  • editing/apply-style-iframe-crash-expected.txt:

Rebased test result has one fewer new line.

  • platform/mac-wk1/TestExpectations:

Remove test from list of expected failures.

1:16 PM Changeset in webkit [168640] by zandobersek@gmail.com
  • 10 edits in trunk/Source/WebCore

Clean up CrossThreadTask
https://bugs.webkit.org/show_bug.cgi?id=132800

Reviewed by Darin Adler.

Remove the createCallbackTask overloads and the related CrossThreadTask helper classes.

Instead, have one simple CrossThreadTask class that derives from ScriptExecutionContext::Task.
Its templated constructor takes in the method and the variadic pack of parameters. The cross-thread
copies of the parameters are then bound to that method and the resulting bind expression is used to
initialize the base class. The bind expression is constructed with a placeholder for the
ScriptExecutionContext* parameter that's provided through ScriptExecutionContext::Task::performTask().

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):

  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Peer::send):
(WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):

  • dom/CrossThreadTask.h:

(WebCore::CrossThreadTask::CrossThreadTask):
(WebCore::CrossThreadTask1::CrossThreadTask1): Deleted.
(WebCore::CrossThreadTask1::performTask): Deleted.
(WebCore::CrossThreadTask2::CrossThreadTask2): Deleted.
(WebCore::CrossThreadTask2::performTask): Deleted.
(WebCore::CrossThreadTask3::CrossThreadTask3): Deleted.
(WebCore::CrossThreadTask3::performTask): Deleted.
(WebCore::CrossThreadTask4::CrossThreadTask4): Deleted.
(WebCore::CrossThreadTask4::performTask): Deleted.
(WebCore::CrossThreadTask5::CrossThreadTask5): Deleted.
(WebCore::CrossThreadTask5::performTask): Deleted.
(WebCore::CrossThreadTask6::CrossThreadTask6): Deleted.
(WebCore::CrossThreadTask6::performTask): Deleted.
(WebCore::CrossThreadTask7::CrossThreadTask7): Deleted.
(WebCore::CrossThreadTask7::performTask): Deleted.
(WebCore::CrossThreadTask8::CrossThreadTask8): Deleted.
(WebCore::CrossThreadTask8::performTask): Deleted.
(WebCore::createCallbackTask): Deleted.

  • fileapi/FileReader.cpp:

(WebCore::FileReader::abort):

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
(WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
(WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):

  • loader/WorkerThreadableLoader.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::removeRequestFromCache):
(WebCore::MemoryCache::removeRequestFromSessionCaches):

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
(WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::workerObjectDestroyed):
(WebCore::WorkerMessagingProxy::connectToInspector):
(WebCore::WorkerMessagingProxy::disconnectFromInspector):
(WebCore::WorkerMessagingProxy::sendMessageToInspector):

1:13 PM Changeset in webkit [168639] by commit-queue@webkit.org
  • 15 edits
    3 copies
    3 adds in trunk

Implement EXT_shader_texture_lod in WebGL.
https://bugs.webkit.org/show_bug.cgi?id=128985
<rdar://problem/16111396>

Source/WebCore:
Based on Chromium patch by bajones@chromium.org.
https://src.chromium.org/viewvc/blink?revision=171465&view=revision

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-12
Reviewed by Dean Jackson.

Test: webgl/conformance/extensions/ext-shader-texture-lod.html

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

Added new EXTShaderTextureLOD files.

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::toJS):
Added EXTShaderTextureLOD.

  • html/canvas/EXTShaderTextureLOD.cpp: Added.

(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
(WebCore::EXTShaderTextureLOD::~EXTShaderTextureLOD):
(WebCore::EXTShaderTextureLOD::getName):

  • html/canvas/EXTShaderTextureLOD.h: Added.
  • html/canvas/EXTShaderTextureLOD.idl: Added.
  • html/canvas/WebGLExtension.h:

Added EXTShaderTextureLODName.

  • html/canvas/WebGLObject.cpp:

Removed unused inclusion of EXTTextureFilterAnisotropic.h.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
Added EXT_shader_texture_lod.

  • html/canvas/WebGLRenderingContext.h:

Added a EXTShaderTextureLOD member variable.

LayoutTests:
Based on Firefox patch by Vladimir Vukicevic.
https://bug965848.bugzilla.mozilla.org/attachment.cgi?id=8367994

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-12
Reviewed by Dean Jackson.

  • webgl/conformance/extensions/ext-shader-texture-lod-expected.txt: Added.
  • webgl/conformance/extensions/ext-shader-texture-lod.html: Added.
  • webgl/resources/webgl_test_files/conformance/extensions/ext-shader-texture-lod.html: Added.
12:54 PM Changeset in webkit [168638] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

REGRESSION(168625): [GTK] build broken due to WKContextSetLocalStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=132831

Unreviewed GTK build fix.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-12

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultLocalStorageDirectory):
This is now a static member function.

12:53 PM Changeset in webkit [168637] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

WKWebViewConfiguration should fill in the blanks
https://bugs.webkit.org/show_bug.cgi?id=132832
<rdar://problem/16886408>

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration _validate]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationInternal.h:
12:47 PM Changeset in webkit [168636] by mhock@apple.com
  • 3 edits
    2 adds in trunk

Disallow drag and drop of non-displayable resources.
https://bugs.webkit.org/show_bug.cgi?id=132745
<rdar://problem/10562662>

Reviewed by Alexey Proskuryakov.

Source/WebCore:
Test: http/tests/security/drag-drop-local-file.html

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

LayoutTests:

  • http/tests/security/drag-drop-local-file-expected.txt: Added.
  • http/tests/security/drag-drop-local-file.html: Added.
12:23 PM Changeset in webkit [168635] by fpizlo@apple.com
  • 7 edits
    9 adds in branches/ftlopt

jsSubstring() should be lazy
https://bugs.webkit.org/show_bug.cgi?id=132556

Reviewed by Andreas Kling.

Source/JavaScriptCore:
jsSubstring() is now lazy by using a special rope that is a substring instead of a
concatenation. To make this patch super simple, we require that a substring's base is
never a rope. Hence, when resolving a rope, we either go down a non-recursive substring
path, or we go down a concatenation path which may see exactly one level of substrings in
its fibers.

This is up to a 50% speed-up on microbenchmarks and a 10% speed-up on Octane/regexp.

Relanding this with assertion fixes.

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::specializedSweep):

  • runtime/JSString.cpp:

(JSC::JSRopeString::visitFibers):
(JSC::JSRopeString::resolveRopeInternal8):
(JSC::JSRopeString::resolveRopeInternal16):
(JSC::JSRopeString::clearFibers):
(JSC::JSRopeString::resolveRope):
(JSC::JSRopeString::resolveRopeSlowCase8):
(JSC::JSRopeString::resolveRopeSlowCase):

  • runtime/JSString.h:

(JSC::JSRopeString::finishCreation):
(JSC::JSRopeString::append):
(JSC::JSRopeString::create):
(JSC::JSRopeString::offsetOfFibers):
(JSC::JSRopeString::fiber):
(JSC::JSRopeString::substringBase):
(JSC::JSRopeString::substringOffset):
(JSC::JSRopeString::notSubstringSentinel):
(JSC::JSRopeString::substringSentinel):
(JSC::JSRopeString::isSubstring):
(JSC::JSRopeString::setIsSubstring):
(JSC::jsSubstring):

  • runtime/RegExpMatchesArray.cpp:

(JSC::RegExpMatchesArray::reifyAllProperties):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncSubstring):

LayoutTests:
These tests get 35-50% faster.

  • js/regress/script-tests/substring-concat-weird.js: Added.

(foo):

  • js/regress/script-tests/substring-concat.js: Added.

(foo):

  • js/regress/script-tests/substring.js: Added.

(foo):

  • js/regress/substring-concat-expected.txt: Added.
  • js/regress/substring-concat-weird-expected.txt: Added.
  • js/regress/substring-concat-weird.html: Added.
  • js/regress/substring-concat.html: Added.
  • js/regress/substring-expected.txt: Added.
  • js/regress/substring.html: Added.
12:20 PM Changeset in webkit [168634] by Lucas Forschler
  • 1 edit in branches/safari-538.34-branch/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationResponsePrivate.h

Branch build fix after r168581.

11:35 AM Changeset in webkit [168633] by Lucas Forschler
  • 3 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168582.

11:33 AM Changeset in webkit [168632] by Lucas Forschler
  • 6 edits
    1 copy in branches/safari-538.34-branch/Source/WebKit2

Merged r168581.

11:26 AM Changeset in webkit [168631] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

0.4% of PLT3 in JSCell::structure() below JSObject::visitChildren().
<https://webkit.org/b/132828>
<rdar://problem/16886285>

Reviewed by Michael Saboff.

  • runtime/JSObject.cpp:

(JSC::JSObject::visitButterfly):
(JSC::JSObject::visitChildren):

Use JSCell::structure(VM&) to reduce the number of hoops we jump
through to find Structures during marking.

11:19 AM Changeset in webkit [168630] by stavila@adobe.com
  • 4 edits in trunk/LayoutTests

fast/multicol/newmulticol/first-letter-create.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=132744

Reviewed by Antti Koivisto.

Modified test to not display anything as its only purpose is to ensure it doesn't crash.

  • TestExpectations:
  • fast/multicol/newmulticol/first-letter-create-expected.html:
  • fast/multicol/newmulticol/first-letter-create.html:
11:18 AM Changeset in webkit [168629] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKWebView should default to _backgroundExtendsBeyondPage = YES
https://bugs.webkit.org/show_bug.cgi?id=132829
<rdar://problem/16886364>

Reviewed by Beth Dakin.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

11:12 AM Changeset in webkit [168628] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Pass local storage directory to StorageManager::create
https://bugs.webkit.org/show_bug.cgi?id=132827

Reviewed by Tim Horton.

Since we know the local storage directory at creation time and we know it never changes,
we can get rid of setLocalStorageDirectory and just pass the local storage directory at creation time.

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::create):
(WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
(WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker):
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory): Deleted.
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal): Deleted.

  • UIProcess/Storage/LocalStorageDatabaseTracker.h:
  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::create):
(WebKit::StorageManager::StorageManager):
(WebKit::StorageManager::setLocalStorageDirectory): Deleted.

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):

11:08 AM Changeset in webkit [168627] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

11:00 AM Changeset in webkit [168626] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

WinCairo buildfix after r168611
https://bugs.webkit.org/show_bug.cgi?id=132825

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-05-12
Reviewed by Darin Adler.

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownloadManager::downloadThread):
(WebCore::CurlDownload::didReceiveHeader):
(WebCore::CurlDownload::didReceiveData):

10:56 AM Changeset in webkit [168625] by andersca@apple.com
  • 15 edits in trunk

Replace WKContextSetLocalStorageDirectory with a context configuration getter/setter
https://bugs.webkit.org/show_bug.cgi?id=132809

Reviewed by Dan Bernstein.

Source/WebKit2:

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetLocalStorageDirectory): Deleted.

  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCopyLocalStorageDirectory):
(WKContextConfigurationSetLocalStorageDirectory):

  • UIProcess/API/C/WKContextConfigurationRef.h:

Add getters and setters for the local storage directory.

  • UIProcess/API/C/WKContextPrivate.h:

Remove WKContextSetLocalStorageDirectory.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup initWithInjectedBundleURL:]):
Call WebContext::applyPlatformSpecificConfigurationDefaults.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _initWithConfiguration:]):
Call WebContext::applyPlatformSpecificConfigurationDefaults (for now).

  • UIProcess/APIContextConfiguration.cpp:

(API::ContextConfiguration::webContextConfiguration):
Set the local storage. Also, call WebContext::applyPlatformSpecificConfigurationDefaults.

  • UIProcess/APIContextConfiguration.h:

(API::ContextConfiguration::injectedBundlePath):
This should be const.

(API::ContextConfiguration::localStorageDirectory):
(API::ContextConfiguration::setLocalStorageDirectory):
Add getter and setter.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::setLocalStorageDirectory):
ASSERT that the path isn't null.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::applyPlatformSpecificConfigurationDefaults):
New helper function that will fill in platform specific defaults for empty parameters.

(WebKit::WebContext::WebContext):
Get the local storage directory from the configuration.

(WebKit::WebContext::setLocalStorageDirectory): Deleted.
(WebKit::WebContext::localStorageDirectory): Deleted.
These are no longer needed.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformDefaultLocalStorageDirectory):
This should be a static member function.

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):
Set the local storage directory using WKContextConfigurationSetLocalStorageDirectory.

10:56 AM Changeset in webkit [168624] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION (r159560): Text clips on tile border if line-height < font-size
https://bugs.webkit.org/show_bug.cgi?id=132822

Reviewed by Andreas Kling.

Source/WebCore:

The first line of simple line layout run range was miscomputed.

Test: fast/text/simple-lines-range-low-line-height.html

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):

Lines may overlap if line-height < font-size. Apply different adjustment when searching for range begin
so that overflowing earlier lines are taken into account.

(WebCore::SimpleLineLayout::RunResolver::rangeForRect):

LayoutTests:

  • fast/text/simple-lines-range-low-line-height-expected.html: Added.
  • fast/text/simple-lines-range-low-line-height.html: Added.
9:04 AM Changeset in webkit [168623] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Typo fix in generate-forwarding-headers
https://bugs.webkit.org/show_bug.cgi?id=132820

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-12
Reviewed by Anders Carlsson.

  • Scripts/generate-forwarding-headers.pl:

(collectFrameworkHeaderPaths):

9:00 AM Changeset in webkit [168622] by commit-queue@webkit.org
  • 18 edits in trunk/LayoutTests

[EFL] Rebaseline after adding tests in r168350
https://bugs.webkit.org/show_bug.cgi?id=132824

Unreviewed gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-05-12

  • platform/efl/TestExpectations:
  • platform/efl/fast/multicol/client-rects-expected.txt:
  • platform/efl/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/efl/fast/multicol/client-rects-spanners-expected.txt:
  • platform/efl/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
  • platform/efl/fast/multicol/span/span-margin-collapsing-expected.txt:
  • platform/efl/svg/zoom/page/zoom-foreignObject-expected.txt:
  • platform/efl/svg/zoom/page/zoom-svg-as-relative-image-expected.png:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.png:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
  • platform/efl/svg/zoom/text/zoom-foreignObject-expected.txt:
8:23 AM Changeset in webkit [168621] by stavila@adobe.com
  • 4 edits
    2 adds in trunk

Invalid information remaining in lineToRegion map of RenderFlowThread.
https://bugs.webkit.org/show_bug.cgi?id=132690

Reviewed by Antti Koivisto.

Source/WebCore:
Test: fast/multicol/newmulticol/lines-region-map-crash.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::deleteLines):

  • rendering/RenderFlowThread.h:

LayoutTests:
Added test for crash caused by invalid information in the lineToRegion map.

  • fast/multicol/newmulticol/lines-region-map-crash-expected.html: Added.
  • fast/multicol/newmulticol/lines-region-map-crash.html: Added.
7:30 AM Changeset in webkit [168620] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/efl

[EFL][WK1] Enable region based columns
https://bugs.webkit.org/show_bug.cgi?id=132646

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-05-12
Reviewed by Gyuyoung Kim.

Enable new multi-column mode as it was enabled in WK2 (r168046).

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):

5:48 AM Changeset in webkit [168619] by pmolnar.u-szeged@partner.samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] TLSErrors do not cause page load to fail when not ignored
https://bugs.webkit.org/show_bug.cgi?id=131104

Reviewed by Gyuyoung Kim.

Added EFL unit test for the bug https://bugs.webkit.org/show_bug.cgi?id=121548

  • UIProcess/API/efl/tests/test_ewk2_ssl.cpp: Added new test: ewk_ssl_bad_cert_redirect_https_to_http
4:58 AM Changeset in webkit [168618] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[cmake] Add missing FTL source files to the build system.

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-05-12
Reviewed by Csaba Osztrogonác.

  • CMakeLists.txt:
4:32 AM Changeset in webkit [168617] by Carlos Garcia Campos
  • 2 edits in trunk

Unreviewed. Bump version numbers.

  • Source/cmake/OptionsGTK.cmake:
2:35 AM WebKitGTK/KeepingTheTreeGreen edited by eocanha@igalia.com
(diff)
2:20 AM Changeset in webkit [168616] by commit-queue@webkit.org
  • 14 edits
    13 adds
    2 deletes in trunk/LayoutTests

[CSS Blending] Adjust blending pixel test expectations
https://bugs.webkit.org/show_bug.cgi?id=132737

Patch by Ion Rosca <Ion Rosca> on 2014-05-12
Reviewed by Mihnea Ovidenie.

Changing failing gif file with with one pixel base64 data and make them different for the two tests,
otherwise they might get cached and the gif animation is shared among multiple tests.
Changing the incorrect expectations for *gif-color-2* and adjusting test expectation for *gif-color-1*

  • css3/blending/background-blend-mode-gif-color-2.html:
  • css3/blending/background-blend-mode-gif-color.html:
  • css3/blending/resources/squares.gif: Removed.
  • platform/mac/css3/blending/background-blend-mode-gif-color-2-expected.png:
  • platform/mac/css3/blending/background-blend-mode-gif-color-expected.png:
  • platform/mac-wk1/TestExpectations:

The background-blend-mode-gif-color-2 does not pass on WK1: the git animation doesn't get started.

  • platform/mac/TestExpectations: Adding bugs to the excepted blending tests.

Adjusting this test to avoid scrollbars. Adjusting test expectations.

  • css3/blending/blend-mode-overflow-expected.txt: Removed.
  • css3/blending/blend-mode-overflow.html:
  • platform/mac/css3/blending/blend-mode-overflow-expected.png:
  • platform/mac/css3/blending/blend-mode-overflow-expected.txt:

Adding pixel expectations for newly added tests:

  • platform/mac/css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-append-stacking-context-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-remove-non-stacking-context-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-remove-stacking-context-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-stacking-context-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-turn-on-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-turn-on-stacking-context-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer1-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer2-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-turn-on-self-painting-layer-expected.png: Added.

Adjusting pixel tests after removing non separable blend modes.

  • platform/mac/css3/blending/blend-mode-simple-composited-expected.png:
  • platform/mac/css3/blending/blend-mode-simple-expected.png:
  • platform/mac/css3/blending/effect-background-blend-mode-expected.png:
  • platform/mac/css3/blending/effect-background-blend-mode-tiled-expected.png:
1:57 AM Changeset in webkit [168615] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

REGRESSION(CMAKE): [GTK] JavaScriptCore API tests are not built anymore
https://bugs.webkit.org/show_bug.cgi?id=132739

Reviewed Anders Carlsson.

  • TestWebKitAPI/CMakeLists.txt: Add missing includes required by

the JSC unit tests.

  • TestWebKitAPI/PlatformGTK.cmake: Bring back JavaScriptCore unit tests.
1:46 AM Changeset in webkit [168614] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.4.2

Tagging the WebKitGTK+ 2.4.2 release

1:02 AM Changeset in webkit [168613] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

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

.:

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

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.4.2.
12:23 AM Changeset in webkit [168612] by benjamin@webkit.org
  • 1 edit
    8 adds in trunk/Websites/webkit.org

Add potential illustrations for a potential future blog post about the viewport meta tag

  • blog-files/simple-viewport-configuration: Added.
  • blog-files/simple-viewport-configuration/860_viewport.html: Added.
  • blog-files/simple-viewport-configuration/blog_with_viewport.png: Added.
  • blog-files/simple-viewport-configuration/blog_without_viewport.png: Added.
  • blog-files/simple-viewport-configuration/default_viewport.html: Added.
  • blog-files/simple-viewport-configuration/horizontal_design.html: Added.
  • blog-files/simple-viewport-configuration/inspector.png: Added.
  • blog-files/simple-viewport-configuration/report_size.js: Added.
12:04 AM Changeset in webkit [168611] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Clean up MainThreadTask
https://bugs.webkit.org/show_bug.cgi?id=132799

Reviewed by Darin Adler.

Only have one simple MainThreadTask class that derives from std::function<void ()>.
Its templated constructor takes in the method and a variadic pack of parameters.
The cross-thread copies of the parameter are then bound to the given method through
std::bind(), with the resulting bind expression used to initialize the base
std::function<void ()> class.

The WebCore::callOnMainThread() functions and the helper classes are removed in favor
of passing MainThreadTask rvalues directly to WTF::callOnMainThread().

  • fileapi/AsyncFileStream.cpp:

(WebCore::AsyncFileStream::startOnFileThread):
(WebCore::AsyncFileStream::stopOnFileThread):
(WebCore::AsyncFileStream::getSizeOnFileThread):
(WebCore::AsyncFileStream::openForReadOnFileThread):
(WebCore::AsyncFileStream::openForWriteOnFileThread):
(WebCore::AsyncFileStream::readOnFileThread):
(WebCore::AsyncFileStream::writeOnFileThread):
(WebCore::AsyncFileStream::truncateOnFileThread):

  • platform/MainThreadTask.h:

(WebCore::MainThreadTask::MainThreadTask):
(WebCore::MainThreadTaskBase::MainThreadTaskBase): Deleted.
(WebCore::MainThreadTaskBase::~MainThreadTaskBase): Deleted.
(WebCore::MainThreadTask1::create): Deleted.
(WebCore::MainThreadTask1::MainThreadTask1): Deleted.
(WebCore::MainThreadTask2::create): Deleted.
(WebCore::MainThreadTask2::MainThreadTask2): Deleted.
(WebCore::MainThreadTask3::create): Deleted.
(WebCore::MainThreadTask3::MainThreadTask3): Deleted.
(WebCore::MainThreadTask4::create): Deleted.
(WebCore::MainThreadTask4::MainThreadTask4): Deleted.
(WebCore::MainThreadTask5::create): Deleted.
(WebCore::MainThreadTask5::MainThreadTask5): Deleted.
(WebCore::MainThreadTask6::create): Deleted.
(WebCore::MainThreadTask6::MainThreadTask6): Deleted.
(WebCore::MainThreadTask7::create): Deleted.
(WebCore::MainThreadTask7::MainThreadTask7): Deleted.
(WebCore::MainThreadTask8::create): Deleted.
(WebCore::MainThreadTask8::MainThreadTask8): Deleted.
(WebCore::executeMainThreadTask): Deleted.
(WebCore::callOnMainThread): Deleted.

12:01 AM Changeset in webkit [168610] by zandobersek@gmail.com
  • 6 edits
    1 delete in trunk/Source/WebCore

Simplify FileThread::Task usage
https://bugs.webkit.org/show_bug.cgi?id=132798

Reviewed by Darin Adler.

Remove the createFileThreadTask functions and the related FileThreadTask helper classes.

Instead, the FileThread::Task class now has a templated constructor that takes in a pointer
to the object instance, a method, and a variadic pack of parameters. The pointer and the
cross-thread copies of all the parameters are then bound to the given method through std::bind().

Instead of createFileThreadTask, std::make_unique<>() should be used to construct unique pointers
that wrap FileThread::Task objects.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • fileapi/AsyncFileStream.cpp:

(WebCore::AsyncFileStream::create):
(WebCore::AsyncFileStream::stop):
(WebCore::AsyncFileStream::getSize):
(WebCore::AsyncFileStream::openForRead):
(WebCore::AsyncFileStream::openForWrite):
(WebCore::AsyncFileStream::close):
(WebCore::AsyncFileStream::read):
(WebCore::AsyncFileStream::write):
(WebCore::AsyncFileStream::truncate):

  • fileapi/FileThread.h:

(WebCore::FileThread::Task::Task):
(WebCore::FileThread::Task::performTask):
(WebCore::FileThread::Task::~Task): Deleted.

  • fileapi/FileThreadTask.h: Removed.
Note: See TracTimeline for information about the timeline view.