commit-queue@webkit.org [Fri, 25 Apr 2014 12:06:53 +0000 (12:06 +0000)]
[CSS Grid Layout] Implementation of the grid-template shorthand.
https://bugs.webkit.org/show_bug.cgi?id=128980
Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-25
Reviewed by Darin Adler.
Source/WebCore:
This shorthand sets the values for the grid-template-columns,
grid-template-rows and grid-template-areas, so the implementation
tries to reuse as much available parsing functions as possible.
The "parsingGridTrackList" was refactored to return a CSSValue and
let the "parseValue" function to assign the property value. The
"forwardSlash" operator is now valid when the track-list clause is
part of a shorthand. The "parseValue" function checkouts that only
additional clauses are allowed when processing shorthands; the
grid-columns-rows-get-set.html tests was modified to verify this.
The "parseGridTemplateAreas" was refactored too, in order to
process single areas's rows. This is very useful for the
gris-template secondary syntax, which mixes areas and rows values.
Finally, the "parseGirdLineNames" function was modified as well by
defining an new argument to concatenate head/tail custom-ident
elements and ensure the identList is at the heading index, since
it's now possible the parseList was rewound.
The implementation of the grid-template shorthand tries first to
match the <grid-template-columns> / <grid-template-rows> syntax,
failing back to the secondary syntax if needed. This approach
requires to rewind the parseList but it produces a clearer code.
Test: fast/css-grid-layout/grid-template-shorthand-get-set.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridTemplateRowsAndAreas):
(WebCore::CSSParser::parseGridTemplateShorthand):
(WebCore::CSSParser::parseGridLineNames):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTemplateAreasRow):
(WebCore::CSSParser::parseGridTemplateAreas):
* css/CSSParser.h:
* css/CSSParserValues.h:
(WebCore::CSSParserValueList::setCurrentIndex):
* css/CSSPropertyNames.in:
* css/StylePropertyShorthand.cpp:
(WebCore::webkitGridTemplateShorthand):
* css/StylePropertyShorthand.h:
LayoutTests:
Layout Test for the basic functionality of the grid-template shorthand. It was
also added a new javascript file with some utility functions.
This shorthand sets the values for the grid-template-columns,
grid-template-rows and grid-template-areas, so the implementation
tries to reuse as much available parsing functions as possible.
* fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt: Added.
* fast/css-grid-layout/grid-template-shorthand-get-set.html: Added.
* fast/css-grid-layout/resources/grid-template-shorthand-parsing-utils.js: Added.
(testGridDefinitionsValues):
(testGridDefinitionsSetJSValues):
(testNonGridDefinitionsSetJSValues):
(checkGridDefinitionsSetJSValues):
(testGridDefinitionsSetBadJSValues):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167799
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Fri, 25 Apr 2014 09:23:13 +0000 (09:23 +0000)]
Remove two unused SVGDocument functions.
<https://webkit.org/b/132178>
Reviewed by Antti Koivisto.
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::dispatchZoomEvent): Deleted.
(WebCore::SVGDocument::dispatchScrollEvent): Deleted.
* svg/SVGDocument.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167798
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
graouts@webkit.org [Fri, 25 Apr 2014 08:25:59 +0000 (08:25 +0000)]
Implement Array.prototype.find()
https://bugs.webkit.org/show_bug.cgi?id=130966
Reviewed by Oliver Hunt.
Source/JavaScriptCore:
Implement Array.prototype.find() and Array.prototype.findIndex() as proposed in the Harmony spec.
* builtins/Array.prototype.js:
(find):
(findIndex):
* runtime/ArrayPrototype.cpp:
LayoutTests:
* js/Object-getOwnPropertyNames-expected.txt:
* js/array-find-expected.txt: Added.
* js/array-find.html: Added.
* js/array-findIndex-expected.txt: Added.
* js/array-findIndex.html: Added.
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/array-find.js: Added.
* js/script-tests/array-findIndex.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167797
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 25 Apr 2014 08:04:28 +0000 (08:04 +0000)]
Incomplete body painting when using blend modes
https://bugs.webkit.org/show_bug.cgi?id=131889
Source/WebCore:
The incomplete painting was caused by the transparency layer created for
the root renderer. We can safely skip creating this transparency layer at
the root level, as there is nothing else being painted behind this layer that
could be used erroneously as a backdrop.
Patch by Ion Rosca <rosca@adobe.com> on 2014-04-25
Reviewed by Simon Fraser.
Test: css3/compositing/blend-mode-with-body.html
* rendering/RenderLayer.h:
Changing RenderLayer::paintsWithTransparency so that it will not
return true when the root renderer needs to isolate blending.
LayoutTests:
Patch by Ion Rosca <rosca@adobe.com> on 2014-04-25
Reviewed by Simon Fraser.
* css3/compositing/blend-mode-with-body-expected.html: Added.
* css3/compositing/blend-mode-with-body.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167796
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 25 Apr 2014 07:58:31 +0000 (07:58 +0000)]
[GTK] Plugin process crashes with GTK2 windowed plugins
https://bugs.webkit.org/show_bug.cgi?id=132127
Reviewed by Martin Robinson.
It happens sometimes because the socket is used before the plug
has been added. A runtime critical warnings is shown and it
sometimes ends up crashing.
* WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
(WebKit::NetscapePlugin::platformPostInitializeWindowed): Do not
show the plug widget until the socket is connected.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167795
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 25 Apr 2014 07:55:19 +0000 (07:55 +0000)]
ASSERTION FAILED: "!m_isolatedWorld->isNormal() || m_wrapper || !m_jsFunction" in svg/custom/use-instanceRoot-event-listeners.xhtml
https://bugs.webkit.org/show_bug.cgi?id=132148
Reviewed by Andreas Kling.
Changed how JSCustomMarkFunction generation works. Instead of leaving out
the generated visitChildren function, just generate a call to visitAdditionalChildren.
This eliminates the need to repeat boilerplate.
The fix for the above bug was to correct mistaken logic where JSSVGElementInstance
had a visitChildren that did not properly mark event listeners because it explicitly
did not call through to the base class visitChildren. The new arrangement makes that
mistake impossible.
* bindings/js/JSAttrCustom.cpp:
(WebCore::JSAttr::visitAdditionalChildren): Use this instead of visitChildren.
* bindings/js/JSAudioTrackCustom.cpp:
(WebCore::JSAudioTrack::visitAdditionalChildren): Ditto.
* bindings/js/JSAudioTrackListCustom.cpp:
(WebCore::JSAudioTrackList::visitAdditionalChildren): Ditto.
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::JSCSSRule::visitAdditionalChildren): Ditto.
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::visitAdditionalChildren): Ditto.
* bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::JSCanvasRenderingContext::visitAdditionalChildren): Ditto.
* bindings/js/JSCryptoKeyPairCustom.cpp:
(WebCore::JSCryptoKeyPair::visitAdditionalChildren): Ditto.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::visitAdditionalChildren): Ditto.
* bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannel::visitAdditionalChildren): Ditto.
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::visitAdditionalChildren): Ditto.
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::visitAdditionalChildren): Ditto.
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::visitAdditionalChildren): Ditto.
* bindings/js/JSNodeIteratorCustom.cpp:
(WebCore::JSNodeIterator::visitAdditionalChildren): Ditto.
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::JSSVGElementInstance::visitAdditionalChildren): Ditto.
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorker::visitAdditionalChildren): Ditto.
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::JSStyleSheet::visitAdditionalChildren): Ditto.
* bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::JSTextTrackCue::visitAdditionalChildren): Ditto.
* bindings/js/JSTextTrackCustom.cpp:
(WebCore::JSTextTrack::visitAdditionalChildren): Ditto.
* bindings/js/JSTextTrackListCustom.cpp:
(WebCore::JSTextTrackList::visitAdditionalChildren): Ditto.
* bindings/js/JSTreeWalkerCustom.cpp:
(WebCore::JSTreeWalker::visitAdditionalChildren): Ditto.
* bindings/js/JSVideoTrackCustom.cpp:
(WebCore::JSVideoTrack::visitAdditionalChildren): Ditto.
* bindings/js/JSVideoTrackListCustom.cpp:
(WebCore::JSVideoTrackList::visitAdditionalChildren): Ditto.
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::visitAdditionalChildren): Ditto.
* bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::visitAdditionalChildren): Ditto.
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::visitAdditionalChildren): Ditto.
* bindings/js/JSXPathResultCustom.cpp:
(WebCore::JSXPathResult::visitAdditionalChildren): Ditto.
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::visitChildren): Rewrote to use modern for loops.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Generate declaration of visitAdditionalChildren.
(GenerateImplementation): Generate call to visitAdditionalChildren.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167794
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Fri, 25 Apr 2014 07:19:31 +0000 (07:19 +0000)]
[iOS WebKit2] Enable optimization to mmap downloaded resources once they become file-backed.
<https://webkit.org/b/132171>
<rdar://problem/
16720733>
Source/WebCore:
Add a missing export for the USE(CFNETWORK) + WebKit2 combo.
Reviewed by Antti Koivisto.
* WebCore.exp.in:
Source/WebKit2:
Implement a CFNetwork-based version of NetworkResourceLoader::willCacheResponseAsync()
and activate the DiskCacheMonitor code path. This means that once resources go into
file system cache, we get notified and mmap them from disk, saving heaps of memory.
Reviewed by Antti Koivisto.
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/mac/DiskCacheMonitor.mm:
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::willCacheResponseAsync):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167793
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Fri, 25 Apr 2014 06:28:33 +0000 (06:28 +0000)]
[iOS WebKit2] RemoteLayerTreeDrawingArea should force CA to garbage collect surfaces.
<https://webkit.org/b/132160>
<rdar://problem/
16110687>
Do an empty CATransaction at the end of RemoteLayerTreeDrawingArea::flushLayers()
to get CA to garbage collect its IOSurfaces. This helps clean up unused surfaces
that we'd otherwise end up hanging on to for a long time.
Reviewed by Tim Horton.
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::didUpdate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167792
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 25 Apr 2014 06:02:42 +0000 (06:02 +0000)]
Fix typo in comment from last check-in
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167791
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 25 Apr 2014 06:01:34 +0000 (06:01 +0000)]
FrameLoader::checkCompleted can hit the "ref'ing while destroyed" assertion
https://bugs.webkit.org/show_bug.cgi?id=132163
rdar://problem/
16720640
Reviewed by Brady Eidson.
Couldn't find a way to test this yet. Would be nice to have a test.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkCompleted): Move protector until after we check
if the frame is already complete. That can happen in practice when this is
called from within the frame's destructor. All the code that runs before the
protector simply checks state and does not require protection.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167790
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Fri, 25 Apr 2014 03:59:46 +0000 (03:59 +0000)]
Mark Supplement instead of RefCountedSupplement in NavigatorContentUtils
https://bugs.webkit.org/show_bug.cgi?id=132151
Reviewed by Darin Adler.
Though Original goal was to make it sharable across navigator instances, the NavigatorContentUtils
has used RefCountedSupplement<Page> instead of RefCountedSupplement<Navigator>. This patch makes it
use Supplement<Page> because there is no scenario which needs to be shared across navigator instances.
Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=171403.
No new tests, no behavior changes.
* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::NavigatorContentUtils::from):
(WebCore::NavigatorContentUtils::create):
(WebCore::provideNavigatorContentUtilsTo):
* Modules/navigatorcontentutils/NavigatorContentUtils.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167789
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 25 Apr 2014 01:24:27 +0000 (01:24 +0000)]
Unreviewed, rolling out r167700.
https://bugs.webkit.org/show_bug.cgi?id=132142
Incorrectly reverted the change in r167547 for
webkit.org/b/131898 (Requested by rniwa on #webkit).
Reverted changeset:
"Cursor doesn't change back to pointer when leaving the Safari
window"
https://bugs.webkit.org/show_bug.cgi?id=132038
http://trac.webkit.org/changeset/167700
Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-24
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167788
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 25 Apr 2014 00:54:05 +0000 (00:54 +0000)]
Web Inspector: Dashboard when paused in debugger shows some missing glyph boxes
https://bugs.webkit.org/show_bug.cgi?id=132113
Reviewed by Joseph Pecoraro.
* UserInterface/Views/DebuggerDashboardView.css:
(.dashboard.debugger > .location .function-name::after): Fix the codepoint for nbsp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167787
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 25 Apr 2014 00:53:01 +0000 (00:53 +0000)]
Rename "IMAGE_CONTROLS" feature to "SERVICE_CONTROLS"
https://bugs.webkit.org/show_bug.cgi?id=132155
Reviewed by Tim Horton.
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
No new tests (No change in behavior).
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* WebCore.exp.in:
* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSValueKeywords.in:
* dom/Node.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
* html/HTMLImageElement.h:
* html/shadow/ImageControlsRootElement.cpp:
* html/shadow/ImageControlsRootElement.h:
* html/shadow/mac/ImageControlsButtonElementMac.cpp:
* html/shadow/mac/ImageControlsButtonElementMac.h:
* html/shadow/mac/ImageControlsRootElementMac.cpp:
* html/shadow/mac/ImageControlsRootElementMac.h:
* page/ContextMenuContext.cpp:
(WebCore::ContextMenuContext::ContextMenuContext):
* page/ContextMenuContext.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::ContextMenuController::populate):
* page/ContextMenuController.h:
* page/Settings.in:
* platform/ThemeTypes.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::canHaveChildren):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::servicesRolloverButtonCell):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
* Misc/WebSharingServicePickerController.h:
* Misc/WebSharingServicePickerController.mm:
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuForEvent):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
* Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::operator=):
(WebKit::ContextMenuContextData::encode):
(WebKit::ContextMenuContextData::decode):
* Shared/ContextMenuContextData.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::internalShowContextMenu):
* UIProcess/WebPageProxy.h:
* UIProcess/mac/WebContextMenuProxyMac.h:
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
(WebKit::WebContextMenuProxyMac::populate):
(WebKit::WebContextMenuProxyMac::showContextMenu):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/WebContextMenu.cpp:
* WebProcess/WebPage/WebContextMenu.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167786
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 25 Apr 2014 00:51:14 +0000 (00:51 +0000)]
Web Inspector: Restore PageDebuggerAgent::enable / disable
https://bugs.webkit.org/show_bug.cgi?id=132156
Restore functions that were eroniously removed in r167530.
Reviewed by Joseph Pecoraro.
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::enable): Added.
(WebCore::PageDebuggerAgent::disable): Added.
* inspector/PageDebuggerAgent.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167785
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 25 Apr 2014 00:48:38 +0000 (00:48 +0000)]
Dropzone effects don't work in non-file documents
https://bugs.webkit.org/show_bug.cgi?id=131770
Reviewed by Darin Adler.
File documents have two quirks that were making dropzone work in these before:
1. An ancient hack for Dashboard allows pasteboard access from JS.
2. On Mac, sandbox doesn't prevent File object creation, as we already have the access.
* dom/DataTransfer.cpp:
(WebCore::DataTransfer::hasFileOfType):
(WebCore::DataTransfer::hasStringOfType):
* dom/DataTransfer.h:
Moved these functions from EventHandler to DataTransfer. We can't create a DataTransfer
with Files while dragging, security doesn't permit us to. But we can get the file name.
* fileapi/File.cpp:
(WebCore::createBlobDataForFile):
(WebCore::createBlobDataForFileWithName):
(WebCore::File::contentTypeFromFilePath):
(WebCore::getContentTypeFromFileName): Deleted.
* fileapi/File.h:
Exposed a function to get file type from path without creating a File first.
This is much cheaper than creating a File, and works even when sandbox disallows
read access to content, such as when dragging over a target.
* page/EventHandler.cpp:
(WebCore::hasDropZoneType):
(WebCore::hasFileOfType): Deleted.
(WebCore::hasStringOfType): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167784
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 25 Apr 2014 00:17:07 +0000 (00:17 +0000)]
[iOS] Add some missing overrides and remove unnecessary virtuals
https://bugs.webkit.org/show_bug.cgi?id=132153
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-04-24
Reviewed by Darin Adler.
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/WebVideoFullscreenManagerProxy.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167783
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Fri, 25 Apr 2014 00:14:14 +0000 (00:14 +0000)]
REGRESSION: Apparent hang of PCE.js Mac OS System 7.0.1 on ARM64 devices
https://bugs.webkit.org/show_bug.cgi?id=132147
Reviewed by Mark Lam.
Fixed or64(), eor32( ) and eor64() to use "src" register when we have a valid logicalImm.
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::or64):
(JSC::MacroAssemblerARM64::xor32):
(JSC::MacroAssemblerARM64::xor64):
* tests/stress/regress-132147.js: Added test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167782
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 25 Apr 2014 00:06:46 +0000 (00:06 +0000)]
Web Inspector: Should update to CodeMirror 4.1
https://bugs.webkit.org/show_bug.cgi?id=132140
Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-24
Reviewed by Timothy Hatcher.
Updated to CodeMirror 4.1, which contains several bugfixes.
Release notes: http://codemirror.net/doc/releases.html#v4
* Tools/PrettyPrinting/codemirror.js:
* Tools/PrettyPrinting/css.js:
* Tools/PrettyPrinting/javascript.js:
* UserInterface/External/CodeMirror/codemirror.js:
* UserInterface/External/CodeMirror/css.js:
* UserInterface/External/CodeMirror/javascript.js:
* UserInterface/External/CodeMirror/livescript.js:
* UserInterface/External/CodeMirror/runmode.js:
* UserInterface/External/CodeMirror/xml.js:
Updated to CodeMirror 4.1.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167781
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Thu, 24 Apr 2014 22:48:32 +0000 (22:48 +0000)]
Unreviewed, rolling out r167441.
https://bugs.webkit.org/show_bug.cgi?id=132152
Caused full screen regressions on vimeo, youtube, and others.
(Requested by jernoble on #webkit).
Reverted changeset:
"Fullscreen media controls are unusable in pagination mode"
https://bugs.webkit.org/show_bug.cgi?id=131705
http://trac.webkit.org/changeset/167441
Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-24
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167780
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 24 Apr 2014 22:29:16 +0000 (22:29 +0000)]
Web Inspector: CSS autofill suggests properties instead of values when values are needed
https://bugs.webkit.org/show_bug.cgi?id=132090
Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-24
Reviewed by Joseph Pecoraro.
Updates are required to the CodeMirror helpers to be compatible with
CodeMirror 4. Some of those changes have been made to fix an issue
with CSS autofill, CSS code coloring, and also
https://bugs.webkit.org/show_bug.cgi?id=131859. The main issue is that
CodeMirror 4's CSS mode (css.js) stores its parsing modes in a different
data structure. All references to state.stack are obscelete. Many
are fixed here and more will be in an upcoming patch.
* Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
* UserInterface/Controllers/CodeMirrorCompletionController.js:
(WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): Corrected "block" state detection.
* UserInterface/External/CodeMirror/less.js: Removed.
* UserInterface/Views/CodeMirrorAdditions.js: Sets default state of "block" correctly.
* UserInterface/Views/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
* UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Fix styles to match CSS mode changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167779
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cavalcantii@gmail.com [Thu, 24 Apr 2014 22:14:14 +0000 (22:14 +0000)]
Unused class forward declarations in Page
https://bugs.webkit.org/show_bug.cgi?id=132141
Reviewed by Benjamin Poulain.
No new tests, no change on behavior.
* page/Page.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167777
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Thu, 24 Apr 2014 21:46:19 +0000 (21:46 +0000)]
[Mac] don't ask for AVAssetTrack properties before they are available
https://bugs.webkit.org/show_bug.cgi?id=131902
<rdar://problem/
16505076>
Reviewed by Brent Fulgham.
No new tests, the behavior this changes can not be tested with a layout test.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
m_cachedTotalBytes.
(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Don't report that
metadata has been loaded until the track properties we need have been loaded too.
(WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Cache totalBytes instead
of recalculating it every time.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Invalidate cached
total bytes.
(WebCore::assetTrackMetadataKeyNames): Array of AVAssetTrack properties we use.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167776
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 24 Apr 2014 21:45:55 +0000 (21:45 +0000)]
WebKit2 View Gestures: Use a single struct for the snapshot, and pass it around
https://bugs.webkit.org/show_bug.cgi?id=132114
Reviewed by Simon Fraser.
Have only a single map in ViewSnapshotStore, from back-forward item
to ViewSnapshotStore::Snapshot, and return the Snapshot struct when looking
up snapshots (via getSnapshot()), so that future patches can persist additional
information along with the snapshot.
* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
* UIProcess/mac/ViewGestureController.h:
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::retrieveSnapshotForItem):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
Adopt getSnapshot() instead of snapshotAndRenderTreeSize().
Move retrieveSnapshotForItem out into a separate function (for future use).
* UIProcess/mac/ViewSnapshotStore.h:
(WebKit::ViewSnapshotStore::disableSnapshotting):
(WebKit::ViewSnapshotStore::enableSnapshotting):
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
(WebKit::ViewSnapshotStore::getSnapshot):
(WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize): Deleted.
Make Snapshot struct public.
Get rid of the separate map of back-forward items to render tree sizes.
When evicting, instead of removing the entry, clear out its snapshot image;
this way, we can keep other snapshot metadata around.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167775
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Thu, 24 Apr 2014 21:44:42 +0000 (21:44 +0000)]
[iOS WebKit2] Should properly handle focus redirect (keyboard state changes when focus changes).
https://bugs.webkit.org/show_bug.cgi?id=132136
<rdar://problem/
16238336>
Reviewed by Benjamin Poulain.
Focusing a field from JavaScript should not make the keyboard or the select picker
appear unless the user has already started interacting with one of the fields in the page.
Adding a parameter to StartAssistingNode to indicate whether the focus change is a result
of a user action.
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::startAssistingNode):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _startAssistingNode:userIsInteracting:userObject:]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::startAssistingNode):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::dispatchTouchEvent):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleTap):
(WebKit::WebPage::elementDidFocus):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167774
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Thu, 24 Apr 2014 21:20:54 +0000 (21:20 +0000)]
Unify platformWidthForGlyph across OS X and iOS
https://bugs.webkit.org/show_bug.cgi?id=132036
Reviewed by Darin Adler.
This patch creates on shared SimpleFontData::platformWidthForGlyph() function for both OS X and iOS.
No new tests are necessary because there should be no behavior changes.
* platform/graphics/SimpleFontData.h: Signatures for two helper functions
* platform/graphics/ios/SimpleFontDataIOS.mm: Replace iOS implementation of platformWidthForGlyph() with
implementations of only the two helper functions
(WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
(WebCore::SimpleFontData::advanceForColorBitmapFont): iOS doesn't have color bitmap fonts
(WebCore::SimpleFontData::platformWidthForGlyph): Deleted.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
(WebCore::SimpleFontData::advanceForColorBitmapFont): Use [NSFont advancementForGlyph] to compute the advance
(WebCore::hasCustomTracking): Removed #if
(WebCore::isEmoji): Only relevant on iOS
(WebCore::SimpleFontData::platformWidthForGlyph): Shared implementation. Calls helper functions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167773
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Thu, 24 Apr 2014 21:12:56 +0000 (21:12 +0000)]
Make slowPathAllocsBetweenGCs a runtime option.
<https://webkit.org/b/132137>
Reviewed by Mark Hahnenberg.
This will make it easier to more casually run tests with this configuration
as well as to reproduce issues (instead of requiring a code mod and rebuild).
We will now take --slowPathAllocsBetweenGCs=N where N is the number of
slow path allocations before we trigger a collection.
The option defaults to 0, which is reserved to mean that we will not trigger
any collections there.
* heap/Heap.h:
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::doTestCollectionsIfNeeded):
(JSC::MarkedAllocator::allocateSlowCase):
* heap/MarkedAllocator.h:
* runtime/Options.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167772
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Thu, 24 Apr 2014 20:46:26 +0000 (20:46 +0000)]
Subpixel rendering: Clipping on text areas when shifted by one device pixel.
https://bugs.webkit.org/show_bug.cgi?id=132008
Reviewed by Darin Adler.
Make RenderTheme paint* functions LayoutRect aware. Textarea is device pixel snapped, while
other theme controls are still on integral size/positions.
Source/WebCore:
Test: fast/forms/hidpi-textarea-on-subpixel-position.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintTextAreaDecorations):
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintTextArea):
LayoutTests:
* fast/forms/hidpi-textarea-on-subpixel-position-expected.html: Added.
* fast/forms/hidpi-textarea-on-subpixel-position.html: Added.
* platform/mac-wk2/TestExpectations: Due to defective RenderLayer cliprect calculation (WK2 only): webkit.org/b/132100
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167771
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 24 Apr 2014 20:24:13 +0000 (20:24 +0000)]
Text caret disappears in Mail after returning from another application
https://bugs.webkit.org/show_bug.cgi?id=132111
Reviewed by Darin Adler.
The bug was caused by our SPI _windowChangedKeyState not getting called upon deminiaturization.
Fixed the bug by using the standard NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification
notifications as done in WebKit2 since they DO get called upon deminiaturization.
* WebView/WebView.mm:
(-[WebView addWindowObserversForWindow:]):
(-[WebView removeWindowObservers]):
(-[WebView _windowKeyStateChanged:]):
(-[WebView _windowChangedKeyState]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167770
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 24 Apr 2014 19:49:23 +0000 (19:49 +0000)]
Unreviewed GTK gardening
Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-04-24
Tools:
* Scripts/run-gtk-tests: Skips one flaky accesibility test in WK2API suite
(TestRunner):
LayoutTests:
* platform/gtk/TestExpectations: Updated a few expectations entries
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167769
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Thu, 24 Apr 2014 19:05:47 +0000 (19:05 +0000)]
FontCache::fontCache() never returns nullptr so it can be made to return a reference instead
https://bugs.webkit.org/show_bug.cgi?id=132110
Reviewed by Tim Horton.
Updates callers to use '.' instead of '->'.
No new tests are necessary because there should be no behavior change.
Source/WebCore:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::CSSFontSelector):
(WebCore::CSSFontSelector::~CSSFontSelector):
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::fontDataForGenericFamily):
(WebCore::CSSFontSelector::getFallbackFontData):
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseMemory):
* platform/graphics/FontCache.cpp:
(WebCore::fontCache): Return a reference
* platform/graphics/FontCache.h:
(WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
(WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::releaseFontData):
(WebCore::FontGlyphs::realizeFontDataAt):
(WebCore::FontGlyphs::glyphDataAndPageForCharacter):
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::verticalData):
* platform/graphics/ios/SimpleFontDataIOS.mm:
(WebCore::SimpleFontData::platformCreateScaledFontData):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::invalidateFontCache):
(WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::platformCreateScaledFontData):
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::getCJKCodePageMasks):
* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::containsCharacters):
* platform/graphics/wince/FontCacheWinCE.cpp:
(WebCore::getCJKCodePageMasks):
* platform/graphics/wince/FontPlatformData.cpp:
(WebCore::FontFamilyCodePageInfo::codePages):
(WebCore::FixedSizeFontData::create):
* platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/wince/SimpleFontDataWinCE.cpp:
(WebCore::SimpleFontData::platformCreateScaledFontData):
(WebCore::SimpleFontData::containsCharacters):
Source/WebKit/efl:
* ewk/ewk_settings.cpp:
(ewk_settings_memory_cache_clear):
Source/WebKit/ios:
* Misc/EmojiFallbackFontSelector.cpp:
(EmojiFallbackFontSelector::getFallbackFontData):
Source/WebKit/mac:
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics cachedFontDataCount]):
(+[WebCoreStatistics cachedFontDataInactiveCount]):
(+[WebCoreStatistics purgeInactiveFontData]):
* WebView/WebView.mm:
(+[WebView purgeInactiveFontData]):
Source/WebKit/win:
* WebCoreStatistics.cpp:
(WebCoreStatistics::cachedFontDataCount):
(WebCoreStatistics::cachedFontDataInactiveCount):
(WebCoreStatistics::purgeInactiveFontData):
Source/WebKit2:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didClose):
(WebKit::WebProcess::getWebCoreStatistics):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167768
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Thu, 24 Apr 2014 19:04:01 +0000 (19:04 +0000)]
[iOS] Manage AudioSession category according to media type
https://bugs.webkit.org/show_bug.cgi?id=132096
Reviewed by Jer Noble.
Source/WebCore:
* WebCore.exp.in: Export setting.
* html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::HTMLMediaSession):
(WebCore::initializeAudioSession): Deleted.
* page/Settings.cpp:
* page/Settings.h:
(WebCore::Settings::setShouldManageAudioSession): New.
(WebCore::Settings::shouldManageAudioSession): Ditto.
* platform/audio/ios/AudioDestinationIOS.cpp:
(WebCore::AudioDestinationIOS::AudioDestinationIOS): Use a MediaSession instead of inheriting
from AudioListener and calling the AudioSession directly.
(WebCore::AudioDestinationIOS::~AudioDestinationIOS): Ditto.
(WebCore::AudioDestinationIOS::start): Notify session.
(WebCore::AudioDestinationIOS::stop): Ditto.
(WebCore::AudioDestinationIOS::beganAudioInterruption): Deleted.
(WebCore::AudioDestinationIOS::endedAudioInterruption): Deleted.
* platform/audio/ios/AudioDestinationIOS.h:
(WebCore::AudioDestinationIOS::mediaType):
(WebCore::AudioDestinationIOS::canReceiveRemoteControlCommands):
(WebCore::AudioDestinationIOS::didReceiveRemoteControlCommand):
(WebCore::AudioDestinationIOS::isPlaying): Deleted.
* platform/audio/ios/AudioSessionIOS.mm:
(WebCore::categoryName): Debug-only logging function.
(WebCore::AudioSession::setCategory): Don't stick with "media" once it is set.
* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::resetRestrictions): Set up restrictions for WebAudio.
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Don't set invalid start time.
* platform/audio/mac/MediaSessionManagerMac.cpp:
(MediaSessionManager::updateSessionState): Manage AudioSession.active when WebAudio clients
come and go. Manage AudioSession.category according to the number of WebAudio and
HTMLMediaElement clients.
Source/WebKit/mac:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Tell
WebCore to manage the AudioSession when running in MobileSafari.
Source/WebKit2:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Tell WebCore to manage the AudioSession.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167767
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 24 Apr 2014 17:48:28 +0000 (17:48 +0000)]
[wk2] Provide SPI allowing clients to hand events directly to swipe code, bypassing scrolling
https://bugs.webkit.org/show_bug.cgi?id=132092
<rdar://problem/
15948244>
Reviewed by Darin Adler.
* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _tryToSwipeWithEvent:ignoringPinnedState:]):
Added. Hand the event directly to ViewGestureController, optionally
ignoring whether or not the WKView is scrollable (always pretending that it is not).
* UIProcess/mac/ViewGestureController.h:
(WebKit::ViewGestureController::shouldIgnorePinnedState):
(WebKit::ViewGestureController::setShouldIgnorePinnedState):
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::scrollEventCanBecomeSwipe):
(WebKit::ViewGestureController::handleScrollWheelEvent):
(WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
(WebKit::scrollEventCanBecomeSwipe):
If we're ignoring the view's pinned state, pretend that we're always pinned,
and don't worry about sending events to WebCore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167766
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 24 Apr 2014 17:30:57 +0000 (17:30 +0000)]
[GTK] Unreviewed GTK gardening.
Update expectations after removal of environment variable
XVFB_SCREEN_DEPTH=8 from the GTK Release bot.
Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-04-24
* platform/gtk/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167765
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Thu, 24 Apr 2014 17:02:37 +0000 (17:02 +0000)]
[New Multicolumn] Client rects don't work with column spans.
https://bugs.webkit.org/show_bug.cgi?id=132131
Reviewed by Dean Jackson.
Source/WebCore:
Don't factor in the offset of the multicolumn set from the top
of the multicolumn block. This was added already, and it doesn't
need to be a part of columnTranslationForOffset.
Added fast/multicol/client-rects-spanners.html
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::columnTranslationForOffset):
LayoutTests:
* fast/multicol/client-rects-spanners.html: Added.
* platform/mac/fast/multicol/client-rects-spanners-expected.png: Added.
* platform/mac/fast/multicol/client-rects-spanners-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167764
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 24 Apr 2014 16:36:56 +0000 (16:36 +0000)]
Test that we correctly process ArrayBufferView slices in WebCrypto
https://bugs.webkit.org/show_bug.cgi?id=132087
Reviewed by Brent Fulgham.
* crypto/subtle/array-buffer-view-offset-expected.txt: Added.
* crypto/subtle/array-buffer-view-offset.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167763
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 24 Apr 2014 16:31:21 +0000 (16:31 +0000)]
[EFL] WebKit build fails when MEDIA_SOURCE is enabled
https://bugs.webkit.org/show_bug.cgi?id=132118
Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-04-24
Reviewed by Brent Fulgham.
Files MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp and
WebKitMediaSourceGStreamer.cpp are included for EFL port build.
No new tests. No change in behaviour.
* PlatformEfl.cmake: MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp
and WebKitMediaSourceGStreamer.cpp are included for compilation.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167762
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tgergely.u-szeged@partner.samsung.com [Thu, 24 Apr 2014 16:27:38 +0000 (16:27 +0000)]
ASSERTION FAILED: !begin.isIndefinite() in WebCore::SVGSMILElement::resolveFirstInterval.
https://bugs.webkit.org/show_bug.cgi?id=131097
Reviewed by Darin Adler.
Source/WebCore:
According to smil animation reference, max attribute cannot be 0.
Test: svg/animations/smil-animation-max-attribute-zero-crash.svg
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::maxValue):
changed (result < 0) to (result <= 0)
LayoutTests:
Test added.
* svg/animations/smil-animation-max-attribute-zero-crash-expected.txt: Added.
* svg/animations/smil-animation-max-attribute-zero-crash.svg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167761
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Thu, 24 Apr 2014 16:18:34 +0000 (16:18 +0000)]
Remove screenColorProfile()
https://bugs.webkit.org/show_bug.cgi?id=132035
Reviewed by Darin Adler.
Only chromium used screenColorProfile() since r120789.
* platform/PlatformScreen.h:
* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenColorProfile): Deleted.
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenColorProfile): Deleted.
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::qcmsOutputDeviceProfile):
* platform/ios/PlatformScreenIOS.mm:
(WebCore::screenColorProfile): Deleted.
* platform/mac/PlatformScreenMac.mm:
(WebCore::screenColorProfile): Deleted.
* platform/win/PlatformScreenWin.cpp:
(WebCore::screenColorProfile): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167760
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 24 Apr 2014 15:59:37 +0000 (15:59 +0000)]
[GTK] wmode='transparent' for flash plugin doesn't work
https://bugs.webkit.org/show_bug.cgi?id=120055
Reviewed by Gustavo Noronha Silva.
Force opaque window mode for flash plugin when wmode='transparent',
since X11 backend doesn't support transparency. We should add
proper transparency support because forcing opaque window mode
doesn't really work. Handle this as a plugin quirk instead of
adding X11 specific code to WebFrameLoaderClient::createPlugin().
* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::determineQuirks): Add
ForceFlashWindowlessMode quirk for flash in case of EFL platform
because EFL port doesn't support windowed plugins.
* Shared/Plugins/PluginQuirks.h: Add ForceFlashWindowlessMode X11
plugin quirk.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::initialize): Modify or add wmode
parameter for flash plugin, to force opaque window mode when
transparent mode is specified or when ForceFlashWindowlessMode
quirk is present.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin): Remove X11 specific code.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167759
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Thu, 24 Apr 2014 15:56:00 +0000 (15:56 +0000)]
One more unreviewed build fix after r167755.
* html/shadow/mac/ImageControlsButtonElementMac.cpp:
(WebCore::RenderImageControlsButton::updateLogicalWidth):
(WebCore::RenderImageControlsButton::computeLogicalHeight):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167758
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Thu, 24 Apr 2014 15:33:48 +0000 (15:33 +0000)]
Unreviewed build fix after r167755.
* rendering/RenderThemeMac.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167757
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
graouts@webkit.org [Thu, 24 Apr 2014 14:37:15 +0000 (14:37 +0000)]
Web Inspector: gradient editor does not appear for linear-gradient with no specified angle
https://bugs.webkit.org/show_bug.cgi?id=132083
Reviewed by Timothy Hatcher.
Only assume we're parsing a legacy-formatted gradient if the first parameter is not a color.
* UserInterface/Models/Gradient.js:
(WebInspector.LinearGradient.linearGradientWithComponents):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167756
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Thu, 24 Apr 2014 14:27:54 +0000 (14:27 +0000)]
Transition RenderTheme API from RenderObject* to const RenderObject&
https://bugs.webkit.org/show_bug.cgi?id=132037
Reviewed by Andreas Kling.
Using const references provides better encapsulation and improve security.
No change in behavior.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::boundingBoxForQuads):
* dom/Element.cpp:
(WebCore::Element::setActive):
(WebCore::Element::setHovered):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::focusedOrActiveStateChanged):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::disabledStateChanged):
(WebCore::HTMLFormControlElement::readOnlyAttributeChanged):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setIndeterminate):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::parseAttribute):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addVisualOverflowFromTheme):
(WebCore::RenderBlock::baselinePosition):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::styleDidChange):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
* rendering/RenderObject.h:
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::computeLogicalHeight):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::paint):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::baselinePosition):
(WebCore::RenderTheme::adjustRepaintRect):
(WebCore::RenderTheme::stateChanged):
(WebCore::RenderTheme::updateControlStatesForRenderer):
(WebCore::RenderTheme::extractControlStatesForRenderer):
(WebCore::RenderTheme::isActive):
(WebCore::RenderTheme::isChecked):
(WebCore::RenderTheme::isIndeterminate):
(WebCore::RenderTheme::isEnabled):
(WebCore::RenderTheme::isFocused):
(WebCore::RenderTheme::isPressed):
(WebCore::RenderTheme::isSpinUpButtonPartPressed):
(WebCore::RenderTheme::isReadOnlyControl):
(WebCore::RenderTheme::isHovered):
(WebCore::RenderTheme::isSpinUpButtonPartHovered):
(WebCore::RenderTheme::isDefault):
(WebCore::RenderTheme::paintInputFieldSpeechButton):
(WebCore::RenderTheme::paintMeter):
(WebCore::RenderTheme::paintSliderTicks):
(WebCore::RenderTheme::progressBarRectForBounds):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::controlSupportsTints):
(WebCore::RenderTheme::paintCapsLockIndicator):
(WebCore::RenderTheme::paintFileUploadIconDecorations):
(WebCore::RenderTheme::imageControlsButtonSize):
(WebCore::RenderTheme::paintCheckbox):
(WebCore::RenderTheme::paintRadio):
(WebCore::RenderTheme::paintButton):
(WebCore::RenderTheme::paintInnerSpinButton):
(WebCore::RenderTheme::paintCheckboxDecorations):
(WebCore::RenderTheme::paintRadioDecorations):
(WebCore::RenderTheme::paintButtonDecorations):
(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintTextAreaDecorations):
(WebCore::RenderTheme::paintMenuList):
(WebCore::RenderTheme::paintMenuListDecorations):
(WebCore::RenderTheme::paintMenuListButtonDecorations):
(WebCore::RenderTheme::paintPushButtonDecorations):
(WebCore::RenderTheme::paintSquareButtonDecorations):
(WebCore::RenderTheme::paintProgressBar):
(WebCore::RenderTheme::paintSliderTrack):
(WebCore::RenderTheme::paintSliderThumb):
(WebCore::RenderTheme::paintSliderThumbDecorations):
(WebCore::RenderTheme::paintSearchField):
(WebCore::RenderTheme::paintSearchFieldDecorations):
(WebCore::RenderTheme::paintSearchFieldCancelButton):
(WebCore::RenderTheme::paintSearchFieldDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsButton):
(WebCore::RenderTheme::paintMediaFullscreenButton):
(WebCore::RenderTheme::paintMediaPlayButton):
(WebCore::RenderTheme::paintMediaOverlayPlayButton):
(WebCore::RenderTheme::paintMediaMuteButton):
(WebCore::RenderTheme::paintMediaSeekBackButton):
(WebCore::RenderTheme::paintMediaSeekForwardButton):
(WebCore::RenderTheme::paintMediaSliderTrack):
(WebCore::RenderTheme::paintMediaSliderThumb):
(WebCore::RenderTheme::paintMediaVolumeSliderContainer):
(WebCore::RenderTheme::paintMediaVolumeSliderTrack):
(WebCore::RenderTheme::paintMediaVolumeSliderThumb):
(WebCore::RenderTheme::paintMediaRewindButton):
(WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
(WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
(WebCore::RenderTheme::paintMediaControlsBackground):
(WebCore::RenderTheme::paintMediaCurrentTime):
(WebCore::RenderTheme::paintMediaTimeRemaining):
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack):
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb):
(WebCore::RenderTheme::paintSnapshottedPluginOverlay):
(WebCore::RenderTheme::paintImageControlsButton):
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::addRoundedBorderClip):
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::baselinePosition):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSliderTrack):
(WebCore::RenderThemeIOS::paintSliderThumbDecorations):
(WebCore::RenderThemeIOS::paintProgressBar):
(WebCore::RenderThemeIOS::paintSearchFieldDecorations):
(WebCore::RenderThemeIOS::paintButtonDecorations):
(WebCore::RenderThemeIOS::paintPushButtonDecorations):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
* rendering/RenderThemeMac.h:
(WebCore::RenderThemeMac::updateActiveState):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::documentViewFor):
(WebCore::RenderThemeMac::adjustRepaintRect):
(WebCore::RenderThemeMac::convertToPaintingRect):
(WebCore::RenderThemeMac::updateCheckedState):
(WebCore::RenderThemeMac::updateEnabledState):
(WebCore::RenderThemeMac::updateFocusedState):
(WebCore::RenderThemeMac::updatePressedState):
(WebCore::RenderThemeMac::controlSupportsTints):
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintCapsLockIndicator):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::progressBarRectForBounds):
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167755
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 24 Apr 2014 12:58:16 +0000 (12:58 +0000)]
[EFL] Update baselines after r167568
https://bugs.webkit.org/show_bug.cgi?id=132125
Unreviewed EFL gardening.
Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-04-24
* platform/efl-wk2/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Added.
* platform/efl/fast/repaint/reflection-redraw-expected.txt: Rebaseline after r167568.
* platform/efl/fast/table/multiple-captions-display-expected.txt: Rebaseline after r167568.
* platform/efl/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
* platform/efl/tables/mozilla/marvin/body_col-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla/marvin/x_th_valign_baseline-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla/other/body_col-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/bugs/bug10140-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/bugs/bug10216-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/core/captions3-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/other/test4-expected.txt: Rebaseline after r167568.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167754
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
llango.u-szeged@partner.samsung.com [Thu, 24 Apr 2014 08:55:18 +0000 (08:55 +0000)]
prepare-ChangeLog reports as deleted methods that has not been removed.
https://bugs.webkit.org/show_bug.cgi?id=131733
Reviewed by Ryosuke Niwa.
* Scripts/prepare-ChangeLog:
(originalFile): Set merge base to origin/master by default.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167753
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 24 Apr 2014 07:17:15 +0000 (07:17 +0000)]
[GTK] HTML Media capture attribute is a boolean since r163958
https://bugs.webkit.org/show_bug.cgi?id=132061
Reviewed by Gustavo Noronha Silva.
Add new methods webkit_dom_html_input_element_get_capture_enabled
and webkit_dom_html_input_element_set_capture_enabled using a
boolean and deprecate the old methods.
* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_html_input_element_get_capture):
(webkit_dom_html_input_element_set_capture):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:
* bindings/gobject/webkitdom.symbols:
* bindings/scripts/CodeGeneratorGObject.pm:
(GetEffectiveFunctionName): Helper function to rename API methods
for special cases.
(GenerateFunction): Use GetEffectiveFunctionName().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167752
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jcraig@apple.com [Thu, 24 Apr 2014 07:07:06 +0000 (07:07 +0000)]
prepare-Changelog and svn-create-patch should optionally run check-webkit-style.
https://bugs.webkit.org/show_bug.cgi?id=131115
Reviewed by Daniel Bates.
Added [--[no-]style] param to run check-webkit-style as part of prepare-Changelog and svn-create-patch.
* Scripts/commit-log-editor: Added --no-style.
* Scripts/prepare-ChangeLog: Primary patch.
(main): Primary patch.
(createPatchCommand): Added --no-style.
* Scripts/svn-create-patch: Primary patch.
* Scripts/webkit-tools-completion.sh: Added --style and --no-style.
* Scripts/webkitpy/common/checkout/scm/svn.py: Added --no-style.
(SVN.create_patch): Added --no-style.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167751
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 24 Apr 2014 06:37:51 +0000 (06:37 +0000)]
[MediaStream] Implement MediaStream active attribute
https://bugs.webkit.org/show_bug.cgi?id=131973
Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-04-23
Reviewed by Eric Carlson.
Source/WebCore:
MediaStream .active attribute are introduced which will replace
.ended attribute. This patch implements the newly introduced attributes.
MediaStream-add-remove-tracks.html is updated to handle this scenario.
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::active): Added.
(WebCore::MediaStream::setActive): Added.
(WebCore::MediaStream::addTrack): Propagates 'onactive' event when required.
(WebCore::MediaStream::removeTrack): Propagates 'oninactive' event when required.
(WebCore::MediaStream::trackDidEnd): Propagates 'oninactive' event when required.
(WebCore::MediaStream::streamDidEnd):
(WebCore::MediaStream::setStreamIsActive): Added.
* Modules/mediastream/MediaStream.h:
* Modules/mediastream/MediaStream.idl:
* dom/EventNames.h:
* platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::MediaStreamPrivate): Initialize .active attribute
(WebCore::MediaStreamPrivate::setEnded):
(WebCore::MediaStreamPrivate::setActive): Added.
* platform/mediastream/MediaStreamPrivate.h:
(WebCore::MediaStreamPrivate::active): Added.
LayoutTests:
MediaStream .onended attribute will be replaced with .active attribute.
Patch updates the test case to verify the .active attribute.
* fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
* fast/mediastream/MediaStream-add-remove-tracks.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167750
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 24 Apr 2014 05:16:45 +0000 (05:16 +0000)]
[iOS WK2] Missing content inside long overflow-scrolling:touch
https://bugs.webkit.org/show_bug.cgi?id=132105
Reviewed by Tim Horton.
PlatformCALayerRemote needs to track bounds origin as well as size,
since iOS uses bounds origin for overflow scrolling.
* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::applyPropertiesToLayer):
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::updateBackingStore):
(WebKit::PlatformCALayerRemote::bounds):
(WebKit::PlatformCALayerRemote::setBounds):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167749
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Thu, 24 Apr 2014 04:49:22 +0000 (04:49 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167748
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 24 Apr 2014 04:46:28 +0000 (04:46 +0000)]
[Cocoa] fix CF leaks found by code inspection
https://bugs.webkit.org/show_bug.cgi?id=132106
Reviewed by Andreas Kling.
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::trackDisplayName): Added a missing adoptCF.
* platform/Language.cpp:
(WebCore::displayNameForLanguageLocale): Added a missing adoptCF.
* platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::openTypeTable): Added a missing adoptCF.
* platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
(WebCore::InbandTextTrackPrivateAVCF::label): Added two missing adoptCF.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::createImageForTimeInRect): Added two missing adoptCF.
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::createPDFDocument): Added missing adoptCF.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::cascadeToLastResortFontDescriptor): Added two missing adoptCF.
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::primaryFontDataIsSystemFont): Added missing adoptCF.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::hasCustomTracking): Added missing adoptCF.
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::qcmsOutputDeviceProfile): Added CFRelease.
* plugins/mac/PluginPackageMac.cpp:
(WebCore::readPListFile): Added two missing adoptCF.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167746
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 24 Apr 2014 04:42:32 +0000 (04:42 +0000)]
Remove Apple Dictionary workaround in WebFrameLoaderClient.
<https://webkit.org/b/132095>
Kill a hack to work around a WK1 client bug that got fixed years ago.
See <rdar://problem/6471058> for backstory.
Reviewed by Darin Adler.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebFrameLoaderClient::dispatchWillSendRequest):
(applyAppleDictionaryApplicationQuirkNonInlinePart): Deleted.
(applyAppleDictionaryApplicationQuirk): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167745
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 24 Apr 2014 04:24:30 +0000 (04:24 +0000)]
REGRESSION (r157328): popover to check into flight ba.com dismisses instantly when focusing form
https://bugs.webkit.org/show_bug.cgi?id=131949
Address the review comment.
* dom/EventDispatcher.cpp:
(WebCore::EventRelatedNodeResolver::findHostOfTreeScopeInTargetTreeScope):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167744
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 24 Apr 2014 04:11:50 +0000 (04:11 +0000)]
CachedResourceLoader hoards URLs indefinitely for no good reason.
<https://webkit.org/b/132102>
<rdar://problem/
16708265>
Since we don't care about CachedResourceLoader::m_validatedURL's after
the Document has finished dispatching its initial load event, clear the
set at that point, and don't add any new URLs to it.
Reviewed by Anders Carlsson.
* dom/Document.cpp:
(WebCore::Document::dispatchWindowLoadEvent):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::documentDidFinishLoadEvent):
* loader/cache/CachedResourceLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167743
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 24 Apr 2014 03:56:09 +0000 (03:56 +0000)]
Remove unused WKPageSetMemoryCacheClientCallsEnabled API.
<https://webkit.org/b/132098>
This API was added to WK2 back in 2011 but never actually used.
Reviewed by Anders Carlsson.
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetMemoryCacheClientCallsEnabled): Deleted.
* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled): Deleted.
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setMemoryCacheMessagesEnabled): Deleted.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167742
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 24 Apr 2014 03:43:47 +0000 (03:43 +0000)]
Canvas cache of clean URLs can grow without bounds.
<https://webkit.org/b/132091>
<rdar://problem/
16695665>
Remove a silly "optimization" that kept a cache of clean URLs
that can be drawn into a canvas without tainting it, all to avoid
the "expensive" checks to determine whether it would taint.
Reviewed by Benjamin Poulain.
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
* html/canvas/CanvasRenderingContext.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167741
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 24 Apr 2014 03:31:30 +0000 (03:31 +0000)]
[iOS WK2] Make -webkit-overflow-scrolling:touch work
https://bugs.webkit.org/show_bug.cgi?id=132097
Reviewed by Tim Horton.
Scrolling of UIScrollViews in content (for -webkit-overflow-scrolling:touch)
depends on them getting hit-tested correctly. UIKit hit testing assumes
that subviews are enclosed by their ancestors, but this is not true of
web content. In addition, we had a root layer that was zero sized.
Fix by overriding hitTest:withEvent: on our content WKViews to hit
test subviews even if they are not enclosed.
* UIProcess/ios/RemoteLayerTreeHostIOS.mm:
(-[UIView _recursiveFindDescendantViewAtPoint:withEvent:]):
(-[UIView _findDescendantViewAtPoint:withEvent:]):
(-[WKCompositingView hitTest:withEvent:]):
(-[WKTransformView hitTest:withEvent:]):
(-[WKRemoteView hitTest:withEvent:]):
(WebKit::RemoteLayerTreeHost::createLayer):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
Update debug borders on the root layer.
(WebKit::RemoteLayerTreeDrawingArea::mainFrameContentSizeChanged):
Size the root layer to the contents size. This isn't strictly necessary
given the hit testing overrides, but seems sensible to do anyway.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167740
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 24 Apr 2014 03:31:28 +0000 (03:31 +0000)]
Nonopaque layers double-paint with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=132101
Reviewed by Tim Horton.
The non-IOSurface code path was failing to clear the backing store
before painting.
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167739
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 24 Apr 2014 02:37:05 +0000 (02:37 +0000)]
[iOS][WK2] Image and text documents sometime gets the webpage viewport configuration
https://bugs.webkit.org/show_bug.cgi?id=132099
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-23
Reviewed by Tim Horton.
When didReceiveMobileDocType(), if the doctype was not XHTML mobile, we were setting
the viewport configuration to webpageParameters(). This is obviously not correct for
Image and Text documents.
This patch moves the code deciding the default configuration out of WebPage::didCommitLoad()
and use it from WebPage::didCommitLoad() and WebPage::didReceiveMobileDocType().
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::didReceiveMobileDocType):
(WebKit::WebPage::resetViewportDefaultConfiguration):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167738
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 24 Apr 2014 02:25:08 +0000 (02:25 +0000)]
[EFL][WK1] Add *const* keyword to _get() APIs
https://bugs.webkit.org/show_bug.cgi?id=132094
Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-04-23
Reviewed by Gyuyoung Kim.
Some _get() EFL APIs don't have *const* keyword though the _get() APIs don't modify passed argument.
We need to add *const* keyword to those APIs.
* ewk/ewk_history.cpp:
(ewk_history_limit_get):
* ewk/ewk_history.h:
* ewk/ewk_js.cpp:
(ewk_js_object_type_get):
* ewk/ewk_js.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167737
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 24 Apr 2014 02:23:32 +0000 (02:23 +0000)]
Try to fix iOS build.
* DumpRenderTree/mac/DumpRenderTree.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167736
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 24 Apr 2014 02:13:06 +0000 (02:13 +0000)]
[iOS][WK2] Fix a few mistakes affecting the initial layout and the initial unobscured rect
https://bugs.webkit.org/show_bug.cgi?id=132093
Source/WebCore:
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-23
Reviewed by Tim Horton.
Change the minimum layout size to float point values to account for size defined on retina displays.
The minimum layout size supports half-pixels, the value is rounded later when computing the layout size
in document coordinates.
* WebCore.exp.in:
* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::ViewportConfiguration):
Setting the initial content size is incorrect. The layout size computation already take into account
empty size for the first layout.
Setting the content size upfront make the first computation incorrect when the viewport arguments specify
the initial scale.
(WebCore::ViewportConfiguration::setMinimumLayoutSize):
* page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::minimumLayoutSize):
Source/WebKit2:
<rdar://problem/
16703237>
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-23
Reviewed by Tim Horton.
The user of WKWebView can setup a size on device pixels, which can add half a point to the minimum
layout size. By rounding this up before applying the page scale, we ended up with rounding errors
on the layout size and the transitory unobscured content rect.
This patch fixes changes the minimal layout size to float point values to reduce the rounding problems.
* UIProcess/API/Cocoa/WKWebView.mm:
(setViewportConfigurationMinimumLayoutSize):
(-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPageProxy::setMinimumLayoutSizeForMinimalUI):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
Defaulting the content size to the minimum layout size only works if the initial-scale is 1.
ViewportConfiguration knows exactly what to do before the first layout.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPage::setMinimumLayoutSizeForMinimalUI):
(WebKit::WebPage::dynamicViewportSizeUpdate):
A few fixes here:
-setZoomedOutPageScaleFactor() was incorrectly using the initial scale. 99% of the time, initial scale
and minimum scale are equal, but the page can specify something different with the viewport meta tag.
-Use floating point for manipulating the minimum layout sizes, then round the value.
-minimumLayoutSizeInDocumentCoordinate was scaled the wrong way around.
(WebKit::WebPage::viewportConfigurationChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167735
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Thu, 24 Apr 2014 01:23:58 +0000 (01:23 +0000)]
[Mac, iOS] Stop buffering media when on an inactive tab.
https://bugs.webkit.org/show_bug.cgi?id=132077
Reviewed by Eric Carlson.
* html/HTMLMediaElement.cpp: Rename 'm_isDisplaySleepDisablingSuspended'
to 'm_elementIsHidden'.
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::visibilityStatusChanged): Notify the
media session that the element is (or is not) hidden.
(WebCore::HTMLMediaElement::setShouldBufferData): Added.
* html/HTMLMediaElement.h:
* platform/audio/MediaSession.cpp:
(WebCore::MediaSession::clientWillBeginPlayback): Tell media to
buffer if not hidden or playing.
(WebCore::MediaSession::clientWillPausePlayback): Ditto.
(WebCore::MediaSession::visibilityChanged): Added. Client API, just relays call
to updateClientDataBuffering.
(WebCore::MediaSession::updateClientDataBuffering): Tell client it should only
buffer data if it's currently playing, or not hidden.
* platform/audio/MediaSession.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::setShouldBufferData): Added: Just relays to
MediaPlayerPrivate object.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setShouldBufferData):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldBufferData): Added.
Detach the player item from the player if we don't want to continue
buffering or other background tasks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167734
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Thu, 24 Apr 2014 00:43:15 +0000 (00:43 +0000)]
The GC should only resume compiler threads that it suspended in the same GC pass.
<https://webkit.org/b/132088>
Reviewed by Mark Hahnenberg.
Previously, this scenario can occur:
1. Thread 1 starts a GC and tries to suspend DFG worklist threads. However,
no worklists were created yet at the that time.
2. Thread 2 starts to compile some functions and creates a DFG worklist, and
acquires the worklist thread's lock.
3. Thread 1's GC completes and tries to resume suspended DFG worklist thread.
This time, it sees the worklist created by Thread 2 and ends up unlocking
the worklist thread's lock that is supposedly held by Thread 2.
Thereafter, chaos ensues.
The fix is to cache the worklists that were actually suspended by each GC pass,
and only resume those when the GC is done.
This issue was discovered by enabling COLLECT_ON_EVERY_ALLOCATION and running
the fast/workers layout tests.
* heap/Heap.cpp:
(JSC::Heap::visitCompilerWorklists):
(JSC::Heap::deleteAllCompiledCode):
(JSC::Heap::suspendCompilerThreads):
(JSC::Heap::resumeCompilerThreads):
* heap/Heap.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167733
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 24 Apr 2014 00:32:14 +0000 (00:32 +0000)]
Eliminate internals.setMockScrollbarsEnabled()
https://bugs.webkit.org/show_bug.cgi?id=132085
Reviewed by Tim Horton.
Source/WebCore:
This was essentially unused, and also didnt work.
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setMockScrollbarsEnabled): Deleted.
* testing/InternalSettings.h:
* testing/InternalSettings.idl:
Tools:
* DumpRenderTree/mac/DumpRenderTree.mm: (resetWebPreferencesToConsistentValues):
No need to reset the preference, there is no way it can change.
LayoutTests:
Remove calls, all of which were resetting it to true (which is the default, and
the only value that makes sense).
* compositing/geometry/fixed-position.html:
* compositing/geometry/horizontal-scroll-composited.html:
* compositing/geometry/vertical-scroll-composited.html:
* compositing/iframes/resources/scrollgrandchild-inner.html:
* compositing/overflow/fixed-position-ancestor-clip.html:
* compositing/resources/mock_scrollbars.js: Removed.
* css3/filters/blur-filter-page-scroll-parents.html:
* css3/filters/blur-filter-page-scroll-self.html:
* css3/filters/blur-filter-page-scroll.html:
* fast/dom/window-scroll-scaling.html:
* fast/events/touch/gesture/gesture-scrollbar.html:
* fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html:
* fast/sub-pixel/transformed-iframe-copy-on-scroll.html:
* media/video-controls-rendering.html:
* media/video-zoom.html:
* scrollingcoordinator/resources/non-fast-scrollable-region-testing.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167732
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jcraig@apple.com [Thu, 24 Apr 2014 00:08:28 +0000 (00:08 +0000)]
Unreviewed. Moving myself from Contributors to Committers list.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167731
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 23 Apr 2014 23:17:49 +0000 (23:17 +0000)]
Don't migrate the WKView.h header from WebCore to WebKit
https://bugs.webkit.org/show_bug.cgi?id=132086
Reviewed by Dan Bernstein.
Source/WebCore:
* WebCore.xcodeproj/project.pbxproj:
Add WAKViewInternal.h.
* platform/WAKViewInternal.h: Added.
* platform/ios/wak/WAKClipView.m:
Import WAKViewInternal.h instead of WAKViewPrivate.h.
* platform/ios/wak/WAKScrollView.mm:
Import WAKViewInternal.h instead of WAKViewPrivate.h.
* platform/ios/wak/WAKView.h:
Move ivars to a class extension in WAKViewInternal.h and remove WKView.h import.
* platform/ios/wak/WAKView.mm:
Import WAKViewInternal.h instead of WAKViewPrivate.h.
* platform/ios/wak/WAKViewPrivate.h:
Import WKViewPrivate.h.
Source/WebKit/mac:
* MigrateHeaders.make:
Remove WKView.h from the list of headers to migrate.
* WebView/WebView.mm:
Import WKView.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167730
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Wed, 23 Apr 2014 22:35:16 +0000 (22:35 +0000)]
Arguments::copyBackingStore needs to update m_registers in tandem with m_registerArray
https://bugs.webkit.org/show_bug.cgi?id=132079
Reviewed by Michael Saboff.
Since we're moving the register backing store, we don't want to leave a dangling pointer into a random CopiedBlock.
Also added a test that previously triggered this bug.
* runtime/Arguments.cpp:
(JSC::Arguments::copyBackingStore): D'oh!
* tests/stress/arguments-copy-register-array-backing-store.js: Added.
(foo):
(bar):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167729
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Wed, 23 Apr 2014 22:22:00 +0000 (22:22 +0000)]
Mock scrollbars don't always work in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=132082
Reviewed by Alexey Proskuryakov.
* DumpRenderTree/mac/DumpRenderTree.mm:
(prepareConsistentTestingEnvironment):
Set the mock scrollbar setting before creating the WebView, as this setting
cannot be dynamically changed, so any scrollbars that are created during
WebView initialization and are not replaced before snapshotting will end
up being platform scrollbars instead of mock ones.
WebKitTestRunner already sets this preference before creating WKViews,
so we're just matching its behavior.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167728
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 23 Apr 2014 22:19:19 +0000 (22:19 +0000)]
[New Multicolumn] fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode.html fails
https://bugs.webkit.org/show_bug.cgi?id=132078
Reviewed by Anders Carlsson.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation):
Add a parameter to test for orthogonal writing modes. If we're perpendicular,
then we should not skip the flow thread, since we resolve relative to the column width,
and that is always set.
(WebCore::RenderBox::computePercentageLogicalHeight):
Patched to pass in whether or not the box and the ancestor block are perpendicular.
* rendering/RenderBox.h:
Patched the signature of skipContainingBlockForPercentHeightCalculation
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167727
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Wed, 23 Apr 2014 21:33:14 +0000 (21:33 +0000)]
[OS X] Make checking if a font is the system font more robust
https://bugs.webkit.org/show_bug.cgi?id=132030
Reviewed by Dean Jackson.
Instead of inspecting a font's name to determine if it is a system font,
on OS X we can ask the system directly.
This patch also moves a platform-specific check into platform-specific
code, so that other platforms don't check for OS X-specific behavior.
Covered by existing tests.
* platform/graphics/Font.cpp:
(WebCore::Font::hasValidAverageCharWidth):
* platform/graphics/Font.h:
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::primaryFontDataIsSystemFont):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167724
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 23 Apr 2014 21:27:54 +0000 (21:27 +0000)]
[New Multicolumn] Assertion failure in huge-column-count.html
https://bugs.webkit.org/show_bug.cgi?id=132071
Reviewed by Dean Jackson.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::regionAtBlockOffset):
Back out this change, since it wasn't general enough.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::getRegionRangeForBox):
The real issue was that this loop needed to consider the actual box
rather than starting from the parent. This was a non-issue for normal
regions (which cannot have nested flow threads), but for columns, you
have to consider the fact that the box could itself be a flow thread.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167723
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 23 Apr 2014 21:22:53 +0000 (21:22 +0000)]
[iOS] Memory pressure notification should fire on main thread.
<https://webkit.org/b/132074>
Rejig the memory pressure notification to fire on the main queue
directly instead of rerouting it manually.
Reviewed by Mark Rowe.
* platform/cocoa/MemoryPressureHandlerCocoa.mm:
(WebCore::MemoryPressureHandler::install):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167722
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 20:54:12 +0000 (20:54 +0000)]
Unreviewed, rolling out r167720.
https://bugs.webkit.org/show_bug.cgi?id=132075
broke eight newmulticol tests (Requested by thorton on
#webkit).
Reverted changeset:
"[New Multicolumn] Assertion failure in huge-column-
count.html"
https://bugs.webkit.org/show_bug.cgi?id=132071
http://trac.webkit.org/changeset/167720
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167721
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 23 Apr 2014 20:01:01 +0000 (20:01 +0000)]
[New Multicolumn] Assertion failure in huge-column-count.html
https://bugs.webkit.org/show_bug.cgi?id=132071
Reviewed by Dean Jackson.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::regionAtBlockOffset):
Remove the code that returned 0 here, since we're going to patch a lower-level
function to catch all cases.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::getRegionRangeForBox):
Don't allow in-flow RenderFlowThreads to ever have a region range. The sets
are what should have ranges... the flow thread needs to just be ignored.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167720
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 19:38:42 +0000 (19:38 +0000)]
Support encoding/decoding NSUInteger arguments in WKRemoteObjectCoder.
https://bugs.webkit.org/show_bug.cgi?id=132040
Add support for encoding/decoding NSUInteger arguments.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-04-23
Reviewed by Sam Weinig.
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeInvocation):
(decodeInvocationArguments):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167719
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 23 Apr 2014 18:55:43 +0000 (18:55 +0000)]
[New Multicolumn] Crasher when clearing out a flow thread in multicolumn layout.
https://bugs.webkit.org/show_bug.cgi?id=132069
Reviewed by Dean Jackson.
Source/WebCore:
This is imported from a patch Morten did for Blink, but I had to change it a fair
bit. deleteLines() is used to handle simple line box layout instead of just calling
deleteLineBoxTree.
I also had to disable the layout state to stop asserts on repaint when the children
get moved. Not sure why Blink didn't hit this, but it's simple enough to add a
LayoutStateDisabler to stop the assert.
Added fast/multicol/inline-children-crash.html
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy):
LayoutTests:
* fast/multicol/inline-children-crash-expected.txt: Added.
* fast/multicol/inline-children-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167718
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 23 Apr 2014 18:47:15 +0000 (18:47 +0000)]
[iOS WebKit2] IOSurfacePool should force CA to actually garbage collect surfaces.
<https://webkit.org/b/132065>
<rdar://problem/
16110687>
Add a platformGarbageCollectNow() helper function to IOSurfacePool that
triggers a sweep of the IOSurfaces. Call this from collectionTimerFired()
and discardAllSurfaces().
This lets us drop all otherwise-unused 420f surfaces on memory pressure.
Reviewed by Tim Horton.
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::collectionTimerFired):
(WebCore::IOSurfacePool::discardAllSurfaces):
* platform/graphics/cg/IOSurfacePool.h:
* platform/graphics/cocoa/IOSurfacePoolCocoa.mm: Added.
(WebCore::IOSurfacePool::platformGarbageCollectNow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167717
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 18:39:57 +0000 (18:39 +0000)]
REGRESSION (Safari 6 - ToT): Incorrectly assumes that RenderStyle data can be shared
https://bugs.webkit.org/show_bug.cgi?id=113058
Patch by Morten Stenshorne <mstensho@opera.com> on 2014-04-23
Reviewed by David Hyatt.
Source/WebCore:
Before sharing CSS properties with an element in the cache, we need to
check that the new element is suitable for this, just like we check
elements before inserting them into the cache.
Test: fast/css/identical-logical-height-decl.html
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyMatchedProperties):
LayoutTests:
* fast/css/identical-logical-height-decl-expected.html: Added.
* fast/css/identical-logical-height-decl.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167716
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 18:36:26 +0000 (18:36 +0000)]
Unreviewed, rolling out r167713.
https://bugs.webkit.org/show_bug.cgi?id=132070
broke hundreds of tests (Requested by thorton on #webkit).
Reverted changeset:
"[OS X] Make checking if a font is the system font more
robust"
https://bugs.webkit.org/show_bug.cgi?id=132030
http://trac.webkit.org/changeset/167713
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167715
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 23 Apr 2014 18:05:33 +0000 (18:05 +0000)]
[New Multicolumn] Nested columns not working at all.
https://bugs.webkit.org/show_bug.cgi?id=131805
Reviewed by Dean Jackson.
Add support for nested pagination contexts, allowing for an arbitrary level
of nesting of multicolumn layouts. There were a number of things that had to
be patched in order for this to work.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::regionAtBlockOffset):
Make sure RenderMultiColumnFlowThreads just return null for regions at any
block offset. Individual region sets will be created as you cross ancestor
regions eventually, so this is just getting in the way.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::enclosingPaginationLayerInSubtree):
Add a new helper method for obtaining an enclosingPaginationLayer when
constrained by some root. This function ensures you don't accidentally
cross your subtree root when looking for enclosing pagination layers.
(WebCore::RenderLayer::collectFragments):
Patch collectFragments to know how to recur to collect ancestor fragments
in order to apply nested splitting as you cross pagination boundaries.
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
(WebCore::LayerFragment::LayerFragment):
(WebCore::LayerFragment::setRects):
(WebCore::LayerFragment::moveBy):
(WebCore::LayerFragment::intersect):
Improve the LayerFragment so that it caches transformed bounding boxes as
well. This is needed to fix intersectsDamageRect so that it doesn't grab
the wrong bounding box when checking inline layers that are paginated.
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
Ignore inserted flow threads inside an ancestor flow thread, since we only
care about what the sets do.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::insertedIntoTree):
Make sure that nested flow thread layers return themselves when a child
is inserted directly under them.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167714
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Wed, 23 Apr 2014 17:49:40 +0000 (17:49 +0000)]
[OS X] Make checking if a font is the system font more robust
https://bugs.webkit.org/show_bug.cgi?id=132030
Reviewed by Dean Jackson.
Instead of inspecting a font's name to determine if it is a system font,
on OS X we can ask the system directly.
This patch also moves a platform-specific check into platform-specific
code, so that other platforms don't check for OS X-specific behavior.
Covered by existing tests.
* platform/graphics/Font.cpp:
(WebCore::Font::hasValidAverageCharWidth):
* platform/graphics/Font.h:
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::primaryFontDataIsSystemFont):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167713
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 16:44:13 +0000 (16:44 +0000)]
[GTK] Focus management API was moved from HTMLDocument to Document in r166668
https://bugs.webkit.org/show_bug.cgi?id=132060
Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-23
Reviewed by Carlos Garcia Campos.
Deprecate the removed methods in WebKitDOMHTMLDocument to keep API compatibility.
* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_html_document_get_active_element):
(webkit_dom_html_document_has_focus):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:
* bindings/gobject/webkitdom.symbols:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167712
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 23 Apr 2014 16:19:24 +0000 (16:19 +0000)]
[iOS WebKit1] MemoryPressureHandler::respondToMemoryPressure called on wrong thread.
<https://webkit.org/b/132041>
<rdar://problem/
16687238>
Always dispatch the memory pressure relief code on the main queue.
This is really only needed for iOS/WK1, but we might as well share the code.
Reviewed by Michael Saboff.
* platform/cocoa/MemoryPressureHandlerCocoa.mm:
(WebCore::MemoryPressureHandler::install):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167711
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 15:38:31 +0000 (15:38 +0000)]
[GTK] Unreviewed GTK gardening
https://bugs.webkit.org/show_bug.cgi?id=132058
Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-04-23
* platform/gtk/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167710
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 23 Apr 2014 14:39:46 +0000 (14:39 +0000)]
[Mac] REGRESSION (r164823): Building JavaScriptCore creates files under /tmp/JavaScriptCore.dst
<https://webkit.org/b/132053>
Reviewed by Dan Bernstein.
* JavaScriptCore.xcodeproj/project.pbxproj: Don't try to create a symlink at /usr/local/bin/jsc inside
the DSTROOT unless we're building to the deployment location. Also remove the unnecessary -x argument
from /bin/sh since that generates unnecessary output.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167709
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 13:43:12 +0000 (13:43 +0000)]
[GTK] ShadowRoot API was removed in r164131
https://bugs.webkit.org/show_bug.cgi?id=132059
Source/WebCore:
Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-23
Reviewed by Gustavo Noronha Silva.
Add ShadowRoot removed API to WebKitDOMDeprecated to keep API/ABI compatibility.
* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_shadow_root_class_init):
(webkit_dom_shadow_root_init):
(webkit_dom_shadow_root_element_from_point):
(webkit_dom_shadow_root_get_active_element):
(webkit_dom_shadow_root_get_apply_author_styles):
(webkit_dom_shadow_root_get_element_by_id):
(webkit_dom_shadow_root_get_elements_by_class_name):
(webkit_dom_shadow_root_get_elements_by_tag_name):
(webkit_dom_shadow_root_get_elements_by_tag_name_ns):
(webkit_dom_shadow_root_get_inner_html):
(webkit_dom_shadow_root_get_reset_style_inheritance):
(webkit_dom_shadow_root_get_selection):
(webkit_dom_shadow_root_set_apply_author_styles):
(webkit_dom_shadow_root_set_inner_html):
(webkit_dom_shadow_root_set_reset_style_inheritance):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:
Tools:
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2014-04-23
Reviewed by Gustavo Noronha Silva.
Add WebKitDOMShadowRoot to the list of deleted classes to generate
the API docs.
* gtk/webkitdom.py:
(WebKitDOMDocGenerator):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167708
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 13:36:30 +0000 (13:36 +0000)]
[New Multicolumn] fast/multicol/overflow-content.html displays red
https://bugs.webkit.org/show_bug.cgi?id=131809
Patch by Morten Stenshorne <mstensho@opera.com> on 2014-04-23
Reviewed by David Hyatt.
Source/WebCore:
Insert a break at end of content on our own in the multicol code, to make sure
that overflow is accounted for, and also to make sure that we account for all
content in non-final sets (i.e. those preceding spanners).
In other words, this will additionally fix balancing issues in sets preceding
a spanner. Added a test for that.
Tests: fast/multicol/break-in-columns-before-spanner.html
fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::regionInRange): Deleted.
* rendering/RenderFlowThread.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::distributeImplicitBreaks):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::applyBreakAfterContent):
* rendering/RenderNamedFlowThread.h:
LayoutTests:
* fast/multicol/break-in-columns-before-spanner-expected.html: Added.
* fast/multicol/break-in-columns-before-spanner.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/overflow-content-expected.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167707
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 13:32:56 +0000 (13:32 +0000)]
Overflow propagation broken in BTT and RTL writing-modes
https://bugs.webkit.org/show_bug.cgi?id=113781
Patch by Morten Stenshorne <mstensho@opera.com> on 2014-04-23
Reviewed by David Hyatt.
Source/WebCore:
Overflow rectangles are not quite physical, not quite logical. This
means that we cannot use clientBoxRect() directly to represent a
rectangle that expresses exactly no overflow. This rectangle is the
padding box (relative to the border box) in vertical-lr and
horizontal-tb, but the block-direction borders need to be flipped in
vertical-rl and horizontal-bt.
Tests: fast/css/overflow-btt-border-after.html
fast/css/overflow-rtl-border-after.html
* WebCore.exp.in:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeOverflow):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBox.h:
(WebCore::RenderBox::layoutOverflowRect):
LayoutTests:
* fast/css/overflow-btt-border-after-expected.txt: Added.
* fast/css/overflow-btt-border-after.html: Added.
* fast/css/overflow-rtl-border-after-expected.txt: Added.
* fast/css/overflow-rtl-border-after.html: Added.
* fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
* platform/gtk/fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
* platform/mac/fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
Removed incorrect screenshots that now differ from the actual (correct) rendering.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167706
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abucur@adobe.com [Wed, 23 Apr 2014 12:30:22 +0000 (12:30 +0000)]
[CSS Regions] Improve the debugging infrastructure
https://bugs.webkit.org/show_bug.cgi?id=132042
Reviewed by Mihnea Ovidenie.
This patch improves the debugging code for CSS Regions.
Tests: No function change. No new tests.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::showRegionsInformation): Print brackets around the region range when dumping
the render tree to the console.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::containingRegion): Convert the ASSERT to an ASSERT_WITH_SECURITY_IMPLICATION.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167705
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Wed, 23 Apr 2014 11:19:36 +0000 (11:19 +0000)]
Unreviewed EFL gardening.
* platform/efl-wk1/css3/flexbox/flexbox-baseline-expected.png: Removed.
* platform/efl-wk1/css3/flexbox/flexbox-baseline-expected.txt: Removed.
* platform/efl-wk1/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Removed.
* platform/efl-wk1/fast/block/basic/020-expected.txt: Removed.
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/efl/css3/flexbox/flexbox-baseline-expected.png: Renamed from LayoutTests/platform/efl-wk2/css3/flexbox/flexbox-baseline-expected.png.
* platform/efl/css3/flexbox/flexbox-baseline-expected.txt: Renamed from LayoutTests/platform/efl-wk2/css3/flexbox/flexbox-baseline-expected.txt.
* platform/efl/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Renamed from LayoutTests/platform/efl-wk2/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167704
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 11:11:47 +0000 (11:11 +0000)]
[EFL] Add expectations of new added tests.
https://bugs.webkit.org/show_bug.cgi?id=132052
Unreviewed EFL gardening.
Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-04-23
* platform/efl-wk2/TestExpectations:
* platform/efl/fast/repaint/spanner-with-margin-expected.txt: Added. Rebaseline after r167439
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167703
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 09:39:51 +0000 (09:39 +0000)]
[GTK] run-webkit-tests script is failing to invoke run-launcher
https://bugs.webkit.org/show_bug.cgi?id=132051
Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-04-23
Reviewed by Philippe Normand.
After the WK1 support was dropped, if run-webkit-tests is executed
without --no-show-results parameter, the launcher is being called
using a -2 parameter that is it causing the run-launcher to break.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.show_results_html_file):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167702
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
g.czajkowski@samsung.com [Wed, 23 Apr 2014 07:34:01 +0000 (07:34 +0000)]
Refactoring editing/selection/13804.html
https://bugs.webkit.org/show_bug.cgi?id=131986
Reviewed by Darin Adler.
This test does not need pixel baselines (MAC, EFL, GTK) to just
check whether spelling marker appears on 'adf'.
According to bug 125688, the test starts using asynchronous
spellchecking.
Since the test mostly verifies spelling behaviour, it was moved
to editing/spelling directory.
Its name was changed to spelling-backward.html.
* editing/selection/13804.html: Removed.
* editing/spelling/spelling-backward-expected.txt: Added, renamed from editing/selection/13804.html.
* editing/spelling/spelling-backward.html: Added.
* platform/efl/editing/selection/13804-expected.png: Removed.
* platform/efl/editing/selection/13804-expected.txt: Removed.
* platform/gtk/editing/selection/13804-expected.png: Removed.
* platform/gtk/editing/selection/13804-expected.txt: Removed.
* platform/mac/editing/selection/13804-expected.png: Removed.
* platform/mac/editing/selection/13804-expected.txt: Removed.
Get rid of platform specific expectation.
* platform/gtk/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/win/TestExpectations:
Mark spelling-backward.html as failure due to missing asynchronous spellchecking.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167701
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 23 Apr 2014 06:11:22 +0000 (06:11 +0000)]
Cursor doesn't change back to pointer when leaving the Safari window
https://bugs.webkit.org/show_bug.cgi?id=132038
Reviewed by Alexey Proskuryakov.
Source/WebCore:
r147739 incorrectly added an early exit in EventHandler::selectCursor when hit test result didn't have
any node associated with it. Since we will hit this code when the cursor is outside of the WebView,
we still need to take the CURSOR_AUTO path as did the code before r147739.
No new test is added since this behavior can't be tested in DRT or WTR.
* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
Source/WebKit/mac:
Since the cursor type is now updated asynchronously after r147739,
[window windowNumber] != [NSWindow windowNumberAtPoint:[NSEvent mouseLocation] belowWindowWithWindowNumber:0]
evalutes to false depending on how fast cursor is moving.
Instead, check whether the NSWindow of the WebView is the key window or not since
key window appears to control the cursor style in Cocoa as far as I've tested:
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/WinPanel/Concepts/ChangingMainKeyWindow.html
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setCursor):
Source/WebKit2:
Since the cursor type is now updated asynchronously after r147739,
[window windowNumber] != [NSWindow windowNumberAtPoint:[NSEvent mouseLocation] belowWindowWithWindowNumber:0]
evalutes to false depending on how fast cursor is moving.
Instead, check whether the NSWindow of the WebView is the key window or not since
key window appears to control the cursor style in Cocoa as far as I've tested:
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/WinPanel/Concepts/ChangingMainKeyWindow.html
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setCursor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167700
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 23 Apr 2014 05:59:34 +0000 (05:59 +0000)]
Add SPI to expose provisional URL from Frame.
https://bugs.webkit.org/show_bug.cgi?id=132014
Add methods to return the provisional URL from WKWebProcessPlugInFrame.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-04-22
Reviewed by Dan Bernstein.
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(-[WKWebProcessPlugInFrame _provisionalURL]):
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167699
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 23 Apr 2014 05:53:05 +0000 (05:53 +0000)]
[iOS][WK2] Split iOS touch event dispatch for the regular touch event dispatch
https://bugs.webkit.org/show_bug.cgi?id=132033
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-22
Reviewed by Simon Fraser.
The generic touch event dispatching does not work well with iOS gesture recognizers.
Some events are required to be synchronous, while other needs can be asynchronous and
can even use event coalescing. We only need UI callback for the synchronous events.
Previously, that was implemented by changing the property ShouldSendEventsSynchronously
on WebPageProxy. That is causing issues when synchronous events are sent right after asynchronous
events because the responses in WebPageProxy::didReceiveEvent() easily get out of order.
This patch completely split the UIGestureRecognizerDispatching from the normal asynchronous event dispatching.
Synchronous events are sent directly to the WebProcess and report the result to the PageClient right away.
Asynchronous events are sent to the EventDispatcher where they are coalesced until the main thread is free
to process events.
There can be a race where a synchronous event comes before the asynchronous events are processed. In that case,
the synchronous event handler starts by getting the events out of the EventDispatcher and dispatch them first.
* Shared/NativeWebTouchEvent.h:
(WebKit::NativeWebTouchEvent::uniqueId): Deleted.
* Shared/ios/NativeWebTouchEventIOS.mm:
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleSynchronousTouchEvent):
(WebKit::WebPageProxy::sendAsynchronousTouchEvent):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _webTouchEvent:WebKit::preventsNativeGestures:]):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::clearQueuedTouchEventsForPage):
(WebKit::EventDispatcher::getQueuedTouchEventsForPage):
(WebKit::EventDispatcher::touchEvent):
(WebKit::EventDispatcher::dispatchTouchEvents):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/EventDispatcher.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::dispatchTouchEvent):
(WebKit::WebPage::touchEventSync):
(WebKit::WebPage::touchEvent):
(WebKit::WebPage::touchEventSyncForTesting):
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dispatchAsynchronousTouchEventsQueue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167698
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Wed, 23 Apr 2014 05:28:20 +0000 (05:28 +0000)]
[EFL][WK1] There are many failures in fast/forms since r163033
https://bugs.webkit.org/show_bug.cgi?id=132039
Reviewed by Gyuyoung Kim.
* ewk/ewk_view.cpp: Added break statements which is missing while remove COMPILE_ASSERT_MATCHING_ENUM
(ewk_view_navigation_policy_decision):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167697
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Wed, 23 Apr 2014 05:03:07 +0000 (05:03 +0000)]
Unreviewed EFL gardening. media tests has been broken since r166395 on both EFL wk1 and wk2.
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167696
268f45cc-cd09-0410-ab3c-
d52691b4dbfc