Build fix for iOS

* bindings/objc/DOM.mm:
(-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
We use CGImageRef instead of NSImage here on iOS.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MiniBrowser doesn't support data URLs
https://bugs.webkit.org/show_bug.cgi?id=135492

Reviewed by Simon Fraser.

* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController addProtocolIfNecessary:]):
Don't add http:// to data: URLs.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController fetch:]):
(-[WK2BrowserWindowController updateTextFieldFromURL:]):
Percent-escape the contents of the address field before trying to make a URL.
Percent-unescape the URL when displaying it in the address field.
This is not great, but trivial and good-enough-for-Minibrowser.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nullptr goodness in RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=135512

Reviewed by Brent Fulgham.

Use nullptr in RenderLayer.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateDescendantDependentFlags):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::destroyScrollbar):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestList):
(WebCore::RenderLayer::calculateClipRects):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make it easer to add switches to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=135499

Reviewed by Simon Fraser.

Add a single class to manage a set of persistent, global settings for MiniBrowser.
Add a new menu that contains items to toggle the aforementioned settings (moving them out of the Debug menu).

* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
Add SettingsController.{m, h}.

* MiniBrowser/mac/AppDelegate.h:
Move _browserWindowControllers to the implementation.
Get rid of toggleUseWebKit2ByDefault, because SettingsController now takes care
of that; instead, we'll receive didChangeSettings.

* MiniBrowser/mac/AppDelegate.m:
Move the default URL, default URL preference key, and use-WebKit2-by-default
preference key into SettingsController.

(-[BrowserAppDelegate awakeFromNib]):
Add the dynamically-generated SettingsController menu just to the left of the Debug menu.

(-[BrowserAppDelegate newWindow:]):
Ask SettingsController if we should use WebKit2 by default, and what the initial URL to load is.

(-[BrowserAppDelegate applicationDidFinishLaunching:]):
SettingsController now takes care of reading the default URL preference.
WK1BrowserWindowController now takes care of enabling the developer extras, via WebPreferences.

(-[BrowserAppDelegate didChangeSettings]):
When settings change, update the key equivalents for the new-window menu items, as they
might have changed (as use-WebKit2-by-default is one of the settings).

Dispatch settings change notifications to all live BrowserControllers.

(-[BrowserAppDelegate _updateNewWindowKeyEquivalents]):
(-[BrowserAppDelegate toggleUseWebKit2ByDefault:]): Deleted.
(-[BrowserAppDelegate _useWebKit2ByDefault]): Deleted.
(-[BrowserAppDelegate validateMenuItem:]): Deleted.
All menu item validation for settings is moved into SettingsController.

* MiniBrowser/mac/BrowserWindowController.h:
Simplify the BrowserWindowController interface; "toggling" settings will happen inside SettingsController,
the BrowserWindowController subclasses will be able to a) know when any setting changes, b) query the current setting state.

* MiniBrowser/mac/MainMenu.xib:
Remove the settings menu items from the "Debug" menu.

* MiniBrowser/mac/SettingsController.h: Added.
* MiniBrowser/mac/SettingsController.m: Added.
(+[SettingsController shared]):
(-[SettingsController menu]):

(-[SettingsController _addItemWithTitle:action:indented:]):
(-[SettingsController _addHeaderWithTitle:]):
NSMenuItem-creating helpers.

(-[SettingsController _populateMenu]):
Build the menu. Ideally this and the validation step would eventually be made more dynamic.

(-[SettingsController validateMenuItem:]):
Validate menu items; since they can be used to toggle the default state of a setting,
we'll always return YES. However, we will use this opportunity to set the 'checked' state
of each item.

(-[SettingsController _toggleBooleanDefault:]):
Toggle the given boolean default, and notify BrowserAppDelegate that something changed.

(-[SettingsController toggleUseWebKit2ByDefault:]):
(-[SettingsController useWebKit2ByDefault]):
(-[SettingsController toggleUseTransparentWindows:]):
(-[SettingsController useTransparentWindows]):
(-[SettingsController toggleUsePaginatedMode:]):
(-[SettingsController usePaginatedMode]):
(-[SettingsController toggleUseUISideCompositing:]):
(-[SettingsController useUISideCompositing]):
(-[SettingsController toggleShowLayerBorders:]):
(-[SettingsController layerBordersVisible]):
(-[SettingsController toggleShowTiledScrollingIndicator:]):
(-[SettingsController tiledScrollingIndicatorVisible]):
(-[SettingsController toggleEnableSubPixelCSSOMMetrics:]):
(-[SettingsController subPixelCSSOMMetricsEnabled]):
(-[SettingsController defaultURL]):
Toggle or return the current state of each preference.

* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController awakeFromNib]):
(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController windowWillClose:]):
(-[WK1BrowserWindowController find:]):
(-[WK1BrowserWindowController dumpSourceToConsole:]):
(-[WK1BrowserWindowController didChangeSettings]):
(-[WK1BrowserWindowController webView:didReceiveTitle:forFrame:]):
(-[WK1BrowserWindowController isPaginated]): Deleted.
(-[WK1BrowserWindowController togglePaginationMode:]): Deleted.
(-[WK1BrowserWindowController toggleTransparentWindow:]): Deleted.
(-[WK1BrowserWindowController isSubpixelCSSOMElementMetricsEnabled]): Deleted.
(-[WK1BrowserWindowController toggleSubpixelCSSOMElementMetricsEnabled:]): Deleted.
(-[WK1BrowserWindowController layerBordersVisible]): Deleted.
(-[WK1BrowserWindowController toggleLayerBordersVisibility:]): Deleted.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController forceRepaint:]):
(-[WK2BrowserWindowController windowWillClose:]):
(-[WK2BrowserWindowController didChangeSettings]):
(-[WK2BrowserWindowController isPaginated]): Deleted.
(-[WK2BrowserWindowController togglePaginationMode:]): Deleted.
(-[WK2BrowserWindowController toggleTransparentWindow:]): Deleted.
(-[WK2BrowserWindowController isUISideCompositingEnabled]): Deleted.
(-[WK2BrowserWindowController toggleUISideCompositing:]): Deleted.
(-[WK2BrowserWindowController layerBordersVisible]): Deleted.
(-[WK2BrowserWindowController toggleLayerBordersVisibility:]): Deleted.
(-[WK2BrowserWindowController tiledScrollingIndicatorVisible]): Deleted.
(-[WK2BrowserWindowController toggleTiledScrollingIndicatorVisibility:]): Deleted.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/17862013> REGRESSION (r169357): Disabling "allow plug-ins" doesn't stick on quit/relaunch
https://bugs.webkit.org/show_bug.cgi?id=135511

Reviewed by Alexey Proskuryakov.

Since the values map in the preferences store doesn’t include values that are equal to the
defaults, we need to update it when a new default is registered.

* UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::createWithLegacyDefaults): Changed to use new member functions
for registering defaults.
(WebKit::WebPreferences::registerDefaultBoolValueForKey): Added. Sets an override default
in the store, and sets the user default, if there is one, on top of it.
(WebKit::WebPreferences::registerDefaultUInt32ValueForKey): Ditto.
* UIProcess/WebPreferences.h: Declared new member functions for getting the user default
value for a key.

* UIProcess/efl/WebPreferencesEfl.cpp:
(WebKit::WebPreferences::platformGetStringUserValueForKey): Added an implementation that
returns false, because the EFL port doesn’t support persistent user defaults.
(WebKit::WebPreferences::platformGetBoolUserValueForKey): Ditto.
(WebKit::WebPreferences::platformGetUInt32UserValueForKey): Ditto.
(WebKit::WebPreferences::platformGetDoubleUserValueForKey): Ditto.

* UIProcess/gtk/WebPreferencesGtk.cpp:
(WebKit::WebPreferences::platformGetStringUserValueForKey): Ditto for the GTK port.
(WebKit::WebPreferences::platformGetBoolUserValueForKey): Ditto.
(WebKit::WebPreferences::platformGetUInt32UserValueForKey): Ditto.
(WebKit::WebPreferences::platformGetDoubleUserValueForKey): Ditto.

* UIProcess/mac/WebPreferencesMac.mm:
(WebKit::WebPreferences::platformGetStringUserValueForKey): Added. Replaces
setStringValueIfInUserDefaults, on which it is based.
(WebKit::WebPreferences::platformGetBoolUserValueForKey): Similarly for booleans.
(WebKit::WebPreferences::platformGetUInt32UserValueForKey): Similarly for integers.
(WebKit::WebPreferences::platformGetDoubleUserValueForKey): Similarly for doubles.
(WebKit::WebPreferences::platformInitializeStore): Changed to use the above functions.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove EventNames.h include from header files
https://bugs.webkit.org/show_bug.cgi?id=135486

