WebKit-https.git
6 years agoEnable same features on all Windows ports.
commit-queue@webkit.org [Thu, 10 Jul 2014 17:52:19 +0000 (17:52 +0000)]
Enable same features on all Windows ports.
https://bugs.webkit.org/show_bug.cgi?id=134715

Patch by Alex Christensen <achristensen@webkit.org> on 2014-07-10
Reviewed by Brent Fulgham.

Source/WTF:
* wtf/Platform.h:
Use REQUEST_ANIMATION_FRAME_TIMER on WinCairo.

WebKitLibraries:
* win/tools/vsprops/FeatureDefinesCairo.props:
Made identical to FeatureDefines.props.

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

6 years agoiOS build fix.
mitz@apple.com [Thu, 10 Jul 2014 17:07:41 +0000 (17:07 +0000)]
iOS build fix.

* WebProcess/WebPage/ServicesOverlayController.h:

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

6 years agoPhone number highlights should always be visible if the mouse hovers over.
beidson@apple.com [Thu, 10 Jul 2014 16:19:56 +0000 (16:19 +0000)]
Phone number highlights should always be visible if the mouse hovers over.
<rdar://problem/17527476> and https://bugs.webkit.org/show_bug.cgi?id=134784

Reviewed by Tim Horton.

Source/WebCore:
* WebCore.exp.in:

Source/WebKit2:
This is a fairly extensive rewrite of ServicesOverlayController.
It allows one selection highlight for the entire selection, and as many telephone number highlights as there are numbers.
If a telephone number highlight is hovered over, it wins and is painted.
If no telephone number highlight is hovered but the selection highlight is, then it is painted.

The purposes of each method are self evident by their name, and the concepts are mostly the same as they used to be.

The exception is establishHoveredTelephoneHighlight which gets a more detailed explanation below.

* Platform/Logging.h: Add a Services logging channel.

* WebProcess/WebPage/ServicesOverlayController.h:
(WebKit::TelephoneNumberData::TelephoneNumberData):

* WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::ServicesOverlayController):
(WebKit::ServicesOverlayController::selectionRectsDidChange):
(WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):
(WebKit::ServicesOverlayController::clearHighlightState):
(WebKit::ServicesOverlayController::drawRect):
(WebKit::ServicesOverlayController::drawSelectionHighlight):
(WebKit::ServicesOverlayController::maybeDrawTelephoneNumberHighlight):
(WebKit::ServicesOverlayController::drawHighlight):
(WebKit::ServicesOverlayController::clearSelectionHighlight):
(WebKit::ServicesOverlayController::clearHoveredTelephoneNumberHighlight):
(WebKit::ServicesOverlayController::establishHoveredTelephoneHighlight): Starts walking the telephone number ranges and
    creating a highlight for each one that doesn’t already have a highlight. If that highlight is also being hovered by
    the mouse, then it is set as the hovered telephone number highlight and the method stops creating new highlights.
(WebKit::ServicesOverlayController::maybeCreateSelectionHighlight):
(WebKit::ServicesOverlayController::mouseEvent):
(WebKit::ServicesOverlayController::handleClick):
(WebKit::ServicesOverlayController::drawTelephoneNumberHighlight): Deleted.
(WebKit::ServicesOverlayController::drawCurrentHighlight): Deleted.

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

6 years ago[GTK][CMake] Add a 'distcheck' target
carlosgc@webkit.org [Thu, 10 Jul 2014 16:13:54 +0000 (16:13 +0000)]
[GTK][CMake] Add a 'distcheck' target
https://bugs.webkit.org/show_bug.cgi?id=130675

.:
Reviewed by Gustavo Noronha Silva.

* Source/PlatformGTK.cmake: Add distcheck target.

Tools:
Patch by Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com> on 2014-07-10
Reviewed by Gustavo Noronha Silva.

Add --check option to make-dist script that builds and installs the tarball.

* gtk/make-dist.py:
(Distcheck.__init__):
(Distcheck.extract_tarball): Extratc the tarball.
(Distcheck.configure): Run cmake.
(Distcheck.configure.create_dir): Helper function to create a directory.
(Distcheck.build): Run make.
(Distcheck.install): Run make install.
(Distcheck.clean): Clean up the extracted tarball.
(Distcheck.check): Run all previous methods in order.
* gtk/manifest.txt: Add missing file.

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

6 years ago[GTK] Use the same default options for production builds that previous stable releases
carlosgc@webkit.org [Thu, 10 Jul 2014 16:11:11 +0000 (16:11 +0000)]
[GTK] Use the same default options for production builds that previous stable releases
https://bugs.webkit.org/show_bug.cgi?id=134589

Reviewed by Martin Robinson.

.:
Change the default value of some features to match our stable releases.
Add FindCairoGL to find cairo-gl libraries and make accelearetd 2D
canvas depend on whether cairo-gl is found.

* Source/cmake/FindCairoGL.cmake: Added.
* Source/cmake/OptionsGTK.cmake:

Tools:
Make sure all features enabled in production builds are also
enabled in developer mode.

* Scripts/webkitperl/FeatureList.pm: Enable ACCELERATED_2D_CANVAS
and CSS_FILTERS for the GTK port.

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

6 years agoAssertions or crashes under _takeViewSnapshot when restoring windows
timothy_horton@apple.com [Thu, 10 Jul 2014 15:39:49 +0000 (15:39 +0000)]
Assertions or crashes under _takeViewSnapshot when restoring windows
https://bugs.webkit.org/show_bug.cgi?id=134792

Reviewed by Simon Fraser.

* UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
Taking a window-server snapshot of a non-visible window tends to not succeed.

* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::createFromImage):

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

6 years ago[EFL] Unreviewed EFL gardening.
jinwoo7.song@samsung.com [Thu, 10 Jul 2014 12:23:59 +0000 (12:23 +0000)]
[EFL] Unreviewed EFL gardening.

Rebaseline tests after r170304 and r170619.

* platform/efl/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png: Added after r170304.
* platform/efl/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt: Added after r170304.
* platform/efl/fast/text/indic-expected.png: Added after r170619.
* platform/efl/fast/text/indic-expected.txt: Added after r170619.

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

6 years ago[EFL] Unreviewed EFL gardening.
jinwoo7.song@samsung.com [Thu, 10 Jul 2014 12:14:00 +0000 (12:14 +0000)]
[EFL] Unreviewed EFL gardening.

Rebaseline tests after r170207.

* platform/efl/fast/text/khmer-lao-font-expected.txt: Added.

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

6 years ago[XHR] overrideMimeType() should be able to change encoding in HEADERS RECEIVED state
commit-queue@webkit.org [Thu, 10 Jul 2014 10:09:41 +0000 (10:09 +0000)]
[XHR] overrideMimeType() should be able to change encoding in HEADERS RECEIVED state
https://bugs.webkit.org/show_bug.cgi?id=128968

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-07-10
Reviewed by Alexey Proskuryakov.

Source/WebCore:
Moved response encoding computation from didReceiveResponse to didReceiveData, just before the decoder is instantiated.
This allows overrideMimeType to be changed within readystatechange event callback and have an impact on selected encoding.

Test: http/tests/xmlhttprequest/overridemimetype-headers-received-state-force-shiftjis.html

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didReceiveResponse): Removed m_responseEncoding computation from response and mimeTypeOverride.
(WebCore::XMLHttpRequest::didReceiveData): Added m_responseEncoding computation from response and mimeTypeOverride.

LayoutTests:
Added test equivalent to http://w3c-test.org/web-platform-tests/master/XMLHttpRequest/overridemimetype-headers-received-state-force-shiftjis.htm
The test sets overrideMimeType when xhr state is changed to HEADERS RECEIVED.

* http/tests/xmlhttprequest/overridemimetype-headers-received-state-force-shiftjis-expected.txt: Added.
* http/tests/xmlhttprequest/overridemimetype-headers-received-state-force-shiftjis.html: Added.
* http/tests/xmlhttprequest/resources/get-content.php: Added.

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

6 years agoBuffer CSS and JS resources in network process before sending over to web process
psolanki@apple.com [Thu, 10 Jul 2014 06:14:35 +0000 (06:14 +0000)]
Buffer CSS and JS resources in network process before sending over to web process
https://bugs.webkit.org/show_bug.cgi?id=134560
<rdar://problem/16737186>

Reviewed by Antti Koivisto.

For CSS and JS resources, ask the network process to buffer the entire resource instead of
sending it to web process in chunks since the web process can't do anything with a partial
css or js file.

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):

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

6 years agoFire connected/disconnected events for Gamepads.
beidson@apple.com [Thu, 10 Jul 2014 06:08:58 +0000 (06:08 +0000)]
Fire connected/disconnected events for Gamepads.
https://bugs.webkit.org/show_bug.cgi?id=134386

Reviewed by Dean Jackson.

No new tests (No effect in a currently tested config)

* Modules/gamepad/GamepadManager.cpp:
(WebCore::navigatorGamepadFromDOMWindow): Handling converting a possibly-null Navigator into
    a possibly null NavigatorGamepad.
(WebCore::GamepadManager::platformGamepadConnected): Notify blind Navigator/DOMWindows of all
    previously attached Gamepads, then notify everybody of this new gamepad.
(WebCore::GamepadManager::platformGamepadDisconnected): Handle dispatching the disconnected
    event to all registered DOMWindows.
(WebCore::GamepadManager::platformGamepadInputActivity): Notify blind Navigator/DOMWindows of all
    attached Gamepads.
(WebCore::GamepadManager::makeGamepadVisible): Handles notifying setting up a new gamepads
    with all NavigatorGamepads as well as dispatching the connected even to DOMWindows.
(WebCore::GamepadManager::registerDOMWindow):
(WebCore::GamepadManager::unregisterDOMWindow):
(WebCore::GamepadManager::makeGamepadsVisibileToBlindNavigators): Deleted.
* Modules/gamepad/GamepadManager.h:

* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::gamepadAtIndex):
* Modules/gamepad/NavigatorGamepad.h:

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

6 years ago[Win] Unreviewed build fix.
bfulgham@apple.com [Thu, 10 Jul 2014 05:32:40 +0000 (05:32 +0000)]
[Win] Unreviewed build fix.

Build bots don't have a three-part default version string,
breaking pattern matching. Handle this case.

* win/tools/scripts/auto-version.pl:

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

6 years ago[iOS][WK2] Disable text quantization while actively changing the page's scale factor
benjamin@webkit.org [Thu, 10 Jul 2014 05:06:30 +0000 (05:06 +0000)]
[iOS][WK2] Disable text quantization while actively changing the page's scale factor
https://bugs.webkit.org/show_bug.cgi?id=134781

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-09
Reviewed by Tim Horton and Myles C. Maxfield.

Source/WebCore:
Query the chrome client to setup quantization on each layers.

* page/ChromeClient.h:
(WebCore::ChromeClient::hasStablePageScaleFactor):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupFontSubpixelQuantization):

Source/WebKit2:
While zooming a page, text quantization causes glyphs to "move" in order to get to the closest
boundary for the current scale factor.

We do not want this to happen while dynamically changing the scale factor because the effect
is visible. To avoid this, we disable text quantization if the page's scale factor changes
in response to a non-stable contentRect update.

* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::hasStablePageScaleFactor):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::hasStablePageScaleFactor):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):

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

6 years ago[iOS] Use UIAlertController API in WKFileUploadPanel instead of SPI
commit-queue@webkit.org [Thu, 10 Jul 2014 04:38:13 +0000 (04:38 +0000)]
[iOS] Use UIAlertController API in WKFileUploadPanel instead of SPI
https://bugs.webkit.org/show_bug.cgi?id=134777

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-07-09
Reviewed by Sam Weinig.

* UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _showMediaSourceSelectionSheet]):

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

6 years ago[EFL][WK2] Add new Public API in ewk_download_job.h to get size of the data already...
commit-queue@webkit.org [Thu, 10 Jul 2014 04:13:37 +0000 (04:13 +0000)]
[EFL][WK2] Add new Public API in ewk_download_job.h to get size of the data already downloaded.
https://bugs.webkit.org/show_bug.cgi?id=134759

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-07-09
Reviewed by Gyuyoung Kim.

