WebKit-https.git
4 years agoThe Page's muted setting should not affect the HTMLMediaElement's 'muted' IDL attribute.
adachan@apple.com [Thu, 30 Oct 2014 22:06:12 +0000 (22:06 +0000)]
The Page's muted setting should not affect the HTMLMediaElement's 'muted' IDL attribute.
https://bugs.webkit.org/show_bug.cgi?id=138215

Reviewed by Eric Carlson.

Source/WebCore:

Add m_muted in Page to keep track of the Page's muted state. Change AudioProducer::setMuted()
to pageMutedStateDidChange(). When that method is called, the AudioProducer is supposed to
update its muted state again taking the Page's muted state into account.

Add HTMLMediaElement::effectiveMuted(), which returns the effective muted state of the
HTMLMediaElement, taking the Page's muted state into account.

Test: media/video-muted-after-setting-page-muted-state.html

* dom/Document.cpp:
(WebCore::Document::pageMutedStateDidChange):
(WebCore::Document::setMuted): Deleted.
* dom/Document.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setMuted):
Set the MediaPlayer's muted state to the result of effectiveMuted() rather than m_muted.
(WebCore::HTMLMediaElement::updateVolume):
Ditto, and also make sure the MediaController's muted state does not override the Page's
muted state.
(WebCore::HTMLMediaElement::updatePlayState):
Set the MediaPlayer's muted state to the result of effectiveMuted() rather than muted().
(WebCore::HTMLMediaElement::pageMutedStateDidChange):
Call updateVolume(), which will update the MediaPlayer's muted state.
(WebCore::HTMLMediaElement::effectiveMuted):
Figure out the muted value taking Page's muted state into account.
* html/HTMLMediaElement.h:
* page/AudioProducer.h:
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::setMuted):
Update m_muted, and only iterate through the frames' documents to call pageMutedStateDidChange()
if m_muted changes.
* page/Page.h:
(WebCore::Page::isMuted):
* testing/Internals.cpp:
(WebCore::Internals::setPageMuted):
Expose a way to set the Page's muted state in Internals for testing.
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* media/video-muted-after-setting-page-muted-state-expected.txt: Added.
* media/video-muted-after-setting-page-muted-state.html: Added.

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

4 years agoUse references in calculateMinimumPageHeight() for non-optional arguments
mmaxfield@apple.com [Thu, 30 Oct 2014 21:39:27 +0000 (21:39 +0000)]
Use references in calculateMinimumPageHeight() for non-optional arguments
https://bugs.webkit.org/show_bug.cgi?id=138231

Reviewed by Dean Jackson.

No new tests because there is no behavior change.

* rendering/RenderBlockFlow.cpp:
(WebCore::calculateMinimumPageHeight):
(WebCore::RenderBlockFlow::adjustLinePositionForPagination):

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

4 years agoASSERT(!m_deletionHasBegun) in RefCounted.h should be ASSERT_WITH_SECURITY_IMPLICATION
jpfau@apple.com [Thu, 30 Oct 2014 21:35:03 +0000 (21:35 +0000)]
ASSERT(!m_deletionHasBegun) in RefCounted.h should be ASSERT_WITH_SECURITY_IMPLICATION
https://bugs.webkit.org/show_bug.cgi?id=138141

Reviewed by Alexey Proskuryakov.

* wtf/RefCounted.h:
(WTF::RefCountedBase::ref):
(WTF::RefCountedBase::relaxAdoptionRequirement):
(WTF::RefCountedBase::derefBase):
(WTF::adopted):

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

4 years agoMove -webkit-border-image / -webkit-mask-box-image to the new StyleBuilder
cdumez@apple.com [Thu, 30 Oct 2014 21:30:19 +0000 (21:30 +0000)]
Move -webkit-border-image / -webkit-mask-box-image to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138207

Reviewed by Andreas Kling.

Move -webkit-border-image / -webkit-mask-box-image CSS properties to
the new StyleBuilder so that they are now generated from
CSSPropertyNames.in.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderImage::applyValue): Deleted.
(WebCore::ApplyPropertyBorderImage::createHandler): Deleted.
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertBorderImage):
(WebCore::StyleBuilderConverter::convertBorderMask):

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

4 years agoOptimize HTMLVideoElement / HTMLAudioElement type checks a bit
cdumez@apple.com [Thu, 30 Oct 2014 21:25:30 +0000 (21:25 +0000)]
Optimize HTMLVideoElement / HTMLAudioElement type checks a bit
https://bugs.webkit.org/show_bug.cgi?id=138202

Reviewed by Benjamin Poulain.

Optimize HTMLVideoElement / HTMLAudioElement type checks a bit by:
1. Using is<HTMLMediaElement>() instead of
   (is<HTMLVideoElement>() || is<HTMLAudioElement>()) if the caller is
   interested in both video and audio elements. This is faster because
   it ends up doing:
       - virtual call to Element::isMediaElement()
   instead of
       - Node::isHTMLElement() +
         virtual call to HTMLElement::isHTMLUnknownElement() +
         2 * HTMLElement::hasTagName()
2. Updating HTMLVideoElement / HTMLAudioElement type traits
   specializations to:
   - Avoid doing any virtual function call if the input type is an
     HTMLMediaElement (which is common in the code base).
   - Speed up check if the input is an Element by doing:
       - virtual call to Element::isMediaElement() +
         HTMLElement::hasTagName()
     instead of
       - Node::isHTMLElement() +
         virtual call to !HTMLElement::isHTMLUnknownElement() +
         HTMLElement::hasTagName()
     The speed stays the same if the input is a Node or an HTMLElement.

No new tests, no behavior change.

* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
* dom/make_names.pl:
(defaultTagPropertyHash):
(printTypeHelpers):
* html/HTMLAudioElement.h:
(isType):
* html/HTMLImageLoader.cpp:
* html/HTMLTagNames.in:
* html/HTMLVideoElement.h:
(isType):
* page/ChromeClient.h:

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

4 years agoMigrate ComplexTextControllerCoreText to use SPI instead of WKSI
mmaxfield@apple.com [Thu, 30 Oct 2014 21:17:30 +0000 (21:17 +0000)]
Migrate ComplexTextControllerCoreText to use SPI instead of WKSI
https://bugs.webkit.org/show_bug.cgi?id=138228

Reviewed by Simon Fraser.

No new tests because there is no behavior change.

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/spi/cocoa/CoreTextSPI.h: Added.

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

4 years agoIndexedDB is deleting data when a PK is shared amongst two objectStores
beidson@apple.com [Thu, 30 Oct 2014 21:00:58 +0000 (21:00 +0000)]
IndexedDB is deleting data when a PK is shared amongst two objectStores
rdar://problem/18479306 and https://bugs.webkit.org/show_bug.cgi?id=137154

Reviewed by Jer Noble.

Source/WebKit2:

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::v1RecordsTableSchema): Store away the v1 schema for introspection into the database.
(WebKit::v2RecordsTableSchema): Add utility methods to get the v2 schema with different Table names.
(WebKit::createOrMigrateRecordsTableIfNecessary): Check to see if the Records table exists with
  the correct schema. If it is the v1 schema, then migrate the data to a new v2 table, drop the v1
  table, then slide the new table into place.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::ensureValidRecordsTable): Make sure the Records table
  exists and is v2, and then make sure the uniqueness index exists.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Don’t bother creating
  the Records table here as it will have already been established earlier.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

LayoutTests:

* storage/indexeddb/primary-key-unique-to-objectstore-expected.txt: Added.
* storage/indexeddb/primary-key-unique-to-objectstore.html: Added.

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

4 years agoUpdate safariVersion to safariVersionString
matthew_hanson@apple.com [Thu, 30 Oct 2014 20:57:57 +0000 (20:57 +0000)]
Update safariVersion to safariVersionString
https://bugs.webkit.org/show_bug.cgi?id=138193

The preceding change updated safariVersion to safariVersionString for the "4 Public Beta" check in OS X 10.5.x,
but it should have also been done for the "4 Public Beta" check in OS X 10.4.x.

Rubber-stamped by David Kilzer.

* Scripts/bisect-builds:
(makeNightlyList):
Compare safariVersionString to a string literal, instead of safariVersion.

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

4 years agoImplement action menus for text
bdakin@apple.com [Thu, 30 Oct 2014 19:38:27 +0000 (19:38 +0000)]
Implement action menus for text
https://bugs.webkit.org/show_bug.cgi?id=138220
-and corresponding-
rdar://problem/18742297

Reviewed by Tim Horton.

Two new types of actions for the two text actions.
* Shared/API/c/WKActionMenuItemTypes.h:

One new type of menu.
* Shared/API/c/WKActionMenuTypes.h:

Pass willOpenMenu on to the WKActionMenuController.
* UIProcess/API/mac/WKView.mm:
(-[WKView willOpenMenu:withEvent:]):

Two new WebPageProxy functions that will pass messages along to the web process.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::selectLookupTextAtLocation):
* UIProcess/WebPageProxy.h:

At willOpenMenu time, text menus should select text so that it is clear what the
menu actions will apply to.
* UIProcess/mac/WKActionMenuController.h:
* UIProcess/mac/WKActionMenuController.mm:

Menu items for text menus.
(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController _defaultMenuItemsForText]):
(-[WKActionMenuController _copyText:]):
(-[WKActionMenuController _lookupText:]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
(imageForResource:name::if):

New messages to the web process.
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::performDictionaryLookupOfCurrentSelection):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Re-factor performDictionaryLookupAtLocation() to re-use the code that finds the
Range for the dictionary lookup. That code now lives in
rangeForDictionaryLookupAtHitTestResult() and can be used by
performDictionaryLookupAtLocation() and our new function
selectLookupTextAtLocation().
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::rangeForDictionaryLookupAtHitTestResult):
(WebKit::WebPage::performDictionaryLookupAtLocation):

Since the action menu text is always selected, when the lookup action is chosen,
we can just lookup the current selection.
(WebKit::WebPage::performDictionaryLookupOfCurrentSelection):

Uses the new function rangeForDictionaryLookupAtHitTestResult() to get a lookup
range and then select it.
(WebKit::WebPage::selectLookupTextAtLocation):

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

4 years agoAdd diagnostic logging to track page loads.
eric.carlson@apple.com [Thu, 30 Oct 2014 19:04:29 +0000 (19:04 +0000)]
Add diagnostic logging to track page loads.
https://bugs.webkit.org/show_bug.cgi?id=138205
<rdar://problem/18173017>

Reviewed by Jer Noble.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Log page load success or failure.

* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::pageLoadedKey): New.
* page/DiagnosticLoggingKeys.h:

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

4 years agoWhen a client certificate is rejected, Safari says the website didn’t accept the...
mitz@apple.com [Thu, 30 Oct 2014 18:48:43 +0000 (18:48 +0000)]
When a client certificate is rejected, Safari says the website didn’t accept the certificate “unknown” instead of naming the certificate
https://bugs.webkit.org/show_bug.cgi?id=138216

Reviewed by Alexey Proskuryakov.

* Shared/cf/ArgumentCodersCF.cpp:
(IPC::typeFromCFTypeRef): Remove no-longer-necessary platform guards around SecIdentityRef.
(IPC::encode): Ditto.
(IPC::decode): Ditto.
* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<ResourceError>::encodePlatformData): If NSErrorClientCertificateChainKey
is present in the error’s userInfo dictionary, assert that it’s an array of identities and
certificates, and include it in the filtered dictionary.

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

4 years agoUnreviewed gardening; rebaseline two media/ tests.
jer.noble@apple.com [Thu, 30 Oct 2014 17:39:52 +0000 (17:39 +0000)]
Unreviewed gardening; rebaseline two media/ tests.

* platform/mac-mavericks/media/controls-after-reload-expected.txt: Added.
* platform/mac-mavericks/media/controls-styling-expected.txt:
* platform/mac-mountainlion/media/controls-after-reload-expected.txt: Added.
* platform/mac-mountainlion/media/controls-styling-expected.txt: Copied from LayoutTests/platform/mac-mavericks/media/controls-styling-expected.txt.
* platform/mac-wk1/media/controls-styling-expected.txt: Copied from LayoutTests/platform/mac-mavericks/media/controls-styling-expected.txt.

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

4 years agoUnreviewed assertion fix.
akling@apple.com [Thu, 30 Oct 2014 16:01:53 +0000 (16:01 +0000)]
Unreviewed assertion fix.

RegExpCachedResult::m_reified is now the dedicated member that knows whether
the result was reified into an array or not. Check that instead of m_result
which is now single-purpose.

* runtime/RegExpCachedResult.cpp:
(JSC::RegExpCachedResult::setInput):

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

4 years ago[GTK] Minibrowser : Add window fullscreen support for Minibrowser
commit-queue@webkit.org [Thu, 30 Oct 2014 13:45:09 +0000 (13:45 +0000)]
[GTK] Minibrowser : Add window fullscreen support for Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=137775

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-10-30
Reviewed by Carlos Garcia Campos.

* MiniBrowser/gtk/BrowserWindow.c:
(toggleFullScreen): Callback to toggle window fullscreen on pressing F11 key.
(browser_window_init):

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

4 years ago[GStreamer] Video resolution changes trigger a crash in the TextureMapper
philn@webkit.org [Thu, 30 Oct 2014 08:53:39 +0000 (08:53 +0000)]
[GStreamer] Video resolution changes trigger a crash in the TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=137065

Reviewed by Gustavo Noronha Silva.

Switch to GstSample for buffer+caps communication between the
video sink and the player. Using a single object type for this
avoid issues where the caps might not correctly describe the
buffer contents anymore, for example when the video resolution is
changed.

