Remove PageVisibilityStateUnloaded
https://bugs.webkit.org/show_bug.cgi?id=125869

Reviewed by Anders Carlsson.

This is not currently supported by WebKit, remove this enum value.
We can always add this back later if/when we add support for this state.

Source/WebCore: 

* page/PageVisibilityState.cpp:
(WebCore::pageVisibilityStateString):
* page/PageVisibilityState.h:
    - removed PageVisibilityStateUnloaded

Source/WebKit/mac: 

* WebView/WebView.mm:
(core):
(kit):
* WebView/WebViewPrivate.h:
    - removed PageVisibilityStateUnloaded/WebPageVisibilityStateUnloaded

Source/WebKit2: 

* Shared/API/c/WKPageVisibilityTypes.h:
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toPageVisibilityState):
    - removed PageVisibilityStateUnloaded/kWKPageVisibilityStateUnloaded

Tools: 

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setPageVisibility):
* TestWebKitAPI/Tests/WebKit2/PageVisibilityState.cpp:
(TestWebKitAPI::didRunStep3StateChangePrerenderToUnloaded):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPageVisibility):
    - remove test for visibility state "unloaded"; this is no longer supported (it never really was).

LayoutTests: 

* fast/events/page-visibility-transition-test-expected.txt:
* fast/events/page-visibility-transition-test.html:
    - remove test for visibility state "unloaded"; this is no longer supported (it never really was).



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DatabaseProcess: Pipe through object store IDs and transaction mode for "openTransaction"
https://bugs.webkit.org/show_bug.cgi?id=125872

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Make these enums into enum classes.
Add const maximums for each enum class that might be serialized to allow for conversion later:
* Modules/indexeddb/IndexedDB.h:

Add cross-thread copying for these new enum classes.
* platform/CrossThreadCopier.cpp:
(WebCore::::copy):
* platform/CrossThreadCopier.h:

Adopt the new enum classes throughout the rest of WebCore:
* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::stringToDirection):
(WebCore::IDBCursor::directionToString):
* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBCursorBackend.cpp:
(WebCore::IDBCursorBackend::deleteFunction):
* Modules/indexeddb/IDBCursorBackend.h:
(WebCore::IDBCursorBackend::value):
* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::createObjectStore):
(WebCore::IDBDatabaseBackend::deleteObjectStore):
(WebCore::IDBDatabaseBackend::createIndex):
(WebCore::IDBDatabaseBackend::deleteIndex):
(WebCore::IDBDatabaseBackend::get):
(WebCore::IDBDatabaseBackend::put):
(WebCore::IDBDatabaseBackend::setIndexKeys):
(WebCore::IDBDatabaseBackend::openCursor):
(WebCore::IDBDatabaseBackend::deleteRange):
(WebCore::IDBDatabaseBackend::clearObjectStore):
(WebCore::IDBDatabaseBackend::transactionStarted):
(WebCore::IDBDatabaseBackend::transactionFinished):
(WebCore::IDBDatabaseBackend::transactionFinishedAndAbortFired):
(WebCore::IDBDatabaseBackend::transactionFinishedAndCompleteFired):
(WebCore::IDBDatabaseBackend::createTransaction):
(WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackend::deleteDatabase):
* Modules/indexeddb/IDBDatabaseBackend.h:
* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::open):
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):
* Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::openCursor):
* Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::setResultCursor):
(WebCore::IDBRequest::onSuccess):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::stringToMode):
(WebCore::IDBTransaction::modeToString):
* Modules/indexeddb/IDBTransaction.h:
* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::PutOperation::perform):
* Modules/indexeddb/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::processStartedTransactions):
(WebCore::IDBTransactionCoordinator::canRunTransaction):
* Modules/indexeddb/IDBVersionChangeEvent.h:
(WebCore::IDBVersionChangeEvent::create):
(WebCore::IDBVersionChangeEvent::newVersion):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::objectStoreCursorOptions):
(WebCore::indexCursorOptions):
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::get):
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):
(WebCore::IDBServerConnectionLevelDB::cursorPrefetchIteration):

* WebCore.exp.in:

Source/WebKit2:

Pipe through the objectStoreIDs and mode:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::openTransaction):
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