Add new API in ewk_download_job.h to get size of the data already downloaded.

* UIProcess/API/efl/ewk_download_job.cpp:
(ewk_download_job_received_data_length_get):
(EwkDownloadJob::receivedData):
* UIProcess/API/efl/ewk_download_job.h:
* UIProcess/API/efl/ewk_download_job_private.h:
* UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
(EWK2DownloadJobTest::on_download_requested):
(EWK2DownloadJobTest::on_download_finished):

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

6 years agoUse 16bits instructions for push/pop on ARMv7 when possible
benjamin@webkit.org [Thu, 10 Jul 2014 04:11:34 +0000 (04:11 +0000)]
Use 16bits instructions for push/pop on ARMv7 when possible
https://bugs.webkit.org/show_bug.cgi?id=134753

Reviewed by Geoffrey Garen.

The patch r170839 mixed the code for push/pop pair and single push/pop.
That part was reverted in r170909.

This patch puts the code back but specialized for single push/pop.

* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::pop):
(JSC::ARMv7Assembler::push):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::pop):
(JSC::MacroAssemblerARMv7::push):

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

6 years ago[Curl] Cache entry invalidated too early.
commit-queue@webkit.org [Thu, 10 Jul 2014 03:11:26 +0000 (03:11 +0000)]
[Curl] Cache entry invalidated too early.
https://bugs.webkit.org/show_bug.cgi?id=134681

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-07-09
Reviewed by Alex Christensen.

When a cache entry has expired, it is invalidated when a request for the corresponding url is started.
This is too early, since the resource is possibly not modified (even though it has expired),
and the server might respond with a 304 (not modified) response.
When we then receive a 304 response, the cache entry is deleted, and we have no cached response/data to provide.
This can be solved by not invalidating the entry when a request for that url is started,
but instead invalidate when a 200 OK response is received (which means the resource has been modified).

* platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::isCached): Avoid invalidating cache entry when it has expired, wait until we know the server response.
* platform/network/curl/CurlCacheManager.h: Added const modifier.

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

6 years agoREGRESSION(r170858): Safari freezes upon making a search on a website (yelp.com).
enrica@apple.com [Thu, 10 Jul 2014 02:18:30 +0000 (02:18 +0000)]
REGRESSION(r170858): Safari freezes upon making a search on a website (yelp.com).
https://bugs.webkit.org/show_bug.cgi?id=134791
<rdar://problem/17616971>

Reviewed by Benjamin Poulain.

After r170858 we notify the keyboard too often about
the changed selection. This patch removes the notification
until we find a better way to do it that doesn't cause
deadlocks.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _selectionWillChange]):
(-[WKContentView _selectionChanged]):

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

6 years agoRevert r170413 and r170390
mmaxfield@apple.com [Thu, 10 Jul 2014 01:42:43 +0000 (01:42 +0000)]
Revert r170413 and r170390
https://bugs.webkit.org/show_bug.cgi?id=134741

Reviewed by Benjamin Poulain.

These patches caused a variety of failures. I'm going to break them up into
smaller chunks and commit them separately at some point in the future.

Requesting a review from Ben Poulain because there were some conflicts with
r170561 in InlineTextBox.cpp and InlineTextBox.h.

* WebCore.exp.in:
* platform/graphics/Font.cpp:
(WebCore::Font::drawText):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::adjustSelectionRectForText):
(WebCore::computeUnderlineType):
* platform/graphics/Font.h:
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::getGlyphsAndAdvancesForSimpleText):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawEmphasisMarksForSimpleText):
(WebCore::Font::drawGlyphBuffer):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::adjustSelectionRectForSimpleText):
* platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBuffer::size):
(WebCore::GlyphBuffer::glyphs):
(WebCore::GlyphBuffer::advances):
(WebCore::GlyphBuffer::fontDataAt):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::offsetAt):
(WebCore::GlyphBuffer::reverse):
(WebCore::GlyphBuffer::offsetInString):
(WebCore::GlyphBuffer::swap):
* platform/graphics/GraphicsContext.cpp:
* platform/graphics/Latin1TextIterator.h:
(WebCore::Latin1TextIterator::Latin1TextIterator):
(WebCore::Latin1TextIterator::currentCharacter):
* platform/graphics/SimpleFontData.h:
* platform/graphics/SurrogatePairAwareTextIterator.cpp:
(WebCore::SurrogatePairAwareTextIterator::SurrogatePairAwareTextIterator):
* platform/graphics/SurrogatePairAwareTextIterator.h:
(WebCore::SurrogatePairAwareTextIterator::currentCharacter):
* platform/graphics/TextRun.h:
(WebCore::TextRun::length):
(WebCore::TextRun::charactersLength):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::glyphDataForCharacter):
(WebCore::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::advanceOneCharacter):
* platform/graphics/WidthIterator.h:
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::adjustSelectionRectForComplexText):
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::setNormalizedBuffer):
* platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::getGlyphsAndAdvancesForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/graphics/win/FontCGWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/win/FontWin.cpp:
(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::getGlyphsAndAdvancesForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
* platform/graphics/wince/FontWinCE.cpp:
(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::selectionRectForComplexText):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::isSelected):
(WebCore::InlineTextBox::selectionState):
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::selectionStartEnd):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::InlineTextBox::paintCompositionUnderline):
(WebCore::InlineTextBox::positionForOffset):
(WebCore::InlineTextBox::constructTextRun):
* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::truncation):
* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::getStringToRender):
* rendering/RenderCombineText.h:
* rendering/RenderTextLineBoxes.cpp:
(WebCore::ellipsisRectForBox):
* rendering/svg/SVGInlineFlowBox.cpp:
(WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::positionForOffset):
(WebCore::SVGInlineTextBox::localSelectionRect):
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGInlineTextBox::paintText):
* rendering/svg/SVGInlineTextBox.h:
* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair):
(WebCore::SVGTextMetricsBuilder::advance):
* rendering/svg/SVGTextQuery.cpp:
(WebCore::SVGTextQuery::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
(WebCore::SVGTextQuery::subStringLengthCallback):
(WebCore::SVGTextQuery::startPositionOfCharacterCallback):
(WebCore::SVGTextQuery::endPositionOfCharacterCallback):
(WebCore::SVGTextQuery::rotationOfCharacterCallback):
(WebCore::SVGTextQuery::extentOfCharacterCallback):
(WebCore::SVGTextQuery::characterNumberAtPositionCallback):
* rendering/svg/SVGTextQuery.h:
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator):
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
* rendering/svg/SVGTextRunRenderingContext.h:
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontData.h:

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

6 years agoFix flaky loading tests
jpfau@apple.com [Thu, 10 Jul 2014 01:13:45 +0000 (01:13 +0000)]
Fix flaky loading tests
https://bugs.webkit.org/show_bug.cgi?id=133696

Reviewed by Ryosuke Niwa.

Source/WebCore:
In some cases, the Frame may be destroyed while the loader is
initializing. Make sure we don't delete it too early.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::init):

LayoutTests:
* platform/wk2/TestExpectations: Unskip no-longer failing tests

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

6 years agoSafari showing blank pages
andersca@apple.com [Thu, 10 Jul 2014 01:05:23 +0000 (01:05 +0000)]
Safari showing blank pages
https://bugs.webkit.org/show_bug.cgi?id=134790
<rdar://problem/17617166>

Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
Make sure to add the content view to the scroll view.

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

6 years agoMake IndirectCompositingReason an enum class
simon.fraser@apple.com [Thu, 10 Jul 2014 01:01:52 +0000 (01:01 +0000)]
Make IndirectCompositingReason an enum class
https://bugs.webkit.org/show_bug.cgi?id=134789

Reviewed by Tim Horton.

Make RenderLayer::IndirectCompositingReason an enum class, and change some code
in RenderLayerCompositor::reasonsForCompositing() to use a switch.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
* rendering/RenderLayer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::requiresOwnBackingStore):
(WebCore::RenderLayerCompositor::reasonsForCompositing):
(WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):

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

6 years agoClosed web views should never create new web processes
andersca@apple.com [Thu, 10 Jul 2014 00:50:25 +0000 (00:50 +0000)]
Closed web views should never create new web processes
https://bugs.webkit.org/show_bug.cgi?id=134787
<rdar://problem/16892526>

Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadHTMLString:baseURL:]):
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
Return nil if the returned navigation ID is 0.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcess):
Assert that the page is not closed.

(WebKit::WebPageProxy::reattachToWebProcessWithItem):
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::loadHTMLString):
(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::loadPlainTextString):
(WebKit::WebPageProxy::loadWebArchiveData):
Add early returns if the page is closed.

* UIProcess/WebPageProxy.h:

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

6 years ago[EFL] gardening after r170868
ryuan.choi@samsung.com [Thu, 10 Jul 2014 00:29:10 +0000 (00:29 +0000)]
[EFL] gardening after r170868
https://bugs.webkit.org/show_bug.cgi?id=134717

Unreviewed, EFL gardening.

Four tests have been rebaselined, and disable the gamepad tests

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-07-09

* platform/efl/TestExpectations: Disable the gamepad tests
* platform/efl/fast/text/atsui-multiple-renderers-expected.png:
* platform/efl/fast/text/atsui-multiple-renderers-expected.txt:
* platform/efl/fast/text/complex-text-opacity-expected.png:
* platform/efl/fast/text/complex-text-opacity-expected.txt:
* platform/efl/fast/text/midword-break-before-surrogate-pair-expected.png:
* platform/efl/fast/text/midword-break-before-surrogate-pair-expected.txt:
* platform/efl/transforms/2d/hindi-rotated-expected.png:
* platform/efl/transforms/2d/hindi-rotated-expected.txt:

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

6 years ago[MSE] http/tests/media/media-source/mediasource-closed.html is failing.
jer.noble@apple.com [Thu, 10 Jul 2014 00:25:52 +0000 (00:25 +0000)]
[MSE] http/tests/media/media-source/mediasource-closed.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=134775

Reviewed by Eric Carlson.

Update the test to use isNaN rather than Number.isNaN.

* http/tests/media/media-source/mediasource-closed.html:

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

6 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Thu, 10 Jul 2014 00:24:43 +0000 (00:24 +0000)]
[Win] Unreviewed gardening.

* win/tools/scripts/auto-version.pl: Protect against
malformed paths (trailing backslashes).
* win/tools/scripts/feature-defines.pl: Make sure result
has an EOL character.

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

6 years ago[Win] Unreviewed build fix after r170930.
bfulgham@apple.com [Thu, 10 Jul 2014 00:22:35 +0000 (00:22 +0000)]
[Win] Unreviewed build fix after r170930.

* WTF.vcxproj/copy-files.cmd: Include cf files in
post-build copy operation.

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

6 years agoMake SharedBuffer::append(SharedBuffer*) be smarter about CFData and data arrays
psolanki@apple.com [Thu, 10 Jul 2014 00:18:17 +0000 (00:18 +0000)]
Make SharedBuffer::append(SharedBuffer*) be smarter about CFData and data arrays
https://bugs.webkit.org/show_bug.cgi?id=134731

Reviewed by Antti Koivisto.

If the target SharedBuffer has a CFDataRef or a data array then we can simply retain that
CFDataRef or data array elements in the SharedBuffer being appended to. This avoids
unnecessary copying.

No new tests because no functional changes.

* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::maybeAppendPlatformData):
* platform/SharedBuffer.h:
* platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::maybeAppendPlatformData):
(WebCore::SharedBuffer::maybeAppendDataArray):
* platform/soup/SharedBufferSoup.cpp:
(WebCore::SharedBuffer::maybeAppendPlatformData):

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

6 years ago[Win] Remove uses of 'bash' in build system
bfulgham@apple.com [Wed, 9 Jul 2014 23:48:26 +0000 (23:48 +0000)]
[Win] Remove uses of 'bash' in build system
https://bugs.webkit.org/show_bug.cgi?id=134782
<rdar://problem/17615533>

Reviewed by Dean Jackson.

Remove uses of 'bash' by replacing Windows-specific bash scripts
with Perl equivalents.