* platform/graphics/gstreamer/ImageGStreamer.h: Use GstSample
instead of GstBuffer+GstCaps.
(WebCore::ImageGStreamer::createImage):
* platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.
(ImageGStreamer::ImageGStreamer):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::mediaPlayerPrivateRepaintCallback): The repaint signal
now uses a GstSample instead of a GstBuffer.
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
Store the current sample instead of a buffer. Also renamed the
mutex protecting access to the sample.
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): Ditto.
(WebCore::MediaPlayerPrivateGStreamerBase::naturalSize): Return
early if no sample is available. The caps used to get the video
size are store in the sample.
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Use
GstSample instead of GstBuffer.
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): Ditto.
(WebCore::MediaPlayerPrivateGStreamerBase::paint): Ditto.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Now store a
GstSample internally. Also removed the now useless current-caps property.
(_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate): Renamed the
mutex protecting access to the sample.
(_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Ditto.
(webkit_video_sink_init): Disable last-sample in basesink since we
already store one in our sink anyway.
(webkitVideoSinkTimeoutCallback): Switch to GstSample.
(webkitVideoSinkRender): Ditto.
(unlockSampleMutex): Ditto.
(webkitVideoSinkUnlock): Ditto.
(webkitVideoSinkUnlockStop): Ditto.
(webkitVideoSinkStop): Ditto!
(webkitVideoSinkStart): Ditto.
(webkit_video_sink_class_init): Drop current-caps property.
(webkitVideoSinkGetProperty): Deleted.
(unlockBufferMutex): Deleted.

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

4 years agoFormDataBuilder should not use Document
carlosgc@webkit.org [Thu, 30 Oct 2014 08:02:20 +0000 (08:02 +0000)]
FormDataBuilder should not use Document
https://bugs.webkit.org/show_bug.cgi?id=138172

Reviewed by Alexey Proskuryakov.

It's only used by encodingFromAcceptCharset() to fallback to
document input encoding. That method is only used by
FormSubmission::create(), so it could be moved as a static
function to FormSubmission.cpp.

* loader/FormSubmission.cpp:
(WebCore::encodingFromAcceptCharset):
(WebCore::FormSubmission::create):
* platform/network/FormDataBuilder.cpp:
(WebCore::FormDataBuilder::encodingFromAcceptCharset): Deleted.
* platform/network/FormDataBuilder.h:

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

4 years agoCommitQueue and EWS should reject any patches that result in consistent test
commit-queue@webkit.org [Thu, 30 Oct 2014 05:02:33 +0000 (05:02 +0000)]
CommitQueue and EWS should reject any patches that result in consistent test
failures that aren't present on the tree.
https://bugs.webkit.org/show_bug.cgi?id=138184

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-29
Reviewed by Alexey Proskuryakov.

* Scripts/webkitpy/layout_tests/models/test_results.py:
Adds a simple hashing function to allow for set operations to handle
TestResult objects properly.
(TestResult.__hash__):
* Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
Adds one unit test, and modifies others to agree with the notion that
patches that introduce new test failures (but also have flakyness)
should be rejected rather than spin.
(MockCommitQueue.report_flaky_tests):
(CommitQueueTaskTest._run_and_expect_patch_analysis_result):
(test_double_flaky_test_failure):
(test_two_flaky_tests):
(test_very_flaky_patch):
(test_very_flaky_patch_with_some_tree_redness):
(test_different_test_failures):
(test_different_test_failures_with_some_tree_redness):
(test_different_test_failures_with_some_tree_redness_and_some_fixes):
(test_mildly_flaky_patch):
(test_mildly_flaky_patch_with_some_tree_redness):
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
Makes PatchAnalysisTask reject said patches.
(PatchAnalysisTask._test_patch):

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

4 years agoWinCairoRequirements.zip cannot be downloaded from dropbox
commit-queue@webkit.org [Thu, 30 Oct 2014 04:53:44 +0000 (04:53 +0000)]
WinCairoRequirements.zip cannot be downloaded from dropbox
https://bugs.webkit.org/show_bug.cgi?id=138113

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

* Scripts/update-webkit-dependency: Removing --sslv3 option from curl

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

4 years agoUse plain JSArray for RegExp matches instead of a lazily populated custom object.
akling@apple.com [Thu, 30 Oct 2014 03:54:23 +0000 (03:54 +0000)]
Use plain JSArray for RegExp matches instead of a lazily populated custom object.
<https://webkit.org/b/138191>

Reviewed by Geoffrey Garen.

We're already offering two RegExp matching APIs, one that collects subpattern
matches (exec), and one that simply tests for a match (test).
Given that, it was pretty overkill to lazily populate the resulting array of
matches, since the user could simply use test() if they didn't need them.

This allows the JIT to generate better code for RegExp match arrays, and also
enables some fast paths in the JSC runtime that check if an object isJSArray().

Looks like ~1.5% improvement on Octane/regexp according to run-jsc-benchmarks.

* jit/Repatch.cpp:
(JSC::tryCacheGetByID):
* runtime/JSArray.h:
(JSC::createArrayButterflyWithExactLength): Deleted.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/RegExpCachedResult.cpp:
(JSC::RegExpCachedResult::visitChildren):
(JSC::RegExpCachedResult::lastResult):
(JSC::RegExpCachedResult::leftContext):
(JSC::RegExpCachedResult::rightContext):
* runtime/RegExpCachedResult.h:
(JSC::RegExpCachedResult::RegExpCachedResult):
(JSC::RegExpCachedResult::record):
(JSC::RegExpCachedResult::input):
* runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::getBackref):
(JSC::RegExpConstructor::getLastParen):
(JSC::RegExpConstructor::getLeftContext):
(JSC::RegExpConstructor::getRightContext):
* runtime/RegExpMatchesArray.cpp:
(JSC::createRegExpMatchesArray):
(JSC::RegExpMatchesArray::RegExpMatchesArray): Deleted.
(JSC::RegExpMatchesArray::create): Deleted.
(JSC::RegExpMatchesArray::finishCreation): Deleted.
(JSC::RegExpMatchesArray::visitChildren): Deleted.
(JSC::RegExpMatchesArray::reifyAllProperties): Deleted.
(JSC::RegExpMatchesArray::reifyMatchProperty): Deleted.
(JSC::RegExpMatchesArray::leftContext): Deleted.
(JSC::RegExpMatchesArray::rightContext): Deleted.
* runtime/RegExpMatchesArray.h:
(JSC::RegExpMatchesArray::createStructure): Deleted.
(JSC::RegExpMatchesArray::reifyAllPropertiesIfNecessary): Deleted.
(JSC::RegExpMatchesArray::reifyMatchPropertyIfNecessary): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertySlot): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertySlotByIndex): Deleted.
(JSC::RegExpMatchesArray::put): Deleted.
(JSC::RegExpMatchesArray::putByIndex): Deleted.
(JSC::RegExpMatchesArray::deleteProperty): Deleted.
(JSC::RegExpMatchesArray::deletePropertyByIndex): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertyNames): Deleted.
(JSC::RegExpMatchesArray::defineOwnProperty): Deleted.
(JSC::isRegExpMatchesArray): Deleted.
* runtime/RegExpObject.cpp:
(JSC::RegExpObject::exec):
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncMatch):

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

4 years agoASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length...
commit-queue@webkit.org [Thu, 30 Oct 2014 03:27:24 +0000 (03:27 +0000)]
ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'.
https://bugs.webkit.org/show_bug.cgi?id=138054.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-29
Reviewed by Zalan Bujtas.

Source/WebCore:

A Length of type 'Calculated' can be generated from blending two lengths of
different types. Setting the wordSpacing of the render style should be handled
correctly when the type of the new value is 'Calculated'.

Tests: css3/calculated-word-spacing.html.

Add a case for setting the render style wordSpacing to a <length> of type 'Calculated'.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setWordSpacing):

LayoutTests:

Ensure the render style's wordSpacing can be set correctly when the type of
the new value is 'Calculated'. The 'Calculated' Length value can result from
blending two Length values of different types. And these two Length values
are defined in two consecutive css animation key frames.

* css3/calculated-word-spacing-expected.txt: Added.
* css3/calculated-word-spacing.html: Added.

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

4 years agoWeb Inspector: Fix Type Dependency Issues
commit-queue@webkit.org [Thu, 30 Oct 2014 02:29:42 +0000 (02:29 +0000)]
Web Inspector: Fix Type Dependency Issues
https://bugs.webkit.org/show_bug.cgi?id=125664

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-10-29
Reviewed by Brian Burg.

Now that all JSON protocol files are processed together again
in r174892, we can remove the duplicated types which were only
needed when the domains were split.

* inspector/protocol/Console.json:
* inspector/protocol/Runtime.json:

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

4 years ago[CoordinatedGraphics] Use modern for-loops
commit-queue@webkit.org [Thu, 30 Oct 2014 01:18:32 +0000 (01:18 +0000)]
[CoordinatedGraphics] Use modern for-loops
https://bugs.webkit.org/show_bug.cgi?id=138168

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-10-29
Reviewed by Andreas Kling.

No new tests as there is no change in functionality.

Source/WebCore:

* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: Use a modern for loop.
(WebCore::CompositingCoordinator::renderNextFrame):
(WebCore::CompositingCoordinator::paintToSurface):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: Use a modern for loop.
(WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):
(WebCore::CoordinatedGraphicsLayer::findFirstDescendantWithContentsRecursively):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffersIncludingSubLayers):
* platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: Use a modern for loop.
(WebCore::CoordinatedImageBacking::updateVisibilityIfNeeded):

Source/WebKit2:

* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: Use a modern for loop.
(WebCore::CoordinatedBackingStore::texture):
(WebCore::CoordinatedBackingStore::paintTilesToTextureMapper):
* UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: Use a modern for loop.
(WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate):
* UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: Use a modern for loop.
(WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
(WebCore::CoordinatedGraphicsScene::createLayers): changed the name of argument to be equal with deleteLayer().
(WebCore::CoordinatedGraphicsScene::deleteLayers):
(WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::syncUpdateAtlases):
(WebCore::CoordinatedGraphicsScene::syncImageBackings):
(WebCore::CoordinatedGraphicsScene::commitSceneState):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: Use a modern for loop.
(WebKit::shouldPaintBoundsRect):
(WebKit::CoordinatedDrawingArea::display):

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

4 years agoUnreviewed, EFL build fix since r175349.
gyuyoung.kim@samsung.com [Thu, 30 Oct 2014 01:06:09 +0000 (01:06 +0000)]
Unreviewed, EFL build fix since r175349.

* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::didRemoveItem): Use PLATFORM(COCOA) for setSnapshot().

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

4 years agoFinal-ize more of TextFieldInputType's virtual functions
cdumez@apple.com [Thu, 30 Oct 2014 00:16:25 +0000 (00:16 +0000)]
Final-ize more of TextFieldInputType's virtual functions
https://bugs.webkit.org/show_bug.cgi?id=138194

Reviewed by Andreas Kling.

Final-ize more of TextFieldInputType's virtual functions for
performance.

No new tests, no behavior change.

* html/TextFieldInputType.h:

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

4 years agobisect-builds should filter out nightlies that predate the introduction of an OS...
matthew_hanson@apple.com [Thu, 30 Oct 2014 00:13:14 +0000 (00:13 +0000)]
bisect-builds should filter out nightlies that predate the introduction of an OS X operating system
https://bugs.webkit.org/show_bug.cgi?id=138193

This patch restricts the set of nightles to bisect to only those nightlies that ship with frameworks
for the target OS (only support for OS X Yosemite, Mavericks and Mountain Lion was added.)

It also does a bit of refactoring, including distinguishing between versions and version strings and
saving versions to local variables instead of using eval in each conditional.

Reviewed by David Kilzer.

* Scripts/bisect-builds:
(makeNightlyList):
Restrict the set of nightlies to r174650 and above when running Yosemite.
Restrict the set of nightlies to r157846 and above when running Mavericks.
Restrict the set of nightlies to r122421 and above when running Mountain Lion.

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

4 years agoSkip compositing/regions/propagate-region-box-shadow-border-padding-for-video.html...
simon.fraser@apple.com [Wed, 29 Oct 2014 23:33:38 +0000 (23:33 +0000)]
Skip compositing/regions/propagate-region-box-shadow-border-padding-for-video.html which
asserts in Debug.

* platform/mac/TestExpectations:

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

4 years agoClean up virtual functions in inspector/
cdumez@apple.com [Wed, 29 Oct 2014 23:28:55 +0000 (23:28 +0000)]
Clean up virtual functions in inspector/
https://bugs.webkit.org/show_bug.cgi?id=138190

Reviewed by Andreas Kling.

Clean up virtual functions in inspector/ by:
- Making virtual functions final when possible
- Making classes final when possible
- Explicitly marking functions / destructors as virtual when they are
  inherently virtual
- Making isXXX() virtual functions private on XXX classes to avoid
  unnecessary type checks

No new tests, no behavior change.

* inspector/InspectorApplicationCacheAgent.h:
(WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent): Deleted.
* inspector/InspectorCSSAgent.h:
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorFrontendClientLocal.h:
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorPageAgent.h:
* inspector/InspectorReplayAgent.h:
* inspector/InspectorResourceAgent.h:
* inspector/InspectorStyleSheet.h:
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.h:
* inspector/PageConsoleAgent.h:
* inspector/WorkerInspectorController.h:

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

4 years agoNull deref under performActionMenuHitTestAtLocation
timothy_horton@apple.com [Wed, 29 Oct 2014 23:13:15 +0000 (23:13 +0000)]
Null deref under performActionMenuHitTestAtLocation
https://bugs.webkit.org/show_bug.cgi?id=138197
<rdar://problem/18817803>

Reviewed by Beth Dakin.

* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::scanForDataDetectedItems):
Null-check the expanded range.

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

4 years agoGeneralize dirtying of parent's line boxes when taking a renderer out of tree.
akling@apple.com [Wed, 29 Oct 2014 23:02:10 +0000 (23:02 +0000)]
Generalize dirtying of parent's line boxes when taking a renderer out of tree.
<https://webkit.org/b/138152>

Reviewed by Antti Koivisto.

Instead of calling dirtyLinesFromChangedChild() when certain types of renderers
are about to be destroyed, always do this in RenderElement::willBeRemovedFromTree().

This is part of an effort to make render tree teardown less incomprehensible.

We still don't bother at all if we're in the process of tearing down the entire
render tree, since that would be a waste of time.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::willBeDestroyed):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::willBeDestroyed):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::willBeRemovedFromTree):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::willBeDestroyed):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::willBeDestroyed): Deleted.
* rendering/RenderReplaced.h:

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

4 years agoImplement WKPageSetMuted(bool).
adachan@apple.com [Wed, 29 Oct 2014 22:59:15 +0000 (22:59 +0000)]
Implement WKPageSetMuted(bool).
https://bugs.webkit.org/show_bug.cgi?id=138158

Reviewed by Anders Carlsson.

Source/WebCore:

* WebCore.exp.in:
* page/Page.h:

Source/WebKit2:

* UIProcess/API/C/WKPage.cpp:
(WKPageSetMuted):
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setMuted):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setMuted):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

4 years agoClear ViewSnapshots when back/forward list items are removed from their list
andersca@apple.com [Wed, 29 Oct 2014 22:34:14 +0000 (22:34 +0000)]
Clear ViewSnapshots when back/forward list items are removed from their list
https://bugs.webkit.org/show_bug.cgi?id=138188
<rdar://problem/18817001>

Reviewed by Tim Horton.

Ideally we should remove the WebBackForwardListItem objects as well, but this is a somewhat safer fix.

Change all the "remove item" codepaths to call WebBackForwardList::didRemoveItem and have it clear out the snapshot.

* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::pageClosed):
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::removeAllItems):
(WebKit::WebBackForwardList::clear):
(WebKit::WebBackForwardList::didRemoveItem):
* UIProcess/WebBackForwardList.h:

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

4 years agoNotify Settings object when its Page object goes away.
antti@apple.com [Wed, 29 Oct 2014 22:01:21 +0000 (22:01 +0000)]
Notify Settings object when its Page object goes away.
https://bugs.webkit.org/show_bug.cgi?id=138183
rdar://problem/18786900

Patch by Alexey Proskuryakov <ap@apple.com> on 2014-10-29
Reviewed by Andreas Kling.

I could not make a test for this issue.

