Break out ImageControls style into an external stylesheet
https://bugs.webkit.org/show_bug.cgi?id=129273

Reviewed by Jer Noble.

* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:

* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
* css/CSSDefaultStyleSheets.h:

* html/shadow/mac/ImageControlsRootElementMac.cpp:
(WebCore::ImageControlsRootElementMac::maybeCreate):

* html/shadow/mac/imageControlsMac.css:
(.x-webkit-imagemenu):
(.x-webkit-imagemenu:hover):

* rendering/RenderTheme.h:
(WebCore::RenderTheme::mediaControlsScript):
(WebCore::RenderTheme::imageControlsStyleSheet):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::imageControlsStyleSheet):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Disabled WebGL on WinCairo.

Unreviewed.

* wtf/FeatureDefines.h:
Removed ENABLE_WEBGL definition for WinCairo port.
WebGL has not worked on WinCairo since r163079
and it was not compiling with a recent ANGLE update.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Unreviewed pre-emptive build fix.

* WebCore.vcxproj/WebCoreCommon.props: Add replay directory to include path.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Grid Layout] handle undefined RemainingSpace in computeUsedBreadthOfGridTracks algorithm
https://bugs.webkit.org/show_bug.cgi?id=128372

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-02-24
Reviewed by David Hyatt.

From Blink r165692 by <svillar@igalia.com>

Source/WebCore:

The spec defines a different code path for the computeUsedBreadthOfGridTracks algorithm
http://dev.w3.org/csswg/css-grid/#function-ComputeUsedBreadthOfGridTracks.

Basically the track breadth is different when the available size is undefined and thus,
cannot be taken into account during the computations.
The available size is undefined whenever the height is auto or the grid element has a
shrink-to-fit behavior.

It was also renamed the function to match the specs so the function name starts with
'compute' instead of 'computed'.

No new tests, but added new cases to some of them.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::gridElementIsShrinkToFit):
(WebCore::RenderGrid::computeNormalizedFractionBreadth):
(WebCore::RenderGrid::layoutGridItems):
* rendering/RenderGrid.h:

LayoutTests:

Adapt tests to consider also cases for undefined RemainingSpace.

* fast/css-grid-layout/flex-and-minmax-content-resolution-rows-expected.txt:
* fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html:
* fast/css-grid-layout/flex-content-resolution-rows-expected.txt:
* fast/css-grid-layout/flex-content-resolution-rows.html:
* fast/css-grid-layout/grid-auto-columns-rows-update-expected.txt:
* fast/css-grid-layout/grid-auto-columns-rows-update.html:
* fast/css-grid-layout/grid-dynamic-updates-relayout-expected.txt:
* fast/css-grid-layout/grid-dynamic-updates-relayout.html:
* fast/css-grid-layout/grid-item-addition-track-breadth-update-expected.txt:
* fast/css-grid-layout/grid-item-addition-track-breadth-update.html:
* fast/css-grid-layout/grid-item-multiple-minmax-content-resolution-expected.txt:
* fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html:
* fast/css-grid-layout/grid-item-removal-track-breadth-update-expected.txt:
* fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
* fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution-expected.txt:
* fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution.html:
* fast/css-grid-layout/implicit-position-dynamic-change-expected.txt:
* fast/css-grid-layout/implicit-position-dynamic-change.html:
* fast/css-grid-layout/minmax-max-content-resolution-rows-expected.txt:
* fast/css-grid-layout/minmax-max-content-resolution-rows.html:
* fast/css-grid-layout/minmax-min-content-column-resolution-rows-expected.txt:
* fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
* fast/css-grid-layout/minmax-spanning-resolution-rows-expected.txt:
* fast/css-grid-layout/minmax-spanning-resolution-rows.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WinCairo] Disable ANGLE build on WinCairo port.

* WebKit.vcxproj/WebKit.sln:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Create SessionID value-style class for session IDs.
https://bugs.webkit.org/show_bug.cgi?id=129141

Source/WebCore:

Patch by Martin Hock <mhock@apple.com> on 2014-02-24
Reviewed by Brady Eidson.

* GNUmakefile.list.am:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* page/Page.cpp: Add SessionID member.
(WebCore::Page::Page):
(WebCore::Page::sessionID): Retrieve sessionID or use settings if not set.
* page/Page.h:
(WebCore::Page::setSessionID):
* page/SessionID.h: Session ID class consisting solely of its uint64_t session ID.
(WebCore::SessionID::SessionID):
(WebCore::SessionID::isValid): Not empty.
(WebCore::SessionID::isEphemeral):
(WebCore::SessionID::sessionID):
(WebCore::SessionID::operator==): Value-based equality.
(WebCore::SessionID::operator!=):
(WebCore::SessionID::emptySessionID): Zero value also used for HashTraits emptyValue.
(WebCore::SessionID::defaultSessionID):
(WebCore::SessionID::legacyPrivateSessionID):
* page/SessionIDHash.h:
(WTF::SessionIDHash::hash): Just the casted session ID (low order bytes)
(WTF::SessionIDHash::equal):
(WTF::HashTraits<WebCore::SessionID>::emptyValue): Equal to emptySessionID.
(WTF::HashTraits<WebCore::SessionID>::constructDeletedValue): -1 value.
(WTF::HashTraits<WebCore::SessionID>::isDeletedValue):

