WebKit-https.git
5 years agoRoll r168668 back in.
jhoneycutt@apple.com [Thu, 29 May 2014 23:52:32 +0000 (23:52 +0000)]
Roll r168668 back in.

<https://bugs.webkit.org/show_bug.cgi?id=132621>

Reviewed by Brent Fulgham.

Source/WebCore:
Tests: fast/events/beforeload-assertion.html
       fast/events/beforeload-iframe-crash.html
       fast/events/beforeload-input-time-crash.html

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
* dom/Document.h:
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::renderWidgetForJSBindings):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderWidgetForJSBindings):
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired):
(WebCore::FrameView::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::performPostLayoutTasks):
* page/FrameView.h:
* testing/Internals.cpp:
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

LayoutTests:
* compositing/plugins/composited-plugin.html:
* compositing/plugins/no-backing-store.html:
* fast/dom/beforeload/flash-before-load.html:
* fast/events/beforeload-assertion-expected.txt: Added.
* fast/events/beforeload-assertion.html: Added.
* fast/events/beforeload-iframe-crash-expected.txt: Added.
* fast/events/beforeload-iframe-crash.html: Added.
* fast/events/beforeload-input-time-crash-expected.txt: Added.
* fast/events/beforeload-input-time-crash.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
* http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
* http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
* http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
* http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
* http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:
(testImpl.iframe.onload):
(testImpl):
* http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
* platform/mac/plugins/supports-carbon-event-model.html:
* platform/mac/plugins/testplugin-onnew-onpaint.html:
* plugins/get-user-agent-with-null-npp-from-npp-new.html:
* plugins/mouse-click-plugin-clears-selection.html:
* plugins/netscape-plugin-map-data-to-src.html:
* plugins/no-mime-with-valid-extension.html:
* plugins/plugin-initiate-popup-window.html:
* plugins/windowless_plugin_paint_test.html:
* resources/plugin.js: Added.
(runAfterPluginLoad):

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

5 years agoSupport -apple-system-font on OS X
mmaxfield@apple.com [Thu, 29 May 2014 23:41:15 +0000 (23:41 +0000)]
Support -apple-system-font on OS X
https://bugs.webkit.org/show_bug.cgi?id=133382

Source/WebCore:
Reviewed by Simon Fraser.

Guard on both family names: "-apple-system-font" and "-webkit-system-font"

Test: platform/mac/fast/text/systemFont.html

* platform/mac/WebFontCache.mm:
(+[WebFontCache internalFontWithFamily:traits:weight:size:]):

LayoutTests:
This test makes sure that -apple-system-font is rendered the same way as -webkit-system-font.

Reviewed by Simon Fraser.

* platform/mac-mountainlion/platform/mac/fast/text/systemFont-expected.txt: Updated.
* platform/mac/fast/text/systemFont.html: Tests -apple-system-font in addition to -webkit-system-font.
* platform/mac/platform/mac/fast/text/systemFont-expected.txt: Updated.

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

5 years agoLoading <object> from WebArchive crashes
ap@apple.com [Thu, 29 May 2014 23:04:30 +0000 (23:04 +0000)]
Loading <object> from WebArchive crashes
https://bugs.webkit.org/show_bug.cgi?id=133386
<rdar://problem/13345509>

Reviewed by Brady Eidson.

Source/WebCore:
Test: webarchive/loading/object.html

This (a) fixes the crash, and (b) avoids the crash.

* loader/DocumentLoader.cpp: (WebCore::DocumentLoader::continueAfterContentPolicy):
Some types of substitute data - such as WebArchive - don't contain HTTP result codes,
so let's not drop to <object> fallback content when status is 0.
And if the load somehow failed anyway, don't crash by trying to deliver substitute data
to a finished loader.

LayoutTests:
* webarchive/loading/object-expected.txt: Added.
* webarchive/loading/object.html: Added.
* webarchive/loading/resources/object.webarchive: Added.

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

5 years agoAdd an instruction on how to backup the database.
rniwa@webkit.org [Thu, 29 May 2014 23:00:59 +0000 (23:00 +0000)]
Add an instruction on how to backup the database.
https://bugs.webkit.org/show_bug.cgi?id=133391

Rubber-stamped by Andreas Kling.

* Install.md:

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

5 years agoRestoring FloatingPointEnvironment initialization that was accidentally rolled out...
mark.lam@apple.com [Thu, 29 May 2014 22:26:58 +0000 (22:26 +0000)]
Restoring FloatingPointEnvironment initialization that was accidentally rolled out by r169176.
<https://webkit.org/b/133389>

Rubber stamped by Oliver Hunt.

* Shared/ios/ChildProcessIOS.mm:
(WebKit::ChildProcess::platformInitialize):

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

5 years ago[iOS WebGL] Fix depth buffer clearing issue.
commit-queue@webkit.org [Thu, 29 May 2014 22:10:16 +0000 (22:10 +0000)]
[iOS WebGL] Fix depth buffer clearing issue.
https://bugs.webkit.org/show_bug.cgi?id=133388

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-29
Reviewed by Dean Jackson.

No new tests, but this fixes webgl/1.0.1/conformance/canvas/buffer-preserve-test.html.

* platform/graphics/mac/WebGLLayer.mm:
(-[WebGLLayer display]):
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::prepareTexture):
Moved marking the layer as composited from the mac-only prepareTexture to
the end of [WebGLLayer display] which is called by mac and iOS.

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

5 years agoNeed to notify the keyboard about every KeyDown event.
enrica@apple.com [Thu, 29 May 2014 21:47:50 +0000 (21:47 +0000)]
Need to notify the keyboard about every KeyDown event.
https://bugs.webkit.org/show_bug.cgi?id=133383
<rdar://problem/16633975>

Reviewed by Benjamin Poulain.

A key down will generate most of the time a call to the keyboard to add input or delete.
But the event could be handled by JavaScript and its default prevented.
We need to notify the keyboard in every case to allow updating its internal state about what has been typed.

* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::doneWithKeyEvent):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didHandleKeyEvent:]):

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

5 years agoRoll out r169439. <rdar://problem/17069364>
matthew_hanson@apple.com [Thu, 29 May 2014 21:44:27 +0000 (21:44 +0000)]
Roll out r169439. <rdar://problem/17069364>

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

5 years agoFix an exception in InspectorBackend.Command.prototype.supports.
timothy@apple.com [Thu, 29 May 2014 20:23:30 +0000 (20:23 +0000)]
Fix an exception in InspectorBackend.Command.prototype.supports.

https://bugs.webkit.org/show_bug.cgi?id=133384

Reviewed by Joseph Pecoraro.

* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Command.prototype.supports): Use some not any.

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

5 years ago[GTK] Add a WebKit2 Performance bot.
commit-queue@webkit.org [Thu, 29 May 2014 20:14:29 +0000 (20:14 +0000)]
[GTK] Add a WebKit2 Performance bot.
https://bugs.webkit.org/show_bug.cgi?id=132862

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-29
Reviewed by Csaba Osztrogonác.

This adds a GTK WebKit2 perf bot.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

5 years ago[Cocoa] Can’t recover from subframe load errors
mitz@apple.com [Thu, 29 May 2014 20:01:27 +0000 (20:01 +0000)]
[Cocoa] Can’t recover from subframe load errors
https://bugs.webkit.org/show_bug.cgi?id=133385

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Declared new delegate method.
* UIProcess/Cocoa/NavigationState.h: Added flag in m_navigationDelegateMethods struct.
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate): Initialize
webViewNavigationDidFailProvisionalLoadInSubframeWithError flag in the delegate methods
struct.
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): If the
error occurred in a subframe, invoke the new delegate method.

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

5 years agoGardening: marking js/primitive-property-access-edge-cases.html as crashy.
mark.lam@apple.com [Thu, 29 May 2014 18:40:42 +0000 (18:40 +0000)]
Gardening: marking js/primitive-property-access-edge-cases.html as crashy.
<https://webkit.org/b/133356>

Not reviewed.

* TestExpectations:

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

5 years agoAdded a missing @result to WKPreferences headerdoc
ggaren@apple.com [Thu, 29 May 2014 18:38:06 +0000 (18:38 +0000)]
Added a missing @result to WKPreferences headerdoc
https://bugs.webkit.org/show_bug.cgi?id=133381

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKPreferences.h:

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

5 years ago[Mac] Always use plug-in sandbox with sandboxed clients
ap@apple.com [Thu, 29 May 2014 18:24:43 +0000 (18:24 +0000)]
[Mac] Always use plug-in sandbox with sandboxed clients
https://bugs.webkit.org/show_bug.cgi?id=133358
<rdar://problem/15637695>

Reviewed by Anders Carlsson.

* PluginProcess/mac/PluginProcessMac.mm: (WebKit::PluginProcess::initializeSandbox):
Refuse to start if parent process is sandboxed, and plug-in process is not going to be.
None of this should run in normal case, because there are also checks on UI process side.

* Shared/Plugins/PluginModuleInfo.h:
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::NetscapePluginModule::getPluginInfo):
Added a member to PluginModuleInfo, telling whether the plug-in has a sandbox profile.

* Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
(WebKit::getPlatformPluginModuleInformation): Use the new PluginModuleInfo member,
we no longer need to check the file system here.

* WebKit2.xcodeproj/project.pbxproj:
* Shared/mac/SandboxUtilities.h: Added.
* Shared/mac/SandboxUtilities.cpp: Added. (WebKit::processIsSandboxed):
This code is simple, but include magic is not. Moved it to a separate file to
avoid repeating.

* UIProcess/API/C/mac/WKContextPrivateMac.mm: Removed an unused include.

* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::shouldUsePlugin): Don't use unsandboxed plug-ins in
sandboxed applications.

* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformGetLaunchOptions): Don't ever pass disable-sandbox
from sandboxed processes.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::isClientSandboxed):
Use the new shared code in SandboxUtilities.h.

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

5 years agoCrash loading skydrive.com (assertion under RemoteLayerTreeDisplayRefreshMonitor)
timothy_horton@apple.com [Thu, 29 May 2014 18:19:03 +0000 (18:19 +0000)]
Crash loading skydrive.com (assertion under RemoteLayerTreeDisplayRefreshMonitor)
https://bugs.webkit.org/show_bug.cgi?id=133370
<rdar://problem/17061361>

Reviewed by Anders Carlsson.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::didUpdate):
Copy the set of refresh monitors so that we don't try to mutate the list we're iterating,
and don't try to fire refresh monitors that were removed in a previous iteration of the loop.

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

5 years agoREGRESSION (iOS WebKit2): Find-in-Page doesn't work in subframes
timothy_horton@apple.com [Thu, 29 May 2014 18:06:35 +0000 (18:06 +0000)]
REGRESSION (iOS WebKit2): Find-in-Page doesn't work in subframes
https://bugs.webkit.org/show_bug.cgi?id=133372
<rdar://problem/17045070>

Reviewed by Simon Fraser.

* WebProcess/WebPage/ios/FindControllerIOS.mm:
(WebKit::FindController::willFindString):
(WebKit::FindController::didFailToFindString):
(WebKit::FindController::didHideFindIndicator):
Flip ignoreCompositionSelectionChange and updateAppearanceEnabled on all
frames, not just the main frame, because the found string can be in a subframe.
Ideally we would flip it on/off for each frame as we move the selection between them,
but would require a lot of work (and the overhead of touching each frame shouldn't be significant).

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

5 years agoGardening: marking js/primitive-property-access-edge-cases.html as flaky.
mark.lam@apple.com [Thu, 29 May 2014 17:49:54 +0000 (17:49 +0000)]
Gardening: marking js/primitive-property-access-edge-cases.html as flaky.
<https://webkit.org/b/133356>

Not reviewed.

* TestExpectations:

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

5 years agoFixed the WebKitTestRunner build after r169452.
mitz@apple.com [Thu, 29 May 2014 17:40:15 +0000 (17:40 +0000)]
Fixed the WebKitTestRunner build after r169452.

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::initialize):

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

5 years agoWKBundleActivateMacFontAscentHack is unused
mitz@apple.com [Thu, 29 May 2014 17:27:56 +0000 (17:27 +0000)]
WKBundleActivateMacFontAscentHack is unused
https://bugs.webkit.org/show_bug.cgi?id=133379

