WebKit-https.git
5 years agoAddress some review comments on bug 133408
ggaren@apple.com [Mon, 2 Jun 2014 20:22:18 +0000 (20:22 +0000)]
Address some review comments on bug 133408
https://bugs.webkit.org/show_bug.cgi?id=133410

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169542 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look.
rniwa@webkit.org [Mon, 2 Jun 2014 20:08:52 +0000 (20:08 +0000)]
Rename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look.
https://bugs.webkit.org/show_bug.cgi?id=133455

Reviewed by Timothy Hatcher.

PerformanceTests:
* Speedometer/: Renamed from DoYouEvenBench.
* Skipped: Updated the path for InteractiveRunner.html

Tools:
Since the perf. dashboard doesn't support following renamed benchmarks,
keep reporting Speedometer results as DoYouEvenBench results.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(_generate_results_dict):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169541 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look.
rniwa@webkit.org [Mon, 2 Jun 2014 19:57:39 +0000 (19:57 +0000)]
Rename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look.
https://bugs.webkit.org/show_bug.cgi?id=133455

Reviewed by Timothy Hatcher.

Renamed the benchmark to Speedometer and added the new look designed by Timothy Hatcher.

Also changed the unit of measurements from milliseconds to runs-per-minute averaged over the number
of the benchmark suites (7 for 1.0). You can divide 420000 by the old benchmark score (in milliseconds)
to get the new value for the set of tests that are enabled by default in 1.0. You can continue to see
results in milliseconds on Full.html#ms.

* DoYouEvenBench/Full.html: Added a bunch of sections and the description of the benchmark.

* DoYouEvenBench/resources/benchmark-report.js: Remove the newly added content when ran inside a DRT or
WTR so that run-perf-tests wouldn't error.
* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner.prototype._appendFrame): Call a newly added willAddTestFrame callback when it exists.

* DoYouEvenBench/resources/gauge.png: Added.
* DoYouEvenBench/resources/gauge@2x.png: Added.
* DoYouEvenBench/resources/logo.png: Added.
* DoYouEvenBench/resources/logo@2x.png: Added.
* DoYouEvenBench/resources/main.css: Replaced the style.

* DoYouEvenBench/resources/main.js:
(window.benchmarkClient.willAddTestFrame): Place the iframe right where #testContainer is shown.
(window.benchmarkClient.willRunTest): Show the name of the suite (e.g. EmberJS-TodoMVC) to run next.
(window.benchmarkClient.didRunSuites):
(window.benchmarkClient.willStartFirstIteration): Initialize _timeValues and _finishedTestCount now that
we have an UI to run the benchmark multiple times without reloading the page.
(window.benchmarkClient.didFinishLastIteration): Split into smaller pieces.
(window.benchmarkClient._computeResults): Computes the mean and the statistics for the given time values,
and also format them in a human readable form.
(window.benchmarkClient._computeResults.totalTimeInDisplayUnit): Converts ms to runs/min.
(window.benchmarkClient._computeResults.sigFigFromPercentDelta): Given a percentage error (e.g. 1%),
returns the number of significant digits required for the mean.
(window.benchmarkClient._computeResults.toSigFigPrecision): Calls toPrecision with the specified precision
constrained to be at least the number of non-decimal digits and at most 6.
(window.benchmarkClient._addDetailedResultsRow): Renamed from _addResult. It now takes the table to which
to add a row and the iteration number.
(window.benchmarkClient._updateGaugeNeedle): Added. Controls the angle of the speed indicator.
(window.benchmarkClient._populateDetailedResults): Added.
(window.benchmarkClient.prepareUI): Added. It adds an event listener to show a specified section when
the push state of the document changes, and shows a warning sign when the view port size is too small.
We do this inside a callback to avoid running it inside DRT / WTR.
(startBenchmark):
(showSection): Added.
(startTest): Added.
(showResultsSummary): Added.
(showResultDetails): Added.
(showAbout): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169540 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFurther unreviewed GTK build fix after r169536.
jer.noble@apple.com [Mon, 2 Jun 2014 19:57:18 +0000 (19:57 +0000)]
Further unreviewed GTK build fix after r169536.

Update the m_duration contructor in MediaSourceGStreamer.

* platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
(WebCore::MediaSourceGStreamer::MediaSourceGStreamer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169539 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Cocoa] -[WKWebView activeURL] is unused
mitz@apple.com [Mon, 2 Jun 2014 19:50:36 +0000 (19:50 +0000)]
[Cocoa] -[WKWebView activeURL] is unused
https://bugs.webkit.org/show_bug.cgi?id=133440

Reviewed by Mark Rowe.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView activeURL]): Deleted.
* UIProcess/API/Cocoa/WKWebViewPrivate.h: Removed the property declaration.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169538 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed GTK build fix after r169536.
jer.noble@apple.com [Mon, 2 Jun 2014 19:42:36 +0000 (19:42 +0000)]
Unreviewed GTK build fix after r169536.

Update MediaSourceGStreamer to match new duration parameters.

* platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
(WebCore::MediaSourceGStreamer::setDuration): Ditto.
* platform/graphics/gstreamer/MediaSourceGStreamer.h:
* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169537 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[MSE][Mac] Media does not generate 'ended' event when playing to duration.
jer.noble@apple.com [Mon, 2 Jun 2014 18:58:45 +0000 (18:58 +0000)]
[MSE][Mac] Media does not generate 'ended' event when playing to duration.
https://bugs.webkit.org/show_bug.cgi?id=133452

Reviewed by Eric Carlson.

Add a boundaryTimeObserver to the AVSampleBufferRenderSynchronizer to detect when
playback crosses the duration boundary, and pause in that event. Also refuse to begin
playback if the currentTime is beyond the duration. Also, pause playback if duration
becomes less than currentTime.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentMediaTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged):

Update MediaSource::duration() and ::setDuration() to take and give MediaTimes rather than doubles:
* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::duration): double -> MediaTime.
(WebCore::MediaSource::setDuration): Ditto.
(WebCore::MediaSource::streamEndedWithError): Ditto.
* platform/graphics/MediaSourcePrivate.h: Ditto.
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC): Ditto.
(WebCore::MediaSourcePrivateAVFObjC::duration): Ditto.
(WebCore::MediaSourcePrivateAVFObjC::setDuration): Ditto.
* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::MockMediaPlayerMediaSource): Ditto.
(WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble): Ditto.
(WebCore::MockMediaPlayerMediaSource::durationDouble): Ditto.
(WebCore::MockMediaPlayerMediaSource::advanceCurrentTime): Ditto.
(WebCore::MockMediaPlayerMediaSource::updateDuration): Ditto.
* platform/mock/mediasource/MockMediaPlayerMediaSource.h:
* platform/mock/mediasource/MockMediaSourcePrivate.cpp:
(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Ditto.
(WebCore::MockMediaSourcePrivate::duration): Ditto.
(WebCore::MockMediaSourcePrivate::setDuration): Ditto.
* platform/mock/mediasource/MockMediaSourcePrivate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169536 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed TestExpectations gardening after r169532.
mhock@apple.com [Mon, 2 Jun 2014 18:19:28 +0000 (18:19 +0000)]
Unreviewed TestExpectations gardening after r169532.

* TestExpectations:
Update fast/table/border-collapsing/collapsed-borders-adjoining-sections.html
from [ Failure ] to [ ImageOnlyFailure ].

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169535 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRename ImagePaintingContext to ImagePaintingOptions.
zalan@apple.com [Mon, 2 Jun 2014 17:39:26 +0000 (17:39 +0000)]
Rename ImagePaintingContext to ImagePaintingOptions.
https://bugs.webkit.org/show_bug.cgi?id=133451

Reviewed by Simon Fraser.

No change in functionality.

* WebCore.exp.in:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):
* platform/graphics/GraphicsContext.h:
(WebCore::ImagePaintingOptions::ImagePaintingOptions):
(WebCore::ImagePaintingContext::ImagePaintingContext): Deleted.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintSnapshotImage):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintIntoRect):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::paintSnapshot):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169534 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRestructure initial distinct sandbox profiles
oliver@apple.com [Mon, 2 Jun 2014 17:22:33 +0000 (17:22 +0000)]
Restructure initial distinct sandbox profiles
https://bugs.webkit.org/show_bug.cgi?id=133415

Reviewed by Alexey Proskuryakov.

Add support for manually instantiating the network and
content process sandboxes, and add initial profiles.
These profiles are completely generic so we can make sure
nothing is broken by enabling them.

This also adds a target to the WebKit2 project to correctly
process the profiles.

* DatabaseProcess/ios/DatabaseProcessIOS.mm:
(WebKit::DatabaseProcess::initializeSandbox):
* DatabaseProcess/ios/com.apple.WebKit.DatabasesIOS.sb: Removed.
* NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::initializeSandbox):
* Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb: Added.
* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Added.
* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Added.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::initializeSandbox):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169533 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r154622): Borders disappear when hovering over cells in table
bfulgham@apple.com [Mon, 2 Jun 2014 16:37:45 +0000 (16:37 +0000)]
REGRESSION (r154622): Borders disappear when hovering over cells in table
https://bugs.webkit.org/show_bug.cgi?id=133057
<rdar://problem/15922359>

Reviewed by Tim Horton.

Source/WebCore:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintCollapsedBorders): Revert recent
non-edge collapsed border optimization due to drawing
regressions.

LayoutTests:
* TestExpectations: Mark the test we added in r154622 as failing
until we provide a permanent fix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169532 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoProvide better encapsulation for image related painting properties.
zalan@apple.com [Mon, 2 Jun 2014 16:05:25 +0000 (16:05 +0000)]
Provide better encapsulation for image related painting properties.
https://bugs.webkit.org/show_bug.cgi?id=133434

Reviewed by Darin Adler.

Image related drawing property list keeps growing for the functions below and results in
multiple overloadings with seemingly random default parameters.

GraphicsContext::drawImage()
GraphicsContext::drawTiledImage()
GraphicsContext::drawImageBuffer()

This patch provides encapsulation for the image drawing properties. Encapsulation ensures that
introducing a new property does not result in yet another overloaded function.

No change in functionality.

* WebCore.exp.in:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::compositeBuffer):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):
* platform/graphics/GraphicsContext.h:
(WebCore::ImagePaintingContext::ImagePaintingContext):
* platform/graphics/ShadowBlur.cpp:
(WebCore::ShadowBlur::endShadowLayer):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::platformApplySoftware):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRendererHelper::applyFilterEffect):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintSnapshotImage):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::paintSnapshot):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169531 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, rolling out r169529.
commit-queue@webkit.org [Mon, 2 Jun 2014 15:03:30 +0000 (15:03 +0000)]
Unreviewed, rolling out r169529.
https://bugs.webkit.org/show_bug.cgi?id=133447