* page/Page.cpp:
(WebCore::Page::~Page):
* page/Settings.cpp:
(WebCore::setImageLoadingSettings):
(WebCore::Settings::Settings):
(WebCore::Settings::setTextAutosizingEnabled):
(WebCore::Settings::setTextAutosizingWindowSizeOverride):
(WebCore::Settings::setTextAutosizingFontScaleFactor):
(WebCore::Settings::setMediaTypeOverride):
(WebCore::Settings::setScriptEnabled):
(WebCore::Settings::setUserStyleSheetLocation):
(WebCore::Settings::setMinDOMTimerInterval):
(WebCore::Settings::minDOMTimerInterval):
(WebCore::Settings::domTimerAlignmentInterval):
(WebCore::Settings::setUsesPageCache):
(WebCore::Settings::setScreenFontSubstitutionEnabled):
(WebCore::Settings::setFontRenderingMode):
(WebCore::Settings::setDNSPrefetchingEnabled):
(WebCore::Settings::setStorageBlockingPolicy):
(WebCore::Settings::setBackgroundShouldExtendBeyondPage):
(WebCore::Settings::setScrollingPerformanceLoggingEnabled):
(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
(WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled):
(WebCore::Settings::setFontFallbackPrefersPictographs):
* page/Settings.h:
(WebCore::Settings::pageDestroyed):

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

4 years agoNotify Settings object when its Page object goes away.
ap@apple.com [Wed, 29 Oct 2014 21:59:48 +0000 (21:59 +0000)]
Notify Settings object when its Page object goes away.
https://bugs.webkit.org/show_bug.cgi?id=138183
rdar://problem/18786900

Reviewed by Andreas Kling.

I could not make a test for this issue.

* page/Page.cpp:
(WebCore::Page::~Page):
* page/Settings.cpp:
(WebCore::setImageLoadingSettings):
(WebCore::Settings::Settings):
(WebCore::Settings::setTextAutosizingEnabled):
(WebCore::Settings::setTextAutosizingWindowSizeOverride):
(WebCore::Settings::setTextAutosizingFontScaleFactor):
(WebCore::Settings::setMediaTypeOverride):
(WebCore::Settings::setScriptEnabled):
(WebCore::Settings::setUserStyleSheetLocation):
(WebCore::Settings::setMinDOMTimerInterval):
(WebCore::Settings::minDOMTimerInterval):
(WebCore::Settings::domTimerAlignmentInterval):
(WebCore::Settings::setUsesPageCache):
(WebCore::Settings::setScreenFontSubstitutionEnabled):
(WebCore::Settings::setFontRenderingMode):
(WebCore::Settings::setDNSPrefetchingEnabled):
(WebCore::Settings::setStorageBlockingPolicy):
(WebCore::Settings::setBackgroundShouldExtendBeyondPage):
(WebCore::Settings::setScrollingPerformanceLoggingEnabled):
(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
(WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled):
(WebCore::Settings::setFontFallbackPrefersPictographs):
* page/Settings.h:
(WebCore::Settings::pageDestroyed):

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

4 years ago[GTK] Unreviewed GTK gardening.
commit-queue@webkit.org [Wed, 29 Oct 2014 21:32:06 +0000 (21:32 +0000)]
[GTK] Unreviewed GTK gardening.

Rebaseline after 175259.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-10-29

* platform/gtk/css1/basic/containment-expected.txt:
* platform/gtk/css1/basic/contextual_selectors-expected.txt:
* platform/gtk/css1/basic/grouping-expected.txt:
* platform/gtk/css1/basic/id_as_selector-expected.txt:
* platform/gtk/css1/basic/inheritance-expected.txt:
* platform/gtk/css1/box_properties/border-expected.txt:
* platform/gtk/css1/box_properties/border_bottom_inline-expected.txt:
* platform/gtk/css1/box_properties/border_bottom_width-expected.txt:
* platform/gtk/css1/box_properties/border_bottom_width_inline-expected.txt:
* platform/gtk/css1/box_properties/border_color-expected.txt:
* platform/gtk/css1/box_properties/border_color_inline-expected.txt:
* platform/gtk/css1/box_properties/border_inline-expected.txt:
* platform/gtk/css1/box_properties/border_left-expected.txt:
* platform/gtk/css1/box_properties/border_left_inline-expected.txt:
* platform/gtk/css1/box_properties/border_left_width-expected.txt:
* platform/gtk/css1/box_properties/border_left_width_inline-expected.txt:
* platform/gtk/css1/box_properties/border_right-expected.txt:
* platform/gtk/css1/box_properties/border_right_inline-expected.txt:
* platform/gtk/css1/box_properties/border_right_width-expected.txt:
* platform/gtk/css1/box_properties/border_right_width_inline-expected.txt:
* platform/gtk/css1/box_properties/border_style-expected.txt:
* platform/gtk/css1/box_properties/border_style_inline-expected.txt:
* platform/gtk/css1/box_properties/border_top_inline-expected.txt:
* platform/gtk/css1/box_properties/border_top_width-expected.txt:
* platform/gtk/css1/box_properties/border_top_width_inline-expected.txt:
* platform/gtk/css1/box_properties/border_width-expected.txt:
* platform/gtk/css1/box_properties/border_width_inline-expected.txt:
* platform/gtk/css1/box_properties/clear-expected.txt:
* platform/gtk/css1/box_properties/clear_float-expected.txt:
* platform/gtk/css1/box_properties/float-expected.txt:
* platform/gtk/css1/box_properties/float_elements_in_series-expected.txt:
* platform/gtk/css1/box_properties/float_margin-expected.txt:
* platform/gtk/css1/box_properties/height-expected.txt:
* platform/gtk/css1/box_properties/margin-expected.txt:
* platform/gtk/css1/box_properties/margin_bottom-expected.txt:
* platform/gtk/css1/box_properties/margin_bottom_inline-expected.txt:
* platform/gtk/css1/box_properties/margin_inline-expected.txt:
* platform/gtk/css1/box_properties/margin_left-expected.txt:
* platform/gtk/css1/box_properties/margin_left_inline-expected.txt:
* platform/gtk/css1/box_properties/margin_right-expected.txt:
* platform/gtk/css1/box_properties/margin_right_inline-expected.txt:
* platform/gtk/css1/box_properties/margin_top-expected.txt:
* platform/gtk/css1/box_properties/margin_top_inline-expected.txt:
* platform/gtk/css1/box_properties/padding-expected.txt:
* platform/gtk/css1/box_properties/padding_bottom-expected.txt:
* platform/gtk/css1/box_properties/padding_bottom_inline-expected.txt:
* platform/gtk/css1/box_properties/padding_inline-expected.txt:
* platform/gtk/css1/box_properties/padding_left-expected.txt:
* platform/gtk/css1/box_properties/padding_left_inline-expected.txt:
* platform/gtk/css1/box_properties/padding_right-expected.txt:
* platform/gtk/css1/box_properties/padding_right_inline-expected.txt:
* platform/gtk/css1/box_properties/padding_top-expected.txt:
* platform/gtk/css1/box_properties/padding_top_inline-expected.txt:
* platform/gtk/css1/box_properties/width-expected.txt:
* platform/gtk/css1/cascade/cascade_order-expected.txt:
* platform/gtk/css1/cascade/important-expected.txt:
* platform/gtk/css1/classification/display-expected.txt:
* platform/gtk/css1/classification/list_style-expected.txt:
* platform/gtk/css1/classification/list_style_image-expected.txt:
* platform/gtk/css1/classification/list_style_position-expected.txt:
* platform/gtk/css1/classification/list_style_type-expected.txt:
* platform/gtk/css1/classification/white_space-expected.txt:
* platform/gtk/css1/color_and_background/background-expected.txt:
* platform/gtk/css1/color_and_background/background_attachment-expected.txt:
* platform/gtk/css1/color_and_background/background_color-expected.txt:
* platform/gtk/css1/color_and_background/background_image-expected.txt:
* platform/gtk/css1/color_and_background/background_position-expected.txt:
* platform/gtk/css1/color_and_background/background_repeat-expected.txt:
* platform/gtk/css1/color_and_background/color-expected.txt:
* platform/gtk/css1/conformance/forward_compatible_parsing-expected.txt:
* platform/gtk/css1/font_properties/font-expected.txt:
* platform/gtk/css1/font_properties/font_family-expected.txt:
* platform/gtk/css1/font_properties/font_size-expected.txt:
* platform/gtk/css1/font_properties/font_style-expected.txt:
* platform/gtk/css1/font_properties/font_variant-expected.txt:
* platform/gtk/css1/font_properties/font_weight-expected.txt:
* platform/gtk/css1/formatting_model/canvas-expected.txt:
* platform/gtk/css1/formatting_model/floating_elements-expected.txt:
* platform/gtk/css1/formatting_model/height_of_lines-expected.txt:
* platform/gtk/css1/formatting_model/replaced_elements-expected.txt:
* platform/gtk/css1/formatting_model/vertical_formatting-expected.txt:
* platform/gtk/css1/pseudo/anchor-expected.txt:
* platform/gtk/css1/pseudo/firstletter-expected.txt:
* platform/gtk/css1/pseudo/firstline-expected.txt:
* platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
* platform/gtk/css1/text_properties/letter_spacing-expected.txt:
* platform/gtk/css1/text_properties/line_height-expected.txt:
* platform/gtk/css1/text_properties/text_align-expected.txt:
* platform/gtk/css1/text_properties/text_decoration-expected.txt:
* platform/gtk/css1/text_properties/text_indent-expected.txt:
* platform/gtk/css1/text_properties/text_transform-expected.txt:
* platform/gtk/css1/text_properties/vertical_align-expected.txt:
* platform/gtk/css1/text_properties/word_spacing-expected.txt:
* platform/gtk/css1/units/color_units-expected.txt:
* platform/gtk/css1/units/length_units-expected.txt:
* platform/gtk/css1/units/percentage_units-expected.txt:
* platform/gtk/css1/units/urls-expected.txt:
* platform/gtk/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
* platform/gtk/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
* platform/gtk/fast/css/empty-pseudo-class-expected.txt:
* platform/gtk/fast/css/first-child-pseudo-class-expected.txt:
* platform/gtk/fast/css/last-child-pseudo-class-expected.txt:
* platform/gtk/fast/css/only-child-pseudo-class-expected.txt:
* platform/gtk/fast/forms/targeted-frame-submission-expected.txt:
* platform/gtk/fast/frames/onlyCommentInIFrame-expected.txt:
* platform/gtk/fast/html/listing-expected.txt:
* platform/gtk/fast/invalid/junk-data-expected.txt:
* platform/gtk/fast/invalid/missing-end-tag-expected.txt:
* platform/gtk/fast/loader/text-document-wrapping-expected.txt:
* platform/gtk/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
* platform/gtk/fast/parser/xhtml-alternate-entities-expected.txt:
* platform/gtk/fast/table/border-collapsing/004-expected.txt:
* platform/gtk/fast/text/whitespace/001-expected.txt: Added.
* platform/gtk/fast/text/whitespace/013-expected.txt:
* platform/gtk/fast/text/whitespace/014-expected.txt:
* platform/gtk/fast/text/whitespace/022-expected.txt: Added.
* platform/gtk/fast/text/whitespace/024-expected.txt:
* platform/gtk/fast/text/whitespace/030-expected.txt:
* platform/gtk/fast/xsl/xslt-extra-content-at-end-expected.txt:
* platform/gtk/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
* platform/gtk/svg/custom/junk-data-expected.txt:
* platform/gtk/svg/custom/missing-xlink-expected.txt:
* platform/gtk/svg/custom/use-font-face-crash-expected.txt:
* platform/gtk/svg/hixie/error/012-expected.txt:
* platform/gtk/tables/mozilla/bugs/45621-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug139524-2-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:

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

4 years agoRemove invalid float from RootInlineBox.
zalan@apple.com [Wed, 29 Oct 2014 21:13:12 +0000 (21:13 +0000)]
Remove invalid float from RootInlineBox.
https://bugs.webkit.org/show_bug.cgi?id=137707

Reviewed by Antti Koivisto.

In certain cases, floating boxes get attached to the last (root) inline box.
When this particular floating box gets destroyed, it also needs to be detached
from the last inline box.
Source/WebCore:

1. Introduce RootInlineBox::removeFloat() (vs. RootInlineBox::appendFloat())
2. Ensure that it is called when the floating box is being destroyed.

Test: fast/inline/crash-when-inline-box-has-invalid-float.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout): During style recalc, while
tearing down the render tree, we can get to a state where a block element has both inline and block children.
It happens when the style change on an element makes sibling anonymous block wrappers detached.
In that case the markAllDescendantsWithFloatsForLayout() call does not get propagated down on the
block child elements as we return early at the childrenInline() check.
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::removeFloat):

LayoutTests:

* fast/inline/crash-when-inline-box-has-invalid-float-expected.txt: Added.
* fast/inline/crash-when-inline-box-has-invalid-float.html: Added.

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

4 years ago[GTK] Bump libsoup's minimum version to 2.42.0.
rakuco@webkit.org [Wed, 29 Oct 2014 21:04:28 +0000 (21:04 +0000)]
[GTK] Bump libsoup's minimum version to 2.42.0.
https://bugs.webkit.org/show_bug.cgi?id=138086

Reviewed by Martin Robinson.

The SOUP_CHECK_VERSION macro was added in libsoup 2.41.1, and the
soup-version.h header was added to soup.h in 2.41.4, which then becomes
the minimum version required to build the port these days.

In addition, since the autotools build system required 2.42.0 before
being retired, require the same version here. Version 2.42.0 was also
recommended in
https://lists.webkit.org/pipermail/webkit-gtk/2013-March/001387.html.

* Source/cmake/OptionsGTK.cmake:

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

4 years agoUnreviewed, rolling out r175342.
antti@apple.com [Wed, 29 Oct 2014 21:00:15 +0000 (21:00 +0000)]
Unreviewed, rolling out r175342.

a file ended up in a wrong directory

Reverted changeset:

"Factor cache validity computation functions out of
CachedResource"
https://bugs.webkit.org/show_bug.cgi?id=138156
http://trac.webkit.org/changeset/175342

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

4 years agoFactor cache validity computation functions out of CachedResource
antti@apple.com [Wed, 29 Oct 2014 20:54:45 +0000 (20:54 +0000)]
Factor cache validity computation functions out of CachedResource
https://bugs.webkit.org/show_bug.cgi?id=138156

Reviewed by Andreas Kling.

These can be used to implement cache logic on WebKit level.

* CMakeLists.txt:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/CacheValidation.cpp: Added.
(WebCore::computeCurrentAge):
(WebCore::computeFreshnessLifetimeForHTTPFamily):
(WebCore::updateRedirectChainStatus):
(WebCore::redirectChainAllowsReuse):
* loader/CacheValidation.h: Added.
(WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus):
* loader/cache/CachedResource.cpp:
(WebCore::updateResponseHeadersAfterRevalidation):
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::isExpired):
(WebCore::CachedResource::freshnessLifetime):
(WebCore::CachedResource::willSendRequest):
(WebCore::CachedResource::updateResponseAfterRevalidation):
(WebCore::CachedResource::redirectChainAllowsReuse):
(WebCore::currentAge): Deleted.
* loader/cache/CachedResource.h:

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

4 years agoHide the 'Add to Photos' item if it isn't available
timothy_horton@apple.com [Wed, 29 Oct 2014 20:24:13 +0000 (20:24 +0000)]
Hide the 'Add to Photos' item if it isn't available
https://bugs.webkit.org/show_bug.cgi?id=138182
<rdar://problem/18814999>

Reviewed by Beth Dakin.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForImage]):
(-[WKActionMenuController _canAddImageToPhotos]):
(-[WKActionMenuController _addImageToPhotos:]):
Factor _canAddImageToPhotos out of _addImageToPhotos:, and use it in
_defaultMenuItemsForImage to avoid including the menu item in the first place.

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