Reviewed by Anders Carlsson.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleActivateMacFontAscentHack): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
(WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.
* WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
(WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.
* WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.

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

5 years agoVersioning.
matthew_hanson@apple.com [Thu, 29 May 2014 17:09:51 +0000 (17:09 +0000)]
Versioning.

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

5 years agoPerserve caption selection in fullscreen.
commit-queue@webkit.org [Thu, 29 May 2014 16:41:27 +0000 (16:41 +0000)]
Perserve caption selection in fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=133350

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-29
Reviewed by Eric Carlson.

Use the logic from the inline player to calculate the selected caption index.

* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::mediaControlsHost):
Expose mediaControlsHost() for use by WebVideoFullscreenModelMediaElement.

* platform/ios/WebVideoFullscreenModelMediaElement.mm:
(WebVideoFullscreenModelMediaElement::updateLegibleOptions):
Use logic from buildCaptionsMenu from mediaControlsApple.js.

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

5 years agoUse correct version of requiresFullscreenForVideoPlayback().
commit-queue@webkit.org [Thu, 29 May 2014 16:26:46 +0000 (16:26 +0000)]
Use correct version of requiresFullscreenForVideoPlayback().
https://bugs.webkit.org/show_bug.cgi?id=133331

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-29
Reviewed by Eric Carlson.

Source/WebCore:
Test: media/video-fullscreeen-only-controls.html

Update the last place not yet using m_mediaSession->requiresFullscreenForVideoPlayback.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
switch to media session version for requriesFullscreenForVideoPlayback.

LayoutTests:
* media/video-fullscreeen-only-controls-expected.txt: Added.
* media/video-fullscreeen-only-controls.html: Added. Make sure video element
controls show even when not specified if inline playback is restricted.

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

5 years agoAdd a sandbox profile for com.apple.appstore.CodeRedeemerNetscapePlugin
ap@apple.com [Thu, 29 May 2014 16:10:45 +0000 (16:10 +0000)]
Add a sandbox profile for com.apple.appstore.CodeRedeemerNetscapePlugin
https://bugs.webkit.org/show_bug.cgi?id=133360

Reviewed by Sam Weinig.

* Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Looks like
anyone using camera would need access to CoreMedia preferences.

* Resources/PlugInSandboxProfiles/com.apple.appstore.CodeRedeemerNetscapePlugin.sb: Added.

* WebKit2.xcodeproj/project.pbxproj: Added the profile.

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

5 years agoDFG::DCEPhase inserts into an insertion set in reverse, causing hilarious basic block...
fpizlo@apple.com [Thu, 29 May 2014 16:09:55 +0000 (16:09 +0000)]
DFG::DCEPhase inserts into an insertion set in reverse, causing hilarious basic block corruption if you kill a lot of NewArrays
https://bugs.webkit.org/show_bug.cgi?id=133368

Reviewed by Mark Lam.

Source/JavaScriptCore:
* dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::fixupBlock): Loop in the right order so that we insert in the right order.
* tests/stress/new-array-dead.js: Added.
(foo):

Source/WTF:
* wtf/Insertion.h:
(WTF::executeInsertions): This algorithm is only correct if insertions are added in the right order. Assert that the order is right.

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

5 years ago[GTK] Add support for HiDPI icons
carlosgc@webkit.org [Thu, 29 May 2014 16:05:38 +0000 (16:05 +0000)]
[GTK] Add support for HiDPI icons
https://bugs.webkit.org/show_bug.cgi?id=133377

Reviewed by Martin Robinson.

Source/WebCore:
Use the GTK+ missing icon at 16 or 32 size depending on the device
scale factor.

* platform/graphics/gtk/ImageGtk.cpp:
(WebCore::loadMissingImageIconFromTheme):
(WebCore::Image::loadPlatformResource):

Source/WebKit2:
* PlatformGTK.cmake: Compile also the @2x versions for the builtin icons.

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

5 years ago[GTK] Add HighDPI support for non-accelerated compositing contents
carlosgc@webkit.org [Thu, 29 May 2014 15:10:54 +0000 (15:10 +0000)]
[GTK] Add HighDPI support for non-accelerated compositing contents
https://bugs.webkit.org/show_bug.cgi?id=131562

Patch by Owen Taylor <otaylor@redhat.com> on 2014-05-29
Reviewed by Anders Carlsson.

Source/WebCore:
No new tests. This will be tested once we have the proper dependencies in the WebKit testing
JHBuild.

* platform/cairo/WidgetBackingStore.h:
(WebCore::WidgetBackingStore::WidgetBackingStore): Accept a device scale argument.
* platform/cairo/WidgetBackingStoreCairo.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
* platform/cairo/WidgetBackingStoreCairo.h: Accept a device scale argument.
* platform/graphics/cairo/CairoUtilities.cpp: Add a new helper to set the device scale if Cairo built against is new enough.
* platform/graphics/cairo/CairoUtilities.h:
* platform/gtk/GtkVersioning.h: Add the HAVE_GTK_SCALE_FACTOR macro.
* platform/gtk/WidgetBackingStoreGtkX11.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
* platform/gtk/WidgetBackingStoreGtkX11.h: Accept a device scale argument.

Source/WebKit2:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(deviceScaleFactorChanged): Added this callback to pass scale changes to the page proxy.
(webkitWebViewBaseCreateWebPage): Attach the callback to the notify signal.
* UIProcess/WebPageProxy.cpp:
* UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::WebPageProxy::setCustomDeviceScaleFactor): Do not set a
custom device scale factor for cairo when it's not supported.
(WebKit::createBackingStoreForGTK): Pass the scale factor to the WebCore backing store.
(WebKit::BackingStore::incorporateUpdate): Ditto.

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

5 years ago[GTK] Use GMainLoopSource for idle and timeout sources in WebKit2
carlosgc@webkit.org [Thu, 29 May 2014 10:33:02 +0000 (10:33 +0000)]
[GTK] Use GMainLoopSource for idle and timeout sources in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130081

Reviewed by Martin Robinson.

* Platform/WorkQueue.h:
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::registerSocketEventHandler): Stop pretending it's
possible to register a socket event handler for more than one
descriptor.
(WorkQueue::unregisterSocketEventHandler):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):
* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::DownloadClient):
(WebKit::DownloadClient::~DownloadClient):
(WebKit::DownloadClient::didReceiveData):
(WebKit::DownloadClient::handleResponse):
(WebKit::DownloadClient::handleResponseLater):
* UIProcess/Plugins/gtk/PluginInfoCache.cpp:
(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::~PluginInfoCache):
(WebKit::PluginInfoCache::saveToFile):
(WebKit::PluginInfoCache::updatePluginInfo):
* UIProcess/Plugins/gtk/PluginInfoCache.h:
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
(WebKit::LayerTreeHostGtk::layerFlushTimerFired):
(WebKit::LayerTreeHostGtk::scheduleLayerFlush):
(WebKit::LayerTreeHostGtk::cancelPendingLayerFlush):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

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

5 years ago[WK2][GTK] ASSERTION FAILED: m_status == Scheduled in GMainLoopSource
carlosgc@webkit.org [Thu, 29 May 2014 09:38:27 +0000 (09:38 +0000)]
[WK2][GTK] ASSERTION FAILED: m_status == Scheduled in GMainLoopSource
https://bugs.webkit.org/show_bug.cgi?id=131220

Reviewed by Philippe Normand.

Unskip inspector-protocol/dom/remove-multiple-nodes.html.

* platform/gtk/TestExpectations:

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

5 years agoUnreviewed. Update my email addresses in contributors.json.
yoon@igalia.com [Thu, 29 May 2014 04:06:17 +0000 (04:06 +0000)]
Unreviewed. Update my email addresses in contributors.json.

* Scripts/webkitpy/common/config/contributors.json:

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

5 years agoCaptions during HLS playback flash/are difficult to readily
bfulgham@apple.com [Thu, 29 May 2014 03:22:12 +0000 (03:22 +0000)]
Captions during HLS playback flash/are difficult to readily
https://bugs.webkit.org/show_bug.cgi?id=133365
<rdar://problem/16584132>

Reviewed by Eric Carlson.

Correct two problems:
1. Add new logic to handle cues that are identical to existing cues, except
   that they cover a slightly later moment in playback. For example, a cue
   encoding device might emit a cue at 24 fps, with many of the cues containing
   the same content but covering only 1/24th of a second.

   Rather than hiding and displaying our cues at the cue encoding rate, we should
   simply continue to display the same cue as long as the content is unchanged.
2. The cue "isEqual" logic for TextTrackCueGeneric improperly short-circuited the
   VTTCue isEqual logic. This was done to avoid a false failure due to the cue
   type being 'generic' rather than 'vtt', but incorrectly treated cues with
   non-matching text as equal.

* html/track/DataCue.cpp:
(WebCore::DataCue::cueContentsMatch): Move cue comparison code to new method that
doesn't check that the 'type' of the cue is identical.
(WebCore::DataCue::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::DataCue::isStartOfCue): Confirms cues match except for start and end times.
* html/track/DataCue.h:
* html/track/TextTrack.cpp:
(WebCore::TextTrack::hasCue): Modify to check if a new cue is simply a continuation
of an existing cue.
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::cueContentsMatch): New method containing the equality code
that used to live in 'isEqual'.
(WebCore::TextTrackCue::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::TextTrackCue::isStartOfCue): Confirms cues match except for start and
end times.
* html/track/TextTrackCue.h:
* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGeneric::cueContentsMatch): New method containing the equality
code that used to live in 'isEqual'.
(WebCore::TextTrackCueGeneric::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::TextTrackCueGeneric::isStartOfCue): Confirms cues match except for start and
end times.
* html/track/TextTrackCueGeneric.h:
* html/track/VTTCue.cpp:
(WebCore::VTTCue::cueContentsMatch): New method containing the equality code that
used to live in 'isEqual'.
(WebCore::VTTCue::isEqual): Modified to use new 'cueContentsMatch' method.
(WebCore::VTTCue::isStartOfCue): Confirms cues match except for start and end times.
* html/track/VTTCue.h:

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

5 years agoviewStateDidChange should always fully update ViewState
barraclough@apple.com [Thu, 29 May 2014 01:41:22 +0000 (01:41 +0000)]
viewStateDidChange should always fully update ViewState
https://bugs.webkit.org/show_bug.cgi?id=133159

Reviewed by Anders Carlson.

Currently WebPageProxy::viewStateDidChange is passed a mask of bits to update.

This has the following negative consequences:
 – WKWebView implicitly requires more detailed knowledge of the internal implementation of the PageClient.
 – Updates may unnecessarily be split over multiple IPC messages.
 – In order to support partial updates we make multiple virtual function calls to PageClient, which then makes duplicate objc calls.

Better to just always update the entire ViewState.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView didMoveToWindow]):
    - removed argument to viewStateDidChange.
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::viewState):
(WebKit::PageClientImpl::isViewWindowActive): Deleted.
(WebKit::PageClientImpl::isViewFocused): Deleted.
(WebKit::PageClientImpl::isViewVisible): Deleted.
(WebKit::PageClientImpl::isViewInWindow): Deleted.
* UIProcess/API/gtk/PageClientImpl.h:
    - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
* UIProcess/API/mac/WKView.mm:
(-[WKView becomeFirstResponder]):
(-[WKView resignFirstResponder]):
(-[WKView viewDidMoveToWindow]):
(-[WKView _windowDidBecomeKey:]):
(-[WKView _windowDidResignKey:]):
(-[WKView _windowDidMiniaturize:]):
(-[WKView _windowDidDeminiaturize:]):
(-[WKView _windowDidOrderOffScreen:]):
(-[WKView _windowDidOrderOnScreen:]):
(-[WKView _windowDidChangeOcclusionState:]):
(-[WKView viewDidHide]):
(-[WKView viewDidUnhide]):
(-[WKView _activeSpaceDidChange:]):
(-[WKView _setThumbnailView:]):
(-[WKView endDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChangesSync]):
    - removed argument to viewStateDidChange.
* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::viewState):
(WebKit::WebView::isViewWindowActive): Deleted.
(WebKit::WebView::isViewFocused): Deleted.
(WebKit::WebView::isViewVisible): Deleted.
(WebKit::WebView::isViewInWindow): Deleted.
* UIProcess/CoordinatedGraphics/WebView.h:
    - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
* UIProcess/PageClient.h:
(WebKit::PageClient::isViewVisibleOrOccluded): Deleted.
(WebKit::PageClient::isVisuallyIdle): Deleted.
    - merged isViewVisibleOrOccluded/isVisuallyIdle to subclass viewState methods.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
    - updateViewState -> PageClient::viewState
(WebKit::WebPageProxy::viewStateDidChange):
    - argument removed; updateViewState -> PageClient::viewState.
(WebKit::WebPageProxy::setCursor):
    - call isViewWindowActive on WebPageProxy, rather than PageClient.
(WebKit::WebPageProxy::updateBackingStoreDiscardableState):
    - call isViewWindowActive on WebPageProxy, rather than PageClient.
(WebKit::WebPageProxy::updateViewState): Deleted.
    - removed - viewState method moved to PageClient.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::isViewWindowActive):
    - added missing implementation.
(WebKit::WebPageProxy::isViewVisible):
    - removed argument to viewStateDidChange.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::windowServerConnectionStateChanged):
    - removed argument to viewStateDidChange.
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::viewState):
(WebKit::PageClientImpl::isViewWindowActive): Deleted.
(WebKit::PageClientImpl::isViewFocused): Deleted.
(WebKit::PageClientImpl::isViewVisible): Deleted.
(WebKit::PageClientImpl::isViewInWindow): Deleted.
(WebKit::PageClientImpl::isViewVisibleOrOccluded): Deleted.
(WebKit::PageClientImpl::isVisuallyIdle): Deleted.
    - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
* UIProcess/ios/WKContentView.mm:
(-[WKContentView didMoveToWindow]):
(-[WKContentView _applicationDidEnterBackground:]):
(-[WKContentView _applicationWillEnterForeground:]):
    - removed argument to viewStateDidChange.
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::viewState):
(WebKit::PageClientImpl::showCorrectionPanel):
(WebKit::PageClientImpl::showDictationAlternativeUI):
(WebKit::PageClientImpl::isViewWindowActive): Deleted.
(WebKit::PageClientImpl::isViewFocused): Deleted.
(WebKit::PageClientImpl::isViewVisibleOrOccluded): Deleted.
(WebKit::PageClientImpl::isVisuallyIdle): Deleted.
    - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.

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

5 years agoWhoops, update bindings tests results.
oliver@apple.com [Wed, 28 May 2014 23:26:09 +0000 (23:26 +0000)]
Whoops, update bindings tests results.

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

5 years agoAdd Obj-C API for cache partitioned URL schemes
jpfau@apple.com [Wed, 28 May 2014 23:14:17 +0000 (23:14 +0000)]
Add Obj-C API for cache partitioned URL schemes
https://bugs.webkit.org/show_bug.cgi?id=133361
<rdar://problem/17035415>

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _initWithConfiguration:]):
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration cachePartitionedURLSchemes]):
(-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):
(-[_WKProcessPoolConfiguration copyWithZone:]):

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

5 years ago[iOS WebKit2] Sometimes Safari gets into a limbo state after web process crash
weinig@apple.com [Wed, 28 May 2014 22:54:40 +0000 (22:54 +0000)]
[iOS WebKit2] Sometimes Safari gets into a limbo state after web process crash
<rdar://problem/17029526>
https://bugs.webkit.org/show_bug.cgi?id=133362

Reviewed by Dan Bernstein.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
Remove unnecessary initialization of a unique_ptr.

(WebKit::WebPageProxy::reattachToWebProcess):
Move calls to update the view state and activity tokens to after we have swapped in the new process.

(WebKit::WebPageProxy::resetStateAfterProcessExited):
Clear the activity token on process exit.

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

5 years agoAdd WKWebView SPI to forcefully kill the associated Web process
timothy_horton@apple.com [Wed, 28 May 2014 21:48:05 +0000 (21:48 +0000)]
Add WKWebView SPI to forcefully kill the associated Web process
https://bugs.webkit.org/show_bug.cgi?id=133357

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _killWebContentProcess]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

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

5 years agoMarking test as flaky pending further review.
mhock@apple.com [Wed, 28 May 2014 21:28:23 +0000 (21:28 +0000)]
Marking test as flaky pending further review.
https://bugs.webkit.org/show_bug.cgi?id=133351

Unreviewed gardening.

* TestExpectations:
Skip css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html

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

5 years agoMake DOM properties exposed as instance properties use the base object instead of...
oliver@apple.com [Wed, 28 May 2014 20:54:21 +0000 (20:54 +0000)]
Make DOM properties exposed as instance properties use the base object instead of |this|
https://bugs.webkit.org/show_bug.cgi?id=133353

Reviewed by Geoffrey Garen.

Source/WebCore:
Make the bindings generator emit code that uses the base object for
a property, rather than the this object. This means that attributes
that we need to be treated as instance properties will match their old
instance-based behaviour.

* bindings/scripts/CodeGeneratorJS.pm:
(InterfaceRequiresAttributesOnInstanceForCompatibility):
(InterfaceRequiresAttributesOnInstance):
(GetCastingHelperForBaseObject):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttr):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionName):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):

LayoutTests:
Update tests to cover change in expected behaviour.

* js/dom/dom-as-prototype-assignment-exception-expected.txt:
* js/dom/dom-attributes-on-mismatch-type-expected.txt:
* js/dom/dom-attributes-on-mismatch-type.html:
* js/dom/script-tests/dom-as-prototype-assignment-exception.js:

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

5 years ago[Cocoa] Crash when trying to decode an instance of a class inheriting from WKObject
mitz@apple.com [Wed, 28 May 2014 20:26:28 +0000 (20:26 +0000)]
[Cocoa] Crash when trying to decode an instance of a class inheriting from WKObject
https://bugs.webkit.org/show_bug.cgi?id=133355

Reviewed by Anders Carlsson.

* Shared/Cocoa/WKObject.mm:
(-[WKObject classForCoder]): Override this NSObject method to forward to the
target object.
(-[WKObject classForKeyedArchiver]): Ditto.

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

5 years agoUnreviewed, fix not-x86 32-bit.
fpizlo@apple.com [Wed, 28 May 2014 19:41:45 +0000 (19:41 +0000)]
Unreviewed, fix not-x86 32-bit.

* llint/LowLevelInterpreter32_64.asm:

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

5 years ago[iOS WK2] Improve behavior of position:fixed inside accelerated overflow-scroll
simon.fraser@apple.com [Wed, 28 May 2014 19:34:52 +0000 (19:34 +0000)]
[iOS WK2] Improve behavior of position:fixed inside accelerated overflow-scroll
https://bugs.webkit.org/show_bug.cgi?id=133352

Reviewed by Tim Horton.

Source/WebCore:
When adjusting layers inside accelerated overflow-scroll, pass a delta
down to descendant nodes. Fix behavior of sticky nodes inside fixed nodes
inside overflow scroll (sticky should only be affected if the parent node
is a scrolling node).

* page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::updateLayersAfterAncestorChange): Just remove
some .get()
* page/scrolling/mac/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::updateLayersAfterAncestorChange): Remove .get()s.
We never care about the cumulative delta here, because sticky nodes only respond to
changes in their direct scrolling ancestors. Only adjust the layer if the parent
is a scrolling node.

Source/WebKit2:
Pass the correct delta down to descendant nodes.

* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateChildNodesAfterScroll):

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

5 years agoNeed an API test for bug #133193 (r169315)
jhoneycutt@apple.com [Wed, 28 May 2014 19:21:11 +0000 (19:21 +0000)]
Need an API test for bug #133193 (r169315)
<https://bugs.webkit.org/show_bug.cgi?id=133324>

This adds an API test that ensures that calling "stop loading" during a
"did fail provisional load" callback doesn't crash.

Reviewed by Andy Estes.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Add new files to project.

* TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp: Added.
(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
If the message is the "test done" message, record that.
(TestWebKitAPI::setInjectedBundleClient):
Register a function for the "did receive message from injected bundle"
callback.
(TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame):
Assert that we received the message from the injected bundle, and set
'done' to finish the test.
(TestWebKitAPI::TEST):
Create a WebView, register a page loader client for the "did fail
provisional load" callback, and load a non-existent resource.

* TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad_bundle.cpp: Added.
(TestWebKitAPI::StopLoadingDuringDidFailProvisionalLoadTest::StopLoadingDuringDidFailProvisionalLoadTest):
(TestWebKitAPI::didFailProvisionalLoadWithErrorForFrameCallback):
Tell the StopLoadingDuringDidFailProvisionalLoadTest object that the
provisional load failed.
(TestWebKitAPI::StopLoadingDuringDidFailProvisionalLoadTest::didCreatePage):
Register a page loader client for the "did fail provisional load"
callback.
(TestWebKitAPI::StopLoadingDuringDidFailProvisionalLoadTest::didFailProvisionalLoad):
Call WKBundlePageStopLoading() during the callback. This not crashing
is what we're ensuring with this test.

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

5 years agoArrayify neglects to inform the clobberizer that it might fire watchpoints
fpizlo@apple.com [Wed, 28 May 2014 18:59:38 +0000 (18:59 +0000)]
Arrayify neglects to inform the clobberizer that it might fire watchpoints
https://bugs.webkit.org/show_bug.cgi?id=133340

Reviewed by Mark Lam.

* dfg/DFGClobberize.h:
(JSC::DFG::clobberize): Be honest.
* llint/LowLevelInterpreter32_64.asm: Profile the object, not its structure.
* tests/stress/arrayify-fires-watchpoint.js: Added.
(foo):
(test):
(makeObjectArray):
* tests/stress/arrayify-structure-bad-test.js: Added.
(foo):
(test):

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

5 years agoAX: WebKit does not recognize ARIA 1.1 tables
cfleizach@apple.com [Wed, 28 May 2014 18:31:28 +0000 (18:31 +0000)]
AX: WebKit does not recognize ARIA 1.1 tables
https://bugs.webkit.org/show_bug.cgi?id=133163

Reviewed by Darin Adler.

The AXObjectCache code that determines which object to create based on the role needs to be token fallback aware.

Test: accessibility/table-fallback-roles-expose-element-attributes.html

* accessibility/AXObjectCache.cpp:
(WebCore::nodeHasRole):

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

5 years ago[iOS] REGRESSION (r168388): DidNotHandleTapAsClick not sent when commitPotentialTap...
aestes@apple.com [Wed, 28 May 2014 18:07:31 +0000 (18:07 +0000)]
[iOS] REGRESSION (r168388): DidNotHandleTapAsClick not sent when commitPotentialTap() fails
https://bugs.webkit.org/show_bug.cgi?id=133349

Reviewed by Benjamin Poulain.

WebPage::commitPotentialTap() fails when a recognized single tap cannot be sent as a synthetic click event.
We should send WebPageProxy::DidNotHandleTapAsClick in these cases.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::commitPotentialTap):
(WebKit::WebPage::commitPotentialTapFailed):

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

5 years agoREGRESSION (r168046): Invalid layout in multicol
stavila@adobe.com [Wed, 28 May 2014 16:38:57 +0000 (16:38 +0000)]
REGRESSION (r168046): Invalid layout in multicol
https://bugs.webkit.org/show_bug.cgi?id=133322

Reviewed by Antti Koivisto.

Source/WebCore:
In some situations, deleting the line boxes of a multicol element causes the line to region
link to become invalid.

Test: fast/multicol/newmulticol/multicol-inside-multicol.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::clearLinesToRegionMap):
(WebCore::RenderFlowThread::deleteLines):
(WebCore::RenderFlowThread::willBeDestroyed):
* rendering/RenderFlowThread.h:

LayoutTests:
* fast/multicol/newmulticol/multicol-inside-multicol-expected.html: Added.
* fast/multicol/newmulticol/multicol-inside-multicol.html: Added.

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