Source/JavaScriptCore:
* JavaScriptCore.vcxproj/JavaScriptCoreGenerated.make:
* JavaScriptCore.vcxproj/JavaScriptCoreGenerated.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCoreGenerated.vcxproj.filters:
* JavaScriptCore.vcxproj/JavaScriptCorePreBuild.cmd:
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.make:
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.vcxproj:
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.pl: Copied from Source/JavaScriptCore/JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh.
* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh: Removed.
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.make:
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.vcxproj:
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/build-LLIntDesiredOffsets.pl: Copied from Source/JavaScriptCore/JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/build-LLIntDesiredOffsets.sh.
* JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/build-LLIntDesiredOffsets.sh: Removed.
* JavaScriptCore.vcxproj/build-generated-files.pl: Copied from Source/JavaScriptCore/JavaScriptCore.vcxproj/build-generated-files.sh.
* JavaScriptCore.vcxproj/build-generated-files.sh: Removed.
* JavaScriptCore.vcxproj/jsc/jscPreBuild.cmd:
* JavaScriptCore.vcxproj/testRegExp/testRegExpPreBuild.cmd:
* JavaScriptCore.vcxproj/testapi/testapiPreBuild.cmd:

Source/WebCore:
* WebCore.vcxproj/WebCoreGenerated.make:
* WebCore.vcxproj/WebCoreGenerated.vcxproj:
* WebCore.vcxproj/WebCoreGenerated.vcxproj.filters:
* WebCore.vcxproj/WebCorePreBuild.cmd:
* WebCore.vcxproj/build-generated-files.pl: Copied from Source/WebCore/WebCore.vcxproj/build-generated-files.sh.
* WebCore.vcxproj/build-generated-files.sh: Removed.
* WebCore.vcxproj/migrate-scripts.pl: Copied from Source/WebCore/WebCore.vcxproj/migrate-scripts.sh.
* WebCore.vcxproj/migrate-scripts.sh: Removed.

Source/WebInspectorUI:
* WebInspectorUI.vcxproj/WebInspectorUI.make:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
* WebInspectorUI.vcxproj/build-webinspectorui.pl: Copied from Source/WebInspectorUI/WebInspectorUI.vcxproj/build-webinspectorui.sh.
* WebInspectorUI.vcxproj/build-webinspectorui.sh: Removed.

Source/WebKit:
* WebKit.vcxproj/Interfaces/FixMIDLHeaders.pl:
* WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd:
* WebKit.vcxproj/WebKit/WebKitPreBuild.cmd:
* WebKit.vcxproj/WebKit/WebKitVersion.cmd:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorBuildCmd.cmd:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd:
* WebKit.vcxproj/WebKitGUID/WebKitGUIDPreBuild.cmd:

Source/WTF:
* WTF.vcxproj/WTFGenerated.make:
* WTF.vcxproj/WTFGenerated.vcxproj:
* WTF.vcxproj/WTFGenerated.vcxproj.filters:
* WTF.vcxproj/WTFPreBuild.cmd:
* WTF.vcxproj/build-generated-files.pl: Copied from Source/WTF/WTF.vcxproj/build-generated-files.sh.
* WTF.vcxproj/build-generated-files.sh: Removed.

Tools:
* DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreePreBuild.cmd:
* DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiffPreBuild.cmd:
* DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePluginPreBuild.cmd:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPIPreBuild.cmd:
* WinLauncher/WinLauncher.vcxproj/WinLauncherLibPreBuild.cmd:
* WinLauncher/WinLauncher.vcxproj/WinLauncherPreBuild.cmd:

WebKitLibraries:
* win/tools/scripts/feature-defines.pl: Copied from WebKitLibraries/win/tools/scripts/feature-defines.sh.
* win/tools/scripts/feature-defines.sh: Removed.

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

6 years agoSupport transparent WKWebViews
andersca@apple.com [Wed, 9 Jul 2014 22:06:29 +0000 (22:06 +0000)]
Support transparent WKWebViews
https://bugs.webkit.org/show_bug.cgi?id=134779
<rdar://problem/17351058>

Reviewed by Tim Horton.

Source/WebCore:
Schedule rebuilding the compositing layers if a FrameView's transparency changes.

* page/FrameView.cpp:
(WebCore::FrameView::setTransparent):

Source/WebKit2:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
Call _updateScrollViewBackground instead of setting the background color.

(contentZoomScale):
Use dot notation.

(scrollViewBackgroundColor):
Helper function that returns the scroll view background color.
If the web view isn't opaque, we want the scroll view to be transparent.

(-[WKWebView _updateScrollViewBackground]):
Call scrollViewBackgroundColor.

(-[WKWebView setOpaque:]):
Call WebPageProxy::setDrawsBackground and update the scroll view background.

(-[WKWebView setBackgroundColor:]):
Call setBackgroundColor on the content view.

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

6 years ago[iOS] WebKit can crash under QuickLookDocumentData::encode() when viewing a QuickLook...
aestes@apple.com [Wed, 9 Jul 2014 21:58:13 +0000 (21:58 +0000)]
[iOS] WebKit can crash under QuickLookDocumentData::encode() when viewing a QuickLook preview
https://bugs.webkit.org/show_bug.cgi?id=134780

Reviewed by Tim Horton.

Don't use CFDataCreateWithBytesNoCopy() when we can't guarantee the lifetime of the copied-from DataReference
will match or exceed that of the CFDataRef. Copy the data instead.

* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveData):

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

6 years agoCSS canvas color parsing accepts invalid color identifiers
jfernandez@igalia.com [Wed, 9 Jul 2014 21:56:05 +0000 (21:56 +0000)]
CSS canvas color parsing accepts invalid color identifiers
https://bugs.webkit.org/show_bug.cgi?id=134661

Reviewed by Benjamin Poulain.

Source/WebCore:
Current implementation of the CSSParser::parseSystemColor assumes
that if a valid cssValueKeywordID is got then it has to be a valid
color. Such assumption is wrong and lead to many bugs and layout
test failures.

The parseSystemFunction determines now whether the parsed color is
valid or not.

Addtionally, a new method has been added to share the logic of
determining whether a CSSValueID is a valid primitive values for
colors or not. Generally, we should avoid passing invalid color
identifiers to the theming API.

No new tests, but added additional cases to the
canvas-color-serialization.html, test-setting-canvas-color and
rgb-color-parse test.

* css/CSSParser.cpp:
(WebCore::validPrimitiveValueColor): Added.
(WebCore::parseColorValue):
(WebCore::CSSParser::parseSystemColor):

LayoutTests:
The parseSystemFunction determines now whether the parsed color is
valid or not.

The rgb-color-parser covers css style color parsing cases, which
already provide coverage for invalid color identifiers. I've added
a few more, though.

* fast/canvas/canvas-color-serialization-expected.txt:
* fast/canvas/script-tests/canvas-color-serialization.js:
* fast/css/test-setting-canvas-color-expected.txt:
* fast/css/test-setting-canvas-color.html:
* svg/dom/rgb-color-parser-expected.txt:
* svg/dom/rgb-color-parser.html:

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

6 years agoSource/WebCore: [MSE] http/tests/media/media-source/mediasource-remove.html is failing
jer.noble@apple.com [Wed, 9 Jul 2014 21:37:17 +0000 (21:37 +0000)]
Source/WebCore: [MSE] http/tests/media/media-source/mediasource-remove.html is failing
https://bugs.webkit.org/show_bug.cgi?id=134768

Reviewed by Eric Carlson.

Fix multiple bugs causing mediasource-remove.html to fail:

Separate out setDuration() into setDurationInternal() so that steps which require
us to run the "duration change algorithm" don't bail out if the SoureBuffer is
inside updating().

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setDuration):
(WebCore::MediaSource::setDurationInternal):
* Modules/mediasource/MediaSource.h:
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

When removing coded frames, do so starting from the first sample in the range in
decode order, so that frames dependant on removed frames are themselves removed. Add
a convenience method in SampleMap findSampleWithPresentationTime(), and rename
findSampleAfterPresentationTime() to findSampleOnOrAfterPresentationTime() to correctly
reflect what the method does, and simplify its implementation by searching the map's keys
directly.

* Modules/mediasource/SampleMap.cpp:
(WebCore::PresentationOrderSampleMap::findSampleWithPresentationTime):
(WebCore::PresentationOrderSampleMap::findSampleOnOrAfterPresentationTime):
(WebCore::DecodeOrderSampleMap::findSyncSampleAfterPresentationTime):
(WebCore::PresentationOrderSampleMap::findSampleAfterPresentationTime): Deleted.
* Modules/mediasource/SampleMap.h:
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::decodeTimeComparator):
(WebCore::SourceBuffer::removeCodedFrames):

Throw the correct exception (INVALID_STATE_ERR) from SourceBuffer::remove().

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::remove):

LayoutTests: [MSE] http/tests/media/media-source/mediasource-remove.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=134768

Reviewed by Eric Carlson.

Update mediasource-remove.html with the correct locations of sync-samples.

* http/tests/media/media-source/mediasource-remove.html:

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

6 years agoREGRESSION(r167770): Cannot login in Evernote Safari extension
rniwa@webkit.org [Wed, 9 Jul 2014 21:36:16 +0000 (21:36 +0000)]
REGRESSION(r167770): Cannot login in Evernote Safari extension
https://bugs.webkit.org/show_bug.cgi?id=134776

Reviewed by Enrica Casucci.

Unfortunately, NSWindowDidBecomeKeyNotification does not notify us when a popover becomes key
so we need to keep using the SPI (_windowChangedKeyState) I removed in r167770.

* WebView/WebView.mm:
(-[WebView _windowChangedKeyState]):

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

6 years agoAdd SharedBuffer::wrapCFDataArray() and use it
psolanki@apple.com [Wed, 9 Jul 2014 21:19:47 +0000 (21:19 +0000)]
Add SharedBuffer::wrapCFDataArray() and use it
https://bugs.webkit.org/show_bug.cgi?id=134733

Reviewed by Antti Koivisto.

No new tests. Should be covered by existing tests.

* platform/SharedBuffer.h:
* platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::wrapCFDataArray):
(WebCore::SharedBuffer::SharedBuffer):
* platform/network/ResourceHandle.h:
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::handleDataArray): Deleted.
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray):
* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveDataArray:]):

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

6 years agoMove resource buffering from SynchronousNetworkLoaderClient to NetworkResourceLoader
psolanki@apple.com [Wed, 9 Jul 2014 20:55:35 +0000 (20:55 +0000)]
Move resource buffering from SynchronousNetworkLoaderClient to NetworkResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=134732

Reviewed by Darin Adler.

Source/WebCore:
No new tests because no functional changes.

* WebCore.exp.in:

Source/WebKit2:
Buffer the resource in NetworkResourceLoader instead of SynchronousNetworkLoaderClient. This
is in preparation for bug 134560 where we will be supporting JS and CSS resource buffering
that uses AsynchronousNetworkLoaderClient.

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::didReceiveBuffer):
(WebKit::NetworkResourceLoader::didFinishLoading):
* NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::bufferedData):
* NetworkProcess/SynchronousNetworkLoaderClient.cpp:
(WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer):
(WebKit::SynchronousNetworkLoaderClient::didFinishLoading):
(WebKit::SynchronousNetworkLoaderClient::didFail):
(WebKit::SynchronousNetworkLoaderClient::sendDelayedReply):
* NetworkProcess/SynchronousNetworkLoaderClient.h:

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

6 years agoFix the !USE(IOSURFACE) build.
timothy_horton@apple.com [Wed, 9 Jul 2014 20:52:35 +0000 (20:52 +0000)]
Fix the !USE(IOSURFACE) build.

* WebCore.exp.in:

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

6 years ago[iOS][WK2] subviews of the unscaled view drift out during CA animations
benjamin@webkit.org [Wed, 9 Jul 2014 19:47:44 +0000 (19:47 +0000)]
[iOS][WK2] subviews of the unscaled view drift out during CA animations
https://bugs.webkit.org/show_bug.cgi?id=134751

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

It is not possible to animate the WKContentView and the inverse view in such a way
that the combined matrix remain the identity for every frame of the animation.