Source/WebKit2:

The below changes deal solely with mechanical changes to use the SessionID value class instead of uint64_t except where noted.

Patch by Martin Hock <mhock@apple.com> on 2014-02-24
Reviewed by Brady Eidson.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::storageSession):
(WebKit::NetworkConnectionToWebProcess::startDownload):
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
(WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
(WebKit::NetworkConnectionToWebProcess::getRawCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookie):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::ensurePrivateBrowsingSession):
(WebKit::NetworkProcess::destroyPrivateBrowsingSession):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/RemoteNetworkingContext.h:
* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
* NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
* Shared/Network/NetworkResourceLoadParameters.h:
* Shared/SessionTracker.cpp:
(WebKit::staticSessionMap):
(WebKit::storageSessionToID):
(WebKit::SessionTracker::sessionMap):
(WebKit::SessionTracker::session):
(WebKit::SessionTracker::sessionID):
(WebKit::SessionTracker::setSession):
(WebKit::SessionTracker::destroySession):
* Shared/SessionTracker.h: Move code to SessionID class.
* Shared/WebCoreArgumentCoders.cpp: Add encode and decode for SessionID.
(IPC::ArgumentCoder<SessionID>::encode):
(IPC::ArgumentCoder<SessionID>::decode):
* Shared/WebCoreArgumentCoders.h:
* Shared/mac/CookieStorageShim.mm:
(WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
* UIProcess/APISession.cpp:
(API::generateID):
(API::Session::defaultSession):
(API::Session::legacyPrivateSession):
(API::Session::Session):
(API::Session::isEphemeral):
(API::Session::getID):
* UIProcess/APISession.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
(WebKit::WebContext::createNewWebProcess):
* UIProcess/WebContext.h:
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::sessionID):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::loadResourceSynchronously):
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::storageSession):
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::storageSession):
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
* WebProcess/WebPage/WebPage.cpp: Move sessionID to Page to allow WebCore to access it.
(WebKit::WebPage::WebPage):
(WebKit::WebPage::sessionID):
(WebKit::WebPage::isUsingEphemeralSession):
(WebKit::WebPage::setSessionID):
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensurePrivateBrowsingSession):
(WebKit::WebProcess::destroyPrivateBrowsingSession):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSC regressions after r164494
https://bugs.webkit.org/show_bug.cgi?id=129272

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-24
Reviewed by Mark Lam.

* offlineasm/x86.rb: Only avoid reverse opcode (fdivr) for Windows.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] Adjust lineTop position to the next available wrapping location at shape-outsides
https://bugs.webkit.org/show_bug.cgi?id=128693

Reviewed by David Hyatt.

Source/WebCore:

When we don't have space next to the floating container, but we have space inside the floating-container next
to the defined shape-outside, we should wrap around the shape-outside. This patch fixes the behavior both for
cases when there is no space to fit at the first line, and for the additional lines cases.

Test: fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjustment.html

* rendering/line/BreakingContextInlineHeaders.h:
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
* rendering/line/LineWidth.cpp:
(WebCore::availableWidthAtOffset):
(WebCore::LineWidth::updateLineDimension): Added new helper.
(WebCore::isWholeLineFit): Added new helper.
(WebCore::LineWidth::wrapNextToShapeOutside): Added new helper.
(WebCore::LineWidth::fitBelowFloats): Add optional parameter for the function.
* rendering/line/LineWidth.h:

LayoutTests:

* fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjustment-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjustment.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Prune dead code for Web Inspector canvas instrumentation.
<https://webkit.org/b/129269>

This was leftover code from Chromium's inspector. It's not used by
today's WebKit inspector.

Reviewed by Timothy Hatcher.

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* inspector/InjectedScriptCanvasModule.cpp: Removed.
* inspector/InjectedScriptCanvasModule.h: Removed.
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorCanvasAgent.cpp: Removed.
* inspector/InspectorCanvasAgent.h: Removed.
* inspector/InspectorCanvasInstrumentation.h: Removed.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::didBeginFrame):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
* inspector/InspectorInstrumentation.h:
* inspector/InstrumentingAgents.cpp:
(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):
* inspector/InstrumentingAgents.h:


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