5 years agoUnreviewed, rolling out r169423.
commit-queue@webkit.org [Wed, 28 May 2014 16:22:15 +0000 (16:22 +0000)]
Unreviewed, rolling out r169423.
https://bugs.webkit.org/show_bug.cgi?id=133348

It makes a lot of tests crash in assert (Requested by KaL on
#webkit).

Reverted changeset:

"[GTK] Use GMainLoopSource for idle and timeout sources in
WebKit2"
https://bugs.webkit.org/show_bug.cgi?id=130081
http://trac.webkit.org/changeset/169423

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

5 years ago[GTK] Use GMainLoopSource for idle and timeout sources in WebKit2
carlosgc@webkit.org [Wed, 28 May 2014 15:34:53 +0000 (15:34 +0000)]
[GTK] Use GMainLoopSource for idle and timeout sources in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130081

Reviewed by Martin Robinson.

* Platform/WorkQueue.h:
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::registerSocketEventHandler): Stop pretending it's
possible to register a socket event handler for more than one
descriptor.
(WorkQueue::unregisterSocketEventHandler):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):
* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::DownloadClient):
(WebKit::DownloadClient::~DownloadClient):
(WebKit::DownloadClient::didReceiveData):
(WebKit::DownloadClient::handleResponse):
(WebKit::DownloadClient::handleResponseLater):
* UIProcess/Plugins/gtk/PluginInfoCache.cpp:
(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::~PluginInfoCache):
(WebKit::PluginInfoCache::saveToFile):
(WebKit::PluginInfoCache::updatePluginInfo):
* UIProcess/Plugins/gtk/PluginInfoCache.h:
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
(WebKit::LayerTreeHostGtk::layerFlushTimerFired):
(WebKit::LayerTreeHostGtk::scheduleLayerFlush):
(WebKit::LayerTreeHostGtk::cancelPendingLayerFlush):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

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

5 years ago[Cocoa] Can't use bundle-defined classes for bundle parameters
mitz@apple.com [Wed, 28 May 2014 14:28:56 +0000 (14:28 +0000)]
[Cocoa] Can't use bundle-defined classes for bundle parameters
https://bugs.webkit.org/show_bug.cgi?id=133339

Reviewed by Anders Carlsson.

Ensure that bundle parameters are decoded only after the injected bundle is loaded.

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::create): Moved the definition from the header to here, added the
lagacy initializationUserData as a parameter, and made this function set the sandbox
extension and load the bundle.
(WebKit::InjectedBundle::InjectedBundle): Removed call to platformInitialize.
* WebProcess/InjectedBundle/InjectedBundle.h:
(WebKit::InjectedBundle::setSandboxExtension): Deleted.
* WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::initialize): Renamed the load function to this, and added the
creation parameters as a parameter. Moved code to initialize the bundle paramters from
platformInitialize to here. Changed the class passed to -decodeObjectOfClass:forKey: to
NSObject, to allow arbitrary types in the values, and added an assertion that the
top-level object is a dictionary.
(WebKit::InjectedBundle::platformInitialize): Deleted.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess): Changed to pass the legacy initialization user
data to InjectedBundle::create() and removed code to separately set the sandbox extension
and load the bundle, which is now done by create().

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

5 years agoUnreviewed. Fix warning: unused parameter 'frame'
berto@igalia.com [Wed, 28 May 2014 13:28:43 +0000 (13:28 +0000)]
Unreviewed. Fix warning: unused parameter 'frame'

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didFinishDocumentLoad):

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

5 years agoRemove DocumentThreadableLoaderClient.h
ryuan.choi@samsung.com [Wed, 28 May 2014 11:43:11 +0000 (11:43 +0000)]
Remove DocumentThreadableLoaderClient.h
https://bugs.webkit.org/show_bug.cgi?id=133341

Reviewed by Gyuyoung Kim.

DocumentThreadableLoaderClient is not used anymore.

* WebCore.order:
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::redirectReceived):
* loader/DocumentThreadableLoaderClient.h: Removed.
* loader/ThreadableLoaderClient.h:
(WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient): Deleted.

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

5 years agoUnreviewed. Update GObject DOM bindings symbols file after r169017.
carlosgc@webkit.org [Wed, 28 May 2014 10:11:43 +0000 (10:11 +0000)]
Unreviewed. Update GObject DOM bindings symbols file after r169017.

* bindings/gobject/webkitdom.symbols: Add webkit_dom_navigator_get_hardware_concurrency.

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

5 years ago[GTK] Make it possible to build with FTL enabled
carlosgc@webkit.org [Wed, 28 May 2014 09:49:20 +0000 (09:49 +0000)]
[GTK] Make it possible to build with FTL enabled
https://bugs.webkit.org/show_bug.cgi?id=133219

Reviewed by Philippe Normand.

.:
Add LLVM and LIBCXXABI as dependencies when building with FTL enabled.

* Source/cmake/OptionsGTK.cmake:

Tools:
* gtk/jhbuild-optional.modules: Add llvm from svn and build the
same revision than mac.

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

5 years agoREGRESSION(r168868): [GTK] Element.offset* client* scroll* API changed
carlosgc@webkit.org [Wed, 28 May 2014 09:47:10 +0000 (09:47 +0000)]
REGRESSION(r168868): [GTK] Element.offset* client* scroll* API changed
https://bugs.webkit.org/show_bug.cgi?id=133313

Reviewed by Philippe Normand.

Keep old API that uses long also for GObject bindings.

* dom/Element.idl:

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

5 years ago[CMake] Clean up FAST_MOBILE_SCROLLING
ljaehun.lim@samsung.com [Wed, 28 May 2014 08:50:37 +0000 (08:50 +0000)]
[CMake] Clean up FAST_MOBILE_SCROLLING
https://bugs.webkit.org/show_bug.cgi?id=133342

Reviewed by Gyuyoung Kim.

FAST_MOBILE_SCROLLING was removed in r168726.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

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

5 years agoUnreviewed, rolling out r169400.
commit-queue@webkit.org [Wed, 28 May 2014 05:08:51 +0000 (05:08 +0000)]
Unreviewed, rolling out r169400.
https://bugs.webkit.org/show_bug.cgi?id=133338

Broke the iOS build in
LocalizedDateCache::calculateMaximumWidth() (Requested by smfr
on #webkit).

Reverted changeset:

"SVG TextRuns do not always get RenderingContexts"
https://bugs.webkit.org/show_bug.cgi?id=133198
http://trac.webkit.org/changeset/169400

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

5 years agoREGRESSION (Margin tiles): Background gradient on dom.spec.whatwg.org is very slow...
timothy_horton@apple.com [Wed, 28 May 2014 04:46:18 +0000 (04:46 +0000)]
REGRESSION (Margin tiles): Background gradient on dom.spec.whatwg.org is very slow to render
https://bugs.webkit.org/show_bug.cgi?id=133335
<rdar://problem/17011392>

Reviewed by Simon Fraser.

* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
Make cross-platform and use some iOS code which avoids patterned drawing when the pattern buffer
would be very large. Instead, it calls draw() repeatedly over the pattern space, avoiding the allocation
of a huge (in the case of bug 133335, nearly 2GB) buffer.

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

5 years ago[iOS WK2] Fix behavior of position:sticky inside accelerated overflow-scroll
simon.fraser@apple.com [Wed, 28 May 2014 04:44:56 +0000 (04:44 +0000)]
[iOS WK2] Fix behavior of position:sticky inside accelerated overflow-scroll
https://bugs.webkit.org/show_bug.cgi?id=133334
<rdar://problem/16462535>

Reviewed by Tim Horton.

When the scroll position changes in an accelerated overflow-scroll element, we have
to update child nodes in the scrolling tree for position:sticky. That requires a
more generic ability to update the scrolling tree after some arbitrary zoom or
scroll. To do this, we need to know the current fixed position rect, rather than
having it passed in.

So make the fixed position rect available from ScrollingTree, and make it possible
to get the current scrollPosition() from any ScrollingTreeScrollingNode.

Also, implement updateLayersAfterDelegatedScroll() in ScrollingTreeOverflowScrollingNodeIOS,
and have it update descendant layers.

Finally, fix ScrollingTreeOverflowScrollingNode to use the correct rectangle for its
constraints math, using the scroll position of the parent node if appropriate.

Source/WebCore:
* page/scrolling/ScrollingTree.h:
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):
* page/scrolling/ios/ScrollingTreeIOS.cpp:
(WebCore::ScrollingTreeIOS::fixedPositionRect):
* page/scrolling/ios/ScrollingTreeIOS.h:
* page/scrolling/mac/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::updateLayersAfterAncestorChange):

Source/WebKit2:
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
* UIProcess/Scrolling/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::fixedPositionRect):
* UIProcess/Scrolling/RemoteScrollingTree.h:
* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterDelegatedScroll):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateChildNodesAfterScroll):
* UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
(WebKit::RemoteScrollingCoordinatorProxy::customFixedPositionRect):

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

5 years agoDo some renaming in the scrolling tree
simon.fraser@apple.com [Wed, 28 May 2014 04:44:54 +0000 (04:44 +0000)]
Do some renaming in the scrolling tree
https://bugs.webkit.org/show_bug.cgi?id=133333

Reviewed by Tim Horton.

Source/WebCore:

Rename ScrollingTreeNode::parentScrollPositionDidChange() to updateLayersAfterAncestorChange()
since this goes deep and to indicate that it's about layer updating.

Also rename the "viewportRect" parameter to "fixedPositionRect", since on iOS
this is the custom fixed-position rect that changes on zooming.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):
* page/scrolling/ScrollingTree.h:
* page/scrolling/ScrollingTreeFrameScrollingNode.h:
* page/scrolling/ScrollingTreeNode.h:
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
* page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):
* page/scrolling/mac/ScrollingTreeFixedNode.h:
* page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::updateLayersAfterAncestorChange):
(WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange): Deleted.
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):
* page/scrolling/mac/ScrollingTreeStickyNode.h:
* page/scrolling/mac/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::updateLayersAfterAncestorChange):
(WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange): Deleted.

Source/WebKit2:

Rename ScrollingTreeNode::parentScrollPositionDidChange() to updateLayersAfterAncestorChange()
since this goes deep and to indicate that it's about layer updating.

Also rename the "viewportRect" parameter to "fixedPositionRect", since on iOS
this is the custom fixed-position rect that changes on zooming.

* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::viewportChangedViaDelegatedScrolling):
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterViewportChange):

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

5 years agoInstantiate a ScrollingTreeMac on Mac
simon.fraser@apple.com [Wed, 28 May 2014 04:44:51 +0000 (04:44 +0000)]
Instantiate a ScrollingTreeMac on Mac
https://bugs.webkit.org/show_bug.cgi?id=133332

Reviewed by Tim Horton.

Mac previously instantiated a ThreadedScrollingTree, but this has no platform
knowledge. To support future expansion, create a ScrollingTreeMac subclass and
instantiate that on Mac.

Also protect ScrollingCoordinatorMac in PLATFORM(MAC) #ifdefs and remove it from the
EXCLUDED_SOURCE_FILE_NAMES list in the xcconfig file, following general trends.

* Configurations/WebCore.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::create): Deleted.
* page/scrolling/ThreadedScrollingTree.h:
* page/scrolling/mac/ScrollingCoordinatorMac.h:
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
* page/scrolling/mac/ScrollingTreeMac.cpp: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
(ScrollingTreeMac::create):
(ScrollingTreeMac::ScrollingTreeMac):
* page/scrolling/mac/ScrollingTreeMac.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.

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

5 years agoPrepare for position:sticky support inside accelerated overflow-scroll with WK2
simon.fraser@apple.com [Wed, 28 May 2014 04:44:48 +0000 (04:44 +0000)]
Prepare for position:sticky support inside accelerated overflow-scroll with WK2
https://bugs.webkit.org/show_bug.cgi?id=133329

Reviewed by Tim Horton.

RenderLayerCompositor::computeStickyViewportConstraints() was always using
the viewport rect as the constraining rect for sticky position. This is not
correct when inside overflow:scroll.

