Enable Session API.
https://bugs.webkit.org/show_bug.cgi?id=127255

Patch by Martin Hock <mhock@apple.com> on 2014-01-22
Reviewed by Alexey Proskuryakov.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::storageSession):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::start):
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/RemoteNetworkingContext.h:
* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::storageSession):
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
* Shared/SessionTracker.cpp:
(WebKit::staticSessionMap):
(WebKit::SessionTracker::sessionMap):
(WebKit::SessionTracker::session):
(WebKit::SessionTracker::setSession):
(WebKit::SessionTracker::destroySession):
* Shared/SessionTracker.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetSession):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/C/WKSessionRef.cpp:
(WKSessionCreate):
* UIProcess/API/C/WKSessionRef.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setSession):
* UIProcess/WebPageProxy.h:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::loadResourceSynchronously):
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
(WebKit::WebFrameNetworkingContext::storageSession):
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::sessionID):
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::setSessionID):
* WebProcess/WebPage/WebPage.messages.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: The IDB backing store get() method shouldn't call IDB callbacks directly
https://bugs.webkit.org/show_bug.cgi?id=127453

Reviewed by Beth Dakin.

* Modules/indexeddb/IDBServerConnection.h:
(WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the
  possible results of a get() call.

* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.
  Instead, return the GetResult to the GetOperation which will make IDBCallbacks.
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback
  make the appropriate IDBCallback.
* Modules/indexeddb/IDBTransactionBackendOperations.h:

Source/WebKit2: The IDB backing store get() method shouldn't call IDB callbacks directly
https://bugs.webkit.org/show_bug.cgi?id=127453

Reviewed by Beth Dakin.

* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::get):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Prepare for upstreaming DumpRenderTree changes
https://bugs.webkit.org/show_bug.cgi?id=127412

Reviewed by Simon Fraser.

Unlike on Mac where DumpRenderTree is a command-line tool, on iOS it is
an application bundle. Instead of upstreaming a separate target for the
app that duplicates the 'Compile Sources' phase of the tool, separate
out the compilation into a static library target that both the
command-line tool and the app can link against. Also, perform some
unrelated cleanup.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Updated the
project file format from 2.4- to 3.2-compatible. Removed the
'Copy Headers' build phase and removed all files from the
'Compile Sources' build phase of DumpRenderTree. Added some files that
were missing from the project. Created a 'DumpRenderTree (Library)'
target for building the static library and made the 'DumpRenderTree'
target depend on it. Added a 'Compile Sources' build phase to this
target that builds the same files the DumpRenderTree target used to.
Created DumpRenderTreeMain.mm as the only source file of the
DumpRenderTree target, since targets won't link a binary without at
least one source file. Made DumpRenderTree (Library) use
DumpRenderTreeLibrary.xcconfig and made LayoutTestHelper use
BaseTarget.xcconfig (so that it doesn't try to link libDumpRenderTree.a).
* DumpRenderTree/mac/Configurations/BaseTarget.xcconfig: Moved
definitions of GCC_ENABLE_OBJC_EXCEPTIONS and GCC_PREFIX_HEADER from
DumpRenderTree.xcconfig to here so that LayoutTestHelper can use them.
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Passed
-force_load $(BUILT_PRODUCTS_DIR)libDumpRenderTree.a to OTHER_LDFLAGS.
This is needed to correctly link a static library containing an Objective-C
category (see <https://developer.apple.com/library/mac/qa/qa1490/_index.html>).
* DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig: Added.
* DumpRenderTree/mac/DumpRenderTree.mm:
(DumpRenderTreeMain): Renamed from main.
* DumpRenderTree/mac/DumpRenderTreeMac.h: Added declaration of DumpRenderTreeMain.
* DumpRenderTree/mac/DumpRenderTreeMain.mm: Added.
(main): Called DumpRenderTreeMain from main.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ASAN builds are broken - missing flags
https://bugs.webkit.org/show_bug.cgi?id=127231

Reviewed by Andy Estes.

Add missing $(ASAN_OTHER_LDFLAGS).
* Configurations/PluginProcessShim.xcconfig:
* Configurations/SecItemShim.xcconfig:
* Configurations/WebKit2.xcconfig:
* Configurations/WebProcessShim.xcconfig:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162574 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update JS whitespace definition for changes in Unicode 6.3
https://bugs.webkit.org/show_bug.cgi?id=127450
<rdar://15863457>

Reviewed by Oliver Hunt.

Covered by existing tests when running against a Unicode back-end that supports
Unicode 6.3 or higher.

* runtime/JSGlobalObjectFunctions.cpp: (JSC::isStrWhiteSpace): Explicitly allow
U+180E MONGOLIAN VOWEL SEPARATOR, because we need to keep recognizing all characters
that used to be whitespace.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162575 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: AX: Do not return an accessible name for an object just because it has tabindex=0
https://bugs.webkit.org/show_bug.cgi?id=126914

Reviewed by Mario Sanchez Prada.

WebKit has code to return an accessible name for any object that is "generically" focusable (ie. tabindex=0).
This behavior, which is not supported in ARIA, has caused many problems for VoiceOver. Often VoiceOver will
speak all the text underneath any type of group.

I think we need to revert this behavior and follow the ARIA spec more closely.

Test: accessibility/aria-describedby-ensures-visibility.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):

LayoutTests: AX: WebKit concatenates name of all toolbar buttons in the apple.com video player
https://bugs.webkit.org/show_bug.cgi?id=126914

Reviewed by Mario Sanchez Prada.

* accessibility/focusable-div-expected.txt:
* accessibility/focusable-div.html:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Debug mechanism to override process QoS on Mac
https://bugs.webkit.org/show_bug.cgi?id=127455

Reviewed by Anders Carlsson.

* NetworkProcess/NetworkProcess.messages.in:
    - added message.
* PluginProcess/PluginProcess.messages.in:
    - added message.
* Shared/ChildProcess.h:
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::setQOS):
    - Added implementation of new message.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching):
    - SetQOS for the PluginProcess.
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::pluginProcessLatencyQOS):
(WebKit::pluginProcessThroughputQOS):
    - read NSUserDefaults.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureNetworkProcess):
    - SetQOS for the NetworkProcess.