caused assert in drawImage() (Requested by zalan on #webkit).

Reverted changeset:

"Provide better encapsulation for image related painting
properties."
https://bugs.webkit.org/show_bug.cgi?id=133434
http://trac.webkit.org/changeset/169529

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169530 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoProvide better encapsulation for image related painting properties.
zalan@apple.com [Mon, 2 Jun 2014 14:23:52 +0000 (14:23 +0000)]
Provide better encapsulation for image related painting properties.
https://bugs.webkit.org/show_bug.cgi?id=133434

Reviewed by Darin Adler.

Image related drawing property list keeps growing for the functions below and results in
multiple overloadings with seemingly random default parameters.

GraphicsContext::drawImage()
GraphicsContext::drawTiledImage()
GraphicsContext::drawImageBuffer()

This patch provides encapsulation for the image drawing properties. Encapsulation ensures that
introducing a new property does not result in yet another overloaded function.

No change in functionality.

* WebCore.exp.in:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::compositeBuffer):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):
* platform/graphics/GraphicsContext.h:
(WebCore::ImagePaintingContext::ImagePaintingContext):
* platform/graphics/ShadowBlur.cpp:
(WebCore::ShadowBlur::endShadowLayer):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::platformApplySoftware):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRendererHelper::applyFilterEffect):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintSnapshotImage):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::paintSnapshot):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169529 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd mock DTMFSender support.
commit-queue@webkit.org [Mon, 2 Jun 2014 10:55:37 +0000 (10:55 +0000)]
Add mock DTMFSender support.
https://bugs.webkit.org/show_bug.cgi?id=133298

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

Source/WebCore:
Implemented mock implementation for RTCPeerConnectionHandler. Now creating
RTCDTMFSenderHandlerMock and returning while creating DTMFSender instead of
returning null.

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

* CMakeLists.txt:
* platform/mock/RTCDTMFSenderHandlerMock.cpp: Added.
(WebCore::RTCDTMFSenderHandlerMock::RTCDTMFSenderHandlerMock):
(WebCore::RTCDTMFSenderHandlerMock::setClient):
(WebCore::RTCDTMFSenderHandlerMock::insertDTMF):
* platform/mock/RTCDTMFSenderHandlerMock.h: Added.
* platform/mock/RTCPeerConnectionHandlerMock.cpp:
(WebCore::RTCPeerConnectionHandlerMock::createDTMFSender):

LayoutTests:
* fast/mediastream/RTCPeerConnection-dtmf-expected.txt:
* fast/mediastream/RTCPeerConnection-dtmf.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169528 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] media controls should prevent 'click' events from reaching the page
calvaris@igalia.com [Mon, 2 Jun 2014 08:31:26 +0000 (08:31 +0000)]
[GTK] media controls should prevent 'click' events from reaching the page
https://bugs.webkit.org/show_bug.cgi?id=133402

Reviewed by Eric Carlson.

When handling events, we events we need to return true in order
that the superclass gets the value and prevents the execution of
the default event handler in the page.

Test: media/media-controls-cancel-events.html

* Modules/mediacontrols/mediaControlsGtk.js:
(ControllerGtk.prototype.handleMuteButtonMouseOver):
(ControllerGtk.prototype.handleVolumeBoxMouseOut):
(ControllerGtk.prototype.handleCaptionButtonClicked):
(ControllerGtk.prototype.handleCaptionButtonMouseOver):
(ControllerGtk.prototype.handleCaptionButtonShowMenu):
(ControllerGtk.prototype.handleCaptionButtonMouseOut):
(ControllerGtk.prototype.handleCaptionMouseOut): Return true to
prevent forwarding the event execution.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169527 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed EFL gardening.
jinwoo7.song@samsung.com [Mon, 2 Jun 2014 07:32:13 +0000 (07:32 +0000)]
Unreviewed EFL gardening.

Below test cases are passing after r169403.
  - fast/dom/webtiming-document-open.html
  - fast/dom/webtiming-navigate-within-document.html

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169526 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCSS JIT: add support for the "not" pseudo class
commit-queue@webkit.org [Mon, 2 Jun 2014 07:00:53 +0000 (07:00 +0000)]
CSS JIT: add support for the "not" pseudo class
https://bugs.webkit.org/show_bug.cgi?id=133314

Source/WebCore:
Patch by Yusuke Suzuki <utatane.tea@gmail.com> on 2014-06-02
Reviewed by Benjamin Poulain.

Add :not pseudo class support to CSS JIT. Current implementation
doesn't support visitedMatchType. So when link pseudo class appears in
:not sub fragment, fallback to the non-JIT implementation.

Tests: fast/selectors/not-active-hover-quirks.html
       fast/selectors/not-active-hover-strict.html
       fast/selectors/pseudo-class-not.html

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::minimumRegisterRequirements):
(WebCore::SelectorCompiler::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::fragmentOnlyMatchesLinksInQuirksMode):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesNotPseudoClass):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation): Deleted.

LayoutTests:
Add :not pseudo class support to CSS JIT. Current implementation
doesn't support visitedMatchType. So when link pseudo class appears in
:not sub fragment, fallback to the non-JIT implementation.

Patch by Yusuke Suzuki <utatane.tea@gmail.com> on 2014-06-02
Reviewed by Benjamin Poulain.

* fast/selectors/not-active-hover-quirks-expected.txt: Added.
* fast/selectors/not-active-hover-quirks.html: Added.
* fast/selectors/not-active-hover-strict-expected.txt: Added.
* fast/selectors/not-active-hover-strict.html: Added.
* fast/selectors/pseudo-class-not-expected.txt: Added.
* fast/selectors/pseudo-class-not.html: Added.
* fast/selectors/resources/not-hover-active-quirks-utility.js: Added.
(testQuerySelector):
(test):
* fast/selectors/resources/not-hover-active-strict-utility.js: Added.
(testQuerySelector):
(test):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169525 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed EFL gardening.
jinwoo7.song@samsung.com [Mon, 2 Jun 2014 06:52:50 +0000 (06:52 +0000)]
Unreviewed EFL gardening.

gradient-background-leakage-hidpi.html and canvas-as-image-hidpi.html pass after r169445.

* platform/efl-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169524 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[MSE] Appends of overlapping sample data do not clear existing samples properly.
jer.noble@apple.com [Mon, 2 Jun 2014 05:16:46 +0000 (05:16 +0000)]
[MSE] Appends of overlapping sample data do not clear existing samples properly.
https://bugs.webkit.org/show_bug.cgi?id=133435

Reviewed by Darin Adler.

Source/WebCore:
Test: media/media-source/media-source-overlapping-append.html

The MSE spec has a spec error in how it removes overlapping frames. The intention seems to be
to check for overlapping samples only when the incoming sample increases the highest presentation time
field. But due to a mismatch in the range of a sample, defined as [start, end), and the check, which
treats the end as inclusive, the overlapping check is almost never run.

Add the sample comparison logic to match [start, end) ranges, and rename the existing check to differentiate
it from the new one:
* Modules/mediasource/SampleMap.cpp:
(WebCore::SamplePresentationTimeIsInsideRangeComparator::operator()):
(WebCore::SamplePresentationTimeIsWithinRangeComparator::operator()):
(WebCore::SampleMap::findSamplesBetweenPresentationTimes):
(WebCore::SampleMap::findSamplesWithinPresentationRange):
* Modules/mediasource/SampleMap.h:

Update the overlapping check to occur whenever the highest presentation time increases, and update the
logic within that check to catch all overlapping frames.
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::bufferedSamplesForTrackID):
* Modules/mediasource/SourceBuffer.h:
* WebCore.exp.in:

Add a dump method to MediaSample so that samples can be easily converted to a string for testing.
* platform/MediaSample.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::presentationSize):
(WebCore::MediaSampleAVFObjC::dump):

Update the Mock MSE implementation to pass along a "generation" field, to aid in testing.
* platform/mock/mediasource/MockBox.cpp:
(WebCore::MockSampleBox::MockSampleBox):
* platform/mock/mediasource/MockBox.h:
* platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockMediaSample::dump):

Add a method to internals to dump the buffered samples to string.
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::bufferedSamplesForTrackID):
* Modules/mediasource/SourceBuffer.h:
* testing/Internals.cpp:
(WebCore::Internals::bufferedSamplesForTrackID):
* testing/Internals.h:
* testing/Internals.idl:

Source/WTF:
Add a dump method to MediaTime, so that MediaTimes can be easily converted to strings (for logging purposes).

* wtf/MediaTime.cpp:
(WTF::MediaTime::dump):
* wtf/MediaTime.h:

LayoutTests:
* media/media-source/media-source-overlapping-append-expected.txt: Added.
* media/media-source/media-source-overlapping-append.html: Added.
* media/media-source/mock-media-source.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169523 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agogetBBox() returns (0,0) when width or height is zero.
commit-queue@webkit.org [Mon, 2 Jun 2014 05:01:12 +0000 (05:01 +0000)]
getBBox() returns (0,0) when width or height is zero.
https://bugs.webkit.org/show_bug.cgi?id=93290

Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2014-06-01
Reviewed by Philip Rogers.

Source/WebCore:

The SVG spec states that a width or height of zero for  rects, circles and
ellipses is valid but disables rendering of that shape.
In this case, getBBox() should return the actual bounding box of the element.
Previously, WebKit always returned (0,0,0,0) rather than the
correct bounding box. This patch fixes that.

Rects and ellipses both now follow the same behaviour where
the fall-back code path is only used when the shape will render (e.g. not
when a dimension <= 0).

This necessitates calling calculateRadiiAndCenter for ellipses even
when the calculated values will be discarded in the fall back code path.
But calculateRadiiAndCenter is cheap and this avoids making changes
elsewhere to stop CG drawing a zero width (or height) ellipse.

Tests: svg/custom/getBBox-js-circle-zerodimension.html
       svg/custom/getBBox-js-ellipse-zerodimension.html
       svg/custom/getBBox-js-rect-zerodimension.html

* rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::updateShapeFromElement):
Only follow fall-back code path when shape renders.
width||height==0 is not an error case so calculate bounding box.

* rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::updateShapeFromElement):
Only follow fall-back code path when shape renders.
rx||ry==0 is not an error case so calculate bounding box.

LayoutTests:

* platform/mac/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
* svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
* svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
* svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
* svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
* svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
* svg/custom/getBBox-js-circle-zerodimension-expected.txt: Added.
* svg/custom/getBBox-js-circle-zerodimension.html: Added.
* svg/custom/getBBox-js-ellipse-zerodimension-expected.txt: Added.
* svg/custom/getBBox-js-ellipse-zerodimension.html: Added.
* svg/custom/getBBox-js-rect-zerodimension-expected.txt: Added.
* svg/custom/getBBox-js-rect-zerodimension.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169522 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoEFL gardening. Unskip some iframe tests which have passed since buildbot OS bump up.
gyuyoung.kim@samsung.com [Mon, 2 Jun 2014 01:53:28 +0000 (01:53 +0000)]
EFL gardening. Unskip some iframe tests which have passed since buildbot OS bump up.