4 years agoRename WebPageProxy::activeActionMenuHitTestResult to lastMouseMoveHitTestResult
timothy_horton@apple.com [Wed, 29 Oct 2014 19:08:14 +0000 (19:08 +0000)]
Rename WebPageProxy::activeActionMenuHitTestResult to lastMouseMoveHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=138137
<rdar://problem/18798257>

Reviewed by Anders Carlsson.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::mouseDidMoveOverElement):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::lastMouseMoveHitTestResult):
(WebKit::WebPageProxy::activeActionMenuHitTestResult): Deleted.
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForLink]):
(-[WKActionMenuController _openURLFromActionMenu:]):
(-[WKActionMenuController _addToReadingListFromActionMenu:]):
(-[WKActionMenuController _quickLookURLFromActionMenu:]):
(-[WKActionMenuController _saveImageToDownloads:]):
(imageForResource:name::if):
(-[WKActionMenuController _updateActionMenuItems]):
Rename to the more accurate and general name.

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

4 years agoAdd API to mute/unmute a page.
adachan@apple.com [Wed, 29 Oct 2014 18:56:42 +0000 (18:56 +0000)]
Add API to mute/unmute a page.
https://bugs.webkit.org/show_bug.cgi?id=138150

Reviewed by Eric Carlson.

No new tests, since it's difficult to test whether the Page has indeed been muted.

* dom/Document.cpp:
(WebCore::Document::setMuted):
Go through each AudioProducer and call setMuted() on it.
* dom/Document.h:
* page/AudioProducer.h:
Add setMuted(bool). HTMLMediaElement, the only derived class of AudioProducer so far,
has already implemented setMuted().
* page/Page.cpp:
(WebCore::Page::setMuted):
Go through all its frames and call setMuted() on each frame's Document.
* page/Page.h:

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

4 years agoImplement action menus for data detected items
timothy_horton@apple.com [Wed, 29 Oct 2014 18:48:23 +0000 (18:48 +0000)]
Implement action menus for data detected items
https://bugs.webkit.org/show_bug.cgi?id=138178
<rdar://problem/18709436>

Reviewed by Anders Carlsson.

* WebCore.exp.in:
Export a symbol from Position that we need.

* WebCore.xcodeproj/project.pbxproj:
* platform/spi/mac/DataDetectorsSPI.h:
Add a combined SPI header for all of the random bits of DataDetectors that we use.

* Shared/API/c/WKActionMenuTypes.h:
Add a new type.

* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::Data):
(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):
* Shared/WebHitTestResult.h:
(WebKit::WebHitTestResult::isTextNode):
Determine, store, encode, and decode whether or not the hit node is a text node.

* Shared/mac/ActionMenuHitTestResult.h:
* Shared/mac/ActionMenuHitTestResult.mm: Renamed from Source/WebKit2/Shared/mac/ActionMenuHitTestResult.cpp.
(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
Make ActionMenuHitTestResult an Obj-C++ file.
Store, encode, and decode (securely!) a DDActionContext and FloatRect
representing the bounding box of the data detected item, if any.

* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:context:configuration:webView:]):
(-[WKView willOpenMenu:withEvent:]): Deleted.
Stop using willOpenMenu; we'll use NSMenuDelegate's menuNeedsUpdate: instead.
Hook up WKActionMenuController as our action menu's delegate.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController prepareForMenu:withEvent:]):
Call _updateActionMenuItems *after* we've adjusted _state, so that it
can depend on the value being correct.

(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController didPerformActionMenuHitTest:]):
Move menu updating to menuNeedsUpdate for more accurate timing.

(_updateActionMenuItems):
When building the menu, if we have a text node that is not a link,
and hit a data detected item, retrieve the menu from the DDActionContext.
If we have nothing, make sure to reset _type, and if the final hit-test
is still pending, build a menu with a dummy item.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performActionMenuHitTestAtLocation): Moved to WebPageMac.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::rangeExpandedAroundPosition):
Factor this out of performDictionaryLookupAtLocation.

(WebKit::WebPage::performDictionaryLookupAtLocation):
Make use of rangeExpandedAroundPosition.

(WebKit::scanForDataDetectedItems):
Expand to four lines of context around the hit point.
Convert that range to plain text, and feed it to DataDetectors.
Find the result that intersects the hit point, and make a DDActionContext
for it. Also, store the bounding box of the first quad of the detected
text, to provide to Data Detectors as a hint for UI placement.

(WebKit::WebPage::performActionMenuHitTestAtLocation):
If the hit node is a text node, call scanForDataDetectedItems and
store the resultant DDActionContext and bounding rect on our
ActionMenuHitTestResult for transfer to the UI process.

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceMavericks.a:
* libWebKitSystemInterfaceMountainLion.a:
* libWebKitSystemInterfaceYosemite.a:
Update WebKitSystemInterface.

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

4 years ago[iOS] iPad: Occasional <select> crashes attempting to scroll to non-existing row...
joepeck@webkit.org [Wed, 29 Oct 2014 18:22:21 +0000 (18:22 +0000)]
[iOS] iPad: Occasional <select> crashes attempting to scroll to non-existing row 0 in viewWillAppear
https://bugs.webkit.org/show_bug.cgi?id=138165

Reviewed by David Kilzer.

This is a speculative fix for a crash attempting to scroll to a row in a
select picker on iPad. In these cases we are trying to scroll to the first
row of the first section, but no such row appears to exist. I was unable
to reproduce the issue, but if it is happening we should be able to protect
safely protect against crashing.

* UIProcess/ios/forms/WKFormSelectPopover.mm:
(-[WKSelectTableViewController viewWillAppear:]):
Protect against trying to scroll to a section/row that does not exist
by pre-checking that the section/row is valid.

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

4 years ago[EME] NULL-dereference crash in MediaKeys::setMediaElement().
jer.noble@apple.com [Wed, 29 Oct 2014 17:53:26 +0000 (17:53 +0000)]
[EME] NULL-dereference crash in MediaKeys::setMediaElement().
https://bugs.webkit.org/show_bug.cgi?id=138177

Reviewed by Eric Carlson.

NULL-check m_mediaElement->player() before using. It may have been cleared if the HTMLMediaElement
has previously had stop() called.

* Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::setMediaElement):

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

4 years ago[EME] MediaKeySession resources persist across page reloads
jer.noble@apple.com [Wed, 29 Oct 2014 17:53:24 +0000 (17:53 +0000)]
[EME] MediaKeySession resources persist across page reloads
https://bugs.webkit.org/show_bug.cgi?id=138176

Reviewed by Eric Carlson.

MediaKeySession is an ActiveDOMObject, so when told to stop() by our execution context,
close() the session, releasing all our resources.

* Modules/encryptedmedia/MediaKeySession.h:

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

4 years ago[EME][Mac] MediaKeySession type "keyrelease" is ignored.
jer.noble@apple.com [Wed, 29 Oct 2014 17:53:22 +0000 (17:53 +0000)]
[EME][Mac] MediaKeySession type "keyrelease" is ignored.
https://bugs.webkit.org/show_bug.cgi?id=138175

Reviewed by Eric Carlson.

To indicate that they would like to recevie expired session confirmation messages, clients
will create a MediaKeySession with a type parameter of "keyrelease". The code which validates
this type needs to be updated to recognize "keyrelease" as a valid type.

Also, the code which validates update() requests needs to allow updates containing the string
"acknowledged", so that clients can request the confirmation messages be discarded.

* platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType):
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::update):

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

4 years agoRemove MediaSessionClient::hasMediaCharacteristics() and MediaSessionClient::mediaSta...
adachan@apple.com [Wed, 29 Oct 2014 17:41:10 +0000 (17:41 +0000)]
Remove MediaSessionClient::hasMediaCharacteristics() and MediaSessionClient::mediaStateDidChange().
https://bugs.webkit.org/show_bug.cgi?id=138153

Reviewed by Jer Noble.

After http://trac.webkit.org/changeset/175273, Document no longer keeps a set of MediaSessions
and it doesn't need to query each MediaSession for its characteristics and play state.
MediaSessionClient::hasMediaCharacteristics() is no longer needed and MediaSessionClient::mediaStateDidChange()
can be removed if HTMLMediaElement calls Document::updateIsPlayingAudio() after m_playing has changed.

No new tests, no behavior change.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updatePlayState):
Call setPlaying() rather than setting m_playing directly.
(WebCore::HTMLMediaElement::setPlaying):
Update m_playing. If it has changed, call Document::updateIsPlayingAudio().
(WebCore::HTMLMediaElement::setPausedInternal):
Call setPlaying() rather than setting m_playing directly.
(WebCore::HTMLMediaElement::isPlayingAudio):
Call isPlaying() directly rather than checking the MediaSession's state.
* html/HTMLMediaElement.h:
* platform/audio/MediaSession.cpp:
(WebCore::MediaSession::setState):
MediaSessionClient::mediaStateDidChange() has been removed.
(WebCore::MediaSession::hasMediaCharacteristics): Deleted.
* platform/audio/MediaSession.h:
(WebCore::MediaSessionClient::mediaStateDidChange): Deleted.
* platform/audio/ios/AudioDestinationIOS.h:
* platform/audio/mac/AudioDestinationMac.h:

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

4 years agoUpdate Mavericks results after https://bugs.webkit.org/show_bug.cgi?id=137275
ap@apple.com [Wed, 29 Oct 2014 17:16:00 +0000 (17:16 +0000)]
Update Mavericks results after https://bugs.webkit.org/show_bug.cgi?id=137275
(Speed up line parsing for simple line layout)

* platform/mac-mavericks/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:

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

4 years agoClean up virtual functions in html/
cdumez@apple.com [Wed, 29 Oct 2014 15:09:57 +0000 (15:09 +0000)]
Clean up virtual functions in html/
https://bugs.webkit.org/show_bug.cgi?id=138166

Reviewed by Andreas Kling.

Clean up virtual functions in html/ by:
- Making virtual functions final when possible
- Making classes final when possible
- Using 'override' when appropriate
- Explicitly marking functions / destructors as virtual when they are
  inherently virtual
- Dropping virtual destructors when the class does not have subclasses
  and mark the class as final, to get rid of unnecessary vtables
- Making isXXX() virtual functions private on XXX classes to avoid
  unnecessary type checks
- De-virtualizing some functions that do not need to be virtual
- Dropping final for virtual functions in classes already marked as
  final

No new tests, no behavior change.

* html/ButtonInputType.h:
* html/CheckboxInputType.h:
* html/ColorInputType.h:
* html/DOMSettableTokenList.h:
* html/DateInputType.h:
* html/DateTimeInputType.h:
* html/DateTimeLocalInputType.h:
* html/EmailInputType.h:
* html/FTPDirectoryDocument.h:
* html/HTMLAnchorElement.h:
* html/HTMLDetailsElement.cpp:
* html/HTMLFormControlElement.h:
* html/HTMLFormControlsCollection.h:
* html/HTMLFrameElement.h:
* html/HTMLFrameElementBase.h:
* html/HTMLFrameOwnerElement.h:
* html/HTMLInputElement.h:
* html/HTMLMarqueeElement.h:
* html/HTMLMediaElement.h:
* html/HTMLMediaSession.h:
(WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Deleted.
* html/HTMLMeterElement.h:
* html/HTMLNameCollection.h:
* html/HTMLObjectElement.h:
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.h:
* html/HTMLSpanElement.h:
* html/HTMLStyleElement.h:
* html/HTMLSummaryElement.cpp:
* html/HTMLSummaryElement.h:
* html/HTMLUnknownElement.h:
* html/HTMLVideoElement.h:
* html/HiddenInputType.h:
* html/ImageInputType.h:
* html/MediaKeyEvent.h:
* html/MonthInputType.h:
* html/NumberInputType.h:
* html/PasswordInputType.h:
* html/PublicURLManager.h:
* html/RadioInputType.h:
* html/ResetInputType.h:
* html/SubmitInputType.h:
* html/TelephoneInputType.h:
* html/TextInputType.h:
* html/TimeInputType.h:
* html/URLInputType.h:
* html/WeekInputType.h:
* html/canvas/ANGLEInstancedArrays.h:
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/DOMPath.h:
* html/canvas/EXTShaderTextureLOD.h:
* html/canvas/EXTTextureFilterAnisotropic.h:
* html/canvas/OESElementIndexUint.h:
* html/canvas/OESStandardDerivatives.h:
* html/canvas/OESTextureFloat.h:
* html/canvas/OESTextureFloatLinear.h:
* html/canvas/OESTextureHalfFloat.h:
* html/canvas/OESTextureHalfFloatLinear.h:
* html/canvas/OESVertexArrayObject.h:
* html/canvas/WebGLBuffer.h:
* html/canvas/WebGLCompressedTextureATC.h:
* html/canvas/WebGLCompressedTexturePVRTC.h:
* html/canvas/WebGLCompressedTextureS3TC.h:
* html/canvas/WebGLContextAttributes.h:
* html/canvas/WebGLContextEvent.h:
* html/canvas/WebGLDebugRendererInfo.h:
* html/canvas/WebGLDebugShaders.h:
* html/canvas/WebGLDepthTexture.h:
* html/canvas/WebGLDrawBuffers.h:
* html/canvas/WebGLFramebuffer.h:
(WebCore::WebGLFramebuffer::isFramebuffer): Deleted.
* html/canvas/WebGLLoseContext.h:
* html/canvas/WebGLProgram.h:
* html/canvas/WebGLRenderbuffer.h:
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLShader.h:
* html/canvas/WebGLSharedObject.h:
(WebCore::WebGLSharedObject::isFramebuffer): Deleted.
* html/canvas/WebGLTexture.h:
* html/canvas/WebGLVertexArrayObjectOES.h:
(WebCore::WebGLVertexArrayObjectOES::isVertexArray): Deleted.
* html/shadow/ImageControlsRootElement.h:
* html/shadow/InsertionPoint.h:
* html/shadow/MediaControlElementTypes.h:
* html/shadow/MediaControlElements.h:
* html/shadow/MediaControls.h:
* html/shadow/MediaControlsApple.h:
* html/shadow/SpinButtonElement.h:
* html/track/AudioTrack.h:
* html/track/AudioTrackList.h:
* html/track/DataCue.h:
(WebCore::DataCue::cueType): Deleted.
* html/track/InbandDataTextTrack.h:
* html/track/InbandGenericTextTrack.h:
* html/track/InbandTextTrack.h:
* html/track/InbandWebVTTTextTrack.h:
* html/track/LoadableTextTrack.h:
* html/track/TextTrackList.h:
* html/track/TrackEvent.h:
* html/track/VTTCue.h:
(WebCore::VTTCueBox::setFontSizeFromCaptionUserPrefs):
* html/track/VTTRegion.h:
* html/track/VideoTrack.h:
* html/track/VideoTrackList.h:
* html/track/WebVTTParser.h:
(WebCore::WebVTTCueData::~WebVTTCueData): Deleted.

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

4 years ago[EFL] build-webkit should try harder to avoid re-running cmake
ossy@webkit.org [Wed, 29 Oct 2014 10:45:27 +0000 (10:45 +0000)]
[EFL] build-webkit should try harder to avoid re-running cmake
https://bugs.webkit.org/show_bug.cgi?id=137949

Reviewed by Martin Robinson.

* Scripts/webkitdirs.pm:
(shouldRemoveCMakeCache): Don't remove CMakeCache unconditionally for EFL.
(generateBuildSystemFromCMakeProject): Comment fix after r174681.

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

4 years agoASSERTION FAILED: growthShare > 0 in WebCore::RenderGrid::distributeSpaceToTracks
svillar@igalia.com [Wed, 29 Oct 2014 08:30:39 +0000 (08:30 +0000)]
ASSERTION FAILED: growthShare > 0 in WebCore::RenderGrid::distributeSpaceToTracks
https://bugs.webkit.org/show_bug.cgi?id=137772

Reviewed by Andreas Kling.

Source/WebCore:

We're hitting the ASSERTION because if the number of tracks an
item spans does greatly exceed the available logical space, then
the result of the division availableLogicalSpace/numberOfTracks is
truncated to 0. So the ASSERTION was theoretically right because
the result has to be always >0 (as the dividend > 0) but the fact
that the result is a LayoutUnit forces us to accept 0 as a valid
outcome of the operation.

Test: fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::distributeSpaceToTracks):