This patch solves the issue by moving the unscaled view as a sibling of WKContentView
instead of a child so that we do not need to update two scales simultaneously.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _processDidExit]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:]):
Set the z scale to 1 or no coordinate transform will work with this view.

(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
* UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
Since we need to observe changes inside the animation block, the code now use KVO to observe changes of scale.

(-[WKContentView cleanupInteraction]):
(-[WKContentView unscaledView]):
(-[WKContentView inverseScale]):
(-[WKContentView observeValueForKeyPath:ofObject:change:context:]):
We update the utility views as usual. The extra bits here are to deal with views coming in during an animation.

If a new utility view comes in during a scaling animation, we do not want to start a new animation with the same curve
to end up at the right place. To avoid any issue, we just hide the view until the animation is finished.

(-[WKContentView hitTest:withEvent:]):
(-[WKContentView _showTapHighlight]):
(-[WKContentView _updateUnscaledView]): Deleted.

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

6 years agoUse IOSurface ViewSnapshots everywhere on Mac, remove JPEG encoding path
timothy_horton@apple.com [Wed, 9 Jul 2014 19:31:33 +0000 (19:31 +0000)]
Use IOSurface ViewSnapshots everywhere on Mac, remove JPEG encoding path
https://bugs.webkit.org/show_bug.cgi?id=134773

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
* UIProcess/mac/ViewSnapshotStore.h:
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::ViewSnapshotStore):
(WebKit::ViewSnapshotStore::~ViewSnapshotStore):
(WebKit::ViewSnapshotStore::recordSnapshot):
(WebKit::ViewSnapshot::clearImage):
(WebKit::ViewSnapshot::asLayerContents):
(WebKit::createIOSurfaceFromImage): Deleted.
(WebKit::compressImageAsJPEG): Deleted.
(WebKit::ViewSnapshotStore::reduceSnapshotMemoryCost): Deleted.
(WebKit::ViewSnapshotStore::didCompressSnapshot): Deleted.
Remove all ViewSnapshot(Store) code related to JPEG-encoded snapshots.
Remove the "image" member on ViewSnapshot; Mac will always start out with an IOSurface instead.
Adopt WebCore::IOSurface::createFromImage to make that happen.
Add a comment noting that if a snapshot comes back empty, we should throw it away completely.

* WebCore.exp.in:
* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::createFromImage):
Move make-an-IOSurface-from-a-CGImageRef into WebCore::IOSurface.

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

6 years agoImplement Editor::fontAttributesForSelectionStart() or iOS.
enrica@apple.com [Wed, 9 Jul 2014 19:11:47 +0000 (19:11 +0000)]
Implement Editor::fontAttributesForSelectionStart() or iOS.
https://bugs.webkit.org/show_bug.cgi?id=134771
<rdar://problem/16167838>

Reviewed by Ryosuke Niwa.

Source/WebCore:
Implement for iOS the equivalent function we have for OS X.

* editing/ios/EditorIOS.mm:
(WebCore::Editor::fontAttributesForSelectionStart):

Source/WebKit/mac:
* WebView/WebViewPrivate.h:

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

6 years agoRemoteLayerBackingStore::ensureBackingStore should ensure that the entire backing...
andersca@apple.com [Wed, 9 Jul 2014 19:10:21 +0000 (19:10 +0000)]
RemoteLayerBackingStore::ensureBackingStore should ensure that the entire backing store gets redrawn
https://bugs.webkit.org/show_bug.cgi?id=134772

Reviewed by Tim Horton.

* Shared/mac/RemoteLayerBackingStore.h:
(WebKit::RemoteLayerBackingStore::Buffer::operator bool):
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::ensureBackingStore):

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

6 years ago[Win] Remove use of 'grep' in build steps
bfulgham@apple.com [Wed, 9 Jul 2014 18:05:06 +0000 (18:05 +0000)]
[Win] Remove use of 'grep' in build steps
https://bugs.webkit.org/show_bug.cgi?id=134770
<rdar://problem/17608783>

Reviewed by Tim Horton.

Replace uses of the grep command in Windows builds with the equivalent
Perl program.

Source/JavaScriptCore:
* JavaScriptCore.vcxproj/JavaScriptCorePreBuild.cmd:
* JavaScriptCore.vcxproj/jsc/jscPreBuild.cmd:
* JavaScriptCore.vcxproj/testRegExp/testRegExpPreBuild.cmd:
* JavaScriptCore.vcxproj/testapi/testapiPreBuild.cmd:

Source/WebCore:
* WebCore.vcxproj/WebCoreGenerated.make:
* WebCore.vcxproj/WebCorePreBuild.cmd:
* platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
(WebCore::WebCoreAVCFResourceLoader::notifyFinished):

Source/WebKit:
* WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd:
* WebKit.vcxproj/WebKit/WebKitPreBuild.cmd:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd:
* WebKit.vcxproj/WebKitGUID/WebKitGUIDPreBuild.cmd:

Source/WTF:
* WTF.vcxproj/WTFPreBuild.cmd:

Tools:
* DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreePreBuild.cmd:
* DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiffPreBuild.cmd:
* DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePluginPreBuild.cmd:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPIPreBuild.cmd:
* WinLauncher/WinLauncher.vcxproj/WinLauncherLibPreBuild.cmd:
* WinLauncher/WinLauncher.vcxproj/WinLauncherPreBuild.cmd:

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

6 years agoAdded css jit profiler, disabled by default.
achristensen@apple.com [Wed, 9 Jul 2014 17:49:59 +0000 (17:49 +0000)]
Added css jit profiler, disabled by default.
https://bugs.webkit.org/show_bug.cgi?id=134695

Reviewed by Benjamin Poulain.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ruleMatches):
Tell the RuleData when its compiled selector is used.
* css/RuleSet.cpp:
(WebCore::RuleData::RuleData):
Initialize the compiled selector use count to 0.
* css/RuleSet.h:
(WebCore::RuleData::~RuleData):
(WebCore::RuleData::compiledSelectorUsed):
Count and log the number of times a compiled selector is used.
* cssjit/SelectorCompiler.h:
Added option for CSS_SELECTOR_JIT_PROFILING set to 0 by default.
* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker):
(WebCore::SelectorDataList::execute):
Tell the SelectorData when its compiled selector is used.
* dom/SelectorQuery.h:
(WebCore::SelectorDataList::SelectorData::SelectorData):
(WebCore::SelectorDataList::SelectorData::~SelectorData):
(WebCore::SelectorDataList::SelectorData::compiledSelectorUsed):
Count and log the number of times a compiled selector is used.

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

6 years ago[iOS] caption size is sometimes incorrect in fullscreen
eric.carlson@apple.com [Wed, 9 Jul 2014 17:17:16 +0000 (17:17 +0000)]
[iOS] caption size is sometimes incorrect in fullscreen
https://bugs.webkit.org/show_bug.cgi?id=134740

Reviewed by Jer Noble.

Captions on iOS are displayed in fullscreen with a TextTrackRepresentation object. Because
the fullscreen video presentation is controlled by code in the UI process running on the
UI thread, WebCore is notified of changes to fullscreen state asynchronously. This resulted
in the TextTrackRepresentation object being created and/or destroyed too late some of the
time, which caused us to sometimes display captions incorrectly. Fix this by setting up and
tearing down the TextTrackRepresentation object when WebCore's 'webkitfullscreenchange'
event fires.

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::enteredFullscreen): Notify text track container.
(WebCore::MediaControlsHost::exitedFullscreen): Ditto.
* Modules/mediacontrols/MediaControlsHost.h:
* Modules/mediacontrols/MediaControlsHost.idl:

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.handleFullscreenChange): Notify host of fullscreen change.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::requiresTextTrackRepresentation): Only return true when in
    fullscreen.
(WebCore::HTMLMediaElement::setVideoFullscreenLayer): Call updateTextTrackDisplay.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): Initialize
    m_updateTextTrackRepresentationStyle to false.
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Move logic for creating
    TextTrackRepresentation to updateTextTrackRepresentation.
(WebCore::MediaControlTextTrackContainerElement::updateActiveCuesFontSize): New, split out of updateTimerFired.
(WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Move code to force immediate
    font size change to updateActiveCuesFontSize.
(WebCore::MediaControlTextTrackContainerElement::updateTextTrackRepresentation): New, update
    text track representation, creating first if necessary.
(WebCore::MediaControlTextTrackContainerElement::clearTextTrackRepresentation): Add an early
    return if we don't have a text track representation.
(WebCore::MediaControlTextTrackContainerElement::updateStyleForTextTrackRepresentation): Early
    return if there is nothing to be done.
(WebCore::MediaControlTextTrackContainerElement::enteredFullscreen): Force a caption update
    if there are visible captions.
(WebCore::MediaControlTextTrackContainerElement::updateSizes): Set m_updateTextTrackRepresentationStyle
    to true.
(WebCore::MediaControlTextTrackContainerElement::textTrackRepresentationBoundsChanged):  Force a
    caption update if there are visible captions.
* html/shadow/MediaControlElements.h:

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

6 years agofast/dom/HTMLImageElement/sizes/image-sizes-js-change.html is failing in some bots
antti@apple.com [Wed, 9 Jul 2014 17:12:39 +0000 (17:12 +0000)]
fast/dom/HTMLImageElement/sizes/image-sizes-js-change.html is failing in some bots
https://bugs.webkit.org/show_bug.cgi?id=134769

* TestExpectations: Skipping the test.

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

6 years ago[MSE] http/tests/media/media-source/mediasource-endofstream-invaliderror.html is...
jer.noble@apple.com [Wed, 9 Jul 2014 16:29:32 +0000 (16:29 +0000)]
[MSE] http/tests/media/media-source/mediasource-endofstream-invaliderror.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=134413

Reviewed by Eric Carlson.

Source/WebCore:
Update MediaSource.endOfStream() to take an optional enum instead of an optional String.

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::endOfStream):
* Modules/mediasource/MediaSource.h:
* Modules/mediasource/MediaSource.idl:

LayoutTests:
Fix an inadevntant editing error in mediasource-endofstream-invaliderror.html, and fix missing
whitespace at the end of http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt.

* http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt:
* http/tests/media/media-source/mediasource-endofstream-invaliderror.html:

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

6 years agoUnreviewed, update my list of email addresses.
rgf748@motorola.com [Wed, 9 Jul 2014 15:49:08 +0000 (15:49 +0000)]
Unreviewed, update my list of email addresses.

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

6 years ago[GTK] Unreviewed GTK gardening.
commit-queue@webkit.org [Wed, 9 Jul 2014 13:54:16 +0000 (13:54 +0000)]
[GTK] Unreviewed GTK gardening.

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

* platform/gtk/TestExpectations: Report and mark new failing and flaky tests. Adjust some tests expectations.
* platform/gtk/css1/formatting_model/inline_elements-expected.txt: Rebaseline after r170875.

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

6 years agoUnreviewed, rolling out r170889.
commit-queue@webkit.org [Wed, 9 Jul 2014 09:12:53 +0000 (09:12 +0000)]
Unreviewed, rolling out r170889.
https://bugs.webkit.org/show_bug.cgi?id=134754