Refactor code in RenderBoxModelObject to make getting the rect easy, and use
it to compute the constraints.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::constrainingRectForStickyPosition):
(WebCore::RenderBoxModelObject::stickyPositionOffset):
* rendering/RenderBoxModelObject.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints):

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

5 years agovw/vh units used as font/line-height values don't scale with the viewport
bjonesbe@adobe.com [Wed, 28 May 2014 01:33:26 +0000 (01:33 +0000)]
vw/vh units used as font/line-height values don't scale with the viewport
https://bugs.webkit.org/show_bug.cgi?id=87846

Reviewed by Darin Adler.

Source/WebCore:
This patch moves the resolution of viewport units to style recalc
time. Currently viewport units are left unresolved during style
recalcs, which leads to many problems with viewport units. Moving the
resolution will fix these problems, as well as reduce the plumbing
that goes on.

This patch touches a lot of files since the valueForLength functions
no longer need a RenderView. The interesting changes are in:

- CSSToLengthConversionData -> CSSPrimitiveValue: for moving
    resolution to style recalc time.
- Length / LengthFunctions: no longer needs to know about viewport
    units.
- FrameView -> Document -> StyleResolver: for scheduling style recalcs
    upon resize

Note that getComputedStyle will now return pixel values when viewport
units are used. This behavior matches Firefox and the css3-cascade
spec.

This is based on a Blink patch by timloh@chromium.org.

Tests: css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block.html
       css3/viewport-percentage-lengths/viewport-percentage-lengths-calc.html
       css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child.html
       css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html
       css3/viewport-percentage-lengths/viewport-percentage-lengths-resize.html

* WebCore.exp.in: Remove RenderView argument to floatValueForLength.
* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(getAttributeSetForAccessibilityObject): Remove RenderView argument.
* css/BasicShapeFunctions.cpp:
(WebCore::convertToLength): Ditto.
(WebCore::floatValueForCenterCoordinate): Ditto.
* css/BasicShapeFunctions.h: Ditto.
* css/CSSCalculationValue.cpp:
(WebCore::unitCategory): Remove special handling for viewport units,
    as they get resolved to pixels.
(WebCore::createCSS): Ditto.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::positionOffsetValue): Remove RendewView argument.
(WebCore::getBorderRadiusCornerValues): Remove handling of viewport
    units, as they are already resolve to pixels here.
(WebCore::getBorderRadiusCornerValue): Remove RenderView argument.
(WebCore::getBorderRadiusShorthandValue): Ditto.
(WebCore::specifiedValueForGridTrackBreadth): Remove handling of
    viewport units, as they are already resolved to pixels here.
(WebCore::specifiedValueForGridTrackSize): Remove RenderView argument.
(WebCore::valueForGridTrackList): Ditto.
(WebCore::lineHeightFromStyle): Ditto.
(WebCore::ComputedStyleExtractor::propertyValue): Ditto.
* css/CSSGradientValue.cpp:
(WebCore::CSSLinearGradientValue::createGradient): Pass RenderView to
    CSSToLengthConversionData constructor.
(WebCore::CSSRadialGradientValue::createGradient): Ditto.
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::unitCategory): Remove handling of
    viewport units, as they get resolved to pixels.
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Ditto.
(WebCore::CSSPrimitiveValue::init): Ditto.
(WebCore::CSSPrimitiveValue::computeLengthDouble): Resolve viewport
    units to pixels.
(WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): Remove
handling of viewport units, since they get resolved to pixels.
(WebCore::CSSPrimitiveValue::viewportPercentageLength): Deleted.
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isLength): Remove special handling of
    viewport units, since they get resolved to pixels.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::convertToLength): Ditto.
* css/CSSToLengthConversionData.cpp:
(WebCore::CSSToLengthConversionData::viewportWidthFactor): Caclulate
    conversion factor for viewport units to pixels. Note this does not
    set hasViewportUnits on the RenderStyle if computing the font
    size, because in the font size case, the RenderStyle is the
    parent's style, not the current renderer's style.
(WebCore::CSSToLengthConversionData::viewportHeightFactor): Ditto.
(WebCore::CSSToLengthConversionData::viewportMinFactor): Ditto.
(WebCore::CSSToLengthConversionData::viewportMaxFactor): Ditto.
* css/CSSToLengthConversionData.h:
(WebCore::CSSToLengthConversionData::CSSToLengthConversionData): Add
    RenderView parameter, and make RenderStyle non-const so that
    hasViewportUnits can be set on the Style..
(WebCore::CSSToLengthConversionData::style): style is now non-const.
(WebCore::CSSToLengthConversionData::copyWithAdjustedZoom): Handle
    RenderView argument.
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapFillXPosition): Remove handling of
    viewport units, as they are already resolved to pixels here.
(WebCore::CSSToStyleMap::mapFillYPosition): Ditto.
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyLength::applyValue): Ditto.
(WebCore::ApplyPropertyBorderRadius::applyValue): Ditto.
(WebCore::ApplyPropertyComputeLength::applyValue): Ditto.
(WebCore::ApplyPropertyFontSize::applyValue): Ditto.
(WebCore::ApplyPropertyLineHeight::applyValue): Ditto.
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue): Ditto.
(WebCore::ApplyPropertyWordSpacing::applyValue): Ditto.
(WebCore::ApplyPropertyVerticalAlign::applyValue): Ditto.
(WebCore::ApplyPropertyTextIndent::applyValue): Ditto.
* css/LengthFunctions.cpp:
(WebCore::minimumIntValueForLength): Remove RenderView argument.
(WebCore::intValueForLength): Remove RenderView argument and
    roundPecentages.
(WebCore::minimumValueForLength): Remove RenderView argument, and
    special handling of viewport units.
(WebCore::valueForLength): Ditto.
(WebCore::floatValueForLength): Ditto.
(WebCore::floatSizeForLengthSize): Remove RenderView argument.
* css/LengthFunctions.h: Ditto.
* css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::eval): Add RenderView argument for
    CSSToLengthConversionData constuctor.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::clear): Change to 0 arg constructor
    for CSSToLengthConversionData.
(WebCore::StyleResolver::State::updateConversionData): In order to get
    the RenderView, we need to have a valid Element set on the state.
    Since this means that we need to set the conversion data in more
    places, move the contruction of conversion data into this helper
    method.
(WebCore::StyleResolver::State::initElement): Make sure conversion
    data is up to date.
(WebCore::StyleResolver::State::initForStyleResolve): Ditto.
(WebCore::StyleResolver::State::setStyle): When the style is set, we
    need to make sure to update the conversion data.
(WebCore::StyleResolver::styleForElement): If the style has viewport
    units, flage the document so that we can make sure to recalc the
    viewport unit values when the viewport is resized.
(WebCore::StyleResolver::pseudoStyleForElement): Ditto.
(WebCore::StyleResolver::updateFont): Make sure the font having
    viewport units updates the style.
(WebCore::StyleResolver::convertToIntLength): Remove handling of
viewport units, as they are resolved to pixels.
(WebCore::StyleResolver::convertToFloatLength): Ditto.
(WebCore::StyleResolver::clearCachedPropertiesAffectedByViewportUnits):
    Invalidate the matched properties cache for styles with viewport
    units when the viewport is resized.
(WebCore::createGridTrackBreadth): Remove handling of viewport units,
    as they are resolved to pixels.
(WebCore::StyleResolver::applyProperty): Ditto.
(WebCore::StyleResolver::hasMediaQueriesAffectedByViewportChange):
    Rename to be less confusing, since it has nothing to do with
    viewport units.
(WebCore::StyleResolver::createFilterOperations): Remove handling of
    viewport units, as they are resolved to pixels.
(WebCore::StyleResolver::affectedByViewportChange): Deleted.
(WebCore::StyleResolver::viewportPercentageValue): Deleted.
* css/StyleResolver.h:
(WebCore::StyleResolver::State::State): C++11 cleanup: 0 -> nullptr.
(WebCore::StyleResolver::State::setFontSizeHasViewportUnits): Set if
    the font size is specified in viewport units.
(WebCore::StyleResolver::State::fontSizeHasViewportUnits): Ditto.
(WebCore::StyleResolver::State::setStyle): Deleted.
* css/TransformFunctions.cpp:
(WebCore::convertToFloatLength): Remove handling of viewport units,
    since they are resolved to pixels.
* dom/Document.cpp:
(WebCore::Document::Document): Add flag to determine if some style in
    the document has viewport units.
(WebCore::Document::pageSizeAndMarginsInPixels): Remove RenderView
    argument.
(WebCore::Document::updateViewportUnitsOnResize): Mark elements with
    viewport units for style recalc when the viewport size has
    changed.
* dom/Document.h:
(WebCore::Document::setHasStyleWithViewportUnits): Flag to determine
    if some style in the document has viewport units.
(WebCore::Document::hasStyleWithViewportUnits): Ditto.
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::getRegion): Remove RenderView argument.
* page/FrameView.cpp:
(WebCore::FrameView::layout): When the viewport is resized, call
    updateViewportUnitsOnResize on the document.
* platform/Length.h:
(WebCore::Length::isSpecified): Remove handling of viewport units,
    since they are now resolved to pixels.
(WebCore::Length::viewportPercentageLength): Deleted.
(WebCore::Length::isViewportPercentage): Deleted.
* rendering/ClipPathOperation.h:
(WebCore::ShapeClipPathOperation::pathForReferenceRect): Remove
    RenderView argument.
(WebCore::BoxClipPathOperation::pathForReferenceRect): Ditto.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout): Remove
    handling of viewport units, since they get updated by
    updateViewportUnitsOnResize when the viewport is resized.
(WebCore::RenderBlock::nodeAtPoint): Remove RenderView argument.
(WebCore::RenderBlock::lineHeight): Ditto.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations): Remove RenderView argument.
(WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
    Remove handling of viewport units, as they are resolved to pixels.
(WebCore::RenderBox::computePercentageLogicalHeight): Ditto.
(WebCore::RenderBox::computeReplacedLogicalWidthUsing): Ditto.
(WebCore::RenderBox::computeReplacedLogicalHeightUsing): Ditto.
(WebCore::RenderBox::hasViewportPercentageLogicalHeight): Deleted.
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::getBackgroundRoundedRect): Remove
    RenderView argument.
(WebCore::RenderBoxModelObject::calculateFillTileSize): Remove
    handling of viewport units, as they are resolved to pixels.
(WebCore::computeBorderImageSide): Remove RenderView argument.
(WebCore::RenderBoxModelObject::paintNinePieceImage): Ditto.
(WebCore::RenderBoxModelObject::paintBorder): Ditto.
(WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.
* rendering/RenderElement.cpp:
(WebCore::RenderElement::repaintAfterLayoutIfNeeded): Ditto.
* rendering/RenderElement.h:
(WebCore::RenderElement::valueForLength): Remove unused
    roundPercentages argument.
(WebCore::RenderElement::minimumValueForLength): Remove unused
    RoundPercentages and RenderView arguments.
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutGridItems): Remove handling of viewport
    units as they are resolved to pixels.
* rendering/RenderInline.cpp:
(WebCore::computeMargin): Ditto.
(WebCore::RenderInline::lineHeight): Remove RenderView argument.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupClipPath): Ditto.
* rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::lineHeight): Ditto.
* rendering/RenderScrollbarPart.cpp:
(WebCore::calcScrollbarThicknessUsing): Ditto.
(WebCore::RenderScrollbarPart::computeScrollbarWidth): Ditto.
(WebCore::RenderScrollbarPart::computeScrollbarHeight): Ditto.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
    Remove handling of viewport units, since they are resolved to
    pixels.
(WebCore::RenderTable::computePreferredLogicalWidths): Now that
    viewport unit values are resolved to pixels at style recalc time,
    no special checking is needed to handle them, so update the
    comment to reflect that.
* rendering/RenderThemeIOS.mm:
(WebCore::applyCommonButtonPaddingToStyle): Add RenderView argument to
    CSSToLengthConversionData constructor.
(WebCore::RenderThemeIOS::adjustButtonStyle): Ditto.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButtonGradients): Remove
    RenderView argument.