Reviewed by Alexey Proskuryakov.

No new tests because no functional changes.

* Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
* Modules/gamepad/GamepadEvent.h:
* Modules/indexeddb/IDBRequest.h:
* Modules/indexeddb/IDBTransaction.h:
* Modules/mediastream/RTCStatsResponse.h:
* Modules/websockets/WebSocket.h:
* css/FontLoader.h:
* dom/SecurityPolicyViolationEvent.h:
* loader/appcache/DOMApplicationCache.h:
* workers/AbstractWorker.h:
* workers/Worker.h:
* workers/WorkerGlobalScope.h:
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequestProgressEvent.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the iOS build after r171891

* platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::platformTopContentInset):
(WebCore::ScrollView::platformSetTopContentInset):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Confusing build fix after r171926.

* MiniBrowser/mac/AppDelegate.h:
* MiniBrowser/mac/AppDelegate.m:
* MiniBrowser/mac/SettingsController.m:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MSE][Mac] Volume is not remembered between items in a YouTube playlist
https://bugs.webkit.org/show_bug.cgi?id=135479

Reviewed by Eric Carlson.

When an AVSampleBufferAudioRenderer is added to the player, set its -volume and -muted
properties with the current values from the HTMLMediaElement.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove the JSC::OverridesVisitChildren flag.
<https://webkit.org/b/135489>

Source/JavaScriptCore:
Except for 3 special classes, the visitChildren() call is always
dispatched through the method table (see SlotVisitor.cpp.)

The OverridesVisitChildren flag doesn't actually do anything.
It could be used to implement a non-virtual direct call to
JSCell::visitChildren, bypassing the method table for some objects,
but such a micro-optimization seems like a weak trade for all this
code complexity. Instead, just remove the flag.

This change frees up an inline flag bit in JSCell.

Reviewed by Geoffrey Garen.