This patch is wrong (Requested by philn on #webkit).

Reverted changeset:

"[GTK] Gstreamer missing from the install-dependencies script"
https://bugs.webkit.org/show_bug.cgi?id=134727
http://trac.webkit.org/changeset/170889

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

6 years ago[EFL] Fix crash caused by invalid cursor image.
commit-queue@webkit.org [Wed, 9 Jul 2014 07:29:18 +0000 (07:29 +0000)]
[EFL] Fix crash caused by invalid cursor image.
https://bugs.webkit.org/show_bug.cgi?id=134663

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-07-09
Reviewed by Gyuyoung Kim.

Remove calling of updateCursor since the custom cursor image is invalid once a mouse is out of the webview.

* UIProcess/API/efl/EwkView.cpp:
(EwkViewEventHandler<EVAS_CALLBACK_MOUSE_IN>::handleEvent):

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

6 years agoVersioning.
lforschler@apple.com [Wed, 9 Jul 2014 07:01:48 +0000 (07:01 +0000)]
Versioning.

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

6 years agoDOMWindows should register themselves with the GamepadManager when they have event...
beidson@apple.com [Wed, 9 Jul 2014 06:50:35 +0000 (06:50 +0000)]
DOMWindows should register themselves with the GamepadManager when they have event listeners
https://bugs.webkit.org/show_bug.cgi?id=134669

Reviewed by Dean Jackson.

No new tests (No effect in a currently tested config)

By having DOMWindows register with the GamepadManager when they have/don’t have gamepad event
listeners, we accomplish two things:
1 - It’s simple for GamepadManager to dispatch gamepad events directly to the DOMWindows interested.
2 - We know when to start monitoring for gamepad connections.

* Modules/gamepad/GamepadManager.cpp:
(WebCore::GamepadManager::GamepadManager):
(WebCore::GamepadManager::registerNavigator):
(WebCore::GamepadManager::unregisterNavigator):
(WebCore::GamepadManager::registerDOMWindow):
(WebCore::GamepadManager::unregisterDOMWindow):
(WebCore::GamepadManager::maybeStartMonitoringGamepads): Start monitoring gamepads if there are any
  registered DOMWindows or NavigatorGamepads, and we aren’t already monitoring them.
(WebCore::GamepadManager::maybeStopMonitoringGamepads): Stop monitoring gamepads if there aren’t any
  registered DOMWindows or NavigatorGameads, and we have been monitoring them before now.
* Modules/gamepad/GamepadManager.h:

* dom/EventNames.h:
(WebCore::EventNames::isGamepadEventType):

* page/DOMWindow.cpp:
(WebCore::DOMWindow::DOMWindow):
(WebCore::DOMWindow::~DOMWindow): If registered for gamepad events, unregister now.
(WebCore::DOMWindow::incrementGamepadEventListenerCount): If this is the first gamepad event
  listener, register with the GamepadManager now.
(WebCore::DOMWindow::decrementGamepadEventListenerCount): If this was the last gamepad event
  listener, unregister from the GamepadManager now.
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
* page/DOMWindow.h:

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

6 years ago.: [EFL] Support Encrypted Media Extensions.
commit-queue@webkit.org [Wed, 9 Jul 2014 05:56:45 +0000 (05:56 +0000)]
.: [EFL] Support Encrypted Media Extensions.
https://bugs.webkit.org/show_bug.cgi?id=134750

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2014-07-08
Reviewed by Gyuyoung Kim.

Webkit needs to play encrypted media contents when media player
is played by Media source extensions and normal video procedure.

* Source/cmake/OptionsEfl.cmake: Turn on ENABLE_ENCRYPTED_MEDIA_V2

Source/WebCore: [EFL] Fix the build break when ENABLE_ENCRYPTED_MEDIA_V2 is turned on.
https://bugs.webkit.org/show_bug.cgi?id=134750

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2014-07-08
Reviewed by Gyuyoung Kim.

When turning ENABLE_ENCRYPTED_MEDIA_V2 on, build break occurs.
Some source files need to be included in CMakeLists.txt file for build.
And wrap the included header file which is built only on mac and wince.

* CMakeLists.txt:
* Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp:

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

6 years agoRestore the assertion changed with 170839
benjamin@webkit.org [Wed, 9 Jul 2014 05:13:01 +0000 (05:13 +0000)]
Restore the assertion changed with 170839

* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::pop):
(JSC::ARMv7Assembler::push):
Revert the Assembler part of 170839. The assertions do not match both encoding.

I'll add specific version of push and pop instead.

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

6 years ago[iOS] user caption preferences not applied
eric.carlson@apple.com [Wed, 9 Jul 2014 04:53:03 +0000 (04:53 +0000)]
[iOS] user caption preferences not applied
https://bugs.webkit.org/show_bug.cgi?id=134599

Reviewed by Sam Weinig.

* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride): All Pages in a PageGroup
do not necessarily use the same PageUserContentController, so apply and remove caption user
the style sheet directly to each page rather than to the page group.

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

6 years agoUnreviewed, rolling out r170894.
commit-queue@webkit.org [Wed, 9 Jul 2014 00:51:07 +0000 (00:51 +0000)]
Unreviewed, rolling out r170894.
https://bugs.webkit.org/show_bug.cgi?id=134749

"It broke the build on mountainlion release 32bit" (Requested
by mmirman on #webkit).

Reverted changeset:

"Added css jit profiler, disabled by default."
https://bugs.webkit.org/show_bug.cgi?id=134695
http://trac.webkit.org/changeset/170894

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

6 years ago[Win] Implement auto-version as a Perl program
bfulgham@apple.com [Wed, 9 Jul 2014 00:01:02 +0000 (00:01 +0000)]
[Win] Implement auto-version as a Perl program
https://bugs.webkit.org/show_bug.cgi?id=134745
<rdar://problem/17597801>

Reviewed by David Kilzer.

Source/WebKit:
Modify build commands to use new Perl version of the
auto-version script.

* WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd:
* WebKit.vcxproj/WebKit/WebKitPreBuild.cmd:

WebKitLibraries:
Translate the auto-version.sh bash script into an equivalent
Perl script.

* win/tools/scripts/auto-version.pl: Added.
* win/tools/scripts/auto-version.sh: Removed.

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

6 years agoUpdate policy for Inactive Committer and Reviewer status
bjonesbe@adobe.com [Tue, 8 Jul 2014 23:58:05 +0000 (23:58 +0000)]
Update policy for Inactive Committer and Reviewer status
https://bugs.webkit.org/show_bug.cgi?id=134403

Reviewed by Nico Weber.

* coding/commit-review-policy.html:

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

6 years agoRemoteInspector::shared() should not call WTF::initializeMainThread()
jhoneycutt@apple.com [Tue, 8 Jul 2014 23:31:52 +0000 (23:31 +0000)]
RemoteInspector::shared() should not call WTF::initializeMainThread()
<https://bugs.webkit.org/show_bug.cgi?id=134747>
<rdar://problem/17161482>

Reviewed by Joseph Pecoraro.

* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::shared):
Don't call WTF::initializeMainThread(). WTF threading is initialized by
JSC::initializeThreading().

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

6 years agoRemove WebBackForwardListItems when their owning page goes away
timothy_horton@apple.com [Tue, 8 Jul 2014 23:17:26 +0000 (23:17 +0000)]
Remove WebBackForwardListItems when their owning page goes away
https://bugs.webkit.org/show_bug.cgi?id=134709
<rdar://problem/17584645>

Reviewed by Dan Bernstein.

* Shared/WebBackForwardListItem.cpp:
(WebKit::WebBackForwardListItem::create):
(WebKit::WebBackForwardListItem::WebBackForwardListItem):
* Shared/WebBackForwardListItem.h:
(WebKit::WebBackForwardListItem::pageID):
Add the associated PageID to the WebBackForwardListItem.

* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::restoreFromState):
Push the current PageID onto the WebBackForwardListItem.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::removeWebPage):
Remove all of the WebBackForwardListItems from m_backForwardListItemMap when
the page they are associated with is removed.

(WebKit::WebProcessProxy::addBackForwardItem):
Push the PageID from the WebProcess onto the WebBackForwardListItem.

* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::idToHistoryItemMap):
(WebKit::historyItemToIDMap):
(WebKit::updateBackForwardItem):
(WebKit::WebBackForwardListProxy::addItemFromUIProcess):
(WebKit::WK2NotifyHistoryItemChanged):
(WebKit::WebBackForwardListProxy::idForItem):
(WebKit::WebBackForwardListProxy::addItem):
(WebKit::WebBackForwardListProxy::goToItem):
(WebKit::WebBackForwardListProxy::close):
* WebProcess/WebPage/WebBackForwardListProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::restoreSession):
Keep track of the PageID that back-forward items were created by.
Pass the PageID along when registering WebBackForwardListItems.

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

6 years agoWebVideoFullscreenInterfaceAVKit should lazily create m_playerController.
commit-queue@webkit.org [Tue, 8 Jul 2014 23:11:07 +0000 (23:11 +0000)]
WebVideoFullscreenInterfaceAVKit should lazily create m_playerController.
https://bugs.webkit.org/show_bug.cgi?id=134706

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-07-08
Reviewed by Simon Fraser.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
Don't set the delegate if m_playerController isn't created.

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

6 years agoresolve-ChangeLogs fails when WebKit repository is a git submodule
burg@cs.washington.edu [Tue, 8 Jul 2014 22:54:56 +0000 (22:54 +0000)]
resolve-ChangeLogs fails when WebKit repository is a git submodule
https://bugs.webkit.org/show_bug.cgi?id=134734

Reviewed by David Kilzer.

When using resolve-ChangeLogs in a WebKit git repository with a
non-default arrangement of GIT_DIR and GIT_WORK_TREE, incorrect
paths are computed and the script fails mysteriously.

We were naively computing GIT_WORK_TREE as being one level above
GIT_DIR, but this is not the case for submodules or a manually
configured GIT_WORK_TREE or GIT_DIR location.

* Scripts/VCSUtils.pm:
(gitTreeDirectory): Added. Find the equivalent of GIT_WORK_TREE.
(determineVCSRoot): Calculate the working tree root directly.

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

6 years agoWeb Inspector: Debugger popovers should not dismiss when mousing over them
commit-queue@webkit.org [Tue, 8 Jul 2014 22:42:57 +0000 (22:42 +0000)]
Web Inspector: Debugger popovers should not dismiss when mousing over them
https://bugs.webkit.org/show_bug.cgi?id=134687

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-07-08
Reviewed by David Kilzer.

* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
Actually install the listeners in the set. Regression from code refactoring in r165052.

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

6 years agoVM::lastCachedString should be a Strong, not a Weak.
akling@apple.com [Tue, 8 Jul 2014 22:36:59 +0000 (22:36 +0000)]
VM::lastCachedString should be a Strong, not a Weak.
<https://webkit.org/b/134746>

Using Weak<JSString> for this regressed some of our bindings perf tests
due to Weak having to allocate a new WeakImpl every time the last cached
string changed. Make it a Strong instead should make that problem go away.

Reviewed by Geoffrey Garen.

* runtime/JSString.cpp:
(JSC::jsStringWithCacheSlowCase):
* runtime/VM.h:

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

6 years agoRemove webkit prefix from pointer lock tests.
commit-queue@webkit.org [Tue, 8 Jul 2014 22:36:24 +0000 (22:36 +0000)]
Remove webkit prefix from pointer lock tests.
https://bugs.webkit.org/show_bug.cgi?id=134744

Patch by Alex Christensen <achristensen@webkit.org> on 2014-07-08
Reviewed by Brady Eidson.

* http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock-expected.txt:
* http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock.html:
* http/tests/pointer-lock/iframe-sandboxed-expected.txt:
* http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock-expected.txt:
* http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock.html:
* http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock-expected.txt:
* http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock.html:
* http/tests/pointer-lock/iframe-sandboxed.html:
* http/tests/pointer-lock/pointerlockelement-different-origin-expected.txt:
* http/tests/pointer-lock/pointerlockelement-different-origin.html:
* http/tests/pointer-lock/pointerlockelement-same-origin-expected.txt:
* http/tests/pointer-lock/pointerlockelement-same-origin.html:
* http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents-expected.txt:
* http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents.html:
* http/tests/resources/pointer-lock/iframe-common.js:
(document.onpointerlockchange):
(document.onpointerlockerror):
(document.onwebkitpointerlockchange): Deleted.
(document.onwebkitpointerlockerror): Deleted.
* http/tests/resources/pointer-lock/pointer-lock-test-harness.js:
(expectOnlyChangeEvent):
(expectOnlyErrorEvent):
(expectNoEvents):
* pointer-lock/bug90391-move-then-window-open-crash-expected.txt:
* pointer-lock/bug90391-move-then-window-open-crash.html:
* pointer-lock/lock-already-locked-expected.txt:
* pointer-lock/lock-already-locked.html:
* pointer-lock/lock-element-not-in-dom-expected.txt:
* pointer-lock/lock-element-not-in-dom.html:
* pointer-lock/locked-element-iframe-removed-from-dom-expected.txt:
* pointer-lock/locked-element-iframe-removed-from-dom.html:
* pointer-lock/locked-element-removed-from-dom-expected.txt:
* pointer-lock/locked-element-removed-from-dom.html:
* pointer-lock/mouse-event-api-expected.txt:
* pointer-lock/mouse-event-api.html:
* pointer-lock/mouse-event-delivery-expected.txt:
* pointer-lock/mouse-event-delivery.html:
* pointer-lock/pointer-lock-api-expected.txt:
* pointer-lock/pointer-lock-api.html:
* pointer-lock/pointerlockchange-event-on-lock-lost-expected.txt:
* pointer-lock/pointerlockchange-event-on-lock-lost.html:
* pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt:
* pointer-lock/pointerlockchange-pointerlockerror-events.html:
* pointer-lock/pointerlockelement-null-when-pending-expected.txt:
* pointer-lock/pointerlockelement-null-when-pending.html:
Remove webkit prefix on pointer lock functions and events.
This should have been done in r170585.

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