* platform/efl-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169521 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Cocoa] Add SPI to get a WebArchive of the WKWebView
weinig@apple.com [Mon, 2 Jun 2014 00:33:19 +0000 (00:33 +0000)]
[Cocoa] Add SPI to get a WebArchive of the WKWebView
<rdar://problem/16748120>
https://bugs.webkit.org/show_bug.cgi?id=133439

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _getWebArchiveDataWithCompletionHandler:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169520 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDon't scroll to non-integral scroll offsets
simon.fraser@apple.com [Sun, 1 Jun 2014 23:07:20 +0000 (23:07 +0000)]
Don't scroll to non-integral scroll offsets
https://bugs.webkit.org/show_bug.cgi?id=133436
<rdar://problem/17088336>

Reviewed by Darin Adler.

With the gradual migration of scroll offsets to floating point, we ended
up with a fully floating point code path been event scroll deltas and
setting scroll positions in the scrolling tree.

With some input devices (e.g. Logitech scrollwheel mice), the scroll deltas
come in with non-integral values, and that caused the scroll offset to be non-integral,
resulting in fuzzy layer contents. So round the scroll position.

* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPosition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169519 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd a LazyNeverDestroyed class template and use it
andersca@apple.com [Sun, 1 Jun 2014 22:31:13 +0000 (22:31 +0000)]
Add a LazyNeverDestroyed class template and use it
https://bugs.webkit.org/show_bug.cgi?id=133425

Reviewed by Darin Adler.

Source/JavaScriptCore:
* dfg/DFGFunctionWhitelist.cpp:
(JSC::DFG::FunctionWhitelist::ensureGlobalWhitelist):
* dfg/DFGFunctionWhitelist.h:

Source/WebCore:
* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::guidMutex):
* crypto/CryptoAlgorithmRegistry.cpp:
(WebCore::registryMutex):
* inspector/WorkerDebuggerAgent.cpp:
* loader/CrossOriginAccessControl.cpp:
(WebCore::isOnAccessControlResponseHeaderWhitelist):
* platform/network/NetworkStateNotifier.cpp:
(WebCore::networkStateNotifier):
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::DefaultSharedWorkerRepository::instance):
* workers/DefaultSharedWorkerRepository.h:
* workers/WorkerThread.cpp:
(WebCore::threadSetMutex):
* xml/XMLHttpRequest.cpp:
(WebCore::staticData):

Source/WebKit2:
* Shared/mac/SecItemShim.cpp:
(WebKit::responseMap):

Source/WTF:
LazyNeverDestroyed is similar to NeverDestroyed, except it's lazily constructed
by calling construct(). This makes it useful for using inside std::call_once functions.

* wtf/Forward.h:
* wtf/NeverDestroyed.h:
(WTF::LazyNeverDestroyed::construct):
(WTF::LazyNeverDestroyed::operator T&):
(WTF::LazyNeverDestroyed::get):
(WTF::LazyNeverDestroyed::asPtr):
(WTF::LazyNeverDestroyed::MaybeRelax::MaybeRelax):
* wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
(WTF::atomicallyInitializedStaticMutex):
* wtf/unicode/icu/CollatorICU.cpp:
(WTF::cachedCollatorMutex):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169518 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDYEBench: Move test states into benchmarkClient and remove the closure
rniwa@webkit.org [Sun, 1 Jun 2014 21:12:00 +0000 (21:12 +0000)]
DYEBench: Move test states into benchmarkClient and remove the closure
https://bugs.webkit.org/show_bug.cgi?id=133438

Reviewed by Benjamin Poulain.

Moved all local variables in the closure wrapping benchmarkClient onto the object itself
and removed the closure to improve the readability of the code.

* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/main.js:
(window.benchmarkClient.willRunTest):
(window.benchmarkClient.didRunTest):
(window.benchmarkClient.didRunSuites):
(window.benchmarkClient.willStartFirstIteration):
(window.benchmarkClient.didFinishLastIteration):
(window.benchmarkClient._addResult): Moved.
(.): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169517 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDYEBench: Split stylesheets and scripts in Full.html into separate files
rniwa@webkit.org [Sun, 1 Jun 2014 20:38:55 +0000 (20:38 +0000)]
DYEBench: Split stylesheets and scripts in Full.html into separate files
https://bugs.webkit.org/show_bug.cgi?id=133437

Reviewed by Benjamin Poulain.

Extracted main.js and main.css.

Also fixed a bug in startBenchmark that disabled suites were counted towards the total number of tests.

* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/main.css: Added.
* DoYouEvenBench/resources/main.js: Added.
(.addResult):
(window.benchmarkClient):
(startBenchmark): Renamed from startTest.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169516 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSubpixel rendering: Selection gap produces a pixel line overlap on inline boxes.
zalan@apple.com [Sun, 1 Jun 2014 16:30:58 +0000 (16:30 +0000)]
Subpixel rendering: Selection gap produces a pixel line overlap on inline boxes.
https://bugs.webkit.org/show_bug.cgi?id=133429

Reviewed by Simon Fraser.

Do not floor logical right/left values when selection gap is calculated for RenderBlocks.
It produces overlapping line/gap because the floored value is intersecting/too far from the
non-floored content selection rect.

Source/WebCore:
Tests: fast/inline/hidpi-selection-gap-and-inline-selection-have-gap-rtl.html
       fast/inline/hidpi-selection-gap-overlaps-inline-selection.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):

LayoutTests:
* platform/mac/TestExpectations: add ML failure due to font sizing. (Ahem can't be used here)
* fast/inline/hidpi-selection-gap-and-inline-selection-have-gap-rtl-expected.html: Added.
* fast/inline/hidpi-selection-gap-and-inline-selection-have-gap-rtl.html: Added.
* fast/inline/hidpi-selection-gap-overlaps-inline-selection-expected.html: Added.
* fast/inline/hidpi-selection-gap-overlaps-inline-selection.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169515 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDYEBench: CSS parser warning at line 106 of base.css
rniwa@webkit.org [Sun, 1 Jun 2014 13:44:32 +0000 (13:44 +0000)]
DYEBench: CSS parser warning at line 106 of base.css
https://bugs.webkit.org/show_bug.cgi?id=133433

Reviewed by Maciej Stachowiak.

Removed the old filter CSS property for Internet Explorer. The latest Internet Explorer supports -ms-linear-gradient
on background CSS property anyways.

It's interesting that some of the tests only have -webkit- prefixes. Perhaps we should update those subtests.

* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css:
(#header:before):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169514 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDYEBench: Ember.js assertion hit at line 20593
rniwa@webkit.org [Sun, 1 Jun 2014 07:01:52 +0000 (07:01 +0000)]
DYEBench: Ember.js assertion hit at line 20593
https://bugs.webkit.org/show_bug.cgi?id=133431

Reviewed by Darin Adler.

The assertion was hit because ToDoMVC includes jQuery 2.1 and Ember.js 1.3.1 only recognizes jQuery 2.0.
Port the assertion from Ember.js 1.5.1 to suppress the assertion.

We should update the entire Ember.js at some point but this would do the job for now.

* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169513 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r169412): Garbage pixels when vertical rubber-banding on http://yvoschaap...
timothy_horton@apple.com [Sun, 1 Jun 2014 06:26:45 +0000 (06:26 +0000)]
REGRESSION (r169412): Garbage pixels when vertical rubber-banding on yvoschaap.com/pmarca/
https://bugs.webkit.org/show_bug.cgi?id=133418
<rdar://problem/17065494>

Reviewed by Sam Weinig.

* WebCore.exp.in:
* platform/graphics/FloatPoint.h:
(WebCore::toFloatPoint):
* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
The manual tiling code previously adjusted the initial
tiling source rect so that if the pattern was out of phase,
the first row and column would paint only the necessary part
of the tile. However, it did not also adjust the destination rect,
so the tile was painted in entirely the wrong place.
Additional testing (by enabling manual tiling mode for all patterned
images and running all of the layout tests) exposed another bug
where the last row and column would paint too much, which
was resolved by clipping to the outer image's destination rect.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169512 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoOne more missed piece of that last check-in.
darin@apple.com [Sun, 1 Jun 2014 06:26:39 +0000 (06:26 +0000)]
One more missed piece of that last check-in.

* TestExpectations: Removed the flakiness expectation from the
css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html
test since that now works reliably.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169511 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoView snapshots are sometimes taken at the wrong scale
timothy_horton@apple.com [Sun, 1 Jun 2014 06:25:08 +0000 (06:25 +0000)]
View snapshots are sometimes taken at the wrong scale
https://bugs.webkit.org/show_bug.cgi?id=133419
<rdar://problem/17087497>

Reviewed by Sam Weinig.

* UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
Work around <rdar://problem/17084993> by re-requesting the snapshot at
kCGWindowImageNominalResolution if it was captured at the wrong scale.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169510 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoTry to fix another failure from the previous check-in seen on some bots.
darin@apple.com [Sun, 1 Jun 2014 06:14:38 +0000 (06:14 +0000)]
Try to fix another failure from the previous check-in seen on some bots.

* platform/mac-wk2/TestExpectations: Removed a couple obsolete lines.
* platform/wk2/TestExpectations: Added expectation for filter-hidden-content.svg, which
seems to be affected by the resizing for tests before it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169509 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFix test failure from the previous check-in.
darin@apple.com [Sun, 1 Jun 2014 03:48:16 +0000 (03:48 +0000)]
Fix test failure from the previous check-in.

* fast/dynamic/window-resize-scrollbars-test.html: Add resize handler so this test works
with asynchronous resizing.

* platform/wk2/TestExpectations: Expect failure for the test above; it's showing scrollbars,
and it should not. Before, the test was not running correctly so it seemed to pass.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169508 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDYEBench: Prevent frame flattening on iOS
rniwa@webkit.org [Sun, 1 Jun 2014 03:04:10 +0000 (03:04 +0000)]
DYEBench: Prevent frame flattening on iOS
https://bugs.webkit.org/show_bug.cgi?id=133428

Reviewed by Andreas Kling.

Prevent frame flattening on iOS by setting scrolling=no.

* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner.prototype._appendFrame):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169507 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCSS JIT cleanup: move two utility functions out of the properties-matcher section
benjamin@webkit.org [Sun, 1 Jun 2014 01:34:15 +0000 (01:34 +0000)]
CSS JIT cleanup: move two utility functions out of the properties-matcher section
https://bugs.webkit.org/show_bug.cgi?id=133427