Rework postTransactionOperation to take a pre-made AsyncTask to allow for different
transaction operation function signatures:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::openTransaction): Pipe through the objectStoreIDs and mode:
(WebKit::UniqueIDBDatabase::beginTransaction):
(WebKit::UniqueIDBDatabase::commitTransaction):
(WebKit::UniqueIDBDatabase::resetTransaction):
(WebKit::UniqueIDBDatabase::rollbackTransaction):
(WebKit::UniqueIDBDatabase::postTransactionOperation):
(WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

Pipe through the objectStoreIDs and mode:
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

* Platform/Logging.h: Add an IDB logging channel.

* Shared/AsyncTask.h:
(WebKit::createAsyncTask): Add a 3-argument variant.

* Shared/WebCrossThreadCopier.cpp:
(WebCore::::copy): Add a Vector<int64_t> copier.
* Shared/WebCrossThreadCopier.h:

Add logging throughout currently implemented methods:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::openTransaction): Pipe through the objectStoreIDs and mode.
(WebKit::WebIDBServerConnection::didOpenTransaction):
(WebKit::WebIDBServerConnection::beginTransaction):
(WebKit::WebIDBServerConnection::didBeginTransaction):
(WebKit::WebIDBServerConnection::commitTransaction):
(WebKit::WebIDBServerConnection::didCommitTransaction):
(WebKit::WebIDBServerConnection::resetTransaction):
(WebKit::WebIDBServerConnection::didResetTransaction):
(WebKit::WebIDBServerConnection::rollbackTransaction):
(WebKit::WebIDBServerConnection::didRollbackTransaction):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Upstream WebCore/html changes
https://bugs.webkit.org/show_bug.cgi?id=125765