* rendering/RenderView.cpp:
(WebCore::RenderView::layout): Remove handling of viewport units,
    since they are resolved to pixels.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::ascentAndDescentForBox): Remove RenderView
    argument.
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape): Remove RenderView argument.
* rendering/shapes/Shape.h:
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::computedShape): Ditto.
* rendering/style/BasicShapes.cpp:
(WebCore::BasicShapeCircle::floatValueForRadiusInBox): Ditto.
(WebCore::BasicShapeCircle::path): Ditto.
(WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Ditto.
(WebCore::BasicShapeEllipse::path): Ditto.
(WebCore::BasicShapePolygon::path): Ditto.
(WebCore::floatSizeForLengthSize): Ditto.
(WebCore::BasicShapeInset::path): Ditto.
* rendering/style/BasicShapes.h:
* rendering/style/RenderStyle.cpp:
(WebCore::calcRadiiFor): Ditto.
(WebCore::RenderStyle::getRoundedBorderFor): Ditto.
(WebCore::RenderStyle::computedLineHeight): Remove handling of
    viewport units since they are resolved to pixels.
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setHasViewportUnits): Set if this style has
a property set with viewport units.
(WebCore::RenderStyle::hasViewportUnits): Ditto.
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::resolveLengthAttributeForSVG): Remove RenderView argument.
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Ditto.
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent): Ditto.

LayoutTests:
Update existing tests to work with the proper behavior of viewport
units.

Add tests for some of the things fixed by this patch: handling of
viewport units in font sizes, with calc, and when the viewport is
resized without a reload.

The anonymous block and percent size child tests make sure that the
viewport unit updates still work properly when there is another
relative unit the depends on the size specified in viewport units.

* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-getStyle-expected.txt:
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-getStyle.html:
* css3/viewport-percentage-lengths/resources/resize-test.js: Added.
(resizeTest):
(standardResizeTest):
* css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block-expected.txt: Added.
* css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block.html: Added.
* css3/viewport-percentage-lengths/viewport-percentage-lengths-calc-expected.txt: Added.
* css3/viewport-percentage-lengths/viewport-percentage-lengths-calc.html: Added.
* css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child-expected.txt: Added.
* css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child.html: Added.
* css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size-expected.txt: Added.
* css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html: Added.
* css3/viewport-percentage-lengths/viewport-percentage-lengths-resize-expected.txt: Added.
* css3/viewport-percentage-lengths/viewport-percentage-lengths-resize.html: Added.
* fast/canvas/draw-focus-if-needed-expected.txt: Removed.
* fast/canvas/draw-focus-if-needed.html: Removed.
* fast/masking/parsing-clip-path-shape-expected.txt:
* fast/masking/parsing-clip-path-shape.html:
* fast/shapes/parsing/parsing-shape-lengths-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths.html:

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

5 years ago[CSS Shapes] serialization of the computed value should omit the default radii
zoltan@webkit.org [Wed, 28 May 2014 00:28:52 +0000 (00:28 +0000)]
[CSS Shapes] serialization of the computed value should omit the default radii
https://bugs.webkit.org/show_bug.cgi?id=132747

Reviewed by Darin Adler.

Source/WebCore:
We should omit closest-side value, whereever is possible. Specification:
http://www.w3.org/TR/2014/CR-css-shapes-1-20140320/#basic-shape-computed-values
This change aligns the behavior to the specification.

Added new test cases for the shape-outside parsing tests.

* css/CSSBasicShapes.cpp:
(WebCore::buildCircleString):
(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeEllipse::cssText):

LayoutTests:
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:

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

5 years agoSome proof-reading of the WebKit2 API headerdoc
ggaren@apple.com [Wed, 28 May 2014 00:16:25 +0000 (00:16 +0000)]
Some proof-reading of the WebKit2 API headerdoc
https://bugs.webkit.org/show_bug.cgi?id=133328

Reviewed by Anders Carlsson.

Consistently say "item" to reference back-forward list items.

Consistently say "webpage" instead of "page" or "web page".

Consistently say "navigation" instead of "load".

Plus a few fix-ups for run-on sentences, mismatched verb tense, and
mismatched singular vs plural.

* UIProcess/API/Cocoa/WKBackForwardList.h:
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKBrowsingContextController.h:
* UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKNavigation.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/API/Cocoa/WKProcessPool.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKWebView.h:

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

5 years agoUnreviewed Mac Gardening.
achristensen@apple.com [Wed, 28 May 2014 00:02:34 +0000 (00:02 +0000)]
Unreviewed Mac Gardening.

* platform/mac/TestExpectations:
Skip webtiming-two-redirects.php which I forgot to re-skip in r169403.

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

5 years agoRun web timing tests if web timing is enabled.
achristensen@apple.com [Tue, 27 May 2014 23:32:21 +0000 (23:32 +0000)]
Run web timing tests if web timing is enabled.
https://bugs.webkit.org/show_bug.cgi?id=133327

Reviewed by Ryosuke Niwa.

* fast/dom/script-tests/webtiming-document-open.js:
(finishTest):
* fast/dom/script-tests/webtiming-navigate-within-document.js:
(checkTimingNotChanged):
Use for in loop instead of Object.keys because properties are in prototype chain.
* fast/dom/script-tests/webtiming.js:
Use performance.now instead of 0.
* platform/mac/TestExpectations:
Made web timing tests skipped on Mountain Lion and Mavericks.

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

5 years agoUnreviewed, rolling out r169399.
commit-queue@webkit.org [Tue, 27 May 2014 22:56:09 +0000 (22:56 +0000)]
Unreviewed, rolling out r169399.
https://bugs.webkit.org/show_bug.cgi?id=133326

Causes assertion failures in tests.  See
http://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r169399%20(5622)/results.html
(Requested by mlam on #webkit).

Reverted changeset:

"Caret's screen position does not update during an overflow
scroll"
https://bugs.webkit.org/show_bug.cgi?id=133256
http://trac.webkit.org/changeset/169399

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

5 years agoUnreviewed post-commit ChangeLog fixup
mmaxfield@apple.com [Tue, 27 May 2014 21:38:44 +0000 (21:38 +0000)]
Unreviewed post-commit ChangeLog fixup

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

5 years agoSVG TextRuns do not always get RenderingContexts
mmaxfield@apple.com [Tue, 27 May 2014 21:34:38 +0000 (21:34 +0000)]
SVG TextRuns do not always get RenderingContexts
https://bugs.webkit.org/show_bug.cgi?id=133198

Reviewed by Simon Fraser.

Source/WebCore:
There were a couple places in RenderListMarker and RenderMenuList that were
implicitly creating TextRuns by passing a String to a function which
expected a TextRun. Because TextRun has a constructor which takes a single
String and isn't marked explicit, TextRuns were being created without
any of the associated code that initializes the TextRun (such as creating
a RenderingContext if necessary).

This patch marks the aforementioned constructor as "explicit" to discourage
such behavior in the future.

Test: svg/custom/list-items-with-svg-font-family.html

* platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun): Mark constructors as explicit.
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::computePreferredLogicalWidths): Call
RenderBlock::constructTextRun.
(WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
* rendering/RenderMenuList.cpp:
(RenderMenuList::updateOptionsWidth): Ditto.

LayoutTests:
See per-file comments.

* svg/custom/list-items-with-svg-font-family-expected.txt: Added.
* svg/custom/list-items-with-svg-font-family.html: Added. Make sure there is
no crash when styling list elements with SVG fonts.

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

5 years agoCaret's screen position does not update during an overflow scroll
mmaxfield@apple.com [Tue, 27 May 2014 21:14:20 +0000 (21:14 +0000)]
Caret's screen position does not update during an overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=133256

Reviewed by Simon Fraser.

Source/WebCore:
During a scroll, we set a flag which caret position is gated on, but we never
actually invalidate the caret's position. This patch does so.

Test: editing/input/caret-position-during-scroll.html

* editing/FrameSelection.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):

LayoutTests:
This test places the caret, inspects its position, scrolls, and then immediately inspects its
position again. The two positions should be different.

* editing/input/caret-position-during-scroll-expected.txt: Added.
* editing/input/caret-position-during-scroll.html: Added.

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

5 years ago[wk2] PDFPlugin snapshots are misplaced
timothy_horton@apple.com [Tue, 27 May 2014 20:45:21 +0000 (20:45 +0000)]
[wk2] PDFPlugin snapshots are misplaced
https://bugs.webkit.org/show_bug.cgi?id=133323

Reviewed by Simon Fraser.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::paintControlForLayerInContext):
(WebKit::PDFPlugin::snapshot):
Include the scroll offset in the snapshot translation,
and use the whole document size instead of just the view size.

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

5 years agoREGRESSION(r169265): sh: line 0: cd: ../.vm
msaboff@apple.com [Tue, 27 May 2014 18:53:07 +0000 (18:53 +0000)]
REGRESSION(r169265): sh: line 0: cd: ../.vm
https://bugs.webkit.org/show_bug.cgi?id=133242

Rubber stamped by Oliver Hunt.

Changed runAndMonitorTestRunnerCommand() to pass mysys as a string instead of an
array since the command may contain character escapes that don't work with the
array form of system().

* Scripts/run-jsc-stress-tests:

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

5 years agoTurn on the LayerPool for iOS
timothy_horton@apple.com [Tue, 27 May 2014 18:35:39 +0000 (18:35 +0000)]
Turn on the LayerPool for iOS
https://bugs.webkit.org/show_bug.cgi?id=133299

Reviewed by Antti Koivisto.

* Configurations/WebCore.xcconfig:
* platform/cocoa/MemoryPressureHandlerCocoa.mm:
(WebCore::MemoryPressureHandler::platformReleaseMemory):
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::createTileLayer):
* platform/graphics/ca/mac/TileGrid.mm:
(WebCore::TileGrid::removeTiles):
Turn on the LayerPool for iOS.
We've used this on Mac for a long time, and the WebKit1
("legacy") iOS TileCache also had a similar pool.
This helps a good bit with flashiness while scrolling.

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

5 years ago[WebKit2] Move WebPreferences macro definitions and key names into their own files
weinig@apple.com [Tue, 27 May 2014 18:35:12 +0000 (18:35 +0000)]
[WebKit2] Move WebPreferences macro definitions and key names into their own files
https://bugs.webkit.org/show_bug.cgi?id=133315

Reviewed by Anders Carlsson.

* CMakeLists.txt:
* Shared/WebPreferencesDefinitions.h: Copied from Source/WebKit2/Shared/WebPreferencesStore.h.
* Shared/WebPreferencesKeys.cpp: Copied from Source/WebKit2/Shared/WebPreferencesStore.cpp.
* Shared/WebPreferencesKeys.h: Copied from Source/WebKit2/Shared/WebPreferencesStore.h.
* Shared/WebPreferencesStore.cpp:
* Shared/WebPreferencesStore.h:
* UIProcess/WebPreferences.cpp:
* UIProcess/WebPreferences.h:
* UIProcess/mac/WebContextMac.mm:
* UIProcess/mac/WebPreferencesMac.mm:
* UIProcess/mac/WebProcessProxyMac.mm:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebProcess.cpp:

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

5 years agoAdd UI process watchdog on iOS to ensure WebProcess connections close
barraclough@apple.com [Tue, 27 May 2014 18:31:56 +0000 (18:31 +0000)]
Add UI process watchdog on iOS to ensure WebProcess connections close
https://bugs.webkit.org/show_bug.cgi?id=133200
<rdar://problem/16997983>

Mountain Lion build fix

* Platform/IPC/mac/ConnectionMac.mm:
(IPC::ConnectionTerminationWatchdog::watchdogTimerFired):

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

5 years agoimportance_assertion -> denap_assertion
barraclough@apple.com [Tue, 27 May 2014 18:21:34 +0000 (18:21 +0000)]
importance_assertion -> denap_assertion
https://bugs.webkit.org/show_bug.cgi?id=133294

iOS build fix

* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::open):

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

5 years agoREGRESSION: Audio volume scrubber does not show volume level thumb
hyatt@apple.com [Tue, 27 May 2014 17:59:25 +0000 (17:59 +0000)]
REGRESSION: Audio volume scrubber does not show volume level thumb
<rdar://problem/16902004>
https://bugs.webkit.org/show_bug.cgi?id=133310