Reviewed by Andreas Kling.

Just move the code, no other modification.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNoPreviousAdjacentElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNoNextAdjacentElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169506 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoViewport percentage tests that resize the viewport are flaky
darin@apple.com [Sun, 1 Jun 2014 00:01:16 +0000 (00:01 +0000)]
Viewport percentage tests that resize the viewport are flaky
https://bugs.webkit.org/show_bug.cgi?id=133351

Reviewed by Anders Carlsson.

Source/WebCore:
* page/FrameView.cpp:
(WebCore::FrameView::setFrameRect): Removed code that explicitly sends a resize event here.
The resize event will be sent as a side effect of layout instead.
(WebCore::FrameView::sendResizeEventIfNeeded): Don't send a resize event until layout is done,
since this is what propagates the new geometry in so the JavaScript code can detect it. Also
simplified the logic and streamlined a little, and added a FIXME about the bad idea here where
the code enqueues an event for an unknown time in the future. Removed the unneeded code that
passes in the DOM window as the target to dispatchWindowEvent, since that gets filled in as the
target by default.

Tools:
* DumpRenderTree/mac/DumpRenderTree.mm:
(sizeWebViewForCurrentTest): Added a call to reset the window origin, which
happens to be stored in the UI delegate object. This is part of resetting the
window position.

* DumpRenderTree/mac/UIDelegate.h: Store the window origin rather than storing
a frame rectangle. The size is stored in the size of the web view itself.
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate resetWindowOrigin]): Added.
(-[UIDelegate webView:setFrame:]): Changed to set the size of the web view. The
old version would store the frame, but not resize the web view!
(-[UIDelegate webViewFrame:]): Get the size from the web view.

* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::setWindowFrame): Added code to resize the web view.

* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::resizeTo): Added a comment about missing code to resize
the window.

* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::resizeTo): Changed this to call setWindowFrame so the
window gets resized too, not just the web view.
(WTR::PlatformWebView::setWindowFrame): Added code to set the size of the web view.

* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::resizeTo): Changed this to call setWindowFrame so the
window gets resized too, not just the web view.
(WTR::PlatformWebView::setWindowFrame): Added code to set the size of the web view.

LayoutTests:
* css3/viewport-percentage-lengths/resources/resize-test.js:
Added code to compensate for the difference between innerWidth/Height and outerWidth/Height
so this works well in a browser window. Added code to "warm up" so the first resize triggers
a resize event. Tweaked style of the code a bit. Use resize events to avoid flakiness due
to race conditions. One thing I did not fix is the "out of order" problem where all the
test results get written out after the words TEST COMPLETE.

* css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block-expected.txt:
Updated due to changes to the underlying test machinery, and also to show actual expected success.
The old results said PASS with various obviously wrong results.

* css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block.html:
Changed this test to use the shared resize-test.js.

* css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child-expected.txt:
Updated due to changes to the underlying test machinery, and also to show actual expected success.
The old results said PASS with various obviously wrong results.

* css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child.html:
Streamlined this test a little.

* css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size-expected.txt:
Updated due to changes to the underlying test machinery, and also to show actual expected success.
The old results said PASS with various obviously wrong results.

* css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html:
Streamlined this test a little.

* css3/viewport-percentage-lengths/viewport-percentage-lengths-resize-expected.txt:
Updated due to changes to the underlying test machinery, and also to show both expected success,
and some expected failures. These failures were going unnoticed before since the test didn't
successfully do any resizing of the web view.

* css3/viewport-percentage-lengths/viewport-percentage-lengths-resize.html:
Streamlined this test a little.

* fast/dom/Window/window-resize-contents-expected.txt: Updated to reflect the test actually
resizing. The old test results expected no resizing to occur.
* fast/dom/Window/window-resize-contents.html: Updated to use a resize event handler so the
test can successfully test asynchronous resizes like the ones done by WebKit2.

* fast/dom/rtl-scroll-to-leftmost-and-resize.html: Updated to use a resize event handler so
this can test asynchronous resizes. Also fixed code that was treating the arguments to resizeTo
as if they were inner coordinates rather than outer. However, the bug this tests for has not
been fixed, so need to expect failures.

* platform/mac/TestExpectations: Added a failure expection for the test above.

* platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.png: Updated to expect a result
that successfully resized.
* platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.txt: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169505 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS] WebKit2.framework is unused
mitz@apple.com [Sat, 31 May 2014 20:29:46 +0000 (20:29 +0000)]
[iOS] WebKit2.framework is unused
https://bugs.webkit.org/show_bug.cgi?id=133424

Reviewed by Anders Carlsson.

* Configurations/WebKit2.xcconfig: Set SKIP_INSTALL to YES when targeting iOS.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169504 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDon't use std::mutex::try_lock to check if we own a mutex
andersca@apple.com [Sat, 31 May 2014 17:41:28 +0000 (17:41 +0000)]
Don't use std::mutex::try_lock to check if we own a mutex
https://bugs.webkit.org/show_bug.cgi?id=133421

Reviewed by Dan Bernstein.

According the C++ standard, calling try_lock on a mutex that's already owned by the current thread
is undefined behavior, so don't do that.

* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::guidToVersionMap):
(WebCore::updateGuidVersionMap):
(WebCore::guidToDatabaseMap):
(WebCore::guidForOriginAndName):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169503 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDYEBench spits out 404 errors for learn.json
rniwa@webkit.org [Sat, 31 May 2014 05:12:21 +0000 (05:12 +0000)]
DYEBench spits out 404 errors for learn.json
https://bugs.webkit.org/show_bug.cgi?id=133416

Reviewed by Oliver Hunt.

Add an empty learn.json file so that it won't cause a 404 error when hosted on a http server.

Bumped the version number to 0.12.

* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/todomvc/learn.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169502 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS][WK2] When a page does not finish rotation before the end of the animation,...
benjamin@webkit.org [Sat, 31 May 2014 00:56:51 +0000 (00:56 +0000)]
[iOS][WK2] When a page does not finish rotation before the end of the animation, synchronize explicitely
https://bugs.webkit.org/show_bug.cgi?id=133364
<rdar://problem/17026333>

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

When a page that does layout on rotation does not respond before the end of the animation, we end up with
a completely inconsistent state on the UIProcess (because it is unware of the new states).

The perfect way to fix this would be to make animated resize transactional and have the WebProcess resolve
conflicts. That is very complicated and the issue is uncommon, so this patch does not do that.

This patch force the synchronization whenever we finish the animation before we heard back
from the WebProcess.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _endAnimatedResize]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::resetState):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::synchronizeDynamicViewportUpdate):
(WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::synchronizeDynamicViewportUpdate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169501 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (WebKit2): space space to insert period doesn't work in web forms.
enrica@apple.com [Sat, 31 May 2014 00:12:53 +0000 (00:12 +0000)]
REGRESSION (WebKit2): space space to insert period doesn't work in web forms.
https://bugs.webkit.org/show_bug.cgi?id=133413
<rdar://problem/16948333>

Reviewed by Benjamin Poulain.

Source/WebCore:
Adding utility functions and their exports.

* WebCore.exp.in:
* editing/TextIterator.cpp:
(WebCore::plainTextReplacingNoBreakSpace):
* editing/TextIterator.h:
* editing/VisibleUnits.cpp:
(WebCore::charactersAroundPosition):
(WebCore::characterBeforePosition): Deleted.
* editing/VisibleUnits.h:

Source/WebKit2:
iOS TextInput needs to know about content surrounding the
current position while editing. Since we don't want to
query this information synchronously when asked, we cache it
as part of the EditorState. EditorState now contains a vector of
three characters representing the content after, before and two
position before the caret position.
The patch also replaces all calls to plainText with plainTextReplacingNoBreakSpace
to work well with iOS text input.

* Shared/EditorState.cpp:
(WebKit::EditorState::encode):
(WebKit::EditorState::decode):
* Shared/EditorState.h:
(WebKit::EditorState::EditorState):
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _characterInRelationToCaretSelection:]):
(+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDictationContext):
(WebKit::WebPage::replaceSelectedText):
(WebKit::WebPage::replaceDictatedText):
(WebKit::WebPage::requestAutocorrectionData):
(WebKit::WebPage::syncApplyAutocorrection):
(WebKit::computeAutocorrectionContext):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169500 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCleanup temporary setting of image interpolation quality in GraphicsContext::drawImage*
zalan@apple.com [Fri, 30 May 2014 23:03:11 +0000 (23:03 +0000)]
Cleanup temporary setting of image interpolation quality in GraphicsContext::drawImage*
https://bugs.webkit.org/show_bug.cgi?id=133407

Reviewed by Darin Adler.

Add helper class to set/reset image interpolation quality value.

No change in functionality.