Reviewed by Darin Adler.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* html/Autocapitalize.cpp: Added.
* html/Autocapitalize.h: Added. Also, added FIXME comment to forward declare AtomicString once we upstream
more of the iOS port.
* html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent): Opt out of code when building for iOS.
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::isKeyboardFocusable): Added; iOS-specific.
* html/BaseDateAndTimeInputType.h:
* html/FileInputType.cpp:
(WebCore::FileInputType::FileInputType): Added iOS-specific code.
(WebCore::FileInputType::~FileInputType): Opt out of code when building for iOS. Also, added FIXME comment.
(WebCore::FileInputType::requestIcon): Ditto.
(WebCore::FileInputType::filesChosen): Added; iOS-specific.
(WebCore::FileInputType::displayString): Added; iOS-specific.
(WebCore::FileInputType::receiveDroppedFiles): Guarded code with ENABLE(DRAG_SUPPORT).
* html/FileInputType.h:
* html/FormController.cpp:
(WebCore::FormController::formElementsCharacterCount): Added.
* html/FormController.h:
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::updateWidget): Opt out of code when building for iOS.
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::computePath): Changed argument datatype from RenderElement* to RenderObject*.
Also, added FIXME comment to fix this up once we upstream iOS's DOMUIKitExtensions.{h, mm}.
(WebCore::HTMLAreaElement::computeRect): Ditto.
* html/HTMLAreaElement.h:
* html/HTMLAttributeNames.in: Added attributes ongesture{start, change, end}, autocorrect, autocapitalize,
data-youtube-id, onwebkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}, webkit-playsinline,
x-webkit-airplay, and x-webkit-wirelessvideoplaybackdisabled.
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::scrollLeft): Added iOS-specific code.
(WebCore::HTMLBodyElement::scrollTop): Ditto.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::HTMLCanvasElement): Added iOS-specific code and FIXME comment.
(WebCore::HTMLCanvasElement::createImageBuffer): Added iOS-specific code.
* html/HTMLCanvasElement.h: Added iOS-specific code and FIXME comment.
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::HTMLDocument): Added argument isSynthesized (default to false), which is
passed through to Document::Document(), to create a synthesized document.
* html/HTMLDocument.h:
(WebCore::HTMLDocument::createSynthesizedDocument): Added.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::collectStyleForPresentationAttribute): Added iOS-specific code.
(WebCore::populateEventNameForAttributeLocalNameMap): Ditto.
(WebCore::HTMLElement::willRespondToMouseMoveEvents): Added; iOS-specific.
(WebCore::HTMLElement::willRespondToMouseWheelEvents): Added; iOS-specific.
(WebCore::HTMLElement::willRespondToMouseClickEvents): Added; iOS-specific.
* html/HTMLElement.h:
* html/HTMLFormControlElement.cpp: Added FIXME comment to share more code with class HTMLFormElement.
(WebCore::HTMLFormControlElement::autocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormControlElement::setAutocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormControlElement::autocapitalizeType): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormControlElement::autocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormControlElement::setAutocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
* html/HTMLFormControlElement.h:
* html/HTMLFormElement.cpp: Added FIXME comment to share more code with class HTMLFormControlElement.
(WebCore::HTMLFormElement::submitImplicitly): Modified to code to allow implicit submission of multi-input
forms only if Settings::allowMultiElementImplicitSubmission() returns true. Such behavior is expected by older
iOS apps. Also, changed datatype of variable submissionTriggerCount from int to unsigned because it represents
a non-negative value.
(WebCore::HTMLFormElement::autocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormElement::setAutocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormElement::autocapitalizeType): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormElement::autocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
(WebCore::HTMLFormElement::setAutocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
* html/HTMLFormElement.h:
* html/HTMLFormElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
* html/HTMLIFrameElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::displayString): Added; guarded by PLATFORM(IOS).
(WebCore::HTMLInputElement::dateType): Added; guarded by PLATFORM(IOS).
* html/HTMLInputElement.h:
* html/HTMLInputElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::willRespondToMouseClickEvents): Added iOS-specific code.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Added iOS-specific code and FIXME comment.
(WebCore::HTMLMediaElement::~HTMLMediaElement): Added iOS-specific code.
(WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Added; iOS-specific.
(WebCore::HTMLMediaElement::parseAttribute): Added iOS-specific code.
(WebCore::HTMLMediaElement::insertedInto): Ditto.
(WebCore::HTMLMediaElement::load): Ditto.
(WebCore::HTMLMediaElement::prepareForLoad): Ditto.
(WebCore::HTMLMediaElement::autoplay): Ditto.
(WebCore::HTMLMediaElement::play): Ditto.
(WebCore::HTMLMediaElement::playInternal): Ditto.
(WebCore::HTMLMediaElement::pauseInternal): Ditto.
(WebCore::HTMLMediaElement::setVolumne): Opt out of code when building for iOS.
(WebCore::HTMLMediaElement::setMuted): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Added iOS-specific code.
(WebCore::HTMLMediaElement::updateVolume): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::userCancelledLoad): Added iOS-specific code and FIXME comment.
(WebCore::HTMLMediaElement::resume): Added iOS-specific comment. See <rdar://problem/9751303>.
(WebCore::HTMLMediaElement::deliverNotification): Added iOS-specific code.
(WebCore::HTMLMediaElement::getPluginProxyParams): Added iOS-specific code. Also, changed src() to getNonEmptyURLAttribute()
in the non-iOS code as their doesn't exist a method called src in this class or its superclasses.
(WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::mediaPlayerPlaybackTargetAvailabilityChanged): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::addEventListener): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::removeEventListener): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLMediaElement::enterFullscreen): Added iOS-specific code.
(WebCore::HTMLMediaElement::exitFullscreen): Ditto.
(WebCore::HTMLMediaElement::createMediaPlayer): Added ENABLE(IOS_AIRPLAY)-guarded code.
(WebCore::HTMLMediaElement::userRequestsMediaLoading): Added; guarded by PLATFORM(IOS).
(WebCore::HTMLMediaElement::shouldUseVideoPluginProxy): Use dot operator instead of dereference operator (->)
when accessing Document::settings().
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Added ENABLE(PLUGIN_PROXY_FOR_VIDEO)-guarded code.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::userGestureRequiredToShowPlaybackTargetPicker): Added; guarded by ENABLE(IOS_AIRPLAY).
* html/HTMLMediaElement.idl: Added ENABLE_IOS_AIRPLAY-guarded attributes and functions:webkitCurrentPlaybackTargetIsWireless,
onwebkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}, and webkitShowPlaybackTargetPicker().
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::process): Added iOS-specific code.
* html/HTMLObjectElement.cpp:
(WebCore::shouldNotPerformURLAdjustment): Added; iOS-specific.
(WebCore::HTMLObjectElement::parametersForPlugin): Modified to call shouldNotPerformURLAdjustment() when
building for iOS.
* html/HTMLPlugInElement.h:
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::createRenderer): Added iOS-specific code.
(WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree): Added; iOS-specific.
* html/HTMLPlugInImageElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::usesMenuList): Added iOS-specific code.
(WebCore::HTMLSelectElement::createRenderer): Ditto.
(WebCore::HTMLSelectElement::childShouldCreateRenderer): Ditto.
(WebCore::HTMLSelectElement::willRespondToMouseClickEvents): Added; iOS-specific.
(WebCore::HTMLSelectElement::updateListBoxSelection): Added iOS-specific code.
(WebCore::HTMLSelectElement::scrollToSelection): Ditto.
(WebCore::HTMLSelectElement::setOptionsChangedOnRenderer): Ditto.
(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Opt out of code when building for iOS.
(WebCore::HTMLSelectElement::defaultEventHandler): Added iOS-specific code.
* html/HTMLSelectElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents): Added; iOS-specific.
* html/HTMLTextAreaElement.h:
* html/HTMLTextAreaElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::select): Added iOS-specific code and FIXME comment.
(WebCore::HTMLTextFormControlElement::setSelectionRange): Opt out of code when building for iOS.
(WebCore::HTMLTextFormControlElement::hidePlaceholder): Added; guarded by PLATFORM(IOS).
(WebCore::HTMLTextFormControlElement::showPlaceholderIfNecessary): Added; guarded by PLATFORM(IOS).
* html/HTMLTextFormControlElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::createRenderer): Fix up call to HTMLMediaElement::createRenderer().
(WebCore::HTMLVideoElement::parseAttribute): Added iOS-specific code.
(WebCore::HTMLVideoElement::supportsFullscreen): Ditto.
(WebCore::HTMLVideoElement::webkitWirelessVideoPlaybackDisabled): Added; guarded by ENABLE(IOS_AIRPLAY).
(WebCore::HTMLVideoElement::setWebkitWirelessVideoPlaybackDisabled): Added; guarded by ENABLE(IOS_AIRPLAY).
* html/HTMLVideoElement.h:
* html/HTMLVideoElement.idl: Added ENABLE_IOS_AIRPLAY-guarded attribute: webkitWirelessVideoPlaybackDisabled.
* html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure): Added iOS-specific code.
(WebCore::ImageDocument::scale): Ditto.
(WebCore::ImageDocument::resizeImageToFit): Ditto.
(WebCore::ImageDocument::imageClicked): Ditto.
(WebCore::ImageDocument::imageFitsInWindow): Ditto.
(WebCore::ImageDocument::windowSizeChanged): Ditto.
* html/InputType.cpp:
(WebCore::InputType::dateType): Added; guarded by PLATFORM(IOS).
(WebCore::InputType::isKeyboardFocusable): Added iOS-specific code.
(WebCore::InputType::displayString): Added; guarded by PLATFORM(IOS).
* html/InputType.h:
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure): Added iOS-specific code.
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleTouchEvent): Ditto.
(WebCore::RangeInputType::disabledAttributeChanged): Added; iOS-specific.
* html/RangeInputType.h:
* html/SearchInputType.cpp:
(WebCore::SearchInputType::addSearchResult): Opt out of code when building for iOS.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::isKeyboardFocusable): Added iOS-specific code.
* html/TextFieldInputType.h:
* html/WebAutocapitalize.h: Added.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createImageData): Added iOS-specific code.
(WebCore::CanvasRenderingContext2D::getImageData): Ditto.
* html/parser/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSite::isTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
* html/parser/HTMLParserScheduler.h:
(WebCore::HTMLParserScheduler::checkForYieldBeforeToken): Added iOS-specific code.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::insertPhoneNumberLink): Added; guarded by PLATFORM(IOS).
(WebCore::HTMLTreeBuilder::linkifyPhoneNumbers): Added; guarded by PLATFORM(IOS).
(WebCore::disallowTelephoneNumberParsing): Added; guarded by PLATFORM(IOS).
(WebCore::shouldParseTelephoneNumbersInNode): Added; guarded by PLATFORM(IOS).
(WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Added iOS-specific code.
* html/parser/HTMLTreeBuilder.h:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Guarded member initialization of m_controls with ENABLE(VIDEO_TRACK). Also added UNUSED_PARAM(event) when building with
VIDEO_TRACK disabled.
(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Added UNUSED_PARAM(event) when
building with VIDEO_TRACK disabled.
* html/shadow/MediaControls.h:
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::SliderThumbElement): Added iOS-specific code.
(WebCore::SliderThumbElement::dragFrom): Opt out of code when building for iOS.
(WebCore::SliderThumbElement::willDetachRenderers):  Added iOS-specific code.
(WebCore::SliderThumbElement::exclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::setExclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::clearExclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::findTouchWithIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::handleTouchStart): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::handleTouchMove): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::handleTouchEndAndCancel): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::didAttachRenderers): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::handleTouchEvent): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::shouldAcceptTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::registerForTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::unregisterForTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
(WebCore::SliderThumbElement::disabledAttributeChanged): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
* html/shadow/SliderThumbElement.h:
* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler): Opt out of code when building for iOS.
* html/shadow/TextControlInnerElements.h:
* page/Settings.in: Added setting allowMultiElementImplicitSubmission to enable/disable multi-input implicit form
submission (disabled by default). Also added FIXME comment to rename this setting to allowMultiElementImplicitFormSubmission
once we upstream the iOS changes to WebView.mm.