LayoutTests:

* fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash-expected.txt: Added.
* fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash.html: Added.

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

4 years agoCrash in CachedRawResource::canReuse() when reloading http://dnd.wizards.com/dungeons...
cdumez@apple.com [Wed, 29 Oct 2014 07:58:59 +0000 (07:58 +0000)]
Crash in CachedRawResource::canReuse() when reloading dnd.wizards.com/dungeons-and-dragons/story
https://bugs.webkit.org/show_bug.cgi?id=138164

Reviewed by Andreas Kling.

Source/WebCore:

This patch fixes a crash when reloading the following URL:
http://dnd.wizards.com/dungeons-and-dragons/story

We were crashing in CachedRawResource::canReuse() because header.key
would sometimes be a null String and we would call
HashMap::get(nullString).

The real issue was that header.key was null in the first place, which
means that even though the HTTPHeaderMap iterator is valid, it->key
is a null String, which should never happen. There was a bug in the
HTTPHeaderMapConstIterator() constructor that would cause the
iterator key/value pair to not get initialized if the HTTPHeaderMap
contained *only* uncommon HTTP headers. This patch updates the
constructor so that we fall back to updating the key/value from the
uncommon header map, if we failed to initialized from the common
header map (because it was empty).

Test: http/tests/cache/xhr-uncommon-header.html

* platform/network/HTTPHeaderMap.h:
(WebCore::HTTPHeaderMap::HTTPHeaderMapConstIterator::HTTPHeaderMapConstIterator):

LayoutTests:

Add a layout test that does XHR loads from cache with only uncommon
HTTP headers to reproduce a crash in CachedRawResource::canReuse()
when iterating over a HTTPHeaderMap that had uncommon HTTP headers
but no common ones.

* http/tests/cache/xhr-uncommon-header-expected.txt: Added.
* http/tests/cache/xhr-uncommon-header.html: Added.

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

4 years agoVersioning.
bshafiei@apple.com [Wed, 29 Oct 2014 06:33:42 +0000 (06:33 +0000)]
Versioning.

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

4 years agoCSS4 Selectors: Add the pseudo class :any-link
benjamin@webkit.org [Wed, 29 Oct 2014 04:21:21 +0000 (04:21 +0000)]
CSS4 Selectors: Add the pseudo class :any-link
https://bugs.webkit.org/show_bug.cgi?id=138128

Reviewed by Andreas Kling.

Source/WebCore:

Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo

After :link and :-webkit-any-link were fixed, :any-link behaves
exactly like :-webkit-any-link. All I had left to do here was
make them synonyms when evaluating selectors.

Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo

After :link and :-webkit-any-link were fixed, :any-link behaves
exactly like :-webkit-any-link. All I had left to do here was
make them synonyms when evaluating selectors.

Tests: fast/selectors/any-link-basics-2.html
       fast/selectors/any-link-basics.html
       fast/selectors/any-link-styling.html

* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
* css/CSSSelector.h:
* css/RuleSet.cpp:
(WebCore::RuleSet::addRule):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::isCommonPseudoClassSelector):
* css/SelectorPseudoClassAndCompatibilityElementMap.in:
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):

LayoutTests:

Story time: I implement only half of the patch and run
fast/selectors/webkit-any-link.html to make sure it fails...
and the test happily PASS.

I look into it and sure enough, a last minute change in
html-link-type-tests.js made it test nothing but :link.

I update html-link-type-tests.js to actually test the desired selector,
run the test again: PASS.

I debug a bit and I find why my code is not tested: html-link-type-tests.js
uses Element.matches() and that does not use the CSS JIT.

Fair enough, I add a querySelectorAll("#target' + selector + '") to run
through the JIT: PASS.

Since that selector is simple-#id + simple selector, we go through a fast
path for ids and skip the JIT. Arrrrg!

Finally, I added querySelectorAll(".target' + selector + '"), which covers
the CSS JIT.

The nice thing is: all those cases are tested now :)

* fast/css/css-selector-text-expected.txt:
* fast/css/css-selector-text.html:
* fast/css/css-set-selector-text-expected.txt:
* fast/css/css-set-selector-text.html:
* fast/selectors/any-link-basics-2-expected.txt: Added.
* fast/selectors/any-link-basics-2.html: Added.
* fast/selectors/any-link-basics-expected.txt: Added.
* fast/selectors/any-link-basics.html: Added.
* fast/selectors/any-link-styling-expected.html: Added.
* fast/selectors/any-link-styling.html: Added.
* fast/selectors/images-with-usemap-should-not-match-link-expected.txt:
* fast/selectors/images-with-usemap-should-not-match-link.html:
* fast/selectors/link-basics-expected.txt:
* fast/selectors/link-basics-xhtml-expected.txt:
* fast/selectors/resources/html-link-type-tests.js:
(testHTMLElement):
(testHTMLTagsForLink):
* fast/selectors/webkit-any-link-basics-expected.txt:

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

4 years agoCast std::chrono::duration.count() to int64_t in ArgumentCoder
commit-queue@webkit.org [Wed, 29 Oct 2014 04:04:19 +0000 (04:04 +0000)]
Cast std::chrono::duration.count() to int64_t in ArgumentCoder
https://bugs.webkit.org/show_bug.cgi?id=136981

Patch by Ting-Wei Lan <lantw44@gmail.com> on 2014-10-28
Reviewed by Alexey Proskuryakov.

Explicitly cast the return value of std::chrono::duration.count() to
a fixed-size interger type, which prevents compilation error when
the return value type matches neither int32_t nor int64_t.

* Platform/IPC/ArgumentCoders.h:

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

4 years agoUnify logic in RunTests.run() to run the Python unit tests
dbates@webkit.org [Wed, 29 Oct 2014 01:28:33 +0000 (01:28 +0000)]
Unify logic in RunTests.run() to run the Python unit tests
https://bugs.webkit.org/show_bug.cgi?id=138160

Reviewed by Martin Robinson.

Unify the interactive and non-interactive code path for running the Python unit tests
in step RunTests so as to remove duplicate code to compute the the path to the script
test-webkitpy and log an informative message ("Running Python unit tests") to the console.

No new tests since no functionality was changed.

* Scripts/webkitpy/port/base.py:
(Port.python_unittest_results_directory):
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):

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

4 years agoMake runtest.py call test-webkitpy with the --json flag when in
commit-queue@webkit.org [Wed, 29 Oct 2014 00:58:13 +0000 (00:58 +0000)]
Make runtest.py call test-webkitpy with the --json flag when in
non-interactive mode.
https://bugs.webkit.org/show_bug.cgi?id=137667

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-28
Reviewed by Daniel Bates.

* Scripts/webkitpy/port/base.py:
Adds the python_unittest_results_directory method.
(Port.python_unittest_results_directory):
* Scripts/webkitpy/tool/steps/runtests.py:
Changes RunTests to call test-webkitpy with the --json flag if the
--non-interactive flag is set.
(RunTests):
(RunTests.run):

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

4 years ago[EME] Pass location for media key storage through from WebKit/WebKit2.
jer.noble@apple.com [Wed, 29 Oct 2014 00:18:08 +0000 (00:18 +0000)]
[EME] Pass location for media key storage through from WebKit/WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=137120

Reviewed by Anders Carlsson.

Allow the location for media key storage to be passed into the WebProcess from the UIProcess
through the WebContextConfiguraiton struct.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode): Add mediaKeysStorageDirectory.
(WebKit::WebProcessCreationParameters::decode): Ditto.
* Shared/WebProcessCreationParameters.h:
* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationCopyMediaKeysStorageDirectory): Added getter.
(WKContextConfigurationSetMediaKeysStorageDirectory): Added setter.
* UIProcess/API/C/WKContextConfigurationRef.h:
* UIProcess/API/C/WKOriginDataManager.h:
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _initWithConfiguration:]): Provide a default location.
* UIProcess/APIContextConfiguration.cpp:
(API::ContextConfiguration::webContextConfiguration): Set mediaKeysStorageDirectory.
* UIProcess/APIContextConfiguration.h:
(API::ContextConfiguration::mediaKeysStorageDirectory): Added getter.
(API::ContextConfiguration::setMediaKeysStorageDirectory): Added setter.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::applyPlatformSpecificConfigurationDefaults): Apply mediaKeysStorageDirectory.
(WebKit::WebContext::WebContext): Initialize m_mediaKeysStorageDirectory.
(WebKit::WebContext::createNewWebProcess): Create a sandbox extension handle for mediaKeysStorageDirectory.
* UIProcess/WebContext.h:
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Return a default location.
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Ditto.
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Return an overridable default location.
* WebProcess/MediaCache/WebMediaKeyStorageManager.cpp: Added.
(WebKit::WebMediaKeyStorageManager::initialize): Pull the mediaKeysStorageDirectory out of configuration.
(WebKit::WebMediaKeyStorageManager::supplementName): Return a configuration name.
(WebKit::WebMediaKeyStorageManager::mediaKeyStorageDirectoryForOrigin): Return the
    correct storage directory based on the SecureOrigin.
(WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins): Return the origins within the
    storage directory.
(WebKit::removeAllMediaKeyStorageForOriginPath): Static, remove contents and directory at path.
(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesForOrigin): Use
    removeAllMediaKeyStorageForOriginPath to remove origin data.
(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesModifiedBetweenDates): Ditto.
(WebKit::WebMediaKeyStorageManager::deleteAllMediaKeyEntries): Ditto.
* WebProcess/MediaCache/WebMediaKeyStorageManager.h: Added.
(WebKit::WebMediaKeyStorageManager::WebMediaKeyStorageManager): Default constructor.
(WebKit::WebMediaKeyStorageManager::~WebMediaKeyStorageManager): Default virtual destructor.
(WebKit::WebMediaKeyStorageManager::mediaKeyStorageDirectory): Simple accessor.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Add WebMediaKeyStorageManager as a supplement.
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Create a sandbox extension from the sandbox extension handle.

Add new source files to project(s).

* PlatformEfl.cmake:
* PlatformGTK.cmake:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
(WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins):
(WebKit::removeAllMediaKeyStorageForOriginPath):

Drive-by fix: references to VoidCallback are ambiguous, since the same name is re-used in multiple namespaces.
Make references to WebCore::VoidCallback explicit where the entire WebCore (and other) namespaces are pulled in.

* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::startRequest):
(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
* WebProcess/WebCoreSupport/WebNotificationClient.cpp:
(WebKit::WebNotificationClient::requestPermission):

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

4 years ago[EME][Mac] Adopt new AVStreamSession API: pass storageDirectoryAtURL at creation...
jer.noble@apple.com [Tue, 28 Oct 2014 23:51:45 +0000 (23:51 +0000)]
[EME][Mac] Adopt new AVStreamSession API: pass storageDirectoryAtURL at creation-time
https://bugs.webkit.org/show_bug.cgi?id=138149

Reviewed by Brent Fulgham.

AVStreamSession now requires its storage location at creation-time, rather than post-creation. This requires
us to move storage location code from CDMSessionMediaSourceAVFObjC to MediaPlayerPrivateMediaSourceAVFObjC.

* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(-[WebAVStreamDataParserListener streamDataParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Renamed.
(WebCore::CDMSessionMediaSourceAVFObjC::update):
(WebCore::sessionStorageDirectory): Deleted.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::sessionStorageDirectory):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):

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

4 years agoAll networking crashes on Mac 32bit
ggaren@apple.com [Tue, 28 Oct 2014 23:50:36 +0000 (23:50 +0000)]
All networking crashes on Mac 32bit
https://bugs.webkit.org/show_bug.cgi?id=138157

Reviewed by Andy Estes.

NEFilterSource content filtering is not available on 32bit, so
soft-linking fails at runtime. The simplest solution is just to disable
it at compile time.

* platform/ContentFilter.h:

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

4 years agoAdd optimized fullscreen mode.
commit-queue@webkit.org [Tue, 28 Oct 2014 23:14:42 +0000 (23:14 +0000)]
Add optimized fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=138044

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-10-28
Source/WebCore:

Reviewed by Jer Noble.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.
Add gesture for alternate fullscreen.

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::enterFullscreenOptimized): added
* Modules/mediacontrols/MediaControlsHost.h: added enterFullscreenOptimized
* Modules/mediacontrols/MediaControlsHost.idl: added enterFullscreenOptimized
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.handleBaseGestureChange): recognize alternate gesture
* WebCore.exp.in: added parameter to setupFullscreen
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::removedFrom) : replace m_isInVideoFullscreen with m_videoFullscreenType
(WebCore::HTMLMediaElement::stop) : ditto
(WebCore::HTMLMediaElement::isFullscreen) : ditto
(WebCore::HTMLMediaElement::enterFullscreen): add parameter to enterVideoFullscreenForVideoElement
(WebCore::HTMLMediaElement::exitFullscreen): replace m_isInVideoFullscreen with m_videoFullscreenType
(WebCore::HTMLMediaElement::enterFullscreenOptimized): added
* html/HTMLMediaElement.h: added enterFullscreenOptimized
* page/ChromeClient.h:
(WebCore::ChromeClient::enterVideoFullscreenForVideoElement): added parameter
* platform/ios/WebVideoFullscreenControllerAVKit.h: add parameter
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(-[WebVideoFullscreenController enterFullscreen:type:]): add parameter
(-[WebVideoFullscreenController enterFullscreen:]): Deleted.
* platform/ios/WebVideoFullscreenInterfaceAVKit.h: reorder protected to after public
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerController player]): this stub is now required
(-[WebAVPlayerController layoutSublayersOfLayer:]): this is a better way to update video frames
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): implement optimized fullscreen interface
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto

Source/WebKit/mac:

Reviewed by Jer Noble.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.

* WebCoreSupport/WebChromeClient.h: Add fullscreenType parameter
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::enterVideoFullscreenForVideoElement): ditto
* WebView/WebView.mm:
(-[WebView _enterVideoFullscreenForVideoElement:type:]): ditto
(-[WebView _enterVideoFullscreenForVideoElement:]): Deleted.
* WebView/WebViewInternal.h: ditto

Source/WebKit2:

Reviewed by Anders Carlsson.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.

* UIProcess/ios/WebVideoFullscreenManagerProxy.h: Add fullscreenType parameter
* UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: ditto
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): ditto
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): ditto
* WebProcess/WebCoreSupport/WebChromeClient.h: ditto
* WebProcess/ios/WebVideoFullscreenManager.h: ditto
* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): ditto
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen): ditto

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

4 years agoClean up virtual functions in accessibility/
cdumez@apple.com [Tue, 28 Oct 2014 22:42:37 +0000 (22:42 +0000)]
Clean up virtual functions in accessibility/
https://bugs.webkit.org/show_bug.cgi?id=138148

Reviewed by Chris Fleizach.

Clean up virtual functions in accessibility/ by:
- Marking classes as final when suitable
- Marking virtual functions as final when suitable
- Dropping final on virtual functions in classes that are already final
- Make isXXX() virtual type checking functions in XXX classes to avoid
  useless type checks

No new tests, no behavior change.

* accessibility/AccessibilityARIAGrid.h:
* accessibility/AccessibilityARIAGridCell.h:
* accessibility/AccessibilityARIAGridRow.h:
* accessibility/AccessibilityImageMapLink.h:
* accessibility/AccessibilityList.h:
* accessibility/AccessibilityListBox.h:
* accessibility/AccessibilityListBoxOption.h:
* accessibility/AccessibilityMediaControls.h:
* accessibility/AccessibilityMenuList.h:
* accessibility/AccessibilityMenuListOption.h:
* accessibility/AccessibilityMenuListPopup.h:
* accessibility/AccessibilityMockObject.h:
(WebCore::AccessibilityMockObject::setParent):
* accessibility/AccessibilityNodeObject.h:
* accessibility/AccessibilityProgressIndicator.h:
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilitySVGRoot.h:
* accessibility/AccessibilityScrollView.h:
* accessibility/AccessibilityScrollbar.h:
* accessibility/AccessibilitySearchFieldButtons.h:
* accessibility/AccessibilitySlider.h:
* accessibility/AccessibilitySpinButton.h:
* accessibility/AccessibilityTable.h:
* accessibility/AccessibilityTableCell.h:
* accessibility/AccessibilityTableColumn.h:
* accessibility/AccessibilityTableHeaderContainer.h:
* accessibility/AccessibilityTableRow.h:

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

4 years agoFrameProgressTracker expects Page to not have detached
jpfau@apple.com [Tue, 28 Oct 2014 22:38:44 +0000 (22:38 +0000)]
FrameProgressTracker expects Page to not have detached
https://bugs.webkit.org/show_bug.cgi?id=138061

Reviewed by Alexey Proskuryakov.

In some cases, a Page may be detached from a Frame before its
FrameLoader is torn down, causing FrameProgressTracker's destructor
to hit a null pointer.

No new tests; it is impossible to reliably simulate the null pointer
case without intrusive code changes.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):

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

4 years agoAdded a Radar reference to a comment.
mitz@apple.com [Tue, 28 Oct 2014 22:15:16 +0000 (22:15 +0000)]
Added a Radar reference to a comment.

* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<Credential>::encodePlatformData):

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

4 years agoIntroduce a new abstract class called AudioProducer and keep a set of AudioProducers
adachan@apple.com [Tue, 28 Oct 2014 22:00:39 +0000 (22:00 +0000)]
Introduce a new abstract class called AudioProducer and keep a set of AudioProducers
rather than the active MediaSessions in Document
https://bugs.webkit.org/show_bug.cgi?id=138107

Reviewed by Eric Carlson.

No new tests, no behavior change.

* WebCore.xcodeproj/project.pbxproj:
Add AudioProducer.h to the project.
* dom/Document.cpp:
(WebCore::Document::addAudioProducer):
(WebCore::Document::removeAudioProducer):
(WebCore::Document::updateIsPlayingAudio):
Go through the set of AudioProducers and see if any is playing audio.
Now that this method no longer refers to MediaSessions directly, this code
does not need to be guarded by #if ENABLE(VIDEO).
(WebCore::Document::registerMediaSession): Deleted.
(WebCore::Document::unregisterMediaSession): Deleted.
* dom/Document.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::registerWithDocument):
(WebCore::HTMLMediaElement::unregisterWithDocument):
(WebCore::HTMLMediaElement::isPlayingAudio):
Return whether this element is playing audio.
* html/HTMLMediaElement.h:
* page/AudioProducer.h: Added.
(WebCore::AudioProducer::~AudioProducer):
* page/Page.cpp:
(WebCore::Page::updateIsPlayingAudio):
This is no longer guarded with #if ENABLE(VIDEO) since the Document methods it calls
are no longer guarded.
* page/Page.h:

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

4 years agofast/multicol/multicol-crazy-nesting.html sometimes crashes
ap@apple.com [Tue, 28 Oct 2014 20:12:00 +0000 (20:12 +0000)]
fast/multicol/multicol-crazy-nesting.html sometimes crashes
https://bugs.webkit.org/show_bug.cgi?id=138145

* TestExpectations: Skipping for now.

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

4 years ago[Cocoa] REGERESSION (r171801): Client certificate authentication is failing
mitz@apple.com [Tue, 28 Oct 2014 20:01:47 +0000 (20:01 +0000)]
[Cocoa] REGERESSION (r171801): Client certificate authentication is failing
https://bugs.webkit.org/show_bug.cgi?id=138144

Reviewed by Alexey Proskuryakov.

NSURLCredential’s implementation of NSSecureCoding fails to encode identity-based
credentials properly. Work around that by encoding the identity, certificate, and
persistence individually.

* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<Credential>::encodePlatformData):
(IPC::ArgumentCoder<Credential>::decodePlatformData):

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

4 years agoUnreviewed comment fix from r175267.
cdumez@apple.com [Tue, 28 Oct 2014 19:57:55 +0000 (19:57 +0000)]
Unreviewed comment fix from r175267.

Fix namespace name in comment.

* css/StyleBuilderCustom.h:

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

4 years agoREGRESSION(r171593) [Mac] Media controls create a large (and unnecessary) backing...
jer.noble@apple.com [Tue, 28 Oct 2014 19:37:22 +0000 (19:37 +0000)]
REGRESSION(r171593) [Mac] Media controls create a large (and unnecessary) backing store
https://bugs.webkit.org/show_bug.cgi?id=137757

Reviewed by Eric Carlson.

Source/WebCore:

In r171593, a <div> was added to the media controls which is only ever used on iOS. Instead
of creating and adding this <div> in mediaControlsApple.js (which is used on OS X), this
<div> should be created and added in mediaControlsiOS.js, which requires overloading
Controller.addControls.

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel.hidden): Drive-by fix: allow the panel itself to be hidden.
(video::-webkit-media-controls-panel-composited-parent): Deleted.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls): Remove the composited parent.
(Controller.prototype.addControls): Ditto.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createControls): Create the composited parent.
(ControllerIOS.prototype.addControls): Copied from (previous) apple.js.

LayoutTests:

* platform/mac-mavericks/media/audio-controls-rendering-expected.png:
* platform/mac-mavericks/media/audio-controls-rendering-expected.txt:
* platform/mac-mavericks/media/controls-strict-expected.txt:
* platform/mac-mavericks/media/controls-without-preload-expected.txt: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.txt.
* platform/mac-mavericks/media/video-controls-rendering-expected.txt:
* platform/mac-mavericks/media/video-display-toggle-expected.txt:
* platform/mac-mavericks/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/mac/media/video-empty-source-expected.txt.
* platform/mac-mavericks/media/video-no-audio-expected.png:
* platform/mac-mavericks/media/video-no-audio-expected.txt:
* platform/mac-mavericks/media/video-volume-slider-expected.txt:
* platform/mac-mavericks/media/video-zoom-controls-expected.png:
* platform/mac-mavericks/media/video-zoom-controls-expected.txt:
* platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
* platform/mac/fast/layers/video-layer-expected.txt:
* platform/mac/media/audio-controls-rendering-expected.png:
* platform/mac/media/audio-controls-rendering-expected.txt:
* platform/mac/media/controls-after-reload-expected.png:
* platform/mac/media/controls-after-reload-expected.txt:
* platform/mac/media/controls-strict-expected.png:
* platform/mac/media/controls-strict-expected.txt:
* platform/mac/media/controls-without-preload-expected.png:
* platform/mac/media/controls-without-preload-expected.txt:
* platform/mac/media/media-controls-clone-expected.png:
* platform/mac/media/media-controls-clone-expected.txt:
* platform/mac/media/video-controls-rendering-expected.png:
* platform/mac/media/video-controls-rendering-expected.txt:
* platform/mac/media/video-display-toggle-expected.png:
* platform/mac/media/video-display-toggle-expected.txt:
* platform/mac/media/video-empty-source-expected.png:
* platform/mac/media/video-empty-source-expected.txt:
* platform/mac/media/video-no-audio-expected.png:
* platform/mac/media/video-no-audio-expected.txt:
* platform/mac/media/video-volume-slider-expected.png:
* platform/mac/media/video-volume-slider-expected.txt:
* platform/mac/media/video-zoom-controls-expected.png:
* platform/mac/media/video-zoom-controls-expected.txt:

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

4 years agoMove "Number" CSS properties to the new StyleBuilder
cdumez@apple.com [Tue, 28 Oct 2014 19:12:37 +0000 (19:12 +0000)]
Move "Number" CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138125

Reviewed by Antti Koivisto.

Move "Number" CSS properties from DeprecatedStyleBuilder to the new
StyleBuilder:
-webkit-hyphenate-limit-after
-webkit-hyphenate-limit-before
-webkit-shape-image-threshold
-webkit-hyphenate-limit-lines

They are now generated from CSSPropertyNames.in

For -webkit-hyphenate-limit-lines, I used custom code instead of
the Number converter as it required special handling for the id
value. This patch thus adds support for [Custom=Value] to
CSSPropertyNames.in and the custom code goes into
css/StyleBuilderCustom.h.

No new tests, no behavior change.

* WebCore.xcodeproj/project.pbxproj:
* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyNumber::setValue): Deleted.
(WebCore::ApplyPropertyNumber::applyValue): Deleted.
(WebCore::ApplyPropertyNumber::createHandler): Deleted.
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertNumber):
* css/StyleBuilderCustom.h: Added.
(WebCore::StyleBuilderFunctions::applyValueWebkitHyphenateLimitLines):
* css/makeprop.pl:

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

4 years ago[iOS] iPhone should not allow selecting <optgroup> in <select multiple>
joepeck@webkit.org [Tue, 28 Oct 2014 19:05:32 +0000 (19:05 +0000)]
[iOS] iPhone should not allow selecting <optgroup> in <select multiple>
https://bugs.webkit.org/show_bug.cgi?id=137991

Reviewed by Darin Adler.

We seem to be getting the delegate when we are not supposed to.
Workaround the issue as best we can by reseting the styles
for the group's content view and not changing selections.

* UIProcess/ios/forms/WKFormSelectPicker.mm:
(-[WKMultipleSelectPicker pickerView:row:column:checked:]):

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

4 years ago[WebCore] Remove uses of WTF::bind() in the Media Stream module
zandobersek@gmail.com [Tue, 28 Oct 2014 18:46:23 +0000 (18:46 +0000)]
[WebCore] Remove uses of WTF::bind() in the Media Stream module
https://bugs.webkit.org/show_bug.cgi?id=138016

Reviewed by Eric Carlson.

Replace uses of WTF::bind() in the Media Stream module with C++11 lambdas.
Internal helper methods are removed in favor of inlining the code directly
into the lambdas. Range-based for-loops are deployed where appropriate.

* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::scheduleEventDispatch):
(WebCore::MediaStreamTrack::dispatchQueuedEvents): Deleted.
* Modules/mediastream/MediaStreamTrack.h:
* Modules/mediastream/MediaStreamTrackSourcesRequest.cpp:
(WebCore::MediaStreamTrackSourcesRequest::didCompleteRequest):
(WebCore::MediaStreamTrackSourcesRequest::callCompletionHandler): Deleted.
* Modules/mediastream/MediaStreamTrackSourcesRequest.h:
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::constraintsValidated):
(WebCore::UserMediaRequest::userMediaAccessGranted):
(WebCore::UserMediaRequest::didCreateStream):
(WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError):
(WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError):
(WebCore::UserMediaRequest::requestPermission): Deleted.
(WebCore::UserMediaRequest::createMediaStream): Deleted.
(WebCore::UserMediaRequest::callSuccessHandler): Deleted.
(WebCore::UserMediaRequest::callErrorHandler): Deleted.
* Modules/mediastream/UserMediaRequest.h:

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

4 years agotext-combine needs to center glyphs within the vertical area.
ap@apple.com [Tue, 28 Oct 2014 18:35:58 +0000 (18:35 +0000)]
text-combine needs to center glyphs within the vertical area.
https://bugs.webkit.org/show_bug.cgi?id=138056

Adding pre-Yosemite test results.

* platform/mac-mavericks/fast/text/tatechuyoko-expected.png: Added.
* platform/mac-mavericks/fast/text/tatechuyoko-expected.txt: Added.

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

4 years agoAbandoned select option is reselected when shift selecting new options
commit-queue@webkit.org [Tue, 28 Oct 2014 18:05:30 +0000 (18:05 +0000)]
Abandoned select option is reselected when shift selecting new options
https://bugs.webkit.org/show_bug.cgi?id=137553

Patch by Pascal Jacquemart <p.jacquemart@samsung.com> on 2014-10-28
Reviewed by Ryosuke Niwa.

Source/WebCore:

Previous active selection is wrongly recorded by HTMLSelectElement after selecting a new item using
typeAhead. Fixed by clearing previously selected options before starting a new active selection.

Test: fast/forms/listbox-selection-after-typeahead.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::selectOption): Code re-ordering

LayoutTests:

Test checking a combination of mouse and keyboard selection events
on select-multiple element

* fast/forms/listbox-selection-after-typeahead-expected.txt: Added.
* fast/forms/listbox-selection-after-typeahead.html: Added.

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

4 years agoRemove App.PaneController.bugsChangeCount in the new perf dashboard
rniwa@webkit.org [Tue, 28 Oct 2014 18:01:32 +0000 (18:01 +0000)]
Remove App.PaneController.bugsChangeCount in the new perf dashboard
https://bugs.webkit.org/show_bug.cgi?id=138111

Reviewed by Darin Adler.

* public/v2/app.js:
(App.PaneController.bugsChangeCount): Removed.
(App.PaneController.actions.associateBug): Call _updateMarkedPoints instead of incrementing bugsChangeCount.
(App.PaneController._updateMarkedPoints): Extracted from App.InteractiveChartComponent._updateDotsWithBugs.
Finds the list of current run's points that are associated with bugs.
(App.InteractiveChartComponent._updateMarkedDots): Renamed from _updateDotsWithBugs.
* public/v2/chart-pane.css:
(.chart .marked): Renamed from .hasBugs.
* public/v2/index.html: Specify chartPointRadius and markedPoints.

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

4 years agoUse constants from wtf/MathExtras.h
commit-queue@webkit.org [Tue, 28 Oct 2014 18:00:09 +0000 (18:00 +0000)]
Use constants from wtf/MathExtras.h
https://bugs.webkit.org/show_bug.cgi?id=137967

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-28
Reviewed by Darin Adler.