* platform/graphics/GraphicsContext.cpp:
(WebCore::InterpolationQualityMaintainer::InterpolationQualityMaintainer):
(WebCore::InterpolationQualityMaintainer::~InterpolationQualityMaintainer):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169498 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFixed the build by adding back a declaration I deleted by accident :(.
ggaren@apple.com [Fri, 30 May 2014 21:51:52 +0000 (21:51 +0000)]
Fixed the build by adding back a declaration I deleted by accident :(.

Unreviewed.

* UIProcess/API/Cocoa/WKWebView.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169497 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFixed some ChangeLog grammar.
ggaren@apple.com [Fri, 30 May 2014 21:41:48 +0000 (21:41 +0000)]
Fixed some ChangeLog grammar.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169496 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, rolling in r169490.
ggaren@apple.com [Fri, 30 May 2014 21:41:10 +0000 (21:41 +0000)]
Unreviewed, rolling in r169490.

I change a non-ASCII apostrophe to ASCII.

Restored changeset:

"Some more copy-editing of the Modern WebKit headerdoc"
https://bugs.webkit.org/show_bug.cgi?id=133408
http://trac.webkit.org/changeset/169490

* UIProcess/API/Cocoa/WKBackForwardList.h:
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKNavigation.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
(NS_ENUM):
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
(NS_ENUM):
* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKPreferences.h:
* UIProcess/API/Cocoa/WKProcessPool.h:
* UIProcess/API/Cocoa/WKScriptMessage.h:
* UIProcess/API/Cocoa/WKScriptMessageHandler.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169495 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, rolling out r169490.
ggaren@apple.com [Fri, 30 May 2014 21:07:42 +0000 (21:07 +0000)]
Unreviewed, rolling out r169490.

It broke the build with a mysterious warning about ASCII

Reverted changeset:

"Some more copy-editing of the Modern WebKit headerdoc"
https://bugs.webkit.org/show_bug.cgi?id=133408
http://trac.webkit.org/changeset/169490

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169493 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSupport -apple-system-font on OS X
mmaxfield@apple.com [Fri, 30 May 2014 20:59:36 +0000 (20:59 +0000)]
Support -apple-system-font on OS X
https://bugs.webkit.org/show_bug.cgi?id=133382

Addressing post-review comments.

* platform/mac/WebFontCache.mm:
(+[WebFontCache internalFontWithFamily:traits:weight:size:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169492 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove repetitive header in HTMLInputElement.cpp
commit-queue@webkit.org [Fri, 30 May 2014 19:26:55 +0000 (19:26 +0000)]
Remove repetitive header in HTMLInputElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=133376

Patch by Prashant Hiremath <hiremathprashants@gmail.com> on 2014-05-30
Reviewed by Anders Carlsson.

It is just removal repeative headers hence no test needed.

* html/HTMLInputElement.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169491 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSome more copy-editing of the Modern WebKit headerdoc
ggaren@apple.com [Fri, 30 May 2014 19:11:46 +0000 (19:11 +0000)]
Some more copy-editing of the Modern WebKit headerdoc
https://bugs.webkit.org/show_bug.cgi?id=133408

Reviewed by Beth Dakin.

A copy-editor suggested some edits to the headerdoc for clarity,
style, and formatting.

I reviewed the edits and accepted about 80% of them.

* UIProcess/API/Cocoa/WKBackForwardList.h:
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKNavigation.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
(NS_ENUM):
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
(NS_ENUM):
* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKPreferences.h:
* UIProcess/API/Cocoa/WKProcessPool.h:
* UIProcess/API/Cocoa/WKScriptMessage.h:
* UIProcess/API/Cocoa/WKScriptMessageHandler.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169490 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoChange run-jsc-stress-tests to not resolve jsc path locally when creating a bundle
msaboff@apple.com [Fri, 30 May 2014 18:19:21 +0000 (18:19 +0000)]
Change run-jsc-stress-tests to not resolve jsc path locally when creating a bundle
https://bugs.webkit.org/show_bug.cgi?id=133409

Reviewed by Filip Pizlo.

Handle creating a tarball the same way as running remote when processing
paths in prepareBundle.

* Scripts/run-jsc-stress-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169489 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] Don't use logAccessibilityEvents() in aria-slider-required-attributes.html
mario.prada@samsung.com [Fri, 30 May 2014 16:49:26 +0000 (16:49 +0000)]
[GTK] Don't use logAccessibilityEvents() in aria-slider-required-attributes.html
https://bugs.webkit.org/show_bug.cgi?id=133405

Reviewed by Chris Fleizach.

Change the test to use addNotificationListener() instead.

* platform/gtk/TestExpectations: Removed failure expectation
* platform/gtk/accessibility/aria-slider-required-attributes-expected.txt: Updated
* platform/gtk/accessibility/aria-slider-required-attributes.html: Updated

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169488 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[ATK] Deprecate usage of logAccessibilityEvents() in layout tests
mario.prada@samsung.com [Fri, 30 May 2014 16:47:06 +0000 (16:47 +0000)]
[ATK] Deprecate usage of logAccessibilityEvents() in layout tests
https://bugs.webkit.org/show_bug.cgi?id=132280

Reviewed by Chris Fleizach.

Tools:
Remove implementation of logAccessibilityEvents() for ATK based
ports, as this has proved to be a flaky method of checking that
ATK events are being properly emitted. Instead, it's better to use
the addNotificationListener() functions and provide a JS callback
to check that the right events are being emmitted from the tests.

* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
(WTR::AccessibilityController::logAccessibilityEvents): Replaced
with dummy implementation.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
(WTR::AccessibilityNotificationHandler::logAccessibilityEvents): Removed

LayoutTests:
Removed 36 flaky expectations from TestExpectations for tests that
were ocassionally showing the output of logAccessibilityEvents()
even if they did not make use of that feature (thus the flakiness).

* platform/gtk/TestExpectations: Updated.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169487 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCrash loading skydrive.com (assertion under RemoteLayerTreeDisplayRefreshMonitor)
timothy_horton@apple.com [Fri, 30 May 2014 15:43:55 +0000 (15:43 +0000)]
Crash loading skydrive.com (assertion under RemoteLayerTreeDisplayRefreshMonitor)
https://bugs.webkit.org/show_bug.cgi?id=133370
<rdar://problem/17061361>

Reviewed by Darin Adler.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::willDestroyDisplayRefreshMonitor):
(WebKit::RemoteLayerTreeDrawingArea::didUpdate):
Post-landing review comments from Darin noted that checking if the
DrawingArea's m_displayRefreshMonitors contains the monitor in the
list to notify is insufficient, because a new one could have been
added with the same address. Instead, copy the HashSet, removing
at random from it and firing didUpdateLayers, but *also* removing
from it in the willDestroyDisplayRefreshMonitor callback.
This is very similar to what DisplayRefreshMonitor itself does internally
(we don't have to duplicate its code to avoid re-entry because it is
already impossible to re-enter didUpdate).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169486 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[ATK] Deprecate usage of logAccessibilityEvents() in layout tests
mario.prada@samsung.com [Fri, 30 May 2014 15:20:26 +0000 (15:20 +0000)]
[ATK] Deprecate usage of logAccessibilityEvents() in layout tests
https://bugs.webkit.org/show_bug.cgi?id=132280

Rubber stamped by Carlos Garcia Campos.

Fix two small issues with previous patch (r169483), that caused some tests to break.

* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
(WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks): Removed
duplicated entry.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::setSelectedTextRange): Fix boolean condition.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169485 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove redundant GraphicsContext::drawImage() function.
zalan@apple.com [Fri, 30 May 2014 14:16:54 +0000 (14:16 +0000)]
Remove redundant GraphicsContext::drawImage() function.
https://bugs.webkit.org/show_bug.cgi?id=133347

Reviewed by Simon Fraser.

There are 2 GraphicsContext::drawImage functions with very similar parameter list. This looks
to be a source of confusion and results in passing unneeded parameters.

No change in functionality.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::drawImageToContext):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
* platform/graphics/GraphicsContext.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::paint):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::updateContents):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintNinePieceImage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169484 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoTools: [ATK] Added new accessibility signal: text-caret-moved.
commit-queue@webkit.org [Fri, 30 May 2014 10:58:36 +0000 (10:58 +0000)]
Tools: [ATK] Added new accessibility signal: text-caret-moved.
Make AccessibilityUIElement.setSelectedTextRange work
as atk_text_set_caret_offset when given offset == 0.
https://bugs.webkit.org/show_bug.cgi?id=132527

Patch by Jarek Czekalski <jarekczek@poczta.onet.pl> on 2014-05-30
Reviewed by Mario Sanchez Prada.

text-caret-moved signal in accessibilityController is needed to
implement tests from Tools/TestWebKitAPI/Tests/WebKitGtk/testatk.c
as LayoutTests. Add the signal to the controller.

* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(setSelectedTextRange): Change return type to bool.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(setSelectedTextRange): Call atk_text_set_caret_offset and return bool.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
(axObjectEventListener): Add notification name AXTextCaretMoved, allow
for extra arguments passed to handler and use it for text-caret-moved offset.
(WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
Connect callback to new listener for ATK:AtkText:text-caret-moved.
Refactor so that failures be reported.
Initialize atk interfaces before trying to connect to them, see
https://bugzilla.gnome.org/show_bug.cgi?id=729922
(WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks):
Simplify code by using a vector in place of dozen variables.
* DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:
Comment about not synchronizing with accessibilityController.

LayoutTests: [ATK] Convert caret offset tests from testatk.c.
https://bugs.webkit.org/show_bug.cgi?id=132527

Patch by Jarek Czekalski <jarekczek@poczta.onet.pl> on 2014-05-30
Reviewed by Mario Sanchez Prada.

The tests are replicated from testatk.c file, functions
    testWebkitAtkCaretOffsets()
    testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces()
The file was present in webkit1. Removed from trunk in r166977, so
the last version was
https://trac.webkit.org/browser/trunk/Tools/TestWebKitAPI/Tests/WebKitGtk/testatk.c?rev=166976
What could not be verified in the same way:

1. Whether element implements ATK_TEXT. If setCaretOffset
succeeds, it confirms that element is text as well. But in cases
when setCaretOffset must fail I see no way to confirm it is text
element.

2. Whether position is correct through a call to
atk_text_get_caret_offset.  text-caret-moved signal value is
tested instead.

Anyway these cases don't look crucial, so they are skipped.

* platform/gtk/resources/atk-helpers.js: Added.
(setCaretOffset): Added.
* platform/gtk/accessibility/caret-offsets-and-extraneous-white-spaces-expected.txt: Added.
* platform/gtk/accessibility/caret-offsets-and-extraneous-white-spaces.html: Added.
* platform/gtk/accessibility/caret-offsets-expected.txt: Added.
* platform/gtk/accessibility/caret-offsets.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169483 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoEnable css jit by default on arm64.
achristensen@apple.com [Fri, 30 May 2014 00:52:34 +0000 (00:52 +0000)]
Enable css jit by default on arm64.
https://bugs.webkit.org/show_bug.cgi?id=133246
<rdar://problem/17073407>

Reviewed by Benjamin Poulain.

* wtf/Platform.h:
Added arm64 to list of supported architectures.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169480 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoPrepare css jit for arm64 and other architectures.
achristensen@apple.com [Fri, 30 May 2014 00:25:25 +0000 (00:25 +0000)]
Prepare css jit for arm64 and other architectures.
https://bugs.webkit.org/show_bug.cgi?id=133394

Reviewed by Benjamin Poulain.

* cssjit/FunctionCall.h:
(WebCore::FunctionCall::swapArguments):
* cssjit/RegisterAllocator.h:
Use a designated temporary register on arm64 to prevent using a deallocated argument register to swap argument registers in.
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
Added assertion to make sure there are enough registers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169479 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCSS JIT: add support for the pseudo classes :hover and :active
benjamin@webkit.org [Fri, 30 May 2014 00:15:18 +0000 (00:15 +0000)]
CSS JIT: add support for the pseudo classes :hover and :active
https://bugs.webkit.org/show_bug.cgi?id=133295

Reviewed by Andreas Kling.

This patch adds compilation support for :hover and :active. The code generation of both of them is trivial,
most of the patch is improving the infrastructure and safety.

The document compatibility mode is moved to its own typed enum. This ensure the values are exclusives and
the native type is known (unsigned char here). The values are changes to binary flags to take advantage of
test-and-branch on ARM64 (not used explicitely, it is automatically generated by the MacroAssembler).

The other important refactoring is the code updating the flags on RenderStyle::NonInheritedFlags.
The code was duplicated in some places so it is move into its own function addFlagToElementStyleFromContext().

The generators themself are very simple. First we check the quirks-mode exceptions, that is generally excluded
at compile time because the conditions are almost never met, even in strict mode.
Then we have two cases: style resolution and query selector. Almost everything is just function calls.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagToElementStyleFromContext):
(WebCore::SelectorCompiler::fragmentOnlyMatchesLinksInQuirksMode):
(WebCore::SelectorCompiler::getDocument):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSpecialFailureInQuirksModeForActiveAndHoverIfNeeded):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::elementIsActive):
(WebCore::SelectorCompiler::elementIsActiveForStyleResolution):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
(WebCore::SelectorCompiler::elementIsHovered):
(WebCore::SelectorCompiler::elementIsHoveredForStyleResolution):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setCompatibilityMode):
(WebCore::Document::implicitOpen):
(WebCore::Document::cloneDataFromDocument):
* dom/Document.h:
(WebCore::Document::compatibilityModeMemoryOffset):
(WebCore::Document::inQuirksMode):
(WebCore::Document::inLimitedQuirksMode):
(WebCore::Document::inNoQuirksMode):
(WebCore::Document::compatibilityMode): Deleted.
* html/ImageDocument.cpp:
(WebCore::ImageDocument::ImageDocument):
* html/MediaDocument.cpp:
(WebCore::MediaDocument::MediaDocument):
* html/PluginDocument.cpp:
(WebCore::PluginDocument::PluginDocument):
* html/TextDocument.cpp:
(WebCore::TextDocument::TextDocument):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::setDefaultCompatibilityMode):
(WebCore::HTMLConstructionSite::setCompatibilityMode):
(WebCore::HTMLConstructionSite::setCompatibilityModeFromDoctype):
(WebCore::HTMLConstructionSite::insertDoctype):
* html/parser/HTMLConstructionSite.h:
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::replaceDocument):
* loader/SinkDocument.cpp:
(WebCore::SinkDocument::SinkDocument):
* page/ios/FrameIOS.mm:
(WebCore::Frame::initWithSimpleHTMLDocument):
* rendering/style/RenderStyle.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169478 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago-[WKProcessPoolConfiguration setCachePartitionedURLSchemes:] should do a deep copy
andersca@apple.com [Fri, 30 May 2014 00:09:40 +0000 (00:09 +0000)]
-[WKProcessPoolConfiguration setCachePartitionedURLSchemes:] should do a deep copy
https://bugs.webkit.org/show_bug.cgi?id=133393

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169477 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRoll r168668 back in.
jhoneycutt@apple.com [Thu, 29 May 2014 23:52:32 +0000 (23:52 +0000)]
Roll r168668 back in.

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