* API/JSAPIWrapperObject.h:
* API/JSAPIWrapperObject.mm:
(JSC::JSAPIWrapperObject::visitChildren):
* API/JSCallbackObject.h:
(JSC::JSCallbackObject::visitChildren):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedFunctionExecutable::visitChildren):
(JSC::UnlinkedCodeBlock::visitChildren):
(JSC::UnlinkedProgramCodeBlock::visitChildren):
* bytecode/UnlinkedCodeBlock.h:
* debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::visitChildren):
* debugger/DebuggerScope.h:
* jsc.cpp:
* runtime/Arguments.cpp:
(JSC::Arguments::visitChildren):
* runtime/Arguments.h:
* runtime/Executable.cpp:
(JSC::EvalExecutable::visitChildren):
(JSC::ProgramExecutable::visitChildren):
(JSC::FunctionExecutable::visitChildren):
* runtime/Executable.h:
* runtime/GetterSetter.cpp:
(JSC::GetterSetter::visitChildren):
* runtime/GetterSetter.h:
(JSC::GetterSetter::createStructure):
* runtime/JSAPIValueWrapper.h:
(JSC::JSAPIValueWrapper::createStructure):
* runtime/JSActivation.cpp:
(JSC::JSActivation::visitChildren):
* runtime/JSActivation.h:
* runtime/JSArrayIterator.cpp:
(JSC::JSArrayIterator::visitChildren):
* runtime/JSArrayIterator.h:
* runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::visitChildren):
* runtime/JSBoundFunction.h:
* runtime/JSCellInlines.h:
(JSC::JSCell::setStructure):
* runtime/JSFunction.cpp:
(JSC::JSFunction::visitChildren):
* runtime/JSFunction.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
* runtime/JSMap.h:
* runtime/JSMapIterator.cpp:
(JSC::JSMapIterator::visitChildren):
* runtime/JSMapIterator.h:
* runtime/JSNameScope.cpp:
(JSC::JSNameScope::visitChildren):
* runtime/JSNameScope.h:
* runtime/JSPromise.cpp:
(JSC::JSPromise::visitChildren):
* runtime/JSPromise.h:
* runtime/JSPromiseDeferred.cpp:
(JSC::JSPromiseDeferred::visitChildren):
* runtime/JSPromiseDeferred.h:
* runtime/JSPromiseReaction.cpp:
(JSC::JSPromiseReaction::visitChildren):
* runtime/JSPromiseReaction.h:
* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::visitChildren):
* runtime/JSPropertyNameIterator.h:
* runtime/JSProxy.cpp:
(JSC::JSProxy::visitChildren):
* runtime/JSProxy.h:
* runtime/JSScope.cpp:
(JSC::JSScope::visitChildren):
* runtime/JSScope.h:
* runtime/JSSegmentedVariableObject.cpp:
(JSC::JSSegmentedVariableObject::visitChildren):
* runtime/JSSegmentedVariableObject.h:
* runtime/JSSet.h:
* runtime/JSSetIterator.cpp:
(JSC::JSSetIterator::visitChildren):
* runtime/JSSetIterator.h:
* runtime/JSSymbolTableObject.cpp:
(JSC::JSSymbolTableObject::visitChildren):
* runtime/JSSymbolTableObject.h:
* runtime/JSTypeInfo.h:
(JSC::TypeInfo::overridesVisitChildren): Deleted.
* runtime/JSWeakMap.h:
* runtime/JSWithScope.cpp:
(JSC::JSWithScope::visitChildren):
* runtime/JSWithScope.h:
* runtime/JSWrapperObject.cpp:
(JSC::JSWrapperObject::visitChildren):
* runtime/JSWrapperObject.h:
* runtime/MapData.h:
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::visitChildren):
* runtime/NativeErrorConstructor.h:
* runtime/PropertyMapHashTable.h:
* runtime/PropertyTable.cpp:
(JSC::PropertyTable::visitChildren):
* runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::visitChildren):
* runtime/RegExpConstructor.h:
* runtime/RegExpMatchesArray.cpp:
(JSC::RegExpMatchesArray::visitChildren):
* runtime/RegExpMatchesArray.h:
* runtime/RegExpObject.cpp:
(JSC::RegExpObject::visitChildren):
* runtime/RegExpObject.h:
* runtime/SparseArrayValueMap.h:
* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::Structure::visitChildren):
* runtime/StructureChain.cpp:
(JSC::StructureChain::visitChildren):
* runtime/StructureChain.h:
* runtime/StructureRareData.cpp:
(JSC::StructureRareData::visitChildren):
* runtime/StructureRareData.h:
* runtime/WeakMapData.h:

Source/WebCore:
Tweak the bindings code generator to stop spitting out the flag.

Reviewed by Geoffrey Garen.

* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::visitChildren):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Timeline header height doesn't match style updates.
https://bugs.webkit.org/show_bug.cgi?id=135516

Reviewed by Timothy Hatcher.

Update the timeline header height to match the updates
to the navigation bars in other panels made in
https://bugs.webkit.org/show_bug.cgi?id=135445. Also
update the shadows on some of the search bars.

* UserInterface/Views/FilterBar.css:
(.filter-bar > input[type="search"]):
(body.mac-platform.legacy .filter-bar > input[type="search"]):
* UserInterface/Views/FindBanner.css:
(.find-banner > input[type="search"]):
(body.mac-platform.legacy .find-banner > input[type="search"]):
* UserInterface/Views/LogContentView.css:
(.search-bar.log-search-bar > input[type="search"]):
(body.mac-platform.legacy .search-bar.log-search-bar > input[type="search"]):
Remove inset shadows on search bars.

* UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .status-bar):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-status):
(.sidebar > .panel.navigation.timeline > .title-bar.timelines):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timelines):
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
(.sidebar > .panel.navigation.timeline > .timelines-content):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content):
(.sidebar > .panel.navigation.timeline > .empty-content-placeholder):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .empty-content-placeholder):
Update the height of the timeline status bar.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
URLs in srcset attributes are not made absolute upon copy and paste
https://bugs.webkit.org/show_bug.cgi?id=135448

Reviewed by Ryosuke Niwa.

Source/WebCore:
When pasting, canonicalize URLs in srcset the same way we do with src.

Test: editing/pasteboard/img-srcset-copy-paste-canonicalization.html