Source/WTF:

Defined ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE, enabled by default on iOS.

* wtf/FeatureDefines.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Video element's width and height content attributes should not influence intrinsic width and height
https://bugs.webkit.org/show_bug.cgi?id=125822

Reviewed by Darin Adler.

Source/WebCore: 

Merge https://chromium.googlesource.com/chromium/blink/+/022ce34efb5b70cb964c3ca29f23c8980ffaef05

The width/height content attributes already influence specified style via
HTMLVideoElement::collectStyleForPresentationAttribute, to also influence the intrinsic size has never
been part of the spec: http://www.w3.org/TR/2013/WD-html51-20130528/embedded-content-0.html#dom-dim-width

The test case passes in Firefox Nightly and IE11 Release Preview, but fails in Opera Presto, which has
no default intrinsic size.

Test: media/video-intrinsic-width-height.html

* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::calculateIntrinsicSize):

LayoutTests: 

* media/video-intrinsic-width-height-expected.txt: Added.
* media/video-intrinsic-width-height.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160734 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Give the MiniBrowser a bundle
https://bugs.webkit.org/show_bug.cgi?id=125882

Reviewed by Sam Weinig.

* MiniBrowser/Configurations/MiniBrowserBundle.xcconfig: Added.
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
* MiniBrowser/MiniBrowserWebProcessPlugIn.h: Added.
* MiniBrowser/MiniBrowserWebProcessPlugIn.m: Added.
(-[MiniBrowserWebProcessPlugIn webProcessPlugIn:initializeWithObject:]):
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate init]):
* MiniBrowser/mac/Bundle/Info.plist: Added.
* MiniBrowser/mac/Bundle/MiniBrowserBundle_Prefix.pch: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Rename WebURLRequest to API::URLRequest
https://bugs.webkit.org/show_bug.cgi?id=125886