Reviewed by Brent Fulgham.

Source/WebCore:
Tests: fast/events/beforeload-assertion.html
       fast/events/beforeload-iframe-crash.html
       fast/events/beforeload-input-time-crash.html

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
* dom/Document.h:
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::renderWidgetForJSBindings):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderWidgetForJSBindings):
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired):
(WebCore::FrameView::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::performPostLayoutTasks):
* page/FrameView.h:
* testing/Internals.cpp:
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

LayoutTests:
* compositing/plugins/composited-plugin.html:
* compositing/plugins/no-backing-store.html:
* fast/dom/beforeload/flash-before-load.html:
* fast/events/beforeload-assertion-expected.txt: Added.
* fast/events/beforeload-assertion.html: Added.
* fast/events/beforeload-iframe-crash-expected.txt: Added.
* fast/events/beforeload-iframe-crash.html: Added.
* fast/events/beforeload-input-time-crash-expected.txt: Added.
* fast/events/beforeload-input-time-crash.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
* http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
* http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
* http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
* http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
* http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:
(testImpl.iframe.onload):
(testImpl):
* http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
* platform/mac/plugins/supports-carbon-event-model.html:
* platform/mac/plugins/testplugin-onnew-onpaint.html:
* plugins/get-user-agent-with-null-npp-from-npp-new.html:
* plugins/mouse-click-plugin-clears-selection.html:
* plugins/netscape-plugin-map-data-to-src.html:
* plugins/no-mime-with-valid-extension.html:
* plugins/plugin-initiate-popup-window.html:
* plugins/windowless_plugin_paint_test.html:
* resources/plugin.js: Added.
(runAfterPluginLoad):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169475 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSupport -apple-system-font on OS X
mmaxfield@apple.com [Thu, 29 May 2014 23:41:15 +0000 (23:41 +0000)]
Support -apple-system-font on OS X
https://bugs.webkit.org/show_bug.cgi?id=133382

Source/WebCore:
Reviewed by Simon Fraser.

Guard on both family names: "-apple-system-font" and "-webkit-system-font"

Test: platform/mac/fast/text/systemFont.html

* platform/mac/WebFontCache.mm:
(+[WebFontCache internalFontWithFamily:traits:weight:size:]):

LayoutTests:
This test makes sure that -apple-system-font is rendered the same way as -webkit-system-font.

Reviewed by Simon Fraser.

* platform/mac-mountainlion/platform/mac/fast/text/systemFont-expected.txt: Updated.
* platform/mac/fast/text/systemFont.html: Tests -apple-system-font in addition to -webkit-system-font.
* platform/mac/platform/mac/fast/text/systemFont-expected.txt: Updated.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169474 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoLoading <object> from WebArchive crashes
ap@apple.com [Thu, 29 May 2014 23:04:30 +0000 (23:04 +0000)]
Loading <object> from WebArchive crashes
https://bugs.webkit.org/show_bug.cgi?id=133386
<rdar://problem/13345509>

Reviewed by Brady Eidson.

Source/WebCore:
Test: webarchive/loading/object.html

This (a) fixes the crash, and (b) avoids the crash.

* loader/DocumentLoader.cpp: (WebCore::DocumentLoader::continueAfterContentPolicy):
Some types of substitute data - such as WebArchive - don't contain HTTP result codes,
so let's not drop to <object> fallback content when status is 0.
And if the load somehow failed anyway, don't crash by trying to deliver substitute data
to a finished loader.

LayoutTests:
* webarchive/loading/object-expected.txt: Added.
* webarchive/loading/object.html: Added.
* webarchive/loading/resources/object.webarchive: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169472 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd an instruction on how to backup the database.
rniwa@webkit.org [Thu, 29 May 2014 23:00:59 +0000 (23:00 +0000)]
Add an instruction on how to backup the database.
https://bugs.webkit.org/show_bug.cgi?id=133391

Rubber-stamped by Andreas Kling.

* Install.md:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169471 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRestoring FloatingPointEnvironment initialization that was accidentally rolled out...
mark.lam@apple.com [Thu, 29 May 2014 22:26:58 +0000 (22:26 +0000)]
Restoring FloatingPointEnvironment initialization that was accidentally rolled out by r169176.
<https://webkit.org/b/133389>

Rubber stamped by Oliver Hunt.

* Shared/ios/ChildProcessIOS.mm:
(WebKit::ChildProcess::platformInitialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169468 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS WebGL] Fix depth buffer clearing issue.
commit-queue@webkit.org [Thu, 29 May 2014 22:10:16 +0000 (22:10 +0000)]
[iOS WebGL] Fix depth buffer clearing issue.
https://bugs.webkit.org/show_bug.cgi?id=133388

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-29
Reviewed by Dean Jackson.

No new tests, but this fixes webgl/1.0.1/conformance/canvas/buffer-preserve-test.html.

* platform/graphics/mac/WebGLLayer.mm:
(-[WebGLLayer display]):
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::prepareTexture):
Moved marking the layer as composited from the mac-only prepareTexture to
the end of [WebGLLayer display] which is called by mac and iOS.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169467 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoNeed to notify the keyboard about every KeyDown event.
enrica@apple.com [Thu, 29 May 2014 21:47:50 +0000 (21:47 +0000)]
Need to notify the keyboard about every KeyDown event.
https://bugs.webkit.org/show_bug.cgi?id=133383
<rdar://problem/16633975>

Reviewed by Benjamin Poulain.

A key down will generate most of the time a call to the keyboard to add input or delete.
But the event could be handled by JavaScript and its default prevented.
We need to notify the keyboard in every case to allow updating its internal state about what has been typed.

* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::doneWithKeyEvent):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didHandleKeyEvent:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169466 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRoll out r169439. <rdar://problem/17069364>
matthew_hanson@apple.com [Thu, 29 May 2014 21:44:27 +0000 (21:44 +0000)]
Roll out r169439. <rdar://problem/17069364>

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169465 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFix an exception in InspectorBackend.Command.prototype.supports.
timothy@apple.com [Thu, 29 May 2014 20:23:30 +0000 (20:23 +0000)]
Fix an exception in InspectorBackend.Command.prototype.supports.

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

Reviewed by Joseph Pecoraro.

* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Command.prototype.supports): Use some not any.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169462 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] Add a WebKit2 Performance bot.
commit-queue@webkit.org [Thu, 29 May 2014 20:14:29 +0000 (20:14 +0000)]
[GTK] Add a WebKit2 Performance bot.
https://bugs.webkit.org/show_bug.cgi?id=132862

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-29
Reviewed by Csaba Osztrogonác.

This adds a GTK WebKit2 perf bot.

* BuildSlaveSupport/build.webkit.org-config/config.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169461 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Cocoa] Can’t recover from subframe load errors
mitz@apple.com [Thu, 29 May 2014 20:01:27 +0000 (20:01 +0000)]
[Cocoa] Can’t recover from subframe load errors
https://bugs.webkit.org/show_bug.cgi?id=133385

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Declared new delegate method.
* UIProcess/Cocoa/NavigationState.h: Added flag in m_navigationDelegateMethods struct.
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate): Initialize
webViewNavigationDidFailProvisionalLoadInSubframeWithError flag in the delegate methods
struct.
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): If the
error occurred in a subframe, invoke the new delegate method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169460 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoGardening: marking js/primitive-property-access-edge-cases.html as crashy.
mark.lam@apple.com [Thu, 29 May 2014 18:40:42 +0000 (18:40 +0000)]
Gardening: marking js/primitive-property-access-edge-cases.html as crashy.
<https://webkit.org/b/133356>

Not reviewed.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169459 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdded a missing @result to WKPreferences headerdoc
ggaren@apple.com [Thu, 29 May 2014 18:38:06 +0000 (18:38 +0000)]
Added a missing @result to WKPreferences headerdoc
https://bugs.webkit.org/show_bug.cgi?id=133381

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKPreferences.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169458 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Mac] Always use plug-in sandbox with sandboxed clients
ap@apple.com [Thu, 29 May 2014 18:24:43 +0000 (18:24 +0000)]
[Mac] Always use plug-in sandbox with sandboxed clients
https://bugs.webkit.org/show_bug.cgi?id=133358
<rdar://problem/15637695>