* dom/Element.cpp:
(WebCore::Element::completeURLsInAttributeValue): Initial implemention, moved from markup.cpp.
* dom/Element.h:
(WebCore::Element::attributeContainsURL): New function for completeURLs to call.
(WebCore::Element::completeURLsInAttributeValue): Only called if attributeContainsURL returns
true. Default implementation simply calls isURLAttribute().
* editing/markup.cpp:
(WebCore::completeURLs): Call attributeContainsURL() and completeURLsInAttributeValue() to
complete the URL, so nodes can perform their own behavior.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::attributeContainsURL): Return true for srcset.
(WebCore::HTMLImageElement::completeUrlAttributeValue): Use our existing srcset parser to
parse the srcset attribute, then use its output to canonicalize URLs, and build it back up
into a string.
* html/HTMLImageElement.h:
(WebCore::HTMLImageElement::attributeContainsURL):
(WebCore::HTMLImageElement::completeUrlAttributeValue):
* html/parser/HTMLSrcsetParser.cpp: Make parseImageCandidatesFromSrcsetAttribute() public
and change its signature to return its result.
(WebCore::parseImageCandidatesFromSrcsetAttribute):
* html/parser/HTMLSrcsetParser.h: Ditto.

LayoutTests:
Copy and paste a srcset image with relative URLs, and make sure that the
pasted srcset attribute doesn't match what it was before. I can't actually
dump the new srcset because it will include a full path of the file on the
user's system, and would therefore be machine-specific.

* editing/pasteboard/img-srcset-copy-paste-canonicalization-expected.txt:
* editing/pasteboard/img-srcset-copy-paste-canonicalization.html: Paste and check.
* editing/pasteboard/resources/img-srcset-copy-paste-canonicalization-iframe.html:
This has to be an iframe because we don't perform any url canonicalization if we
are copying and pasting from a document into itself.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Progress towards cmake on Windows.
https://bugs.webkit.org/show_bug.cgi?id=135484

Reviewed by Martin Robinson.


.: 
* CMakeLists.txt:
Added Mac to list of ports, even though it is not done yet.
Changed minimum bison version to version installed on Macs.
* Source/cmake/OptionsAppleWin.cmake:
Added some definitions.
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
Set WTF_LIBRARY_TYPE to STATIC to not change WTF linking on EFL or GTK ports.
* Source/cmake/OptionsMac.cmake: Added blank for now.
* Source/cmake/OptionsWinCairo.cmake:
* Source/cmake/OptionsWindows.cmake:
Added some definitions.
Removed /WX (warnings treated as error while compiling).
Copied warnings to ignore from WebKitLibraries/win/tools/vsprops/common.props.

Source/JavaScriptCore: 
* CMakeLists.txt:
Generate code directly to inspector directory to avoid using the cp command
which is not available on Windows.
* PlatformWin.cmake: Added.

Source/WTF: 
* wtf/CMakeLists.txt:
Added WTF_LIBRARY_TYPE because Windows needs WTF to be a shared library.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Various frameworks may want to use the container temp directory, so our current restrictions are too tight
https://bugs.webkit.org/show_bug.cgi?id=135518
<rdar://17869279>

Reviewed by Anders Carlsson.

We don't (and can't) have complete knowledge of what different frameworks
will want to use the container temporary directory for, and so our
current attempt to heavily restrict access is simply too tight.

This patch recognises this by simply giving read-write access to the
entire NSTemporary() directory (e.g. $container/tmp in the general case),
rather than the single sub directory we wishfully thought that we would
be able to get away with.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::mediaCacheDirectory): Deleted.
* UIProcess/WebContext.h:
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::containerTemporaryDirectory):
(WebKit::WebContext::platformMediaCacheDirectory): Deleted.
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::containerTemporaryDirectory):
(WebKit::WebContext::platformMediaCacheDirectory): Deleted.
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::containerTemporaryDirectory):
(WebKit::WebContext::platformMediaCacheDirectory): Deleted.
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Media iOS] Ensure there is a nice default fallback for missing wireless target names
https://bugs.webkit.org/show_bug.cgi?id=135488
<rdar://problem/17879156>

Reviewed by Eric Carlson.

We occasionally run into cases where this.host.externalDeviceDisplayName
is empty or null, creating a pretty ugly/confusing string in the
wireless playback status screen.

If this happens, we should default to using "Apple TV".

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.updateWirelessPlaybackStatus): Check if the externalDeviceDisplayName
is empty or null, and fall back to "Apple TV" if so.

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