Reviewed by Anders Carlsson.

* Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
* Shared/API/c/WKURLRequest.cpp:
(WKURLRequestGetTypeID):
(WKURLRequestCreateWithWKURL):
(WKURLRequestSetDefaultTimeoutInterval):
* Shared/API/c/mac/WKURLRequestNS.mm:
(WKURLRequestCreateWithNSURLRequest):
* Shared/APIString.h:
* Shared/APIURLRequest.cpp: Copied from Source/WebKit2/Shared/WebURLRequest.cpp.
(API::URLRequest::URLRequest):
(API::URLRequest::defaultTimeoutInterval):
(API::URLRequest::setDefaultTimeoutInterval):
(API::URLRequest::encode):
(API::URLRequest::decode):
* Shared/APIURLRequest.h: Copied from Source/WebKit2/Shared/WebURLRequest.h.
(API::URLRequest::create):
* Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
* Shared/WebURLRequest.cpp: Removed.
* Shared/WebURLRequest.h: Removed.
* UIProcess/API/C/WKContext.cpp:
* UIProcess/API/C/WKDownload.cpp:
(WKDownloadCopyRequest):
* UIProcess/API/C/WKNavigationDataRef.cpp:
(WKNavigationDataCopyOriginalRequest):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadRequest:userData:]):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
* UIProcess/WebInspectorProxy.cpp:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadURLRequest):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPolicyClient.cpp:
(WebKit::WebPolicyClient::decidePolicyForNavigationAction):
(WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
(WebKit::WebPolicyClient::decidePolicyForResponse):
* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::createNewPage):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
(WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
(WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
(WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
(WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160737 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MSE][Mac] Null-deref in CMSampleBufferIsRandomAccess().
https://bugs.webkit.org/show_bug.cgi?id=125698

Reviewed by Sam Weinig.

If a given CMSampleBufferRef does not have a sample attachments array (which is unlikely, but
possible), CMSampleBufferGetAttachmentsArray() will return a null value.

Additionally, the CMSampleBuffer documentation states that "samples are assumed to be sync
samples by default", so the absence of an attachment array (or the absense of a
kCMSampleAttachmentKey_NotSync entry in any of the attachment dictionaries) indicates the
sample is sync.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::CMSampleBufferIsRandomAccess):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MSE] Update duration after appending samples, per spec.
https://bugs.webkit.org/show_bug.cgi?id=125703

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-duration-after-append.html

After appending a sample, update the MediaSource duration if the sample's
presentation end time is greater than the existing duration.

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::setDuration): Notify the MediaPlayer.

LayoutTests:

* media/media-source/media-source-duration-after-append-expected.txt: Added.
* media/media-source/media-source-duration-after-append.html: Added.


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