Reviewed by Anders Carlsson.

* PluginProcess/mac/PluginProcessMac.mm: (WebKit::PluginProcess::initializeSandbox):
Refuse to start if parent process is sandboxed, and plug-in process is not going to be.
None of this should run in normal case, because there are also checks on UI process side.

* Shared/Plugins/PluginModuleInfo.h:
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::NetscapePluginModule::getPluginInfo):
Added a member to PluginModuleInfo, telling whether the plug-in has a sandbox profile.

* Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
(WebKit::getPlatformPluginModuleInformation): Use the new PluginModuleInfo member,
we no longer need to check the file system here.

* WebKit2.xcodeproj/project.pbxproj:
* Shared/mac/SandboxUtilities.h: Added.
* Shared/mac/SandboxUtilities.cpp: Added. (WebKit::processIsSandboxed):
This code is simple, but include magic is not. Moved it to a separate file to
avoid repeating.

* UIProcess/API/C/mac/WKContextPrivateMac.mm: Removed an unused include.

* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::shouldUsePlugin): Don't use unsandboxed plug-ins in
sandboxed applications.

* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformGetLaunchOptions): Don't ever pass disable-sandbox
from sandboxed processes.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::isClientSandboxed):
Use the new shared code in SandboxUtilities.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169457 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCrash loading skydrive.com (assertion under RemoteLayerTreeDisplayRefreshMonitor)
timothy_horton@apple.com [Thu, 29 May 2014 18:19:03 +0000 (18:19 +0000)]
Crash loading skydrive.com (assertion under RemoteLayerTreeDisplayRefreshMonitor)
https://bugs.webkit.org/show_bug.cgi?id=133370
<rdar://problem/17061361>

Reviewed by Anders Carlsson.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::didUpdate):
Copy the set of refresh monitors so that we don't try to mutate the list we're iterating,
and don't try to fire refresh monitors that were removed in a previous iteration of the loop.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169456 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (iOS WebKit2): Find-in-Page doesn't work in subframes
timothy_horton@apple.com [Thu, 29 May 2014 18:06:35 +0000 (18:06 +0000)]
REGRESSION (iOS WebKit2): Find-in-Page doesn't work in subframes
https://bugs.webkit.org/show_bug.cgi?id=133372
<rdar://problem/17045070>

Reviewed by Simon Fraser.

* WebProcess/WebPage/ios/FindControllerIOS.mm:
(WebKit::FindController::willFindString):
(WebKit::FindController::didFailToFindString):
(WebKit::FindController::didHideFindIndicator):
Flip ignoreCompositionSelectionChange and updateAppearanceEnabled on all
frames, not just the main frame, because the found string can be in a subframe.
Ideally we would flip it on/off for each frame as we move the selection between them,
but would require a lot of work (and the overhead of touching each frame shouldn't be significant).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169455 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoGardening: marking js/primitive-property-access-edge-cases.html as flaky.
mark.lam@apple.com [Thu, 29 May 2014 17:49:54 +0000 (17:49 +0000)]
Gardening: marking js/primitive-property-access-edge-cases.html as flaky.
<https://webkit.org/b/133356>

Not reviewed.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169454 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFixed the WebKitTestRunner build after r169452.
mitz@apple.com [Thu, 29 May 2014 17:40:15 +0000 (17:40 +0000)]
Fixed the WebKitTestRunner build after r169452.

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::initialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169453 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWKBundleActivateMacFontAscentHack is unused
mitz@apple.com [Thu, 29 May 2014 17:27:56 +0000 (17:27 +0000)]
WKBundleActivateMacFontAscentHack is unused
https://bugs.webkit.org/show_bug.cgi?id=133379

Reviewed by Anders Carlsson.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleActivateMacFontAscentHack): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
(WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.
* WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
(WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.
* WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169452 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoVersioning.
matthew_hanson@apple.com [Thu, 29 May 2014 17:09:51 +0000 (17:09 +0000)]
Versioning.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169451 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoPerserve caption selection in fullscreen.
commit-queue@webkit.org [Thu, 29 May 2014 16:41:27 +0000 (16:41 +0000)]
Perserve caption selection in fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=133350

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-29
Reviewed by Eric Carlson.

Use the logic from the inline player to calculate the selected caption index.

* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::mediaControlsHost):
Expose mediaControlsHost() for use by WebVideoFullscreenModelMediaElement.

* platform/ios/WebVideoFullscreenModelMediaElement.mm:
(WebVideoFullscreenModelMediaElement::updateLegibleOptions):
Use logic from buildCaptionsMenu from mediaControlsApple.js.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169450 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUse correct version of requiresFullscreenForVideoPlayback().
commit-queue@webkit.org [Thu, 29 May 2014 16:26:46 +0000 (16:26 +0000)]
Use correct version of requiresFullscreenForVideoPlayback().
https://bugs.webkit.org/show_bug.cgi?id=133331

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-29
Reviewed by Eric Carlson.

Source/WebCore:
Test: media/video-fullscreeen-only-controls.html

Update the last place not yet using m_mediaSession->requiresFullscreenForVideoPlayback.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
switch to media session version for requriesFullscreenForVideoPlayback.

LayoutTests:
* media/video-fullscreeen-only-controls-expected.txt: Added.
* media/video-fullscreeen-only-controls.html: Added. Make sure video element
controls show even when not specified if inline playback is restricted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169449 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd a sandbox profile for com.apple.appstore.CodeRedeemerNetscapePlugin
ap@apple.com [Thu, 29 May 2014 16:10:45 +0000 (16:10 +0000)]
Add a sandbox profile for com.apple.appstore.CodeRedeemerNetscapePlugin
https://bugs.webkit.org/show_bug.cgi?id=133360

Reviewed by Sam Weinig.

* Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Looks like
anyone using camera would need access to CoreMedia preferences.

* Resources/PlugInSandboxProfiles/com.apple.appstore.CodeRedeemerNetscapePlugin.sb: Added.

* WebKit2.xcodeproj/project.pbxproj: Added the profile.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDFG::DCEPhase inserts into an insertion set in reverse, causing hilarious basic block...
fpizlo@apple.com [Thu, 29 May 2014 16:09:55 +0000 (16:09 +0000)]
DFG::DCEPhase inserts into an insertion set in reverse, causing hilarious basic block corruption if you kill a lot of NewArrays
https://bugs.webkit.org/show_bug.cgi?id=133368

Reviewed by Mark Lam.

Source/JavaScriptCore:
* dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::fixupBlock): Loop in the right order so that we insert in the right order.
* tests/stress/new-array-dead.js: Added.
(foo):

Source/WTF:
* wtf/Insertion.h:
(WTF::executeInsertions): This algorithm is only correct if insertions are added in the right order. Assert that the order is right.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169447 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] Add support for HiDPI icons
carlosgc@webkit.org [Thu, 29 May 2014 16:05:38 +0000 (16:05 +0000)]
[GTK] Add support for HiDPI icons
https://bugs.webkit.org/show_bug.cgi?id=133377

Reviewed by Martin Robinson.

Source/WebCore:
Use the GTK+ missing icon at 16 or 32 size depending on the device
scale factor.

* platform/graphics/gtk/ImageGtk.cpp:
(WebCore::loadMissingImageIconFromTheme):
(WebCore::Image::loadPlatformResource):

Source/WebKit2:
* PlatformGTK.cmake: Compile also the @2x versions for the builtin icons.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169446 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] Add HighDPI support for non-accelerated compositing contents
carlosgc@webkit.org [Thu, 29 May 2014 15:10:54 +0000 (15:10 +0000)]
[GTK] Add HighDPI support for non-accelerated compositing contents
https://bugs.webkit.org/show_bug.cgi?id=131562

Patch by Owen Taylor <otaylor@redhat.com> on 2014-05-29
Reviewed by Anders Carlsson.

Source/WebCore:
No new tests. This will be tested once we have the proper dependencies in the WebKit testing
JHBuild.

* platform/cairo/WidgetBackingStore.h:
(WebCore::WidgetBackingStore::WidgetBackingStore): Accept a device scale argument.
* platform/cairo/WidgetBackingStoreCairo.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
* platform/cairo/WidgetBackingStoreCairo.h: Accept a device scale argument.
* platform/graphics/cairo/CairoUtilities.cpp: Add a new helper to set the device scale if Cairo built against is new enough.
* platform/graphics/cairo/CairoUtilities.h:
* platform/gtk/GtkVersioning.h: Add the HAVE_GTK_SCALE_FACTOR macro.
* platform/gtk/WidgetBackingStoreGtkX11.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
* platform/gtk/WidgetBackingStoreGtkX11.h: Accept a device scale argument.

Source/WebKit2:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(deviceScaleFactorChanged): Added this callback to pass scale changes to the page proxy.
(webkitWebViewBaseCreateWebPage): Attach the callback to the notify signal.
* UIProcess/WebPageProxy.cpp:
* UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::WebPageProxy::setCustomDeviceScaleFactor): Do not set a
custom device scale factor for cairo when it's not supported.
(WebKit::createBackingStoreForGTK): Pass the scale factor to the WebCore backing store.
(WebKit::BackingStore::incorporateUpdate): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] Use GMainLoopSource for idle and timeout sources in WebKit2
carlosgc@webkit.org [Thu, 29 May 2014 10:33:02 +0000 (10:33 +0000)]
[GTK] Use GMainLoopSource for idle and timeout sources in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130081

Reviewed by Martin Robinson.

* Platform/WorkQueue.h:
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::registerSocketEventHandler): Stop pretending it's
possible to register a socket event handler for more than one
descriptor.
(WorkQueue::unregisterSocketEventHandler):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):
* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::DownloadClient):
(WebKit::DownloadClient::~DownloadClient):
(WebKit::DownloadClient::didReceiveData):
(WebKit::DownloadClient::handleResponse):
(WebKit::DownloadClient::handleResponseLater):
* UIProcess/Plugins/gtk/PluginInfoCache.cpp:
(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::~PluginInfoCache):
(WebKit::PluginInfoCache::saveToFile):
(WebKit::PluginInfoCache::updatePluginInfo):
* UIProcess/Plugins/gtk/PluginInfoCache.h:
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
(WebKit::LayerTreeHostGtk::layerFlushTimerFired):
(WebKit::LayerTreeHostGtk::scheduleLayerFlush):
(WebKit::LayerTreeHostGtk::cancelPendingLayerFlush):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169444 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[WK2][GTK] ASSERTION FAILED: m_status == Scheduled in GMainLoopSource
carlosgc@webkit.org [Thu, 29 May 2014 09:38:27 +0000 (09:38 +0000)]
[WK2][GTK] ASSERTION FAILED: m_status == Scheduled in GMainLoopSource
https://bugs.webkit.org/show_bug.cgi?id=131220