Reviewed by Dean Jackson.

Source/WebCore:
This was just a silly mistake on my part with the setting of the pagination
layers. Layers inside transforms are supposed to clear out their pagination
status based off their ancestor containing block layers, and not off the
enclosing pagination layer.

Added fast/multicol/pagination/nested-transforms.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updatePagination):

LayoutTests:
* fast/multicol/pagination/nested-transforms.html: Added.
* platform/mac/fast/multicol/pagination/nested-transforms-expected.png: Added.
* platform/mac/fast/multicol/pagination/nested-transforms-expected.txt: Added.

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

5 years agoAdd UI process watchdog on iOS to ensure WebProcess connections close
barraclough@apple.com [Tue, 27 May 2014 17:36:55 +0000 (17:36 +0000)]
Add UI process watchdog on iOS to ensure WebProcess connections close
https://bugs.webkit.org/show_bug.cgi?id=133200
<rdar://problem/16997983>

Reviewed by Darin Adler.

When the WebProcessProxy wants to disconnect from a WebContent process it just drops the connection,
and hopes the connection closes. There is a watchdog thread in the ChildProcess to try to ensure this
happens.

On iOS the process may not be runnable at the time, preventing termination. Instead add a watchdog in
the UI process to make the process runnable, and to terminate if it doesn't quit in a timely fashion.

* Platform/IPC/Connection.h:
    - added terminateSoon.
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
    - take an assertion to make the process runnable, and start a watchdog timer.
(IPC::ConnectionTerminationWatchdog::watchdogTimerFired):
    - if the process hasn't quit by the timer the watchdog fires, kill it.
(IPC::Connection::terminateSoon):
    - create a ConnectionTerminationWatchdog.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::removeWebPage):
    - when disconnecting from a process, first tell it to terminateSoon.

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

5 years agoimportance_assertion -> denap_assertion
barraclough@apple.com [Tue, 27 May 2014 17:36:21 +0000 (17:36 +0000)]
importance_assertion -> denap_assertion
https://bugs.webkit.org/show_bug.cgi?id=133294

Patch by Gavin Barraclough <barraclough@apple.com> on 2014-05-26
Reviewed by Sam Weinig.

Update in accordance with API change. The importance assertion is used on
Mavericks & newer to ensure the WebContent process wakes from AppNap.

* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::open):
    - MACH_PORT_IMPORTANCE_RECEIVER -> MACH_PORT_DENAP_RECEIVER
* Platform/IPC/mac/ImportanceAssertion.h:
(IPC::ImportanceAssertion::ImportanceAssertion):
(IPC::ImportanceAssertion::~ImportanceAssertion):
    - proc_importance_assertion -> proc_denap_assertion

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

5 years ago[Mac] media controls should prevent 'click' events from reaching the page
eric.carlson@apple.com [Tue, 27 May 2014 17:33:04 +0000 (17:33 +0000)]
[Mac] media controls should prevent 'click' events from reaching the page
https://bugs.webkit.org/show_bug.cgi?id=133268

Source/WebCore:
Reviewed by Jer Noble.

Test: media/media-controls-cancel-events.html

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.handleEvent): Allow event handler to cancel event default action.
(Controller.prototype.handleRewindButtonClicked): Cancel event default.
(Controller.prototype.handlePlayButtonClicked): Ditto.
(Controller.prototype.handleMuteButtonClicked): Ditto.
(Controller.prototype.handleMinButtonClicked): Ditto.
(Controller.prototype.handleCaptionButtonClicked): Ditto.
(Controller.prototype.handleFullscreenButtonClicked): Ditto.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.handlePlayButtonTouchEnd): Ditto.
(ControllerIOS.prototype.handlePlayButtonTouchCancel): Ditto.
(ControllerIOS.prototype.handleFullscreenTouchEnd): Ditto.
(ControllerIOS.prototype.handleFullscreenTouchCancel): Ditto.
(ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): Ditto.
(ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel): Ditto.
(ControllerIOS.prototype.handleWirelessPickerButtonClicked): Ditto.

LayoutTests:
Reviewed by by Jer Noble.

* media/media-controls-cancel-events-expected.txt: Added.
* media/media-controls-cancel-events.html: Added.

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

5 years agoFix Mavericks bots from r169383.
jonlee@apple.com [Tue, 27 May 2014 16:45:09 +0000 (16:45 +0000)]
Fix Mavericks bots from r169383.
https://bugs.webkit.org/show_bug.cgi?id=133311

Reviewed by Eric Carlson.

* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: Update #ifdef to check for ENABLE(MEDIA_SOURCE).
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: Ditto.

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

5 years agoREGRESSION (r168046): Incorrect handling of multicol spanner
stavila@adobe.com [Tue, 27 May 2014 16:36:09 +0000 (16:36 +0000)]
REGRESSION (r168046): Incorrect handling of multicol spanner
https://bugs.webkit.org/show_bug.cgi?id=133249

Reviewed by David Hyatt.

When removing the child of an object, the removeChild method should return the next element
following the one being deleted. This will ensure that proper iteration and destruction of
an object's children is possible.

No new tests added. This is because the test that triggers this issue also triggers
another assertion, in RenderMultiColumnSet::requiresBalancing(). However, that is a totally
separate problem and will be handled in a separate bug: https://bugs.webkit.org/show_bug.cgi?id=133309

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::removeChild):
* rendering/RenderBlockFlow.h:
* rendering/RenderButton.cpp:
(WebCore::RenderButton::removeChild):
* rendering/RenderButton.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::removeChild):
(WebCore::RenderElement::removeChildInternal):
* rendering/RenderElement.h:
* rendering/RenderMenuList.cpp:
(RenderMenuList::removeChild):
* rendering/RenderMenuList.h:
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
* rendering/RenderRuby.cpp:
(WebCore::RenderRubyAsInline::removeChild):
(WebCore::RenderRubyAsBlock::removeChild):
* rendering/RenderRuby.h:
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::removeChild):
* rendering/RenderRubyRun.h:
* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::removeChildInternal):
(WebCore::RenderMathMLScripts::removeChild):
(WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
(WebCore::RenderMathMLScriptsWrapper::removeChild):
* rendering/mathml/RenderMathMLScripts.h:
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::removeChild):
* rendering/svg/RenderSVGContainer.h:
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::removeChild):
* rendering/svg/RenderSVGInline.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::removeChild):
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::removeChild):
* rendering/svg/RenderSVGText.h:

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

5 years agoRevert r169362 since it broke the ML build.
jberlin@webkit.org [Tue, 27 May 2014 16:30:50 +0000 (16:30 +0000)]
Revert r169362 since it broke the ML build.

* Platform/IPC/Connection.h:
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog): Deleted.
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog): Deleted.
(IPC::ConnectionTerminationWatchdog::watchdogTimerFired): Deleted.
(IPC::Connection::terminateSoon): Deleted.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::removeWebPage):

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

5 years agoUpdate ENABLE(MEDIA_SOURCE) on Mac
jonlee@apple.com [Tue, 27 May 2014 16:25:56 +0000 (16:25 +0000)]
Update ENABLE(MEDIA_SOURCE) on Mac
https://bugs.webkit.org/show_bug.cgi?id=133141

Reviewed by Darin Adler.

Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:

Source/WebCore:
* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:

Source/WTF:
* wtf/FeatureDefines.h: #ifdef unneeded for Mac since it's covered in the .xcconfigs.

LayoutTests:
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/TestExpectations:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:

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

5 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Tue, 27 May 2014 15:12:49 +0000 (15:12 +0000)]
Unreviewed EFL gardening

Add failing tests to TestExpectations.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

5 years ago[EFL] Change download url of freetype6
gyuyoung.kim@samsung.com [Tue, 27 May 2014 15:12:24 +0000 (15:12 +0000)]
[EFL] Change download url of freetype6
https://bugs.webkit.org/show_bug.cgi?id=133303

Reviewed by Csaba Osztrogonác.

freetype6 tarball isn't downloaded in Korea. So, we need to
change the url for now.

* efl/jhbuild.modules:

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

5 years agoRemove BLOB guards
commit-queue@webkit.org [Tue, 27 May 2014 14:27:18 +0000 (14:27 +0000)]
Remove BLOB guards
https://bugs.webkit.org/show_bug.cgi?id=132863

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

.:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:

Source/WebCore:
* Configurations/FeatureDefines.xcconfig:
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::didFail):
(WebCore::WebSocketChannel::processOutgoingFrameQueue):
(WebCore::WebSocketChannel::abortOutgoingFrameQueue):
* Modules/websockets/WebSocketChannel.h:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* bindings/js/JSBlobCustom.cpp:
(WebCore::JSBlobConstructor::constructJSBlob):
* bindings/js/JSFileReaderCustom.cpp:
* dom/DOMExceptions.in:
* dom/EventTargetFactory.in:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::publicURLManager):
* dom/ScriptExecutionContext.h:
* fileapi/AsyncFileStream.cpp:
* fileapi/AsyncFileStream.h:
* fileapi/Blob.cpp:
(WebCore::Blob::Blob):
* fileapi/Blob.h:
(WebCore::Blob::slice):
* fileapi/Blob.idl:
* fileapi/FileError.h:
* fileapi/FileError.idl:
* fileapi/FileException.cpp:
* fileapi/FileException.h:
* fileapi/FileException.idl:
* fileapi/FileReader.cpp:
* fileapi/FileReader.h:
* fileapi/FileReader.idl:
* fileapi/FileReaderLoader.cpp:
* fileapi/FileReaderLoader.h:
* fileapi/FileReaderLoaderClient.h:
* fileapi/FileReaderSync.cpp:
* fileapi/FileReaderSync.h:
* fileapi/FileReaderSync.idl:
* fileapi/FileThread.cpp:
* fileapi/FileThread.h:
* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::ThreadableBlobRegistry::registerFileBlobURL): Deleted.
(WebCore::ThreadableBlobRegistry::registerBlobURL): Deleted.
(WebCore::ThreadableBlobRegistry::registerBlobURLForSlice): Deleted.
(WebCore::ThreadableBlobRegistry::unregisterBlobURL): Deleted.
(WebCore::ThreadableBlobRegistry::blobSize): Deleted.
(WebCore::ThreadableBlobRegistry::getCachedOrigin): Deleted.
* fileapi/WebKitBlobBuilder.cpp:
(WebCore::BlobBuilder::append):
* fileapi/WebKitBlobBuilder.h:
* html/DOMURL.cpp:
* html/DOMURL.h:
* html/DOMURL.idl:
* html/PublicURLManager.cpp:
* html/PublicURLManager.h:
* loader/LoaderStrategy.cpp:
(WebCore::LoaderStrategy::createBlobRegistry):
* loader/LoaderStrategy.h:
* page/DOMWindow.idl:
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::shouldUseInnerURL):
(WebCore::getCachedOrigin):
* platform/FileStream.cpp:
* platform/FileStream.h:
* platform/FileStreamClient.h:
* platform/SchemeRegistry.cpp:
(WebCore::canDisplayOnlyIfCanRequestSchemes):
* platform/network/BlobRegistry.cpp:
* platform/network/BlobRegistryImpl.cpp:
* platform/network/BlobResourceHandle.cpp:
* platform/network/BlobResourceHandle.h:
* platform/network/FormData.cpp:
(WebCore::FormData::deepCopy):
(WebCore::FormData::appendFile):
(WebCore::FormData::appendBlob):
(WebCore::FormData::appendKeyValuePairItems):
(WebCore::FormData::resolveBlobReferences):
(WebCore::encodeElement):
(WebCore::decodeElement):
* platform/network/FormData.h:
(WebCore::FormDataElement::FormDataElement):
(WebCore::operator==):
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::closeCurrentStream):
(WebCore::advanceCurrentStream):
(WebCore::formCreate):
(WebCore::formRead):
(WebCore::setHTTPBody):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::getFormElementsCount):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::addEncodedBlobToSoupMessageBody):
(WebCore::addFormElementsToSoupMessage):
* workers/WorkerGlobalScope.idl:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::createRequest):

Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
* WebView/WebView.mm:
(+[WebView _canHandleRequest:forMainFrame:]):

Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
* NetworkProcess/FileAPI/NetworkBlobRegistry.h:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::blobSize):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkProcessPlatformStrategies.cpp:
* NetworkProcess/NetworkProcessPlatformStrategies.h:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
* WebProcess/FileAPI/BlobRegistryProxy.cpp:
* WebProcess/FileAPI/BlobRegistryProxy.h:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::canHandleRequest):