(WebKit::WebContext::createNewWebProcess):
    - SetQOS for the WebProcess.
* UIProcess/WebContext.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::networkProcessLatencyQOS):
(WebKit::networkProcessThroughputQOS):
(WebKit::webProcessLatencyQOS):
(WebKit::webProcessThroughputQOS):
    - read NSUserDefaults.
* WebProcess/WebProcess.messages.in:
    - added message.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove CSS3_TEXT_DECORATION define
https://bugs.webkit.org/show_bug.cgi?id=127333

Source/JavaScriptCore:

This is required for unprefixing the text-decoration-* CSS properties.

Reviewed by Simon Fraser.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Reviewed by Simon Fraser.

This is required for unprefixing the text-decoration-* CSS properties.

No new tests are necessary becase the flag was already on by default.

* Configurations/FeatureDefines.xcconfig:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::renderTextDecorationSkipFlagsToCSSValue):
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::isColorPropertyID):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::addTextDecorationProperty):
(WebCore::CSSParser::parseTextUnderlinePosition):
* css/CSSParser.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/StylePropertyShorthand.cpp:
(WebCore::webkitTextDecorationShorthand):
(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):
* css/StylePropertyShorthand.h:
* css/StyleResolver.cpp:
(WebCore::shouldApplyPropertyInParseOrder):
(WebCore::isValidVisitedLinkProperty):
(WebCore::StyleResolver::applyProperty):
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setPlatformStrokeStyle):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformInit):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::createPen):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::computeMaxLogicalTop):
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::textDecorationStyleToStrokeStyle):
(WebCore::boundingBoxForAllActiveDecorations):
(WebCore::InlineTextBox::paintDecoration):
* rendering/RenderObject.cpp:
(WebCore::decorationColor):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::maxLogicalTop):
* rendering/RootInlineBox.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
(WebCore::RenderStyle::colorIncludingFallback):
(WebCore::RenderStyle::visitedDependentColor):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:

Source/WebKit/mac:

Reviewed by Simon Fraser.

This is required for unprefixing the text-decoration-* CSS properties.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Reviewed by Simon Fraser.

This is required for unprefixing the text-decoration-* CSS properties.

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

Reviewed by Simon Fraser.

This is required for unprefixing the text-decoration-* CSS properties.

* wtf/Platform.h:

Tools:

This is required for unprefixing the text-decoration-* CSS properties.

Reviewed by Simon Fraser.

* Configurations/FeatureDefines.xcconfig:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162579 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WKBrowsingContextController should not be an API wrapper around WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=127454

Reviewed by Dan Bernstein.

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController _initWithPageRef:]):
(+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
* UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
* UIProcess/API/Cocoa/WKProcessGroup.mm:
(didNavigateWithNavigationData):
(didPerformClientRedirect):
(didPerformServerRedirect):
(didUpdateHistoryTitle):
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView browsingContextController]):
* UIProcess/API/mac/WKView.mm:
(-[WKView browsingContextController]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::platformInitialize):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::platformInitialize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Remove unnecessary smart method since ewk_view_tiled removed
https://bugs.webkit.org/show_bug.cgi?id=127417

Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

pre_render related codes is only for ewk_view_tiled.
In addition, we don't have any requirement to override repaints_process
and scroll_process now.

* ewk/ewk_view.cpp:
(_ewk_view_smart_repaints_process):
(_ewk_view_smart_calculate):
(ewk_view_smart_set):
(ewk_view_scrolls_process):
* ewk/ewk_view.h:

Tools:

* EWebLauncher/main.c:
(on_key_down): Removed shortcut to test pre render.

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