Reviewed by Philippe Normand.

Unskip inspector-protocol/dom/remove-multiple-nodes.html.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169443 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed. Update my email addresses in contributors.json.
yoon@igalia.com [Thu, 29 May 2014 04:06:17 +0000 (04:06 +0000)]
Unreviewed. Update my email addresses in contributors.json.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCaptions during HLS playback flash/are difficult to readily
bfulgham@apple.com [Thu, 29 May 2014 03:22:12 +0000 (03:22 +0000)]
Captions during HLS playback flash/are difficult to readily
https://bugs.webkit.org/show_bug.cgi?id=133365
<rdar://problem/16584132>

Reviewed by Eric Carlson.

Correct two problems:
1. Add new logic to handle cues that are identical to existing cues, except
   that they cover a slightly later moment in playback. For example, a cue
   encoding device might emit a cue at 24 fps, with many of the cues containing
   the same content but covering only 1/24th of a second.

   Rather than hiding and displaying our cues at the cue encoding rate, we should
   simply continue to display the same cue as long as the content is unchanged.
2. The cue "isEqual" logic for TextTrackCueGeneric improperly short-circuited the
   VTTCue isEqual logic. This was done to avoid a false failure due to the cue
   type being 'generic' rather than 'vtt', but incorrectly treated cues with
   non-matching text as equal.

* html/track/DataCue.cpp:
(WebCore::DataCue::cueContentsMatch): Move cue comparison code to new method that
doesn't check that the 'type' of the cue is identical.
(WebCore::DataCue::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::DataCue::isStartOfCue): Confirms cues match except for start and end times.
* html/track/DataCue.h:
* html/track/TextTrack.cpp:
(WebCore::TextTrack::hasCue): Modify to check if a new cue is simply a continuation
of an existing cue.
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::cueContentsMatch): New method containing the equality code
that used to live in 'isEqual'.
(WebCore::TextTrackCue::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::TextTrackCue::isStartOfCue): Confirms cues match except for start and
end times.
* html/track/TextTrackCue.h:
* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGeneric::cueContentsMatch): New method containing the equality
code that used to live in 'isEqual'.
(WebCore::TextTrackCueGeneric::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::TextTrackCueGeneric::isStartOfCue): Confirms cues match except for start and
end times.
* html/track/TextTrackCueGeneric.h:
* html/track/VTTCue.cpp:
(WebCore::VTTCue::cueContentsMatch): New method containing the equality code that
used to live in 'isEqual'.
(WebCore::VTTCue::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::VTTCue::isStartOfCue): Confirms cues match except for start and end times.
* html/track/VTTCue.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169440 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoviewStateDidChange should always fully update ViewState
barraclough@apple.com [Thu, 29 May 2014 01:41:22 +0000 (01:41 +0000)]
viewStateDidChange should always fully update ViewState
https://bugs.webkit.org/show_bug.cgi?id=133159

Reviewed by Anders Carlson.

Currently WebPageProxy::viewStateDidChange is passed a mask of bits to update.

This has the following negative consequences:
 – WKWebView implicitly requires more detailed knowledge of the internal implementation of the PageClient.
 – Updates may unnecessarily be split over multiple IPC messages.
 – In order to support partial updates we make multiple virtual function calls to PageClient, which then makes duplicate objc calls.

Better to just always update the entire ViewState.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView didMoveToWindow]):
    - removed argument to viewStateDidChange.
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::viewState):
(WebKit::PageClientImpl::isViewWindowActive): Deleted.
(WebKit::PageClientImpl::isViewFocused): Deleted.
(WebKit::PageClientImpl::isViewVisible): Deleted.
(WebKit::PageClientImpl::isViewInWindow): Deleted.
* UIProcess/API/gtk/PageClientImpl.h:
    - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
* UIProcess/API/mac/WKView.mm:
(-[WKView becomeFirstResponder]):
(-[WKView resignFirstResponder]):
(-[WKView viewDidMoveToWindow]):
(-[WKView _windowDidBecomeKey:]):
(-[WKView _windowDidResignKey:]):
(-[WKView _windowDidMiniaturize:]):
(-[WKView _windowDidDeminiaturize:]):
(-[WKView _windowDidOrderOffScreen:]):
(-[WKView _windowDidOrderOnScreen:]):
(-[WKView _windowDidChangeOcclusionState:]):
(-[WKView viewDidHide]):
(-[WKView viewDidUnhide]):
(-[WKView _activeSpaceDidChange:]):
(-[WKView _setThumbnailView:]):
(-[WKView endDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChangesSync]):
    - removed argument to viewStateDidChange.
* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::viewState):
(WebKit::WebView::isViewWindowActive): Deleted.
(WebKit::WebView::isViewFocused): Deleted.
(WebKit::WebView::isViewVisible): Deleted.
(WebKit::WebView::isViewInWindow): Deleted.
* UIProcess/CoordinatedGraphics/WebView.h:
    - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
* UIProcess/PageClient.h:
(WebKit::PageClient::isViewVisibleOrOccluded): Deleted.
(WebKit::PageClient::isVisuallyIdle): Deleted.
    - merged isViewVisibleOrOccluded/isVisuallyIdle to subclass viewState methods.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
    - updateViewState -> PageClient::viewState
(WebKit::WebPageProxy::viewStateDidChange):
    - argument removed; updateViewState -> PageClient::viewState.
(WebKit::WebPageProxy::setCursor):
    - call isViewWindowActive on WebPageProxy, rather than PageClient.
(WebKit::WebPageProxy::updateBackingStoreDiscardableState):
    - call isViewWindowActive on WebPageProxy, rather than PageClient.
(WebKit::WebPageProxy::updateViewState): Deleted.
    - removed - viewState method moved to PageClient.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::isViewWindowActive):
    - added missing implementation.
(WebKit::WebPageProxy::isViewVisible):
    - removed argument to viewStateDidChange.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::windowServerConnectionStateChanged):
    - removed argument to viewStateDidChange.
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::viewState):
(WebKit::PageClientImpl::isViewWindowActive): Deleted.
(WebKit::PageClientImpl::isViewFocused): Deleted.
(WebKit::PageClientImpl::isViewVisible): Deleted.
(WebKit::PageClientImpl::isViewInWindow): Deleted.
(WebKit::PageClientImpl::isViewVisibleOrOccluded): Deleted.
(WebKit::PageClientImpl::isVisuallyIdle): Deleted.
    - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
* UIProcess/ios/WKContentView.mm:
(-[WKContentView didMoveToWindow]):
(-[WKContentView _applicationDidEnterBackground:]):
(-[WKContentView _applicationWillEnterForeground:]):
    - removed argument to viewStateDidChange.
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::viewState):
(WebKit::PageClientImpl::showCorrectionPanel):
(WebKit::PageClientImpl::showDictationAlternativeUI):
(WebKit::PageClientImpl::isViewWindowActive): Deleted.
(WebKit::PageClientImpl::isViewFocused): Deleted.
(WebKit::PageClientImpl::isViewVisibleOrOccluded): Deleted.
(WebKit::PageClientImpl::isVisuallyIdle): Deleted.
    - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169439 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWhoops, update bindings tests results.
oliver@apple.com [Wed, 28 May 2014 23:26:09 +0000 (23:26 +0000)]
Whoops, update bindings tests results.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169438 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd Obj-C API for cache partitioned URL schemes
jpfau@apple.com [Wed, 28 May 2014 23:14:17 +0000 (23:14 +0000)]
Add Obj-C API for cache partitioned URL schemes
https://bugs.webkit.org/show_bug.cgi?id=133361
<rdar://problem/17035415>

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _initWithConfiguration:]):
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration cachePartitionedURLSchemes]):
(-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):
(-[_WKProcessPoolConfiguration copyWithZone:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169437 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS WebKit2] Sometimes Safari gets into a limbo state after web process crash
weinig@apple.com [Wed, 28 May 2014 22:54:40 +0000 (22:54 +0000)]
[iOS WebKit2] Sometimes Safari gets into a limbo state after web process crash
<rdar://problem/17029526>
https://bugs.webkit.org/show_bug.cgi?id=133362

Reviewed by Dan Bernstein.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
Remove unnecessary initialization of a unique_ptr.

(WebKit::WebPageProxy::reattachToWebProcess):
Move calls to update the view state and activity tokens to after we have swapped in the new process.

(WebKit::WebPageProxy::resetStateAfterProcessExited):
Clear the activity token on process exit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169436 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd WKWebView SPI to forcefully kill the associated Web process
timothy_horton@apple.com [Wed, 28 May 2014 21:48:05 +0000 (21:48 +0000)]
Add WKWebView SPI to forcefully kill the associated Web process
https://bugs.webkit.org/show_bug.cgi?id=133357

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _killWebContentProcess]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169435 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMarking test as flaky pending further review.
mhock@apple.com [Wed, 28 May 2014 21:28:23 +0000 (21:28 +0000)]
Marking test as flaky pending further review.
https://bugs.webkit.org/show_bug.cgi?id=133351

Unreviewed gardening.

* TestExpectations:
Skip css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169434 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMake DOM properties exposed as instance properties use the base object instead of...
oliver@apple.com [Wed, 28 May 2014 20:54:21 +0000 (20:54 +0000)]
Make DOM properties exposed as instance properties use the base object instead of |this|
https://bugs.webkit.org/show_bug.cgi?id=133353

Reviewed by Geoffrey Garen.

Source/WebCore:
Make the bindings generator emit code that uses the base object for
a property, rather than the this object. This means that attributes
that we need to be treated as instance properties will match their old
instance-based behaviour.

* bindings/scripts/CodeGeneratorJS.pm:
(InterfaceRequiresAttributesOnInstanceForCompatibility):
(InterfaceRequiresAttributesOnInstance):
(GetCastingHelperForBaseObject):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttr):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionName):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):

LayoutTests:
Update tests to cover change in expected behaviour.

* js/dom/dom-as-prototype-assignment-exception-expected.txt:
* js/dom/dom-attributes-on-mismatch-type-expected.txt:
* js/dom/dom-attributes-on-mismatch-type.html:
* js/dom/script-tests/dom-as-prototype-assignment-exception.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Cocoa] Crash when trying to decode an instance of a class inheriting from WKObject
mitz@apple.com [Wed, 28 May 2014 20:26:28 +0000 (20:26 +0000)]
[Cocoa] Crash when trying to decode an instance of a class inheriting from WKObject
https://bugs.webkit.org/show_bug.cgi?id=133355

Reviewed by Anders Carlsson.

* Shared/Cocoa/WKObject.mm:
(-[WKObject classForCoder]): Override this NSObject method to forward to the
target object.
(-[WKObject classForKeyedArchiver]): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169432 268f45cc-cd09-0410-ab3c-d52691b4dbfc