6 years ago[WK2] Expose a few drawing/compositing settings on WKPreferences(Private)
timothy_horton@apple.com [Tue, 8 Jul 2014 22:24:41 +0000 (22:24 +0000)]
[WK2] Expose a few drawing/compositing settings on WKPreferences(Private)
https://bugs.webkit.org/show_bug.cgi?id=134645

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _compositingBordersVisible]):
(-[WKPreferences _setCompositingBordersVisible:]):
(-[WKPreferences _compositingRepaintCountersVisible]):
(-[WKPreferences _setCompositingRepaintCountersVisible:]):
(-[WKPreferences _tiledScrollingIndicatorVisible]):
(-[WKPreferences _setTiledScrollingIndicatorVisible:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
Expose layer borders, repaint counters, and the tiled scrolling indicator on WKPreferences, as SPI.

* WebView/WebPreferences.mm:
(-[WebPreferences setSubpixelCSSOMElementMetricsEnabled:]):
Remove an extra unnecessary space.

* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/MainMenu.xib:
Add menu items for layer borders and the tiled scrolling indicator.

* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController layerBordersAreVisible]):
(-[WK1BrowserWindowController toggleLayerBordersVisibility:]):
Add getters/setters/validators for layer borders.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController layerBordersAreVisible]):
(-[WK2BrowserWindowController toggleLayerBordersVisibility:]):
(-[WK2BrowserWindowController tiledScrollingIndicatorIsVisible]):
(-[WK2BrowserWindowController toggleTiledScrollingIndicatorVisibility:]):
Add getters/setters/validators for layer borders and the tiled scrolling indicator.

(-[WK2BrowserWindowController isSubpixelCSSOMElementMetricsEnabled]): Deleted.
(-[WK2BrowserWindowController toggleSubpixelCSSOMElementMetricsEnabled:]): Deleted.
Remove the WebKit2 version of the subpixel metrics pref, because it doesn't work, because
nothing in WebKit2 reads this default, and there is no WebKit2 API for adjusting this preference.

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

6 years agoEnsure we compute the height of replaced elements to 'auto' when appropriate.
bjonesbe@adobe.com [Tue, 8 Jul 2014 22:10:43 +0000 (22:10 +0000)]
Ensure we compute the height of replaced elements to 'auto' when appropriate.
https://bugs.webkit.org/show_bug.cgi?id=134700

Reviewed by David Hyatt.

Source/WebCore:
This fixes two issues:

1) If a replaced element has a percentage height specified then its
height should compute to 'auto' when its containing block does not
have a height 'specified explicitly'. We were taking this to mean when
its containing block's specified height value is 'auto' - in fact it
means when the containing block's computed height is auto.

2) Top and bottom on the containing block should only affect the
height of the block if that block has absolute or fixed position.

This brings us into line with IE, Firefox, and Chrome.

This is a port of Blink patches by Rob Hogan and David Vest.

Tests: css2.1/20110323/height-percentage-005.htm
       fast/css/replaced-element-ignore-top-bottom.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):

LayoutTests:
* css2.1/20110323/height-percentage-005-expected.html: Added.
* css2.1/20110323/height-percentage-005.htm: Added.
* css2.1/20110323/support/black96x96.png: Added.
* fast/css/replaced-element-ignore-top-bottom-expected.txt: Added.
* fast/css/replaced-element-ignore-top-bottom.html: Added.

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

6 years agoAdded css jit profiler, disabled by default.
commit-queue@webkit.org [Tue, 8 Jul 2014 21:47:51 +0000 (21:47 +0000)]
Added css jit profiler, disabled by default.
https://bugs.webkit.org/show_bug.cgi?id=134695

Patch by Alex Christensen <achristensen@webkit.org> on 2014-07-08
Reviewed by Benjamin Poulain.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ruleMatches):
Tell the RuleData when its compiled selector is used.
* css/RuleSet.cpp:
(WebCore::RuleData::RuleData):
Initialize the compiled selector use count to 0.
* css/RuleSet.h:
(WebCore::RuleData::~RuleData):
(WebCore::RuleData::compiledSelectorUsed):
Count and log the number of times a compiled selector is used.
* cssjit/SelectorCompiler.h:
Added option for CSS_SELECTOR_JIT_PROFILING set to 0 by default.
* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker):
(WebCore::SelectorDataList::execute):
Tell the SelectorData when its compiled selector is used.
* dom/SelectorQuery.h:
(WebCore::SelectorDataList::SelectorData::SelectorData):
(WebCore::SelectorDataList::SelectorData::~SelectorData):
(WebCore::SelectorDataList::SelectorData::compiledSelectorUsed):
Count and log the number of times a compiled selector is used.

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

6 years agoWKProcessPoolConfigurationPrivate's maximumProcessCount property has no effect
timothy_horton@apple.com [Tue, 8 Jul 2014 19:27:50 +0000 (19:27 +0000)]
WKProcessPoolConfigurationPrivate's maximumProcessCount property has no effect
https://bugs.webkit.org/show_bug.cgi?id=134711

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _initWithConfiguration:]):
Respect the maximumProcessCount.
Currently the default limit is UINT_MAX; if maximumProcessCount = 0 (the default), we'll use that limit.

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

6 years agoSteps towards CMake on Windows.
commit-queue@webkit.org [Tue, 8 Jul 2014 18:45:16 +0000 (18:45 +0000)]
Steps towards CMake on Windows.
https://bugs.webkit.org/show_bug.cgi?id=134716

Patch by Alex Christensen <achristensen@webkit.org> on 2014-07-08
Reviewed by Martin Robinson.

* CMakeLists.txt:
Added AppleWin and WinCairo to list of CMake ports.
* Source/cmake/OptionsAppleWin.cmake: Added.
* Source/cmake/OptionsWinCairo.cmake: Added.
* Source/cmake/OptionsWindows.cmake:
Windows needs to use the system malloc.  Other options to come.

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

6 years ago[GTK] Move user style sheet API out of WebKitWebViewGroup
commit-queue@webkit.org [Tue, 8 Jul 2014 17:53:34 +0000 (17:53 +0000)]
[GTK] Move user style sheet API out of WebKitWebViewGroup
https://bugs.webkit.org/show_bug.cgi?id=134551

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2014-07-08
Reviewed by Carlos Garcia Campos.

Source/WebKit2:
* PlatformGTK.cmake: Include the new source files in the build.
* UIProcess/API/C/gtk/WKView.cpp:
(WKViewCreate):
Adapt to the additional webkitWebViewBaseCreateWebPage() parameter.
* UIProcess/API/gtk/WebKitUserContent.cpp: Added.
(toUserContentInjectedFrames):
(toUserStyleLevel):
(toStringVector):
(_WebKitUserStyleSheet::_WebKitUserStyleSheet):
(webkit_user_style_sheet_ref):
(webkit_user_style_sheet_unref):
(webkit_user_style_sheet_new):
(webkitWebKitUserStyleSheetToUserStyleSheet):
* UIProcess/API/gtk/WebKitUserContent.h: Added.
* UIProcess/API/gtk/WebKitUserContentManager.cpp: Added.
(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):
(webkit_user_content_manager_class_init):
(webkit_user_content_manager_new):
(webkit_user_content_manager_add_style_sheet):
(webkit_user_content_manager_remove_all_style_sheets):
(webkitUserContentManagerGetUserContentControllerProxy):
* UIProcess/API/gtk/WebKitUserContentManager.h: Added.
* UIProcess/API/gtk/WebKitUserContentManagerPrivate.h: Added.
* UIProcess/API/gtk/WebKitUserContentPrivate.h: Added.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextCreatePageForWebView): Add a new parameter to allow
passing the WebKitUserContentManager that the web view will use.
* UIProcess/API/gtk/WebKitWebContextPrivate.h: Ditto.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Added handling of the
"user-content-manager" property on construction.
(webkitWebViewSetProperty): Added support for the
"user-content-manager" property.
(webkitWebViewGetProperty): Added support for the
"user-content-manager" property.
(webkit_web_view_class_init): Added the "user-content-manager"
property definition to the WebKitWebView class.
(webkit_web_view_new_with_related_view): Made related views share
the same WebKitUserContentManager used by the view they are
related to.
(webkit_web_view_new_with_user_content_manager): Added.
(webkit_web_view_get_user_content_manager): Added.
* UIProcess/API/gtk/WebKitWebView.h: Add new API methods.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreate): Added a parameter to pass the user
content manager.
(webkitWebViewBaseCreateWebPage): Added a parameter to pass the user
content manager.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Ditto.
* UIProcess/API/gtk/WebKitWebViewGroup.cpp: Removed the bits related
to user style sheet support from WebKitWebViewGroup.
(webkit_web_view_group_set_settings):
(toAPIArray): Deleted.
(webkit_web_view_group_add_user_style_sheet): Deleted.
(webkit_web_view_group_remove_all_user_style_sheets): Deleted.
* UIProcess/API/gtk/WebKitWebViewGroup.h: Deleted the API methods
for user style sheet handling.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added the new API
functions and types, and removed the methods which are no longer
available in WebKitWebViewGroup.
* UIProcess/API/gtk/webkit2.h: Add the new headers.
* UIProcess/UserContent/WebUserContentControllerProxy.cpp: Added
methods to add and remove user style sheets, alike those used for
user scripts.
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
* UIProcess/UserContent/WebUserContentControllerProxy.h: Ditto.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Adapt to the additional webkitWebViewBaseCreateWebPage() parameter.
* WebProcess/UserContent/WebUserContentController.cpp: Added methods
to add and remove user style sheets, alike those used for user scripts.
(WebKit::WebUserContentController::addUserStyleSheets):
(WebKit::WebUserContentController::removeAllUserStyleSheets):
* WebProcess/UserContent/WebUserContentController.h: Ditto.
* WebProcess/UserContent/WebUserContentController.messages.in:
Ditto.

Tools:
Removes testing user style sheet injection from
TestWebKitWebViewGroup and moves that into a new
TestWebKitUserContentManager, adapting the existing tests to the new
API. Also, it contains a new test case for
webkit_web_view_new_with_user_content_manager().

* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp: Added.
(UserContentManagerTest::UserContentManagerTest):
(testWebViewNewWithUserContentManager):
(isStyleSheetInjectedForURLAtPath):
(fillURLListFromPaths):
(removeOldInjectedStyleSheetsAndResetLists):
(testUserContentManagerInjectedStyleSheet):
(serverCallback):
(beforeAll):
(afterAll):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp:
(beforeAll):
(afterAll):
(isStyleSheetInjectedForURLAtPath): Deleted.
(fillURLListFromPaths): Deleted.
(removeOldInjectedStyleSheetsAndResetLists): Deleted.
(testWebViewGroupInjectedStyleSheet): Deleted.
(serverCallback): Deleted.
* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(WebViewTest::WebViewTest):
* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:

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

6 years ago[GTK] Gstreamer missing from the install-dependencies script
commit-queue@webkit.org [Tue, 8 Jul 2014 17:33:39 +0000 (17:33 +0000)]
[GTK] Gstreamer missing from the install-dependencies script
https://bugs.webkit.org/show_bug.cgi?id=134727

Patch by Ziran Sun <ziran.sun@samsung.com> on 2014-07-08
Reviewed by Mario Sanchez Prada.

Added missing gstreamer dependencies for debian based systems.