Source/WTF:
* wtf/FeatureDefines.h:

Tools:
* Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:
* win/tools/vsprops/FeatureDefines.props:
* win/tools/vsprops/FeatureDefinesCairo.props:

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

5 years agoAllow building CMake based ports with WEB_REPLAY
commit-queue@webkit.org [Tue, 27 May 2014 11:31:17 +0000 (11:31 +0000)]
Allow building CMake based ports with WEB_REPLAY
https://bugs.webkit.org/show_bug.cgi?id=133154

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-27
Reviewed by Csaba Osztrogonác.

.:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:
* CMakeLists.txt:

Source/WebCore:
* CMakeLists.txt:

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

5 years ago[GStreamer] Add missing <wtf/MathExtras.h> header
commit-queue@webkit.org [Tue, 27 May 2014 10:56:29 +0000 (10:56 +0000)]
[GStreamer] Add missing <wtf/MathExtras.h> header
https://bugs.webkit.org/show_bug.cgi?id=133236

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2014-05-27
Reviewed by Philippe Normand.

In some configurations, not including <wtf/MathExtras.h> will cause
errors about undefined functions. In particular, this happens in
Linux with glibc 2.19 and compiling with Clang. Having the header
included is the correct thing to do anyway.

* platform/graphics/gstreamer/GStreamerUtilities.cpp:
Include <wtf/MathExtras.h>

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

5 years agoRemove leftover comment from r165182.
berto@igalia.com [Tue, 27 May 2014 10:24:42 +0000 (10:24 +0000)]
Remove leftover comment from r165182.

Rubber stamped by Carlos Garcia Campos.

* TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:

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

5 years agoSpeculative Windows buildfix after r169358.
ossy@webkit.org [Tue, 27 May 2014 10:19:52 +0000 (10:19 +0000)]
Speculative Windows buildfix after r169358.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

5 years ago[GLIB] RunLoop::dispatch always executes the function on the main thread instead...
commit-queue@webkit.org [Tue, 27 May 2014 08:08:24 +0000 (08:08 +0000)]
[GLIB] RunLoop::dispatch always executes the function on the main thread instead of the target thread.
https://bugs.webkit.org/show_bug.cgi?id=133291

Patch by Gwang Yoon Hwang <yoon@igalia.com> on 2014-05-27
Reviewed by Carlos Garcia Campos.

GMainLoopSource::schedule[AfterDelay] must be used with the appropriate
GMainContext. Because current implementations in RunLoopGtk passes nullptr
instead of its runLoopContext when using GMainLoopSource, all of dispatched
functions are executed on the main thread regardless of which runloops is used.

This patch fixes the issue by passing the m_runLoopContext instead the default
parameter to the GMainLoopSource::schedule[AfterDelay].

* wtf/gtk/RunLoopGtk.cpp:
(WTF::RunLoop::wakeUp):
(WTF::RunLoop::TimerBase::start):

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

5 years agoSetting up OrderIterator shouldn't require an extra Vector
rego@igalia.com [Tue, 27 May 2014 07:17:52 +0000 (07:17 +0000)]
Setting up OrderIterator shouldn't require an extra Vector
https://bugs.webkit.org/show_bug.cgi?id=119061

Reviewed by Darin Adler.

From Blink r153971 by <jchaffraix@chromium.org>

This patches reuse the OrderIterator's Vector. It provides a helper class OrderIteratorPopulator, used for
manipulating the Vector directly. Which allows to consolidate the code into a single implementation across
flexbox and grid.

No new tests, already covered by current tests.

* rendering/OrderIterator.cpp:
(WebCore::OrderIteratorPopulator::~OrderIteratorPopulator): Reset OrderIterator and call
removeDuplicatedOrderValues().
(WebCore::OrderIteratorPopulator::removeDuplicatedOrderValues): Sorts the Vector and removes the duplicated
order values.
(WebCore::OrderIteratorPopulator::collectChild): Collect order value information from child.
(WebCore::OrderIterator::setOrderValues): Deleted.
* rendering/OrderIterator.h:
(WebCore::OrderIteratorPopulator::OrderIteratorPopulator): Add helper class to manipulate OrderValues Vector.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Remove unneeded code related to old OrderValues vector.
(WebCore::RenderFlexibleBox::prepareOrderIteratorAndMargins): Populate OrderIterator using collectChild().
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Deleted.
* rendering/RenderFlexibleBox.h: Rename computeMainAxisPreferredSizes() to prepareOrderIteratorAndMargins().
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Populate OrderIterator using collectChild().

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

5 years ago[EFL] Add LLVM as optional jhbuild module for FTL developers
commit-queue@webkit.org [Tue, 27 May 2014 07:05:44 +0000 (07:05 +0000)]
[EFL] Add LLVM as optional jhbuild module for FTL developers
https://bugs.webkit.org/show_bug.cgi?id=133216

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-05-26
Reviewed by Gyuyoung Kim.

* efl/jhbuild.modules:

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

5 years ago[wk2] RemoteLayerBackingStore front buffers should be purgeable when unparented
timothy_horton@apple.com [Tue, 27 May 2014 06:14:15 +0000 (06:14 +0000)]
[wk2] RemoteLayerBackingStore front buffers should be purgeable when unparented
https://bugs.webkit.org/show_bug.cgi?id=133020
<rdar://problem/16521736>

Reviewed by Simon Fraser.

* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::display):
Let the context know whenever a RemoteLayerBackingStore is displayed, so that
RemoteLayerBackingStoreCollection can (if needed) note that the backing store
is active once again (because we only display parented backing store).

(WebKit::RemoteLayerBackingStore::setBufferVolatility):
Ensure that we never have live contexts attached to any buffers when
marking them volatile, because checking isInUse() with live contexts is futile.

* Shared/mac/RemoteLayerBackingStoreCollection.h:
* Shared/mac/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection):
(WebKit::RemoteLayerBackingStoreCollection::willFlushLayers):
(WebKit::RemoteLayerBackingStoreCollection::willCommitLayerTree):
(WebKit::RemoteLayerBackingStoreCollection::didFlushLayers):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDestroyed):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDisplayed):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatileImmediately):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable):
(WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
(WebKit::RemoteLayerBackingStoreCollection::scheduleVolatilityTimer):
(WebKit::RemoteLayerBackingStoreCollection::purgeabilityTimerFired): Deleted.
(WebKit::RemoteLayerBackingStoreCollection::schedulePurgeabilityTimer): Deleted.
Rename purgeable->volatile for accuracy.
Keep track of two sets of backing store: those which are active/parented, and
those which are not. Backing store is moved to the inactive set after building
the transaction in which its owning layer is unparented.
When backing store is unparented, try to mark it volatile immediately. Also,
mark the backing store property as dirty on the owning layer so that when
said layer is reparented, we encode the backing store in the commit that reparents it,
as the UI process will throw away its reference to the backing store when
the layer is unparented. Mark the front buffers of unparented layers as volatile,
in addition to the others.

* Shared/mac/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::layerIDsWithNewlyUnreachableBackingStore):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::setLayerIDsWithNewlyUnreachableBackingStore):
Include the list of layers (by ID) with backing store which just became unreachable in the transaction.

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
Clear the contents of layers which now have unreachable backing store.
Otherwise, the UI process would hold a 'use' on the IOSurface, and prevent
the Web process from marking it volatile.

* WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::backingStoreWillBeDisplayed):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
Give RemoteLayerBackingStoreCollection a shot at the RemoteLayerTreeTransaction,
so that it can fill in layerIDsWithNewlyUnreachableBackingStore.
Also, let it know when the flush begins and ends, so that it can keep track
of which layers were reached in the flush.

* WebCore.exp.in:
* platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::willAddSurface):
* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::releaseGraphicsContext):
Rename clearGraphicsContext to releaseGraphicsContext for clarity.

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

5 years agoFix test failures on python test
gyuyoung.kim@samsung.com [Tue, 27 May 2014 05:38:27 +0000 (05:38 +0000)]
Fix test failures on python test
https://bugs.webkit.org/show_bug.cgi?id=133297

Reviewed by Dirk Schulze.

2 tests are failing because of unbounded local variable reference in test_importer.py.

* Scripts/webkitpy/w3c/test_importer.py: Move local variable declaration to top.
(TestImporter.import_tests):

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

5 years agoRemove special case for transparent SVG root layers
pdr@google.com [Tue, 27 May 2014 05:23:57 +0000 (05:23 +0000)]
Remove special case for transparent SVG root layers
https://bugs.webkit.org/show_bug.cgi?id=116856

Reviewed by Dirk Schulze.

This patch removes a special case from RenderLayer for root SVG layers
with opacity. Instead of checking whether a composited layer exists in
SVGRenderingContext::prepareToRenderSVGContent we now exclude the root
SVG renderobject from the opacity checks in prepareToRenderSVGContent.

This is a merge of https://src.chromium.org/viewvc/blink?view=rev&revision=174102
by Philip Rogers <pdr@chromium.org>.

No new tests as this is covered by svg/custom/composited-svg-with-opacity.html.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::isTransparent): Deleted.
* rendering/RenderLayer.h:
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
    The opacity case for root svg renderers is now handled by
    RenderLayer.

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

5 years ago[EFL][WK2] Fix EWK2BackForwardListTest test fails.
commit-queue@webkit.org [Tue, 27 May 2014 04:52:36 +0000 (04:52 +0000)]
[EFL][WK2] Fix EWK2BackForwardListTest test fails.
https://bugs.webkit.org/show_bug.cgi?id=133171

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-05-26
Reviewed by Gyuyoung Kim.

Use local test html pages instead of EWK2UnitTestServer, call ewk_view_url_set() to load test html pages.
Since even after setting no_proxy="localhost,127.0.0.1", still test server was unable to load the test
html pages for ewk2_back_forward_list tests, so changed to use local html pages.

* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(TEST_F):

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

5 years ago[EFL][WK2] Fix code style check errors in EFL API tests.
commit-queue@webkit.org [Tue, 27 May 2014 04:32:33 +0000 (04:32 +0000)]
[EFL][WK2] Fix code style check errors in EFL API tests.
https://bugs.webkit.org/show_bug.cgi?id=133170

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-05-26
Reviewed by Gyuyoung Kim.

Omit int when using unsigned modifier, as per coding style rules.

* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
(EWK2UnitTest::EWK2UnitTestEnvironment::defaultWidth):
(EWK2UnitTest::EWK2UnitTestEnvironment::defaultHeight):

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

5 years agoFix wrong inclusion depth of js-test-pre.js in is-protocol-handler-registered.html
gyuyoung.kim@samsung.com [Tue, 27 May 2014 02:23:31 +0000 (02:23 +0000)]
Fix wrong inclusion depth of js-test-pre.js in is-protocol-handler-registered.html
https://bugs.webkit.org/show_bug.cgi?id=133273

Reviewed by Darin Adler.

Can't use debug() due to wrong inclusion path.

* fast/dom/NavigatorContentUtils/is-protocol-handler-registered.html:

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

5 years ago[EFL] Move navigator content utils's to own directory
gyuyoung.kim@samsung.com [Tue, 27 May 2014 02:22:29 +0000 (02:22 +0000)]
[EFL] Move navigator content utils's to own directory
https://bugs.webkit.org/show_bug.cgi?id=133275

Reviewed by Darin Adler.

Expected results need to be maintained by own directory because navigator content utils have been maintained by
own directory as well.

* platform/efl/fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt: Renamed from LayoutTests/platform/efl/fast/dom/register-protocol-handler-expected.txt.
* platform/efl/fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt: Renamed from LayoutTests/platform/efl/fast/dom/unregister-protocol-handler-expected.txt.

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