Source/WebCore:

* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::rotateCairoMatrixForVerticalOrientation):
* rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):

Source/WTF:

* wtf/MathExtras.h:

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

4 years agoSelection gap painting is ugly for ruby bases.
hyatt@apple.com [Tue, 28 Oct 2014 17:58:24 +0000 (17:58 +0000)]
Selection gap painting is ugly for ruby bases.
https://bugs.webkit.org/show_bug.cgi?id=138136

Reviewed by Dean Jackson.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::selectionGaps):
For ruby bases don't fill to the end of the block (in the block direction),
since ideographic baselines push that end below the text baseline.

(WebCore::RenderBlock::blockSelectionGaps):
* rendering/RenderBlockFlow.cpp:
Skip ruby bases for block selection gap filling.

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

4 years agoSpeed up line parsing for simple line layout.
zalan@apple.com [Tue, 28 Oct 2014 17:57:14 +0000 (17:57 +0000)]
Speed up line parsing for simple line layout.
https://bugs.webkit.org/show_bug.cgi?id=137275

Reviewed by Antti Koivisto.
Source/WebCore:

This patch speeds up the line parsing for simple line layout by
reducing the number of text measurement calls.
The parsing logic hasn't changed. We simply walk over
the whitespace/non-whitespace fragments and measure them to
figure out whether they fit.
The performance gain mainly comes from the more efficient line wrapping
so that we don't re-measure the fragment when it is pushed to
the next line.

No change in behaviour. (except the empty line-break run removal.)

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::skipWhitespace):
(WebCore::SimpleLineLayout::computeLineLeft):
(WebCore::SimpleLineLayout::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::TextFragment::isEmpty):
(WebCore::SimpleLineLayout::LineState::LineState):
(WebCore::SimpleLineLayout::LineState::commitAndCreateRun): adds uncommitted text to the line and creates a run out of it.
(WebCore::SimpleLineLayout::LineState::addUncommitted): appends fragment to the uncommitted text.
(WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): appends whitespace to the uncommitted text.
(WebCore::SimpleLineLayout::LineState::jumpTo): moves line's current position without committing text.
(WebCore::SimpleLineLayout::LineState::width): current width of the line including committed and uncommitted text.
(WebCore::SimpleLineLayout::LineState::fits): checks if committed + uncommitted text fits the line.
(WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace): post processing the trailing whitespace.
(WebCore::SimpleLineLayout::initializeLine):
(WebCore::SimpleLineLayout::splitFragmentToFitLine): breaks the fragments into 2 so that the first (sub)fragment fits the line.
(WebCore::SimpleLineLayout::nextFragment): returns the next valid fragment of the text.
(WebCore::SimpleLineLayout::createLineRuns): creates runs for the current line and returns when we can't fit more text on the line.
(WebCore::SimpleLineLayout::updateLineConstrains): updates left/right constrains for the current line.
(WebCore::SimpleLineLayout::createTextRuns): creates runs for the whole text.
(WebCore::SimpleLineLayout::isWhitespace): Deleted.
(WebCore::SimpleLineLayout::skipWhitespaces): Deleted.
(WebCore::SimpleLineLayout::measureWord): Deleted.
(WebCore::SimpleLineLayout::adjustRunOffsets): Deleted.
* rendering/SimpleLineLayout.h:
(WebCore::SimpleLineLayout::Run::Run):

LayoutTests:

This patch removes empty line-break runs. Rebaseline.

* platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* platform/mac/css1/basic/containment-expected.txt:
* platform/mac/css1/basic/contextual_selectors-expected.txt:
* platform/mac/css1/basic/grouping-expected.txt:
* platform/mac/css1/basic/id_as_selector-expected.txt:
* platform/mac/css1/basic/inheritance-expected.txt:
* platform/mac/css1/box_properties/border-expected.txt:
* platform/mac/css1/box_properties/border_bottom-expected.txt:
* platform/mac/css1/box_properties/border_bottom_inline-expected.txt:
* platform/mac/css1/box_properties/border_bottom_width-expected.txt:
* platform/mac/css1/box_properties/border_bottom_width_inline-expected.txt:
* platform/mac/css1/box_properties/border_color-expected.txt:
* platform/mac/css1/box_properties/border_color_inline-expected.txt:
* platform/mac/css1/box_properties/border_inline-expected.txt:
* platform/mac/css1/box_properties/border_left-expected.txt:
* platform/mac/css1/box_properties/border_left_inline-expected.txt:
* platform/mac/css1/box_properties/border_left_width-expected.txt:
* platform/mac/css1/box_properties/border_left_width_inline-expected.txt:
* platform/mac/css1/box_properties/border_right-expected.txt:
* platform/mac/css1/box_properties/border_right_inline-expected.txt:
* platform/mac/css1/box_properties/border_right_width-expected.txt:
* platform/mac/css1/box_properties/border_right_width_inline-expected.txt:
* platform/mac/css1/box_properties/border_style-expected.txt:
* platform/mac/css1/box_properties/border_style_inline-expected.txt:
* platform/mac/css1/box_properties/border_top-expected.txt:
* platform/mac/css1/box_properties/border_top_inline-expected.txt:
* platform/mac/css1/box_properties/border_top_width-expected.txt:
* platform/mac/css1/box_properties/border_top_width_inline-expected.txt:
* platform/mac/css1/box_properties/border_width-expected.txt:
* platform/mac/css1/box_properties/border_width_inline-expected.txt:
* platform/mac/css1/box_properties/clear-expected.txt:
* platform/mac/css1/box_properties/clear_float-expected.txt:
* platform/mac/css1/box_properties/float-expected.txt:
* platform/mac/css1/box_properties/float_elements_in_series-expected.txt:
* platform/mac/css1/box_properties/float_margin-expected.txt:
* platform/mac/css1/box_properties/height-expected.txt:
* platform/mac/css1/box_properties/margin-expected.txt:
* platform/mac/css1/box_properties/margin_bottom-expected.txt:
* platform/mac/css1/box_properties/margin_bottom_inline-expected.txt:
* platform/mac/css1/box_properties/margin_inline-expected.txt:
* platform/mac/css1/box_properties/margin_left-expected.txt:
* platform/mac/css1/box_properties/margin_left_inline-expected.txt:
* platform/mac/css1/box_properties/margin_right-expected.txt:
* platform/mac/css1/box_properties/margin_right_inline-expected.txt:
* platform/mac/css1/box_properties/margin_top-expected.txt:
* platform/mac/css1/box_properties/margin_top_inline-expected.txt:
* platform/mac/css1/box_properties/padding-expected.txt:
* platform/mac/css1/box_properties/padding_bottom-expected.txt:
* platform/mac/css1/box_properties/padding_bottom_inline-expected.txt:
* platform/mac/css1/box_properties/padding_inline-expected.txt:
* platform/mac/css1/box_properties/padding_left-expected.txt:
* platform/mac/css1/box_properties/padding_left_inline-expected.txt:
* platform/mac/css1/box_properties/padding_right-expected.txt:
* platform/mac/css1/box_properties/padding_right_inline-expected.txt:
* platform/mac/css1/box_properties/padding_top-expected.txt:
* platform/mac/css1/box_properties/padding_top_inline-expected.txt:
* platform/mac/css1/box_properties/width-expected.txt:
* platform/mac/css1/cascade/cascade_order-expected.txt:
* platform/mac/css1/cascade/important-expected.txt:
* platform/mac/css1/classification/display-expected.txt:
* platform/mac/css1/classification/list_style-expected.txt:
* platform/mac/css1/classification/list_style_image-expected.txt:
* platform/mac/css1/classification/list_style_position-expected.txt:
* platform/mac/css1/classification/list_style_type-expected.txt:
* platform/mac/css1/classification/white_space-expected.txt:
* platform/mac/css1/color_and_background/background-expected.txt:
* platform/mac/css1/color_and_background/background_attachment-expected.txt:
* platform/mac/css1/color_and_background/background_color-expected.txt:
* platform/mac/css1/color_and_background/background_image-expected.txt:
* platform/mac/css1/color_and_background/background_position-expected.txt:
* platform/mac/css1/color_and_background/background_repeat-expected.txt:
* platform/mac/css1/color_and_background/color-expected.txt:
* platform/mac/css1/conformance/forward_compatible_parsing-expected.txt:
* platform/mac/css1/font_properties/font-expected.txt:
* platform/mac/css1/font_properties/font_family-expected.txt:
* platform/mac/css1/font_properties/font_size-expected.txt:
* platform/mac/css1/font_properties/font_style-expected.txt:
* platform/mac/css1/font_properties/font_variant-expected.txt:
* platform/mac/css1/font_properties/font_weight-expected.txt:
* platform/mac/css1/formatting_model/canvas-expected.txt:
* platform/mac/css1/formatting_model/floating_elements-expected.txt:
* platform/mac/css1/formatting_model/height_of_lines-expected.txt:
* platform/mac/css1/formatting_model/inline_elements-expected.txt:
* platform/mac/css1/formatting_model/replaced_elements-expected.txt:
* platform/mac/css1/formatting_model/vertical_formatting-expected.txt:
* platform/mac/css1/pseudo/anchor-expected.txt:
* platform/mac/css1/pseudo/firstletter-expected.txt:
* platform/mac/css1/pseudo/firstline-expected.txt:
* platform/mac/css1/pseudo/multiple_pseudo_elements-expected.txt:
* platform/mac/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
* platform/mac/css1/text_properties/letter_spacing-expected.txt:
* platform/mac/css1/text_properties/line_height-expected.txt:
* platform/mac/css1/text_properties/text_align-expected.txt:
* platform/mac/css1/text_properties/text_decoration-expected.txt:
* platform/mac/css1/text_properties/text_indent-expected.txt:
* platform/mac/css1/text_properties/text_transform-expected.txt:
* platform/mac/css1/text_properties/vertical_align-expected.txt:
* platform/mac/css1/text_properties/word_spacing-expected.txt:
* platform/mac/css1/units/color_units-expected.txt:
* platform/mac/css1/units/length_units-expected.txt:
* platform/mac/css1/units/percentage_units-expected.txt:
* platform/mac/css1/units/urls-expected.txt:
* platform/mac/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
* platform/mac/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
* platform/mac/editing/selection/designmode-no-caret-expected.txt:
* platform/mac/fast/css/empty-pseudo-class-expected.txt:
* platform/mac/fast/css/first-child-pseudo-class-expected.txt:
* platform/mac/fast/css/last-child-pseudo-class-expected.txt:
* platform/mac/fast/css/only-child-pseudo-class-expected.txt:
* platform/mac/fast/forms/targeted-frame-submission-expected.txt:
* platform/mac/fast/frames/onlyCommentInIFrame-expected.txt:
* platform/mac/fast/html/listing-expected.txt:
* platform/mac/fast/invalid/junk-data-expected.txt:
* platform/mac/fast/invalid/missing-end-tag-expected.txt:
* platform/mac/fast/loader/text-document-wrapping-expected.txt:
* platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
* platform/mac/fast/parser/xhtml-alternate-entities-expected.txt:
* platform/mac/fast/table/border-collapsing/004-expected.txt:
* platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:
* platform/mac/fast/text/whitespace/001-expected.txt: Added.
* platform/mac/fast/text/whitespace/013-expected.txt: Added.
* platform/mac/fast/text/whitespace/014-expected.txt: Added.
* platform/mac/fast/text/whitespace/022-expected.txt: Added.
* platform/mac/fast/text/whitespace/024-expected.txt:
* platform/mac/fast/text/whitespace/030-expected.txt:
* platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt:
* platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
* platform/mac/http/tests/misc/acid3-expected.txt:
* platform/mac/svg/custom/bug45331-expected.txt:
* platform/mac/svg/custom/junk-data-expected.txt:
* platform/mac/svg/custom/missing-xlink-expected.txt:
* platform/mac/svg/custom/path-bad-data-expected.txt:
* platform/mac/svg/custom/use-font-face-crash-expected.txt:
* platform/mac/svg/hixie/error/012-expected.txt:
* platform/mac/tables/mozilla/bugs/45621-expected.txt:
* platform/mac/tables/mozilla/bugs/bug139524-2-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* platform/mac/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:

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

4 years agoUnreviewed, rolling out r175249.
commit-queue@webkit.org [Tue, 28 Oct 2014 17:55:06 +0000 (17:55 +0000)]
Unreviewed, rolling out r175249.
https://bugs.webkit.org/show_bug.cgi?id=138138

Appears to be failing some JS tests (Requested by mlam_ on
#webkit).

Reverted changeset:

"Holes are not copied properly when Arrays change shape to
ArrayStorage type."
https://bugs.webkit.org/show_bug.cgi?id=138118
http://trac.webkit.org/changeset/175249

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

4 years agoimport-w3c-tests should use re.escape() wherever it's handling file paths
commit-queue@webkit.org [Tue, 28 Oct 2014 17:52:30 +0000 (17:52 +0000)]
import-w3c-tests should use re.escape() wherever it's handling file paths
https://bugs.webkit.org/show_bug.cgi?id=137934

This patch adds re.escape() to a few places where we're doing string
conversions. This prevents errors when attribute values coincidentally
have character sequences that can be interpreted as regular expressions.

Patch by Rebecca Hauck <rhauck@adobe.com> on 2014-10-28
Reviewed by Bem Jones-Bey.

* Scripts/webkitpy/w3c/test_converter.py:
(_W3CTestConverter.convert_attributes_if_needed):

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

4 years agoRemove an inaccurate comment in WKActionMenuController
timothy_horton@apple.com [Tue, 28 Oct 2014 17:37:12 +0000 (17:37 +0000)]
Remove an inaccurate comment in WKActionMenuController
https://bugs.webkit.org/show_bug.cgi?id=138135

Reviewed by Anders Carlsson.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForLink]):
The comment is wrong; the separator is there for spacing, not just as a workaround.

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

4 years agoUpdate CSS shapes suite import
commit-queue@webkit.org [Tue, 28 Oct 2014 17:17:17 +0000 (17:17 +0000)]
Update CSS shapes suite import
https://bugs.webkit.org/show_bug.cgi?id=138045

This patch is a full re-import of the CSS Shapes test suite from the W3C
test repo and an updated TestExpectations file to match the current
results.

Patch by Rebecca Hauck <rhauck@adobe.com> on 2014-10-28
Reviewed by Benjamin Poulain.