* gtk/install-dependencies: Added 2 dependencies for apt-get.

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

6 years agoAdd myself to the watchlist for text-related files
mmaxfield@apple.com [Tue, 8 Jul 2014 16:41:54 +0000 (16:41 +0000)]
Add myself to the watchlist for text-related files
https://bugs.webkit.org/show_bug.cgi?id=134707

Reviewed by Timothy Horton.

* Scripts/webkitpy/common/config/watchlist:

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

6 years ago[GTK] Guard uses of RedirectedXCompositeWindow in WebKitWebViewBase with PLATFORM...
zandobersek@gmail.com [Tue, 8 Jul 2014 16:34:38 +0000 (16:34 +0000)]
[GTK] Guard uses of RedirectedXCompositeWindow in WebKitWebViewBase with PLATFORM(X11)
https://bugs.webkit.org/show_bug.cgi?id=133871

Reviewed by Martin Robinson.

Guard uses of the RedirectedXCompositeWindow object in WebKitWebViewBase with the
PLATFORM(X11) build guard. This is required to properly support building the GTK
port only for the Wayland target.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseConstructed):
(webkitWebViewRenderAcceleratedCompositingResults):
(resizeWebKitWebViewBaseFromAllocation):
(webkitWebViewBaseUpdatePreferences):
(webkitWebViewBaseCreateWebPage):

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

6 years agoUnreviewed. Fix GObject DOM bindings API breaks test after r170700.
carlosgc@webkit.org [Tue, 8 Jul 2014 15:20:41 +0000 (15:20 +0000)]
Unreviewed. Fix GObject DOM bindings API breaks test after r170700.

Add missing WebKitDOMXPathNSResolver.symbols that I forgot to add
in r170700.

* bindings/gobject/WebKitDOMXPathNSResolver.symbols: Added.

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

6 years agoAdd option to specify output file location in sunspider.
commit-queue@webkit.org [Tue, 8 Jul 2014 09:24:31 +0000 (09:24 +0000)]
Add option to specify output file location in sunspider.
https://bugs.webkit.org/show_bug.cgi?id=134339

Patch by Gergo Balogh <gbalogh.u-szeged@partner.samsung.com> on 2014-07-08
Reviewed by Darin Adler.

PerformanceTests/SunSpider:
* sunspider:

Tools:
* Scripts/run-sunspider:

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

6 years agoUnreviewed. iOS build fix after r170871.
psolanki@apple.com [Tue, 8 Jul 2014 05:56:32 +0000 (05:56 +0000)]
Unreviewed. iOS build fix after r170871.

* rendering/RenderThemeIOS.mm:
(WebCore::adjustInputElementButtonStyle):

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

6 years agoUnreviewed build fix.
achristensen@apple.com [Tue, 8 Jul 2014 05:51:06 +0000 (05:51 +0000)]
Unreviewed build fix.

* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
Make Common.cpp excluded from both 32-bit and 64-bit builds.

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

6 years agoFix the build after r170876
benjamin@webkit.org [Tue, 8 Jul 2014 04:35:42 +0000 (04:35 +0000)]
Fix the build after r170876

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

* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::linkCode):

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

6 years agoSubpixel rendering: icloud.com password arrow has clipped circle at some window sizes.
zalan@apple.com [Tue, 8 Jul 2014 04:26:24 +0000 (04:26 +0000)]
Subpixel rendering: icloud.com password arrow has clipped circle at some window sizes.
https://bugs.webkit.org/show_bug.cgi?id=134710
<rdar://problem/17545291>

Reviewed by Simon Fraser.

Transparent layer clipping needs device pixel snapping.

Source/WebCore:
Test: fast/layers/wrong-clipping-semi-transparent-layer-on-subpixel-position.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers):

LayoutTests:
* fast/layers/wrong-clipping-semi-transparent-layer-on-subpixel-position-expected.html: Added.
* fast/layers/wrong-clipping-semi-transparent-layer-on-subpixel-position.html: Added.

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

6 years agoLinkBuffer should not keep a reference to the MacroAssembler
benjamin@webkit.org [Tue, 8 Jul 2014 04:23:30 +0000 (04:23 +0000)]
LinkBuffer should not keep a reference to the MacroAssembler
https://bugs.webkit.org/show_bug.cgi?id=134668

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
In FTL, the LinkBuffer can outlive the MacroAssembler that was used for code generation.
When that happens, the pointer m_assembler points to released memory. That was not causing
issues because the attribute is not used after linking, but that was not particularily
future proof.

This patch refactors LinkBuffer to avoid any lifetime risk. The MacroAssembler is now passed
as a reference, it is used for linking but no reference is ever stored with the LinkBuffer.

While fixing the call sites to use a reference, I also discovered LinkBuffer.h was included
everywhere. I refactored some #include to avoid that.

* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode):
(JSC::LinkBuffer::linkCode):
* assembler/LinkBuffer.h:
(JSC::LinkBuffer::LinkBuffer):
* bytecode/Watchpoint.cpp:
* dfg/DFGDisassembler.cpp:
* dfg/DFGDisassembler.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::linkFunction):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGPlan.cpp:
* dfg/DFGThunks.cpp:
(JSC::DFG::osrExitGenerationThunkGenerator):
(JSC::DFG::osrEntryThunkGenerator):
* ftl/FTLCompile.cpp:
(JSC::FTL::generateICFastPath):
(JSC::FTL::fixFunctionBasedOnStackMaps):
* ftl/FTLJSCall.cpp:
* ftl/FTLJSCall.h:
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* ftl/FTLLowerDFGToLLVM.cpp:
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
* ftl/FTLThunks.cpp:
(JSC::FTL::osrExitGenerationThunkGenerator):
(JSC::FTL::slowPathCallThunkGenerator):
* jit/ArityCheckFailReturnThunks.cpp:
(JSC::ArityCheckFailReturnThunks::returnPCsFor):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
* jit/JITCall.cpp:
(JSC::JIT::privateCompileClosureCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::privateCompileClosureCall):
* jit/JITDisassembler.cpp:
* jit/JITDisassembler.h:
* jit/JITOpcodes.cpp:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompilePutByVal):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::stringGetByValStubGenerator):
* jit/RegisterPreservationWrapperGenerator.cpp:
(JSC::generateRegisterPreservationWrapper):
(JSC::registerRestorationThunkGenerator):
* jit/Repatch.cpp:
(JSC::generateByIdStub):
(JSC::tryCacheGetByID):
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):
(JSC::tryRepatchIn):
(JSC::linkClosureCall):
* jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::finalize):
* jit/ThunkGenerators.cpp:
(JSC::throwExceptionFromCallSlowPathGenerator):
(JSC::linkForThunkGenerator):
(JSC::linkClosureCallForThunkGenerator):
(JSC::virtualForThunkGenerator):
(JSC::nativeForGenerator):
(JSC::arityFixup):
* llint/LLIntThunks.cpp:
(JSC::LLInt::generateThunkWithJumpTo):
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::compile):

Source/WebCore:
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):

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

6 years agoSubpixel rendering: Inline box decoration rounds to integral.
zalan@apple.com [Tue, 8 Jul 2014 04:13:40 +0000 (04:13 +0000)]
Subpixel rendering: Inline box decoration rounds to integral.
https://bugs.webkit.org/show_bug.cgi?id=134523
<rdar://problem/17530298>

Reviewed by Darin Adler.

This patch removes 2 integral roundings from InlineFlowBox:
1. Border and padding sizes are implicitly integral truncated by the 'int' return type
   of borderLogicalLeft/Right()/paddingLogicalLeft/Right(). It results in losing
   fractional border/padding values.
2. Painting rectangle is explicitly rounded which pushes border and
   other decoration elements to odd device pixel positions on retina displays.
These values get pixel snapped right before calling in to GraphicsContext::*.

Source/WebCore:
Test: fast/inline/hidpi-inline-text-decoration-with-subpixel-value.html

* rendering/InlineBox.h:
(WebCore::InlineBox::frameRect):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
(WebCore::InlineFlowBox::roundedFrameRect): Deleted.
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::borderLogicalLeft):
(WebCore::InlineFlowBox::borderLogicalRight):
(WebCore::InlineFlowBox::paddingLogicalLeft):
(WebCore::InlineFlowBox::paddingLogicalRight):

LayoutTests:
* fast/inline/hidpi-inline-text-decoration-with-subpixel-value-expected.html: Added.
* fast/inline/hidpi-inline-text-decoration-with-subpixel-value.html: Added.
* platform/mac/css1/formatting_model/inline_elements-expected.txt:

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

6 years ago[EFL] gardening after r170864
commit-queue@webkit.org [Tue, 8 Jul 2014 04:00:27 +0000 (04:00 +0000)]
[EFL] gardening after r170864
https://bugs.webkit.org/show_bug.cgi?id=134713

Unreviewed, EFL gardening.

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-07-07

* platform/efl/TestExpectations: Report and mark several unexpected image-only failures.

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

6 years agoPass RenderLayer reference instead of pointer to RenderLayer::paintingExtent().
zalan@apple.com [Tue, 8 Jul 2014 03:22:03 +0000 (03:22 +0000)]
Pass RenderLayer reference instead of pointer to RenderLayer::paintingExtent().
https://bugs.webkit.org/show_bug.cgi?id=134714

Reviewed by Simon Fraser.

No change in functionality.

* rendering/RenderLayer.cpp: * -> &
(WebCore::expandClipRectForRegionAndReflection):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::transparencyClipBox):
(WebCore::paintingExtent):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::paintingExtent): Deleted.
* rendering/RenderLayer.h:

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

6 years agoTurn on accelerated drawing for WebKit2 by default
timothy_horton@apple.com [Tue, 8 Jul 2014 02:40:11 +0000 (02:40 +0000)]
Turn on accelerated drawing for WebKit2 by default
https://bugs.webkit.org/show_bug.cgi?id=134708
<rdar://problem/17584642>

Reviewed by Simon Fraser.

* Shared/WebPreferencesDefinitions.h:
Make Mac match iOS, in that accelerated drawing is on by default.

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

6 years agoRemove misleadingly-named Font::isSVGFont()
mmaxfield@apple.com [Tue, 8 Jul 2014 02:27:14 +0000 (02:27 +0000)]
Remove misleadingly-named Font::isSVGFont()
https://bugs.webkit.org/show_bug.cgi?id=134697

Reviewed by Dean Jackson.

Being a SVG font is a property of the FontData object, not
the Font object. Providing an isSVGFont() function on the
Font class will likely lead to incorrect code and non-obvious
bugs.

No new tests because there is no behavior change.

* platform/graphics/Font.h:
(WebCore::Font::isSVGFont): Deleted.
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::primaryFontDataIsSystemFont):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::constructTextRun):
* rendering/RenderBlock.cpp:
(WebCore::constructTextRunInternal):
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::constructTextRun):
* rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::constructTextRun):
(WebCore::SVGTextMetrics::SVGTextMetrics):

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

6 years agoDon't leak _WKRemoteObjectRegistry in WKBrowsingContextController
timothy_horton@apple.com [Tue, 8 Jul 2014 01:56:28 +0000 (01:56 +0000)]
Don't leak _WKRemoteObjectRegistry in WKBrowsingContextController
https://bugs.webkit.org/show_bug.cgi?id=134703

Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController _remoteObjectRegistry]):
Adoption is important!!

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

6 years agoMove Gamepad index down into PlatformGamepad.
beidson@apple.com [Tue, 8 Jul 2014 01:52:37 +0000 (01:52 +0000)]
Move Gamepad index down into PlatformGamepad.
https://bugs.webkit.org/show_bug.cgi?id=134670

Reviewed by Darin Adler.

PlatformGamepads always have an inherent index anyways.
This will make things easier in all upcoming work.

* Modules/gamepad/Gamepad.cpp:
(WebCore::Gamepad::Gamepad):
* Modules/gamepad/Gamepad.h:

* Modules/gamepad/GamepadManager.cpp:
(WebCore::GamepadManager::platformGamepadConnected):
(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::makeGamepadsVisibileToBlindNavigators):
* Modules/gamepad/GamepadManager.h:

* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::gamepadsBecameVisible):
(WebCore::NavigatorGamepad::gamepadConnected):
(WebCore::NavigatorGamepad::gamepadDisconnected):
* Modules/gamepad/NavigatorGamepad.h:

* platform/GamepadProviderClient.h:

* platform/PlatformGamepad.h:
(WebCore::PlatformGamepad::index):
(WebCore::PlatformGamepad::PlatformGamepad):

* platform/mac/HIDGamepad.cpp:
(WebCore::HIDGamepad::HIDGamepad):
* platform/mac/HIDGamepad.h:

* platform/mac/HIDGamepadProvider.cpp:
(WebCore::HIDGamepadProvider::deviceAdded):
(WebCore::HIDGamepadProvider::deviceRemoved):
(WebCore::HIDGamepadProvider::removeGamepadForDevice):
* platform/mac/HIDGamepadProvider.h:

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

6 years agoWeb Inspector: CSS style declaration editor should ignore empty lines when determinin...
jonowells@apple.com [Tue, 8 Jul 2014 01:38:35 +0000 (01:38 +0000)]
Web Inspector: CSS style declaration editor should ignore empty lines when determining prefix whitespace
https://bugs.webkit.org/show_bug.cgi?id=134704

Reviewed by Joseph Pecoraro.

When checking for zero-length prefix whitespace, completely empty lines are now ignored
as these lines are most often used for organizing rules into groups and often have their
whitespace removed due to trailing whitespace removal conventions.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:

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

6 years ago[UI-side compositing] Support reflections on custom layers like video
simon.fraser@apple.com [Mon, 7 Jul 2014 23:44:58 +0000 (23:44 +0000)]
[UI-side compositing] Support reflections on custom layers like video
https://bugs.webkit.org/show_bug.cgi?id=134701

Reviewed by Tim Horton.

Source/WebCore:

Add a LayerTypeWebGLLayer layer type, and support casting to PlatformCALayerRemoteCustom.

* WebCore.exp.in: Export PlatformCALayerMac::layerTypeForPlatformLayer(CALayer*), and sort.
* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::isPlatformCALayerRemoteCustom):
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::layerTypeForPlatformLayer):
(PlatformCALayerMac::PlatformCALayerMac):
(PlatformCALayerMac::commonInit):

Source/WebKit2:

For video reflections, we have to support cloning of PlatformCALayerRemoteCustom
in the web process. Do so by implementing PlatformCALayerRemoteCustom::clone(),
which does the right gyrations to get AVPlayerLayers cloned, then makes a
new PlatformCALayerRemoteCustom to wrap the new layer. This ends up getting
its own context hosting ID, allowing the clone to show in the UI process.

Attempt to do the same for WebGL, but turn it off because it breaks.

* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::drawInContext):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode): Unconditionally encode/decode
the hostingContextID. It will be 0 for most layers.
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
(WebKit::RemoteLayerTreeTransaction::description):
* UIProcess/ios/RemoteLayerTreeHostIOS.mm:
(WebKit::RemoteLayerTreeHost::createLayer):
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::createLayer):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::create): Creation with a custom PlatformLayer* always
creates a PlatformCALayerRemoteCustom.
(WebKit::PlatformCALayerRemote::clone): Factor some code.
(WebKit::PlatformCALayerRemote::updateClonedLayerProperties):
(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
(WebKit::PlatformCALayerRemoteCustom::create):
(WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
(WebKit::PlatformCALayerRemoteCustom::clone): Clone by making an instance of the
correct type of platform layer when possible, then wrapping a PlatformCALayerRemoteCustom
around it.
(WebKit::PlatformCALayerRemoteCustom::contents):
(WebKit::PlatformCALayerRemoteCustom::setContents):
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::layerWasCreated):
(WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):

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

6 years agoWeb Inspector: Uncaught Exception debugging iOS 7 NetworkAgent.loadResource is unavai...
commit-queue@webkit.org [Mon, 7 Jul 2014 23:44:58 +0000 (23:44 +0000)]
Web Inspector: Uncaught Exception debugging iOS 7 NetworkAgent.loadResource is unavailable
https://bugs.webkit.org/show_bug.cgi?id=134689

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-07-07
Reviewed by Darin Adler.

Gracefully handle if NetworkAgent.loadResource is unavailable.

* UserInterface/Controllers/SourceMapManager.js:
(WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
* UserInterface/Models/SourceMapResource.js:

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

6 years ago[UI-side compositing] Crash when starting a filter transition on a reflected layer
simon.fraser@apple.com [Mon, 7 Jul 2014 23:44:49 +0000 (23:44 +0000)]
[UI-side compositing] Crash when starting a filter transition on a reflected layer
https://bugs.webkit.org/show_bug.cgi?id=134694

Reviewed by Tim Horton.

Source/WebCore:

Don't call the owner if we failed to find the animation key (which actually
isn't used by PlatformCALayerMac anyway).

* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(-[WebAnimationDelegate animationDidStart:]):

Source/WebKit2:

When cloned layers had animations, we would fire two animationDidStart callbacks,
but the second would pass an empty animationKey string to the web process, resulting
in a crash.

Fix by not blindly copying all layer properties when cloning PlatformCALayerRemotes,
since the clone would include addedAnimations, and then get the same animations
added on top by the caller.

Also protect against an empty animation key in the animationDidStart callback.

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::animationDidStart):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::PlatformCALayerRemote):
(WebKit::PlatformCALayerRemote::clone): Don't copy all the properties; copy
them manually as PlatformCALayerMac does. Only copy the big things if they don't
have their default values.
(WebKit::PlatformCALayerRemote::copyFiltersFrom): Need an implementation of this
for clone() to call.

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

6 years agoHave MiniBrowser log and reload if the Web Content Process crashes
simon.fraser@apple.com [Mon, 7 Jul 2014 23:44:42 +0000 (23:44 +0000)]
Have MiniBrowser log and reload if the Web Content Process crashes
https://bugs.webkit.org/show_bug.cgi?id=134691

Reviewed by Tim Horton.

Implement _webViewWebProcessDidCrash, log and reload when the web process
crashes.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController _webViewWebProcessDidCrash:]):

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

6 years agoNearly everything in the UIProcess "leaks" when WKWebView is torn down
timothy_horton@apple.com [Mon, 7 Jul 2014 23:18:21 +0000 (23:18 +0000)]
Nearly everything in the UIProcess "leaks" when WKWebView is torn down
https://bugs.webkit.org/show_bug.cgi?id=134699
<rdar://problem/17581777>

Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
Adoption is important!

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

6 years agoREGRESSION(iOS WK2): arrow keys movements don't work.
enrica@apple.com [Mon, 7 Jul 2014 21:42:53 +0000 (21:42 +0000)]
REGRESSION(iOS WK2): arrow keys movements don't work.
https://bugs.webkit.org/show_bug.cgi?id=134561
<rdar://problem/16827629>

Reviewed by Benjamin Poulain.

This change add the implementations for cursor movement selectors.
It also provides a mechanism to ensure that every selection
change in WebKit is reflected in UIKit so that it can update the
autocorrection data. This way we ensure that the autocorraction state
is consistent even when selection changes are originated by JavaScript.
WebPageProxy::editorStateChanged now notifies the page client when the
selection is about to change as well as when it actually changed.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::editorStateChanged):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::selectionWillChange):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView cut:]): Removed incorrect calls to textWillChange and
textDidChange.
(-[WKContentView paste:]):
(-[WKContentView _moveUp:withHistory:]):
(-[WKContentView _moveDown:withHistory:]):
(-[WKContentView _moveLeft:withHistory:]):
(-[WKContentView _moveRight:withHistory:]):
(-[WKContentView _moveToStartOfWord:withHistory:]):
(-[WKContentView _moveToStartOfParagraph:withHistory:]):
(-[WKContentView _moveToStartOfLine:withHistory:]):
(-[WKContentView _moveToStartOfDocument:withHistory:]):
(-[WKContentView _moveToEndOfWord:withHistory:]):
(-[WKContentView _moveToEndOfParagraph:withHistory:]):
(-[WKContentView _moveToEndOfLine:withHistory:]):
(-[WKContentView _moveToEndOfDocument:withHistory:]):
(-[WKContentView _selectionWillChange]):
(-[WKContentView _selectionChanged]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::notifySelectionWillChange):

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

6 years agoFast path for jsStringWithCache() when asked for the same string repeatedly.
akling@apple.com [Mon, 7 Jul 2014 21:06:15 +0000 (21:06 +0000)]
Fast path for jsStringWithCache() when asked for the same string repeatedly.
<https://webkit.org/b/134635>

Reviewed by Darin Adler.

Follow-up to r170818 addressing a review comment by Geoff Garen.

* runtime/JSString.cpp:
(JSC::jsStringWithCacheSlowCase):

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

6 years agoAdd SPI for saving and restoring a WKWebView's _WKSessionState
andersca@apple.com [Mon, 7 Jul 2014 20:52:49 +0000 (20:52 +0000)]
Add SPI for saving and restoring a WKWebView's _WKSessionState
https://bugs.webkit.org/show_bug.cgi?id=134693

Reviewed by Dan Bernstein.

* UIProcess/API/C/WKPage.cpp:
(WKPageRestoreFromSessionState):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _sessionState]):
(-[WKWebView _restoreFromSessionStateData:]):
(-[WKWebView _restoreFromSessionState:]):
(-[WKWebView _restoreSessionState:andNavigate:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/Cocoa/_WKSessionState.mm:
(-[_WKSessionState _initWithSessionState:]):
* UIProcess/API/Cocoa/_WKSessionStateInternal.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::restoreFromSessionState):
* UIProcess/WebPageProxy.h:

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

6 years agoAdd a stubbed out _WKSessionState class
andersca@apple.com [Mon, 7 Jul 2014 20:28:13 +0000 (20:28 +0000)]
Add a stubbed out _WKSessionState class
https://bugs.webkit.org/show_bug.cgi?id=134690

Reviewed by Geoffrey Garen.

* UIProcess/API/Cocoa/_WKSessionState.h: Copied from Source/WebKit2/UIProcess/LegacySessionStateCoding.h.
* UIProcess/API/Cocoa/_WKSessionState.mm: Copied from Source/WebKit2/UIProcess/LegacySessionStateCoding.h.
(-[_WKSessionState initWithData:]):
(-[_WKSessionState data]):
* UIProcess/API/Cocoa/_WKSessionStateInternal.h: Copied from Source/WebKit2/UIProcess/LegacySessionStateCoding.h.
* UIProcess/Cocoa/SessionStateCoding.h: Copied from Source/WebKit2/UIProcess/LegacySessionStateCoding.h.
* UIProcess/Cocoa/SessionStateCoding.mm: Copied from Source/WebKit2/UIProcess/LegacySessionStateCoding.h.
(WebKit::encodeSessionState):
(WebKit::decodeSessionState):
* UIProcess/LegacySessionStateCoding.h:
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoSome of the WKPreferences (API) property getters read like questions
andersca@apple.com [Mon, 7 Jul 2014 19:52:26 +0000 (19:52 +0000)]
Some of the WKPreferences (API) property getters read like questions
https://bugs.webkit.org/show_bug.cgi?id=134678
<rdar://problem/17576847>

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKPreferences.h:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences javaScriptIsEnabled]):
(-[WKPreferences javaIsEnabled]):
(-[WKPreferences plugInsAreEnabled]):
(-[WKPreferences isJavaScriptEnabled]): Deleted.
(-[WKPreferences isJavaEnabled]): Deleted.
(-[WKPreferences arePlugInsEnabled]): Deleted.

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

6 years agoServicesOverlayController menus show up in the wrong place.
beidson@apple.com [Mon, 7 Jul 2014 18:50:53 +0000 (18:50 +0000)]
ServicesOverlayController menus show up in the wrong place.
<rdar://problem/17130576> and https://bugs.webkit.org/show_bug.cgi?id=134684

Reviewed by Tim Horton.

* WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged): Handle cases where
  the telephone number is in a subframe.
(WebKit::ServicesOverlayController::handleClick): The click point is always in main frame document
  coordinates, so convert it to window coordinates using the main frame’s FrameView.

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