* TestExpectations:
* css3/shapes/shape-outside/shape-box/w3c-import.log:
* css3/shapes/shape-outside/shape-image/gradients/w3c-import.log:
* css3/shapes/shape-outside/shape-image/shape-image-000-expected.html:
* css3/shapes/shape-outside/shape-image/shape-image-001-expected.html:
* css3/shapes/shape-outside/shape-image/shape-image-002-expected.html:
* css3/shapes/shape-outside/shape-image/shape-image-002.html:
* css3/shapes/shape-outside/shape-image/shape-image-003-expected.html:
* css3/shapes/shape-outside/shape-image/shape-image-003.html:
* css3/shapes/shape-outside/shape-image/shape-image-004-expected.html:
* css3/shapes/shape-outside/shape-image/shape-image-005-expected.html:
* css3/shapes/shape-outside/shape-image/shape-image-005.html:
* css3/shapes/shape-outside/shape-image/shape-image-006-expected.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-006.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-007-expected.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-007.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-008-expected.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-008.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-009-expected.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-009.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-010-expected.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-010.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-011-expected.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-011.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-013-expected.html:
* css3/shapes/shape-outside/shape-image/shape-image-013.html:
* css3/shapes/shape-outside/shape-image/shape-image-014-expected.html:
* css3/shapes/shape-outside/shape-image/shape-image-014.html:
* css3/shapes/shape-outside/shape-image/shape-image-015-expected.html:
* css3/shapes/shape-outside/shape-image/shape-image-015.html:
* css3/shapes/shape-outside/shape-image/shape-image-016-expected.html:
* css3/shapes/shape-outside/shape-image/shape-image-016.html:
* css3/shapes/shape-outside/shape-image/shape-image-017-expected.html:
* css3/shapes/shape-outside/shape-image/shape-image-017.html:
* css3/shapes/shape-outside/shape-image/shape-image-024-expected.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-024.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-025-expected.html: Added.
* css3/shapes/shape-outside/shape-image/shape-image-025.html: Added.
* css3/shapes/shape-outside/shape-image/support/animated.gif: Added.
* css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20.png:
* css3/shapes/shape-outside/shape-image/support/right-half-rectangle-20.png:
* css3/shapes/shape-outside/shape-image/support/w3c-import.log:
* css3/shapes/shape-outside/shape-image/w3c-import.log:
* css3/shapes/shape-outside/supported-shapes/circle/w3c-import.log:
* css3/shapes/shape-outside/supported-shapes/ellipse/w3c-import.log:
* css3/shapes/shape-outside/supported-shapes/inset/w3c-import.log:
* css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html:
* css3/shapes/shape-outside/supported-shapes/polygon/w3c-import.log:
* css3/shapes/shape-outside/supported-shapes/support/w3c-import.log: Copied from LayoutTests/css3/shapes/shape-outside/values/support/w3c-import.log.
* css3/shapes/shape-outside/values/shape-image-threshold-001.html:
* css3/shapes/shape-outside/values/support/w3c-import.log:
* css3/shapes/shape-outside/values/w3c-import.log:
* css3/shapes/spec-examples/shape-outside-019-expected.html:
* css3/shapes/spec-examples/support/w3c-import.log:
* css3/shapes/spec-examples/w3c-import.log:
* css3/shapes/w3c-import.log:

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

4 years agoWindows build fix.
ap@apple.com [Tue, 28 Oct 2014 16:44:02 +0000 (16:44 +0000)]
Windows build fix.

* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::switchToNewTestingSession): Use a WTF function
for getting current process ID instead of getpid().

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

4 years ago[EFL] Remove unnecessary defines from OptionsEfl.cmake
commit-queue@webkit.org [Tue, 28 Oct 2014 16:30:53 +0000 (16:30 +0000)]
[EFL] Remove unnecessary defines from OptionsEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=138132

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-10-28
Reviewed by Csaba Osztrogonác.

.:

* Source/cmake/OptionsEfl.cmake:

Source/WTF:

* wtf/Platform.h:

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

4 years agoClean up subtrees selection code
mihnea@adobe.com [Tue, 28 Oct 2014 16:05:32 +0000 (16:05 +0000)]
Clean up subtrees selection code
https://bugs.webkit.org/show_bug.cgi?id=137740

Reviewed by David Hyatt.

Clean up subtrees selection code. Add a new class SelectionSubtreeData
that keeps only the selection data. Have SelectionSubtreeRoot class embed
a SelectionSubtreeData member and keep the business logic methods.
No functionality changed therefore no new layout tests.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::selectionStartEnd):
* rendering/RenderView.cpp:
(WebCore::RenderView::subtreeSelectionBounds):
(WebCore::RenderView::repaintSubtreeSelection):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::splitSelectionBetweenSubtrees):
(WebCore::RenderView::updateSelectionForSubtrees):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):
* rendering/RenderView.h:
* rendering/SelectionSubtreeRoot.cpp:
(WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot):
(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):
* rendering/SelectionSubtreeRoot.h:
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStart):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEnd):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartEndPositions):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStart):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEnd):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection):
(WebCore::SelectionSubtreeRoot::selectionData):
(WebCore::SelectionSubtreeRoot::setSelectionData):
(WebCore::SelectionSubtreeRoot::selectionStart): Deleted.
(WebCore::SelectionSubtreeRoot::selectionStartPos): Deleted.
(WebCore::SelectionSubtreeRoot::selectionEnd): Deleted.
(WebCore::SelectionSubtreeRoot::selectionEndPos): Deleted.
(WebCore::SelectionSubtreeRoot::selectionStartEndPositions): Deleted.
(WebCore::SelectionSubtreeRoot::selectionClear): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionStart): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionStartPos): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionEnd): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionEndPos): Deleted.

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

4 years ago[Mac] The first software paint of a <video> element takes up to 2.5s.
jer.noble@apple.com [Tue, 28 Oct 2014 16:04:26 +0000 (16:04 +0000)]
[Mac] The first software paint of a <video> element takes up to 2.5s.
https://bugs.webkit.org/show_bug.cgi?id=137754

Reviewed by Brent Fulgham.

It turns out that, if you pass nil to -[AVPlayerItemVideoOutput initWithPixelBufferAttributes:]
the video output will not attempt to conform the resulting pixel buffers into a particular format.
This means that adding such a video output to a AVPlayerItem should have almost no performance
penalty, since the video output does not even copy the resulting buffers, but rather just retains
and returns the ones from the AVPlayerLayer.

Create and attach an AVPlayerItemVideoOutput after creating the AVPlayerItem, but before attaching
the player item to the AVPlayer. This eliminates the reconfigure step which occurs after attaching
a video output to an already attached AVPlayerItem.

When creating the AVPlayerItemVideoOutput, pass in `nil` for the pixelBufferAttributes parameter.

Instead of blocking waiting for output from the AVPlayerItemVideoOutput during creating, block and
whait when asked to paint with the video output.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

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

4 years agoMove text decoration CSS properties to the new StyleBuilder
cdumez@apple.com [Tue, 28 Oct 2014 15:35:36 +0000 (15:35 +0000)]
Move text decoration CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138121

Reviewed by Antti Koivisto.

Move text decoration CSS properties from DeprecatedStyleBuilder to the
new StyleBuilder so that they are generated from CSSPropertyNames.in.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyTextDecoration::applyValue): Deleted.
(WebCore::ApplyPropertyTextDecoration::createHandler): Deleted.
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertTextDecoration):

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

4 years agoHoles are not copied properly when Arrays change shape to ArrayStorage type.
mark.lam@apple.com [Tue, 28 Oct 2014 15:29:51 +0000 (15:29 +0000)]
Holes are not copied properly when Arrays change shape to ArrayStorage type.
<https://webkit.org/b/138118>

Reviewed by Mark Hahnenberg.

When we convert non-ArrayStorage typed arrays into ArrayStorage typed arrays,
we skipped the holes.  As a result, the slots in the ArrayStorage vector that
corresponds to those holes are uninitialize.  This is now fixed.

* runtime/JSObject.cpp:
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):

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

4 years ago[EFL] Remove an unused include from Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp
commit-queue@webkit.org [Tue, 28 Oct 2014 14:14:50 +0000 (14:14 +0000)]
[EFL] Remove an unused include from Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=138130

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-10-28
Reviewed by Csaba Osztrogonác.

* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

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

4 years agoUnreviewed. Update OptionsGTK.cmake and NEWS for 2.7.1 release.
carlosgc@webkit.org [Tue, 28 Oct 2014 13:52:44 +0000 (13:52 +0000)]
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.1 release.

.:

* Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

* gtk/NEWS: Add release notes for 2.7.1.

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

4 years ago[GTK] Remove GDK dependency from SharedTimerGtk
carlosgc@webkit.org [Tue, 28 Oct 2014 12:49:38 +0000 (12:49 +0000)]
[GTK] Remove GDK dependency from SharedTimerGtk
https://bugs.webkit.org/show_bug.cgi?id=138092

Reviewed by Martin Robinson.

It depends on GDK just to use GDK_PRIORITY_REDRAW constant, we can
use its value directly instead.

* PlatformGTK.cmake:
* platform/gtk/SharedTimerGtk.cpp:
(WebCore::setSharedTimerFireInterval):

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

4 years ago[Mac] OS X Mavericks build broken with public SDK
mitz@apple.com [Tue, 28 Oct 2014 07:05:37 +0000 (07:05 +0000)]
[Mac] OS X Mavericks build broken with public SDK
https://bugs.webkit.org/show_bug.cgi?id=138108

Reviewed by Mark Rowe.

* Shared/API/Cocoa/WKFoundation.h: Only define the NSEventModifierFlags type when using a
version of the OS X SDK that doesn’t define it.

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

4 years agoCrash when attempting to perform array iteration on a non-array with numeric keys...
mark.lam@apple.com [Tue, 28 Oct 2014 05:46:52 +0000 (05:46 +0000)]
Crash when attempting to perform array iteration on a non-array with numeric keys not initialized.
<https://webkit.org/b/137814>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The arrayIteratorNextThunkGenerator() thunk was not checking for the case where
the butterfly may be NULL.  This was the source of the crash, and is now fixed.

In addition, it is also not checking for the case where a property named "length"
may have been set on the iterated object.  The thunk only checks the butterfly's
publicLength for its iteration operation.  Array objects will work fine with this
because it always updates its butterfly's publicLength when its length changes.
In the case of iterable non-Array objects, the "length" property will require a
look up outside of the scope of this thunk.  The fix is simply to limit the fast
case checks in this thunk to Array objects.

* jit/ThunkGenerators.cpp:
(JSC::arrayIteratorNextThunkGenerator):

LayoutTests:

* js/array-length-shortening-expected.txt: Added.
* js/array-length-shortening.html: Added.
* js/for-of-crash-expected.txt: Added.
* js/for-of-crash.html: Added.
* js/script-tests/array-length-shortening.js: Added.
(testLengthShortening):
(denseInt32Elements):
(denseDoubleElements):
(denseObjectElements):
(holeyInt32Elements):
(holeyDoubleElements):
(holeyObjectElements):
(arrayStorageInt32Elements):
(arrayStorageDoubleElements):
(arrayStorageObjectElements):
(sparseInt32Elements):
(sparseDoubleElements):
(sparseObjectElements):
* js/script-tests/for-of-crash.js: Added.
(foo):

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

4 years agoMove RenderBlock::beingDestroyed() to RenderObject.
akling@apple.com [Tue, 28 Oct 2014 05:39:40 +0000 (05:39 +0000)]
Move RenderBlock::beingDestroyed() to RenderObject.
<https://webkit.org/b/138116>

Reviewed by Antti Koivisto.

Make "is being destroyed" a RenderObject concept instead of restricting
it to RenderBlocks. I'm guessing that this was specific to blocks due to
lack of bitfield space in RenderObject, and that's no longer an issue.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::willBeDestroyed):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::beingDestroyed): Deleted.
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::willBeDestroyed):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::destroy):
* rendering/RenderObject.h:
(WebCore::RenderObject::beingDestroyed):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):

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

4 years agoAX: input type=hidden is being exposed when aria-hidden=false
cfleizach@apple.com [Tue, 28 Oct 2014 05:38:48 +0000 (05:38 +0000)]
AX: input type=hidden is being exposed when aria-hidden=false
https://bugs.webkit.org/show_bug.cgi?id=138106

Reviewed by Benjamin Poulain.

Source/WebCore:

If an input type=hidden was inside an aria-hidden=false, it would appear because
the lack of a RenderObject behind that object was not blocking its adoption into the AX tree.
We should explicity check for whether the type is hidden and then return an appropriate role.

Test: accessibility/input-type-hidden-in-aria-hidden-false.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):

LayoutTests:

* accessibility/input-type-hidden-in-aria-hidden-false-expected.txt: Added.
* accessibility/input-type-hidden-in-aria-hidden-false.html: Added.

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

4 years agoSimplified some JSObject methods for converting arrays to ArrayStorage shape.
mark.lam@apple.com [Tue, 28 Oct 2014 05:05:01 +0000 (05:05 +0000)]
Simplified some JSObject methods for converting arrays to ArrayStorage shape.
<https://webkit.org/b/138119>

Reviewed by Filip Pizlo.

Currently, for each Undecided, Int32, Double, and Contiguous array shapes,
there are 3 JSObject methods to convert them to ArrayStorage shape:
    ArrayStorage* convert<shape>ToArrayStorage(VM&, NonPropertyTransition, unsigned neededLength);
    ArrayStorage* convert<shape>ToArrayStorage(VM&, NonPropertyTransition);
    ArrayStorage* convert<shape>ToArrayStorage(VM&);

However, the neededLength that is passed is always m_butterfly->vectorLength().
Hence, the method that takes a neededLength is really not needed.  This patch
removes this unneeded verbosity.

* runtime/JSObject.cpp:
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):
- Also reordered the placement of the DeferGC statement so this Int32 function
  will look more similar to the others.
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
* runtime/JSObject.h:

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

4 years agoNSSharingService protocol conformance should be internal to WKActionMenuController
commit-queue@webkit.org [Tue, 28 Oct 2014 03:05:17 +0000 (03:05 +0000)]
NSSharingService protocol conformance should be internal to WKActionMenuController
https://bugs.webkit.org/show_bug.cgi?id=138112

Patch by Conrad Shultz <conrad_shultz@apple.com> on 2014-10-27
Reviewed by Tim Horton.

* UIProcess/mac/WKActionMenuController.h:
* UIProcess/mac/WKActionMenuController.mm:
Move protocol conformance from the interface to a class extension.

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

4 years agohttps://trac.webkit.org/changeset/175233 broke many tests, fixing an incorrect '!'.
ap@apple.com [Tue, 28 Oct 2014 02:49:39 +0000 (02:49 +0000)]
https://trac.webkit.org/changeset/175233 broke many tests, fixing an incorrect '!'.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

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

4 years agotext-combine needs to center text within the vertical space using glyph bounds
hyatt@apple.com [Tue, 28 Oct 2014 01:00:36 +0000 (01:00 +0000)]
text-combine needs to center text within the vertical space using glyph bounds
https://bugs.webkit.org/show_bug.cgi?id=138056
<rdar://problem/15403667>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/text/tatechuyoko.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::RenderCombineText):
(WebCore::RenderCombineText::adjustTextOrigin):
(WebCore::RenderCombineText::combineText):
* rendering/RenderCombineText.h:

LayoutTests:

* fast/text/tatechuyoko.html: Added.
* platform/mac/fast/text/tatechuyoko-expected.png: Added.
* platform/mac/fast/text/tatechuyoko-expected.txt: Added.

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

4 years agoWebContent crash in WebKit::WebPage::expandedRangeFromHandle.
enrica@apple.com [Tue, 28 Oct 2014 00:36:06 +0000 (00:36 +0000)]
WebContent crash in WebKit::WebPage::expandedRangeFromHandle.
https://bugs.webkit.org/show_bug.cgi?id=138023
rdar://problem/18787412

Reviewed by Ryosuke Niwa.

We must change that we have a valid currentRange before trying
to expand or contract.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::changeBlockSelection):

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