WebKit-https.git
8 years agoRevert accidental changes to WebKit.xcworkspace
akling@apple.com [Sun, 23 Mar 2014 00:38:16 +0000 (00:38 +0000)]
Revert accidental changes to WebKit.xcworkspace

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

8 years agoCREATE_DOM_WRAPPER doesn't need the ExecState.
akling@apple.com [Sun, 23 Mar 2014 00:35:13 +0000 (00:35 +0000)]
CREATE_DOM_WRAPPER doesn't need the ExecState.
<https://webkit.org/b/130648>

Source/JavaScriptCore:

Add a fast path from JSGlobalObject to the VM so we don't have
to dance via the Heap.

Reviewed by Darin Adler.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::vm):

Source/WebCore:

Remove the ExecState parameter from CREATE_DOM_WRAPPER and get all
that we need from the global object instead.

toJS() and toJSNewlyCreated() still take an ExecState, that needs
to be dealt with separately since some of them have scary looking
currentWorld() checks.

Reviewed by Darin Adler.

* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContextConstructor::constructJSAudioContext):
* bindings/js/JSBlobCustom.cpp:
(WebCore::toJS):
(WebCore::JSBlobConstructor::constructJSBlob):
* bindings/js/JSCDATASectionCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS):
* bindings/js/JSCSSValueCustom.cpp:
(WebCore::toJS):
* bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/js/JSDOMBinding.h:
(WebCore::createWrapper):
(WebCore::wrap):
(WebCore::createNewWrapper):
* bindings/js/JSDocumentCustom.cpp:
(WebCore::toJS):
* bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::toJS):
* bindings/js/JSHTMLTemplateElementCustom.cpp:
(WebCore::JSHTMLTemplateElement::content):
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/js/JSImageDataCustom.cpp:
(WebCore::toJS):
* bindings/js/JSMediaStreamCapabilitiesCustom.cpp:
(WebCore::toJS):
* bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
* bindings/js/JSPerformanceEntryCustom.cpp:
(WebCore::toJS):
* bindings/js/JSRTCIceCandidateCustom.cpp:
(WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):
* bindings/js/JSRTCPeerConnectionCustom.cpp:
(WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection):
* bindings/js/JSRTCSessionDescriptionCustom.cpp:
(WebCore::JSRTCSessionDescriptionConstructor::constructJSRTCSessionDescription):
* bindings/js/JSSVGPathSegCustom.cpp:
(WebCore::toJS):
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::toJS):
* bindings/js/JSTextCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::toJS):
* bindings/js/JSTouchCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSTouchListCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSTrackCustom.cpp:
(WebCore::toJS):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* dom/make_names.pl:
(printWrapperFunctions):
(printWrapperFactoryCppFile):
(printWrapperFactoryHeaderFile):

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

8 years agoUnreviewed, fix FTL build.
fpizlo@apple.com [Sat, 22 Mar 2014 23:18:04 +0000 (23:18 +0000)]
Unreviewed, fix FTL build.

* ftl/FTLJITFinalizer.cpp:

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

8 years agotoThis() on a JSWorkerGlobalScope should return a JSProxy and not undefined
msaboff@apple.com [Sat, 22 Mar 2014 23:06:37 +0000 (23:06 +0000)]
toThis() on a JSWorkerGlobalScope should return a JSProxy and not undefined
https://bugs.webkit.org/show_bug.cgi?id=130554

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
Did some cleanup as well.  Moved the setting of the thisObject in a JSGlobalObject to
happen in finishCreation() so that it will also happen for other derived classes including
JSWorkerGlobalScopeBase.

* API/JSContextRef.cpp:
(JSGlobalContextCreateInGroup):
* jsc.cpp:
(GlobalObject::create):
* API/tests/testapi.c:
(globalObject_initialize): Eliminated ASSERT that the global object we are creating matches
the result from JSContextGetGlobalObject() as that will return the proxy.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Removed thisValue parameter and the call to setGlobalThis() since
we now call setGlobalThis in finishCreation().
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::setGlobalThis): Made this a private method.

Source/WebCore:

Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
Added cast from JSProxy->target() if the jsCast<>() to the native object fails
in toJSDedicatedWorkerGlobalScope() and toJSSharedWorkerGlobalScope().
The original cast is needed for access to the local side of the worker, while the JSProxy
cast is used on the remote side of a worker.

Test: fast/workers/worker-strict.html

* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::toJSDedicatedWorkerGlobalScope):
(WebCore::toJSSharedWorkerGlobalScope):

* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate): Changed to pass in the JSProxy and not
the WorkerGlobalScope object as the this object to script evaluation.

* workers/DedicatedWorkerGlobalScope.idl:
* workers/SharedWorkerGlobalScope.idl:
* workers/WorkerGlobalScope.idl:
Added the new CustomProxyToJSObject attribute so we'll call to<{nativeClass}>() for
getting the object to use for global evaluation.

LayoutTests:

Fixed toThis() on WorkerGlobalScope to return a JSProxy instead of the JSGlobalObject.
New regressions tests.

* fast/workers/resources/worker-strict.js: Added.
* fast/workers/worker-strict-expected.txt: Added.
* fast/workers/worker-strict.html: Added.

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

8 years agoFix debug build.
akling@apple.com [Sat, 22 Mar 2014 20:57:04 +0000 (20:57 +0000)]
Fix debug build.

* bytecode/CodeBlock.cpp:
* runtime/Executable.cpp:

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

8 years agoSome #include hygiene in Node/Element etc
simon.fraser@apple.com [Sat, 22 Mar 2014 20:02:26 +0000 (20:02 +0000)]
Some #include hygiene in Node/Element etc
https://bugs.webkit.org/show_bug.cgi?id=130642

Reviewed by Geoffrey Garen.

Clean up various #includes.

* accessibility/AccessibilityObject.h:
* bindings/js/WebCoreTypedArrayController.h:
* dom/Element.h:
* dom/EventListenerMap.h:
* dom/EventTarget.h:
* dom/Node.h:
* rendering/RenderObject.h:
* rendering/svg/RenderSVGRoot.h:

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

8 years agoFloatRect.h on iOS should not suck in a system header
simon.fraser@apple.com [Sat, 22 Mar 2014 19:42:03 +0000 (19:42 +0000)]
FloatRect.h on iOS should not suck in a system header
https://bugs.webkit.org/show_bug.cgi?id=130641

Reviewed by Geoff Garen.

Don't pull in <CoreGraphics/CGGeometry.h> from FloatRect.h.

* platform/graphics/FloatRect.h:

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

8 years agoFixed the iOS build.
mitz@apple.com [Sat, 22 Mar 2014 19:19:52 +0000 (19:19 +0000)]
Fixed the iOS build.

Reviewed by Darin Adler.

* page/ios/FrameIOS.mm:
(WebCore::Frame::interpretationsForCurrentRoot):

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

8 years agoCut down on JSC profiler includes in WebCore & co.
akling@apple.com [Sat, 22 Mar 2014 18:56:56 +0000 (18:56 +0000)]
Cut down on JSC profiler includes in WebCore & co.
<https://webkit.org/b/130637>

Most of WebKit was pulling in JSC's profiler headers via VM.h.

Reviewed by Darin Adler.

* dfg/DFGDisassembler.cpp:
* dfg/DFGDisassembler.h:
* dfg/DFGJITFinalizer.cpp:
* jsc.cpp:
* runtime/VM.cpp:
* runtime/VM.h:

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

8 years agoRemove String::deprecatedCharacters
darin@apple.com [Sat, 22 Mar 2014 18:52:22 +0000 (18:52 +0000)]
Remove String::deprecatedCharacters
https://bugs.webkit.org/show_bug.cgi?id=126854

Reviewed by Sam Weinig.

Source/WebCore:

* bindings/scripts/StaticString.pm:
(GenerateStrings): Remove the code to generate the null m_copyData16 pointer.

* editing/TextIterator.cpp:
(WebCore::SearchBuffer::prependContext): Changed to use the new append function in
StringView.h and removed the one defined locally here.

* editing/VisibleUnits.cpp:
(WebCore::wordBreakIteratorForMinOffsetBoundary): Use the new append function
in StringView.h instead of using deprecatedCharacters.
(WebCore::wordBreakIteratorForMaxOffsetBoundary): Ditto.
Removed an append function defined locally here and use the one in StringView.h.

* editing/htmlediting.cpp:
(WebCore::stringWithRebalancedWhitespace): Use StringView::getCharactersWithUpconvert.

* html/parser/HTMLToken.h:
(WebCore::HTMLToken::appendToAttributeValue): Changed to take a StringView instead
of a const String&.

* loader/appcache/ManifestParser.cpp:
(WebCore::parseManifest): Use StringView and StringView::upconvertedCharacters.

* page/EventSource.cpp:
(WebCore::EventSource::didReceiveData): Use the new append overload from StringView.h.
Also added a comment about incorrect use of the decode function.

* page/ios/FrameIOS.mm:
(WebCore::Frame::interpretationsForCurrentRoot): Use the new StringView append function.
Also use simpler new-style for loops.

* platform/LinkHash.cpp:
(WebCore::visitedURLInline): Use the new append function and StringView::substring.
(WebCore::visitedLinkHash): Use upconvertedCharacters for the non-8-bit case.

* platform/URL.cpp:
(WebCore::findFirstOf): Chagned to take a StringView.
(WebCore::containsOnlyASCII): Added. Works on StringView. Could move to a WTF header in
the future if it's needed elsewhere.
(WebCore::protocolIs): Added. Works on StringView. Could put in URL.h if needed elsewhere,
or consider replacing the one that takes const String& with just this one.
(WebCore::appendEncodedHostname): Changed to take a StringView and use
StringView::upconvertedCharacters.
(WebCore::findHostnamesInMailToURL): Changed to take a StringView.
(WebCore::findHostnameInHierarchicalURL): Ditto.
(WebCore::encodeHostnames): Ditto.
(WebCore::encodeRelativeString): Ditto.

* platform/graphics/StringTruncator.cpp:
(WebCore::StringTruncator::width): Use StringView::upconvertedCharacters.

* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::setFontFeatures): Use indexing directly on the string instead
of on a UChar*.
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use StringView::upconvertedCharacters.

* platform/text/TextCodecICU.cpp:
(WebCore::TextCodecICU::encode): Use a Vector<UChar> rather than a String to copy and
replace the backslashes with yen signs. Also optimize case where there are no backslashes.

* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint): Use TextRun::setText(StringView).

* rendering/RenderText.cpp:
(WebCore::maxWordFragmentWidth): Pass a String to RenderBlock::constructTextRun instead of
calling StringBuilder::deprecatedCharacters.

* rendering/RenderText.h: Removed deprecatedCharacters function.

* rendering/line/BreakingContextInlineHeaders.h: Added now-needed header include.

* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::constructTextRun): Use StringView version of TextRun constructor.

* rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::SVGTextMetrics): Take references instead of pointers.
(WebCore::SVGTextMetrics::constructTextRun): Take references instead of pointers, and don't
take a character pointer any more. Instead, extract the text and use the StringView version of
the TextRun constructor.
(WebCore::SVGTextMetrics::measureCharacterRange): Take references instead of pointers and
update for above changes.
* rendering/svg/SVGTextMetrics.h: Updated for changes above. Also tweaked style a bit.

* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::advanceSimpleText): Updated for SVGTextMetrics changes.
(WebCore::SVGTextMetricsBuilder::advanceComplexText): Ditto.
(WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer): Ditto.
(WebCore::SVGTextMetricsBuilder::measureTextRenderer): Change code to store a character
for lastCharacter rather than storing a pointer to a character. Stop using TextRun::data16.

* rendering/svg/SVGTextQuery.cpp:
(WebCore::SVGTextQuery::subStringLengthCallback): Updated for SVGTextMetrics changes.
(WebCore::SVGTextQuery::startPositionOfCharacterCallback): Ditto.
(WebCore::SVGTextQuery::endPositionOfCharacterCallback): Ditto.
(WebCore::calculateGlyphBoundaries): Ditto.

* xml/XPathFunctions.cpp:
(WebCore::XPath::atomicSubstring): Added.
(WebCore::XPath::FunId::evaluate): Tweaked a bit to use a new style for loop.
Use the atomicSubstring function to avoid making a temporary String just to make an AtomicString.
That function also uses characters8/16 rather than depreccatedCharacters.

* xml/XPathNodeSet.h: Added begin and end so this collection can be iterated with new style for loop.

* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doWrite): Use StringView::upconvertedCharacters.
(WebCore::parseAttributes): Ditto.

Source/WebKit:

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

Source/WebKit/ios:

* Misc/WebNSStringDrawing.h: Added a FIXME about deleting this file; we can probably do it soon.
* Misc/WebNSStringDrawing.mm:
(+[NSString _web_setWordRoundingEnabled:]):
(+[NSString _web_wordRoundingEnabled]):
(+[NSString _web_setWordRoundingAllowed:]):
(+[NSString _web_wordRoundingAllowed]):
(+[NSString _web_setAscentRoundingEnabled:]):
(+[NSString _web_ascentRoundingEnabled]):
(-[NSString _web_drawAtPoint:withFont:]):
(-[NSString _web_sizeWithFont:]):
(-[NSString _web_sizeWithFont:forWidth:ellipsis:]):
(-[NSString _web_sizeWithFont:forWidth:ellipsis:letterSpacing:]):
(-[NSString _web_sizeWithFont:forWidth:ellipsis:letterSpacing:resultRange:]):
(-[NSString _web_drawAtPoint:forWidth:withFont:ellipsis:]):
(-[NSString _web_drawAtPoint:forWidth:withFont:ellipsis:letterSpacing:]):
(-[NSString _web_drawAtPoint:forWidth:withFont:ellipsis:letterSpacing:includeEmoji:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:includeEmoji:truncationRect:measureOnly:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:includeEmoji:truncationRect:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:]):
(-[NSString _web_drawInRect:withFont:ellipsis:alignment:]):
(-[NSString _web_sizeInRect:withFont:ellipsis:lineSpacing:]):
(-[NSString _web_sizeInRect:withFont:ellipsis:]):
(-[NSString _web_stringForWidth:withFont:ellipsis:letterSpacing:includeEmoji:]):
(-[NSString _web_sizeForWidth:withAttributes:]):
(-[NSString _web_drawAtPoint:forWidth:withAttributes:]):
(-[NSString _web_sizeInRect:withAttributes:]):
(-[NSString _web_drawInRect:withAttributes:]):
Emptied out all these functions since callers aren't really using them any more.

Source/WebKit/win:

* WebKitStatistics.cpp:
(WebKitStatistics::comClassNameCounts): Update to not use Vector::append(String).

Source/WTF:

* wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::reifyString): Removed code to update 16-bit shadow.

* wtf/text/StringBuilder.h: Removed deprecatedCharacters.
(WTF::StringBuilder::StringBuilder): Removed m_valid16BitShadowLength.
(WTF::StringBuilder::clear): Removed code to clear m_valid16BitShadowLength.
(WTF::StringBuilder::swap): Removed code to swap m_valid16BitShadowLength.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl): Removed code to free m_copyData16.
(WTF::StringImpl::upper): Use StringView::upconvertedCharacters for slow case.
(WTF::StringImpl::lower): Ditto.
(WTF::StringImpl::find): Use characters8/16 rather than deprecatedCharacters.
Added an 8-bit code path to one of the overloads. Might want to revisit later
to decide whether to use templates instead of copy/paste, or even use StringView
to cut down on duplicate code paths.
(WTF::StringImpl::findIgnoringCase): Ditto.
(WTF::StringImpl::sizeInBytes): Remove code to handle has16BitShadow case.
(WTF::equalIgnoringNullity): Added. To be called by the Vector template in the header.

* wtf/text/StringImpl.h: Removed deprecatedCharacters, has16BitShadow,
upconvertCharacters, getData16SlowCase, s_hashFlagHas16BitShadow, and m_copyData16.
(WTF::equalIgnoringNullity): Changed the template function into an inline that calls
a non-inline helper function. The non-inline function handles both 8-bit and 16-bit
strings.

* wtf/text/StringView.h:
(WTF::StringView::StringView): Added an overload so we can make one of these directly
from a StringImpl without first wrapping it in a string. Added an adapter so we can
use StringView as part of string concatenation. Added an append function so we can
append to a Vector<UChar>.

* wtf/text/WTFString.cpp:
(WTF::String::append): Use StringView::getCharactersWithUpconvert. Also changed
single-character append so it won't always turn an 8-bit string into a 16-bit one.
(WTF::String::insert): Removed one insert overload and changed the other to use
StringView::getCharactersWithUpconvert.
(WTF::String::truncate): Changed to use StringImpl::substring.
(WTF::String::percentage): Added characters8/16 paths instead of using
deprecatedCharacters.

* wtf/text/WTFString.h: Removed deprecatedCharacters, getCharactersWithUpconvert,
insert(UChar*, unsigned, unsigned), and the append overload for Vector<UChar>.

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

8 years agoUnreviewed, rolling out r166118.
commit-queue@webkit.org [Sat, 22 Mar 2014 18:31:06 +0000 (18:31 +0000)]
Unreviewed, rolling out r166118.
https://bugs.webkit.org/show_bug.cgi?id=130640

Crashing things (Requested by weinig on #webkit).

Reverted changeset:

"Switch HTMLConverter to use CSSPropertyIDs to refer to CSS
properties"
https://bugs.webkit.org/show_bug.cgi?id=130639
http://trac.webkit.org/changeset/166118

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

8 years agoSwitch HTMLConverter to use CSSPropertyIDs to refer to CSS properties
weinig@apple.com [Sat, 22 Mar 2014 18:01:20 +0000 (18:01 +0000)]
Switch HTMLConverter to use CSSPropertyIDs to refer to CSS properties
https://bugs.webkit.org/show_bug.cgi?id=130639

Reviewed by Simon Fraser.

This is a ~15% speedup on PerformanceTests/Interactive/CopyAll.html.

- Removes gratuitous lookup of CSS properties that are known at compile time.
- Removes attempted use of non-supported CSS properties (font-effect and horizontal-align)
  that will alway yield the same results.
- Fix some obvious typos where the author thought they were testing for fontKerning or fontLigatures
  but instead used the non-existent font-effect.

* platform/mac/HTMLConverter.mm:
(HTMLConverterCaches::computedStylePropertyForElement):
(HTMLConverterCaches::inlineStylePropertyForElement):
(HTMLConverterCaches::propertyValueForNode):
(-[WebHTMLConverter _stringForNode:property:]):
(HTMLConverterCaches::floatPropertyValueForNode):
(-[WebHTMLConverter _getFloat:forNode:property:]):
(HTMLConverterCaches::isBlockElement):
(HTMLConverterCaches::elementHasOwnBackgroundColor):
(HTMLConverterCaches::colorPropertyValueForNode):
(-[WebHTMLConverter _colorForNode:property:]):
(-[WebHTMLConverter _computedAttributesForElement:]):
(-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
(-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
(-[WebHTMLConverter _addTableForElement:]):
(-[WebHTMLConverter _addTableCellForElement:]):
(-[WebHTMLConverter _processElement:tag:display:depth:]):
(-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
(-[WebHTMLConverter _processText:]):
(-[WebHTMLConverter _traverseNode:depth:embedded:]):

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

8 years agoSource/WebCore: Don't flush compositing layers within FrameView::willPaintContents()
simon.fraser@apple.com [Sat, 22 Mar 2014 17:52:14 +0000 (17:52 +0000)]
Source/WebCore: Don't flush compositing layers within FrameView::willPaintContents()
https://bugs.webkit.org/show_bug.cgi?id=130627
<rdar://problem/16368869>

Reviewed by Sam Weinig.

Remove the call to flushCompositingStateForThisFrame() here. We should
have always flushed before painting via other mechanisms in WebKit2 and WebKit2.
Flushing during painting is actually harmful, since we could be inside
a CA commit already, and creating or destroying layers via flushing is bad.

* page/FrameView.cpp:
(WebCore::FrameView::willPaintContents):

Source/WebKit/mac: Don't flush compositing layers within FrameView::willPaintContents()
https://bugs.webkit.org/show_bug.cgi?id=130627

Reviewed by Sam Weinig.

Make _flushCompositingChanges private so DRT can call it;
moved it into the Private category.

* WebView/WebView.mm:
(-[WebView _flushCompositingChanges]):
* WebView/WebViewPrivate.h:

Tools: Don't flush compositing layers within FrameView::willPaintContents()
https://bugs.webkit.org/show_bug.cgi?id=130627
<rdar://problem/16368869>

Reviewed by Sam Weinig.

Fix DRT to correctly render tests with layers now that FrameView::paintContents
does not flush.

Move the -[WebView displayIfNeeded] from -[FrameLoadDelegate webView:didFinishLoadForFrame:]
into an explicit function called before dumping.

Then explicitly call _flushCompositingChanges to ensure that GraphicsLayer changes
are flushed to CA. They will be pushed to the window by snapshotting.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
Fix weird path to IOKit.framework.
* DumpRenderTree/mac/DumpRenderTree.mm:
(updateDisplay):
(dump):
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]): Fix parameter name.
(-[FrameLoadDelegate webView:didFinishLoadForFrame:]): Remove display call.

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

8 years agoRemove duplicate line added during merging
simon.fraser@apple.com [Sat, 22 Mar 2014 17:51:00 +0000 (17:51 +0000)]
Remove duplicate line added during merging
https://bugs.webkit.org/show_bug.cgi?id=130623

Reviewed by Beth Dakin.

Remove a duplicate call to -_viewWillDrawInternal which
was added during merges.

* WebView/WebView.mm:
(LayerFlushController::flushLayers):

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

8 years agoAssertions in WebPage::rangeFromEditingRange when requested range location is NSNotFound
ap@apple.com [Sat, 22 Mar 2014 16:50:57 +0000 (16:50 +0000)]
Assertions in WebPage::rangeFromEditingRange when requested range location is NSNotFound
https://bugs.webkit.org/show_bug.cgi?id=130633
<rdar://problem/16397583>

Reviewed by Darin Adler.

* UIProcess/API/mac/WKView.mm:
(-[WKView firstRectForCharacterRange:completionHandler:]):
(-[WKView firstRectForCharacterRange:actualRange:]):
Return NSZeroRect, like NSTextView does for any locations that are out of bounds.
There is no need for a round trip to WebProcess in this case.

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

8 years agoASSERTION FAILED: std::isfinite(num) in WebCore::CSSPrimitiveValue::CSSPrimitiveValue
darin@apple.com [Sat, 22 Mar 2014 15:16:42 +0000 (15:16 +0000)]
ASSERTION FAILED: std::isfinite(num) in WebCore::CSSPrimitiveValue::CSSPrimitiveValue
https://bugs.webkit.org/show_bug.cgi?id=127361

Source/WebCore:

Huge numbers represented by the 'INF' value can not be used
in CSS rules, so they make the assert fail. We have to make
sure that the parsed property value is finite, otherwise
the property will be dropped.

Test: fast/css/infinite-floating-value.html

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-03-22

* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createValue):

LayoutTests:

Added test shows that CSS rules containing huge numbers
(which are transformed into 'INF' values after parsing)
are dropped.

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-03-22
Reviewed by Darin Adler.

* fast/css/infinite-floating-value-expected.txt: Added.
* fast/css/infinite-floating-value.html: Added.

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

8 years agoUse pthread_stackseg_np() to find the stack bounds on OpenBSD.
commit-queue@webkit.org [Sat, 22 Mar 2014 14:31:08 +0000 (14:31 +0000)]
Use pthread_stackseg_np() to find the stack bounds on OpenBSD.
https://bugs.webkit.org/show_bug.cgi?id=129965

Reviewed By Anders Carlsson.

Patch by Landry Breuil <landry@openbsd.org> on 2014-03-22

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

8 years agoRemove redundant friending from class Image.
zalan@apple.com [Sat, 22 Mar 2014 03:41:05 +0000 (03:41 +0000)]
Remove redundant friending from class Image.
https://bugs.webkit.org/show_bug.cgi?id=130628

Reviewed by Simon Fraser.

Those friend classes are subclasses. No need to make them friend of their parent class.

No change in functionality.

* platform/graphics/Image.h:

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

8 years ago[iOS][WK2] Reduce the tiling coverage to the current rect and 1 tile size ahead
benjamin@webkit.org [Sat, 22 Mar 2014 02:40:31 +0000 (02:40 +0000)]
[iOS][WK2] Reduce the tiling coverage to the current rect and 1 tile size ahead
https://bugs.webkit.org/show_bug.cgi?id=130555

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-21
Reviewed by Simon Fraser.

Source/WebCore:

* WebCore.exp.in:
* platform/ScrollView.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::computeTileCoverageRect):
* platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::setScrollVelocityInformation):
(WebCore::ScrollView::computeCoverageRect):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):

Source/WebKit2:

* Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
* Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::operator==):
* UIProcess/ios/WKContentView.mm:
(WebKit::HistoricalKinematicData::HistoricalKinematicData):
(WebKit::HistoricalKinematicData::velocityForNewData):
(WebKit::HistoricalKinematicData::clear):
(WebKit::HistoricalKinematicData::append):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
* WebProcess/WebPage/ViewUpdateDispatcher.cpp:
(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):

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

8 years agoCrash when BytecodeGenerator::emitJump calls Label::bind on null pointer.
mark.lam@apple.com [Fri, 21 Mar 2014 23:48:39 +0000 (23:48 +0000)]
Crash when BytecodeGenerator::emitJump calls Label::bind on null pointer.
<https://webkit.org/b/124508>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

The issue is that BreakNode::emitBytecode() is holding onto a LabelScope
pointer from the BytecodeGenerator's m_localScopes vector, and then it
calls emitPopScopes().  emitPopScopes() may do finally clause handling
which will require the m_localScopes to be cloned so that it can change
the local scopes for the finally block, and then restore it after
handling the finally clause.  These modifications of the m_localScopes
vector will result in the LabelScope pointer in BreakNode::emitBytecode()
becoming stale, thereby causing the crash.

The same issue applies to the ContinueNode as well.

The fix is to use the existing LabelScopePtr abstraction instead of raw
LabelScope pointers.  The LabelScopePtr is resilient to the underlying
vector re-allocating its backing store.

I also changed the LabelScopePtr constructor that takes a LabelScopeStore
to expect a reference to the owner store instead of a pointer because the
owner store should never be a null pointer.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::newLabelScope):
(JSC::BytecodeGenerator::breakTarget):
(JSC::BytecodeGenerator::continueTarget):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/LabelScope.h:
(JSC::LabelScopePtr::LabelScopePtr):
(JSC::LabelScopePtr::operator bool):
(JSC::LabelScopePtr::null):
* bytecompiler/NodesCodegen.cpp:
(JSC::ContinueNode::trivialTarget):
(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::trivialTarget):
(JSC::BreakNode::emitBytecode):

LayoutTests:

* js/regress-124508-expected.txt: Added.
* js/regress-124508.html: Added.
* js/script-tests/regress-124508.js: Added.
(function_0):

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

8 years ago[iOS] clean up fullscreen player controller when exiting fullscreen
eric.carlson@apple.com [Fri, 21 Mar 2014 23:18:54 +0000 (23:18 +0000)]
[iOS] clean up fullscreen player controller when exiting fullscreen
https://bugs.webkit.org/show_bug.cgi?id=130621

Reviewed by Jer Noble.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVVideoLayer setBounds:]): Do nothing if _avPlayerController is nil.
(-[WebAVVideoLayer setVideoLayerGravity:]): Ditto.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Set m_playerViewController delegate
    and player controller to nil.

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

8 years agoREGRESSION (r165356): Predictive Chinese input is broken
ap@apple.com [Fri, 21 Mar 2014 22:58:31 +0000 (22:58 +0000)]
REGRESSION (r165356): Predictive Chinese input is broken
https://bugs.webkit.org/show_bug.cgi?id=130619

Reviewed by Enrica Casucci.

* UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::executeKeypressCommands):
Like after insertText, we are no longer in an intermediate state after executeKeypressCommands.
Make sure that we don't call -discardMarkedText the next time we get a non-intermediate
state with closed composition.

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

8 years ago[WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
weinig@apple.com [Fri, 21 Mar 2014 22:43:25 +0000 (22:43 +0000)]
[WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130528

Reviewed by Tim Horton.

* Platform/IPC/Connection.h:
* Platform/IPC/mac/ConnectionMac.cpp:
(IPC::Connection::getAuditToken):
Expose the audit data if available.

* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
Pass the audit data corresponding to the UIProcess.

* Configurations/Network-iOS.entitlements: Copied from Configurations/WebContent-iOS.entitlements.
* Configurations/NetworkProcess.xcconfig:
* Configurations/NetworkService.Development.xcconfig:
* Configurations/NetworkService.xcconfig:
* Configurations/WebContent-iOS.entitlements:
Add entitlement allowing the audit data to be used.

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

8 years ago[iOS] remote command callbacks must happen on the WebThread
eric.carlson@apple.com [Fri, 21 Mar 2014 22:21:29 +0000 (22:21 +0000)]
[iOS] remote command callbacks must happen on the WebThread
https://bugs.webkit.org/show_bug.cgi?id=130618

Reviewed by Jer Noble.

* platform/ios/RemoteCommandListenerIOS.h:
(WebCore::RemoteCommandListenerIOS::createWeakPtr):
* platform/ios/RemoteCommandListenerIOS.mm:
(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS): Dispatch commands to the
    main thread before making listener callbacks.

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

8 years agoSubpixel rendering: Make <img> positioning subpixel aware.
zalan@apple.com [Fri, 21 Mar 2014 22:09:05 +0000 (22:09 +0000)]
Subpixel rendering: Make <img> positioning subpixel aware.
https://bugs.webkit.org/show_bug.cgi?id=130596

Reviewed by Simon Fraser.

Change <img> positioning from integral to device pixel. It enables us
to paint hairline borders around <img> properly.
This patch changes the behavior of broken image representation from constant 1 CSS px border
to a dynamic 1 device px.

Source/WebCore:

Test: fast/images/hidpi-image-position-on-device-pixels.html

* WebCore.exp.in:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawRect):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawRect):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::drawRect):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
* rendering/RenderImage.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::drawPlatformResizerImage):

LayoutTests:

* fast/images/hidpi-image-position-on-device-pixels-expected.html: Added.
* fast/images/hidpi-image-position-on-device-pixels.html: Added.

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

8 years ago6% SunSpider commandline regression due to r165940
mhahnenberg@apple.com [Fri, 21 Mar 2014 21:53:25 +0000 (21:53 +0000)]
6% SunSpider commandline regression due to r165940
https://bugs.webkit.org/show_bug.cgi?id=130617

Reviewed by Michael Saboff.

In GCActivityCallback::didAllocate, lastGCLength() returns 0 if we've never collected
before. Some of the benchmarks are never running a single EdenCollection, which causes
them to repeatedly call scheduleTimer with a newDelay of 0. This defeats our timer
slop heuristic, causing us to invoke CFRunLoopTimerSetNextFireDate a couple orders of
magnitude more than we normally would.

The fix is to seed the last GC lengths in Heap with a non-zero length so that our heuristic works.

* heap/Heap.cpp:
(JSC::Heap::Heap):

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

8 years agoAlways retrieve the screen scale factor from WKSI
timothy_horton@apple.com [Fri, 21 Mar 2014 21:49:18 +0000 (21:49 +0000)]
Always retrieve the screen scale factor from WKSI
<rdar://problem/16329679>

Reviewed by Sam Weinig.

* Misc/WebUIKitSupport.mm:
(WebKitSetIsClassic): Empty this out; it's no longer needed, but will still be called.

* UIProcess/ios/WKContentView.mm:
(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
(-[WKContentView _updateForScreen:]):
Use WKGetScreenScaleFactor/WKGetScaleFactorForScreen.

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

8 years agoMerge VTTScanner Code from Blink
bfulgham@apple.com [Fri, 21 Mar 2014 21:26:41 +0000 (21:26 +0000)]
Merge VTTScanner Code from Blink
https://bugs.webkit.org/show_bug.cgi?id=130616

Reviewed by Eric Carlson.

Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/f1ceb058d574a1174b524c57f67350510a942071
http://crbug.com/75273002
https://chromium.googlesource.com/chromium/blink/+/3e2c67969486e86347b328c72c67cacabfe6f4a1
http://crbug.com/134173002
https://chromium.googlesource.com/chromium/blink/+/5962b7bbb001838f3fc7f24817637528b86bfd9b
http://crbug.com/134153002
https://chromium.googlesource.com/chromium/blink/+/6c81f51438013edca920a19fc6a31026fc562af2
http://crbug.com/137033002
https://chromium.googlesource.com/chromium/blink/+/fa286dca17a291da3ae8be80111e2264de6d5cfd
http://crbug.com/140503004
https://chromium.googlesource.com/chromium/blink/+/8f33b63aabcce7dd21dd15288d45c4eb37c02001
http://crbug.com/139343006
https://chromium.googlesource.com/chromium/blink/+/1872b54b908fac525f1ad9d6f15174b11e27c8af
http://crbug.com/143983002
https://chromium.googlesource.com/chromium/blink/+/e6494b3359e2077bd8772d86ab1fb709acf4c398
http://crbug.com/144893002

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/track/ParsingUtilities.h: Added.
(skipExactly):
(skipUntil):
(skipWhile):
* html/track/VTTCue.cpp:
(WebCore::VTTCue::markFutureAndPastNodes):
(WebCore::VTTCue::settingName):
(WebCore::scanPercentage):
(WebCore::VTTCue::setCueSettings):
* html/track/VTTCue.h:
* html/track/VTTRegion.cpp:
(WebCore::VTTRegion::setRegionSettings):
(WebCore::VTTRegion::scanSettingName):
(WebCore::parsedEntireRun):
(WebCore::VTTRegion::parseSettingValue):
* html/track/VTTRegion.h:
* html/track/VTTScanner.cpp: Added.
(WebCore::VTTScanner::VTTScanner):
(WebCore::VTTScanner::scan):
(WebCore::VTTScanner::scanRun):
(WebCore::VTTScanner::skipRun):
(WebCore::VTTScanner::extractString):
(WebCore::VTTScanner::restOfInputAsString):
(WebCore::VTTScanner::scanDigits):
(WebCore::VTTScanner::scanFloat):
* html/track/VTTScanner.h: Added.
(WebCore::VTTScanner::Run::Run):
(WebCore::VTTScanner::Run::start):
(WebCore::VTTScanner::Run::end):
(WebCore::VTTScanner::Run::isEmpty):
(WebCore::VTTScanner::isAt):
(WebCore::VTTScanner::isAtEnd):
(WebCore::VTTScanner::match):
(WebCore::VTTScanner::position):
(WebCore::VTTScanner::end):
(WebCore::VTTScanner::LCharPredicateAdapter):
(WebCore::VTTScanner::Run::length):
(WebCore::VTTScanner::scan):
(WebCore::VTTScanner::skipWhile):
(WebCore::VTTScanner::skipUntil):
(WebCore::VTTScanner::collectWhile):
(WebCore::VTTScanner::collectUntil):
(WebCore::VTTScanner::seekTo):
(WebCore::VTTScanner::currentChar):
(WebCore::VTTScanner::advance):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parseFloatPercentageValue):
(WebCore::WebVTTParser::parseFloatPercentageValuePair):
(WebCore::WebVTTParser::collectTimingsAndSettings):
(WebCore::WebVTTParser::collectTimeStamp):
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):
* html/track/WebVTTParser.h:

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

8 years ago[Webkit2] Add APIDownloadClient for download support.
aestes@apple.com [Fri, 21 Mar 2014 21:14:46 +0000 (21:14 +0000)]
[Webkit2] Add APIDownloadClient for download support.
https://bugs.webkit.org/show_bug.cgi?id=130484

Add API::DownloadClient to WebContext and get rid of WebDownloadClient.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-03-21
Reviewed by Anders Carlsson.

* UIProcess/API/APIDownloadClient.h: Added.
(API::DownloadClient::~DownloadClient):
(API::DownloadClient::didStart):
(API::DownloadClient::didReceiveAuthenticationChallenge):
(API::DownloadClient::didReceiveResponse):
(API::DownloadClient::didReceiveData):
(API::DownloadClient::shouldDecodeSourceDataOfMIMEType):
(API::DownloadClient::decideDestinationWithSuggestedFilename):
(API::DownloadClient::didCreateDestination):
(API::DownloadClient::didFinish):
(API::DownloadClient::didFail):
(API::DownloadClient::didCancel):
(API::DownloadClient::processDidCrash):
* UIProcess/API/C/WKContext.cpp:
(WKContextSetDownloadClient): Move the original WebDownloadClient methods to a local class
    DownloadClient and set up the downloadClient for WebContext.
* UIProcess/Downloads/DownloadProxy.cpp:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::setDownloadClient):
* UIProcess/WebContext.h:
(WebKit::WebContext::downloadClient):
* UIProcess/WebDownloadClient.cpp: Removed.
* UIProcess/WebDownloadClient.h: Removed.
* WebKit2.xcodeproj/project.pbxproj:

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

8 years agoConstants folded by DFG::ByteCodeParser should not be dead.
fpizlo@apple.com [Fri, 21 Mar 2014 20:23:55 +0000 (20:23 +0000)]
Constants folded by DFG::ByteCodeParser should not be dead.
https://bugs.webkit.org/show_bug.cgi?id=130576

Reviewed by Mark Hahnenberg.

This fixes bugs in the ByteCodeParser's constant folder by removing that constant folder. This
reduces the number of folders in JSC from fourish to just threeish (parser, DFG AI, and one
or more folders in LLVM). Doing so has no performance impact since the other constant folders
already subsume this one.

Also added a test case for the specific bug that instigated this.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getJSConstantForValue):
(JSC::DFG::ByteCodeParser::getJSConstant):
(JSC::DFG::ByteCodeParser::inferredConstant):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGNode.h:
* dfg/DFGNodeFlags.h:
* tests/stress/constand-folding-osr-exit.js: Added.
(foo):
(test):
(.var):

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

8 years agoPseudo type cleanup part 2: split pseudo elements parsing
benjamin@webkit.org [Fri, 21 Mar 2014 19:56:27 +0000 (19:56 +0000)]
Pseudo type cleanup part 2: split pseudo elements parsing
https://bugs.webkit.org/show_bug.cgi?id=130370

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-21
Reviewed by Andreas Kling.

With this patch, pseudo elements are handled separately. The only thing left in
the old path is compatibility pseudo elements and pseudo classes.

The list of special pseudo elements is now separated and is stored in SelectorPseudoElementTypeMap.in.
The script makeSelectorPseudoElementsMap.py takes that list to make the pseudo elements hash table.

The other pseudo elements are the prefixed ones, they are filtered in CSSSelector::parsePseudoElementType().

All the non-compatibility selectors are removed from SelectorPseudoTypeMap.in. CSSParserSelector::setPseudoTypeValue()
is updated accordingly. The next step will be to clean that part.

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
* css/CSSGrammar.y.in:
* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePseudoElementSelector):
(WebCore::CSSParserSelector::parsePseudoCueFunctionSelector):
(WebCore::CSSParserSelector::setPseudoTypeValue):
* css/CSSParserValues.h:
* css/CSSSelector.cpp:
(WebCore::CSSSelector::parsePseudoElementType):
* css/CSSSelector.h:
* css/SelectorPseudoElementTypeMap.in: Added.
* css/SelectorPseudoTypeMap.h:
* css/SelectorPseudoTypeMap.in:
* css/html.css:
(q::before):
(q::after):
* css/makeSelectorPseudoElementsMap.py: Added.
(enumerablePseudoType):
(expand_ifdef_condition):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::getMatchedCSSRules):

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

8 years agoUnreviewed test fix after r166080.
bfulgham@apple.com [Fri, 21 Mar 2014 19:40:17 +0000 (19:40 +0000)]
Unreviewed test fix after r166080.

* media/track/track-webvtt-tc029-timings-whitespace-expected.txt: Forgot to update this!

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

8 years agoUnreviewed test fix after r166080.
bfulgham@apple.com [Fri, 21 Mar 2014 19:24:07 +0000 (19:24 +0000)]
Unreviewed test fix after r166080.

The cue-timing separator will trigger the creation of a new cue. So this test needs to remove
use of the separator in the cue, so we can read the cue text.

* media/track/captions-webvtt/tc029-timings-whitespace.vtt:
* media/track/track-webvtt-tc029-timings-whitespace.html:

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

8 years agoLess inclusion of JSCInlines.h.
akling@apple.com [Fri, 21 Mar 2014 19:17:49 +0000 (19:17 +0000)]
Less inclusion of JSCInlines.h.
<https://webkit.org/b/130545>

Stop including JSCInlines.h from JSDOMGlobalObject.h!

Reviewed by Simon Fraser.

* ForwardingHeaders/runtime/IdentifierInlines.h: Added.
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
* bindings/js/JSCommandLineAPIHostCustom.cpp:
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMStringMapCustom.cpp:
* bindings/js/JSHTMLAllCollectionCustom.cpp:
* bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
* bindings/js/JSLazyEventListener.cpp:
* bindings/js/JSSQLResultSetRowListCustom.cpp:
* bindings/js/JSStorageCustom.cpp:
* bindings/js/ScriptGlobalObject.cpp:
* dom/NodeIterator.cpp:
* dom/TreeWalker.cpp:
* testing/Internals.cpp:
* testing/js/WebCoreTestSupport.cpp:

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

8 years agoSource/WebCore: Fix a crash when assigning an object to document.location
oliver@apple.com [Fri, 21 Mar 2014 19:12:40 +0000 (19:12 +0000)]
Source/WebCore: Fix a crash when assigning an object to document.location
https://bugs.webkit.org/show_bug.cgi?id=130213

Reviewed by Geoffrey Garen.

Convert location to string before we make use the document.
This prevents us from attempting to navigate a frame that
has already been removed.

Test: fast/dom/navigation-with-sideeffects-crash.html

* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::location):
(WebCore::JSDocument::setLocation):

LayoutTests: Fix semantics of JS execution when assigning an object to document.location
https://bugs.webkit.org/show_bug.cgi?id=130213

Reviewed by Geoffrey Garen.

* fast/dom/navigation-with-sideeffects-expected.txt: Added.
* fast/dom/navigation-with-sideeffects.html: Added.

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

8 years agoRefactor css3/filters/huge-region test
cavalcantii@gmail.com [Fri, 21 Mar 2014 19:10:00 +0000 (19:10 +0000)]
Refactor css3/filters/huge-region test
https://bugs.webkit.org/show_bug.cgi?id=129553

Reviewed by Dirk Schulze.

This patch refactors the huge-region to become a big enough
element to *not* be rendered. Plus, adds another test using a huge
blur filter kernel size that will trigger clamping the value to
maximum accepted value (500px).

* TestExpectations:
* css3/filters/huge-blur-value-expected.txt: Added.
* css3/filters/huge-blur-value.html: Copied from LayoutTests/css3/filters/huge-region.html.
* css3/filters/huge-region.html:

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

8 years agoWeb Replay: replay controller is improperly setting user input bridge state
bburg@apple.com [Fri, 21 Mar 2014 19:08:38 +0000 (19:08 +0000)]
Web Replay: replay controller is improperly setting user input bridge state
https://bugs.webkit.org/show_bug.cgi?id=130606

Reviewed by Timothy Hatcher.

The user input bridge was being set based on the old session state,
rather than the new session state.

* replay/ReplayController.cpp:
(WebCore::ReplayController::setSessionState):

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

8 years agoWeb Inspector: AXI: Expose Accessibility Tree children of the selected node
commit-queue@webkit.org [Fri, 21 Mar 2014 19:08:13 +0000 (19:08 +0000)]
Web Inspector: AXI: Expose Accessibility Tree children of the selected node
https://bugs.webkit.org/show_bug.cgi?id=130264

Patch by James Craig <jcraig@apple.com> on 2014-03-21
Reviewed by Timothy Hatcher.

Source/WebCore:

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

Expose the accessibility tree children (different from DOM children) of the
current node in the accessibility node inspector.

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
* inspector/InspectorDOMAgent.h:
* inspector/protocol/DOM.json:

Source/WebInspectorUI:

Expose the accessibility tree children (different from DOM children) of the
current node in the accessibility node inspector.

* Localizations/en.lproj/localizedStrings.js: New "Children" string.
* UserInterface/Base/DOMUtilities.js: Added linkifyAccessibilityNodeReference.
* UserInterface/Models/DOMNode.js: Support for accessibility children.
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Support for accessibility children.
* UserInterface/Views/Main.css: New styles for .node-link-list.

LayoutTests:

Updating for support of accessibility tree children.

* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

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

8 years agoUnreviewed WebKitGtk+ rebaseline.
svillar@igalia.com [Fri, 21 Mar 2014 19:05:48 +0000 (19:05 +0000)]
Unreviewed WebKitGtk+ rebaseline.

* platform/gtk-wk1/js/dom/global-constructors-attributes-expected.txt: Renamed from LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt.
* platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt:

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

8 years ago[Win] Compile fixes with video not enabled.
commit-queue@webkit.org [Fri, 21 Mar 2014 19:04:20 +0000 (19:04 +0000)]
[Win] Compile fixes with video not enabled.
https://bugs.webkit.org/show_bug.cgi?id=130597

Patch by Alex Christensen <achristensen@webkit.org> on 2014-03-21
Reviewed by Darin Adler.

Source/WebCore:

* DerivedSources.make:
Only generate UserAgentScripts.h if needed.
* platform/audio/MediaSession.cpp:
* platform/audio/MediaSessionManager.cpp:
Only compile if video is enabled.

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Only include MediaSessionManager symbols if video is enabled.

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

8 years agoOptimize FEGaussian blur
cavalcantii@gmail.com [Fri, 21 Mar 2014 19:02:35 +0000 (19:02 +0000)]
Optimize FEGaussian blur
https://bugs.webkit.org/show_bug.cgi?id=50881

Reviewed by Dirk Schulze.

Currently boxBlur() will calculate the filter for each channel in
a loop and also uses Uint8ClampedArray::set() to write the
resulting pixels into destination array.

Using Uint8ClampedArray::set() requires lots of unnecessary type
conversions, not to mention other function calls. This patch
updates the original written by Simon Fraser to apply cleanly to current
trunk.

It also implements code to handle EdgeModes and finally avoids use
of ::set() in the newly added boxBlurAlphaOnly()
function. Assignment of calculated pixel values rely on pointers.

No new tests, no change on behavior.

* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::boxBlurAlphaOnly): Specialized version for alpha only cases.
(WebCore::boxBlur):

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

8 years agoASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
ap@apple.com [Fri, 21 Mar 2014 19:00:57 +0000 (19:00 +0000)]
ASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
https://bugs.webkit.org/show_bug.cgi?id=130526
<rdar://problem/16371612>

This was fixed yesterday for sync code path, landing the same this for async one.

* UIProcess/API/mac/WKView.mm: (-[WKView performKeyEquivalent:]):

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

8 years agounobscuredContentRect() should have the same signature on iOS and other platforms,
simon.fraser@apple.com [Fri, 21 Mar 2014 18:56:04 +0000 (18:56 +0000)]
unobscuredContentRect() should have the same signature on iOS and other platforms,
and should not recurse on iOS.
https://bugs.webkit.org/show_bug.cgi?id=130604
<rdar://problem/16392587>

Reviewed by Tim Horton and Beth Dakin.

Having different signatures on different platforms is a recipe for
build breakage. Give the iOS unobscuredContentRect() an unused
VisibleContentRectIncludesScrollbars parameter.

Also avoid recursion via unobscuredContentRect() calling visibleContentRectInternal().

* WebCore.exp.in:
* platform/ScrollView.cpp:
(WebCore::ScrollView::unobscuredContentRect):
(WebCore::ScrollView::unobscuredContentRectInternal):
(WebCore::ScrollView::visibleContentRectInternal):
* platform/ScrollView.h:
(WebCore::ScrollView::unobscuredContentRectIncludingScrollbars):
* platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::unobscuredContentRect):

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

8 years agofix-blink-patch: tool to fix up renamed directory paths in Blink
ddkilzer@apple.com [Fri, 21 Mar 2014 18:55:10 +0000 (18:55 +0000)]
fix-blink-patch: tool to fix up renamed directory paths in Blink
<http://webkit.org/b/130609>

Reviewed by Ryosuke Niwa.

Usage: cat blink.patch | fix-blink-patch | svn-apply

* Scripts/fix-blink-patch: Added.

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

8 years agoHandle recovery on "timestamp-looking" lines in the WebVTT parser
bfulgham@apple.com [Fri, 21 Mar 2014 18:41:08 +0000 (18:41 +0000)]
Handle recovery on "timestamp-looking" lines in the WebVTT parser
https://bugs.webkit.org/show_bug.cgi?id=130610

Reviewed by Eric Carlson.

Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/b669a380efbffe25f3b154b026b57b9822ce08e2
http://crbug.com/75273002

Source/WebCore:

Tests: media/track/track-webvtt-tc031-cue-recovery.html
       media/track/track-webvtt-tc032-degenerate-cues.html

* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parse):
(WebCore::WebVTTParser::collectCueText):
(WebCore::WebVTTParser::recoverCue):
(WebCore::WebVTTParser::ignoreBadCue):
* html/track/WebVTTParser.h:

LayoutTests:

* media/track/captions-webvtt/tc006-cue-id-error.vtt:
* media/track/captions-webvtt/tc007-cue-no-id-error.vtt:
* media/track/captions-webvtt/tc011-cues-no-separation.vtt:
* media/track/captions-webvtt/tc031-cue-recovery-cuetext.vtt: Added.
* media/track/captions-webvtt/tc031-cue-recovery-header.vtt: Added.
* media/track/captions-webvtt/tc031-cue-recovery-note.vtt: Added.
* media/track/captions-webvtt/tc032-degenerate-cues.vtt: Added.
* media/track/track-webvtt-tc006-cue-identifiers-expected.txt:
* media/track/track-webvtt-tc006-cue-identifiers.html:
* media/track/track-webvtt-tc007-cue-no-id-expected.txt:
* media/track/track-webvtt-tc007-cue-no-id.html:
* media/track/track-webvtt-tc011-blank-lines-expected.txt:
* media/track/track-webvtt-tc011-blank-lines.html:
* media/track/track-webvtt-tc031-cue-recovery-expected.txt: Added.
* media/track/track-webvtt-tc031-cue-recovery.html: Added.
* media/track/track-webvtt-tc032-degenerate-cues-expected.txt: Added.
* media/track/track-webvtt-tc032-degenerate-cues.html: Added.

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

8 years agoRemove unused RenderView::repaintRectangleInViewAndCompositedLayers().
akling@apple.com [Fri, 21 Mar 2014 18:28:06 +0000 (18:28 +0000)]
Remove unused RenderView::repaintRectangleInViewAndCompositedLayers().
<https://webkit.org/b/130605>

Reviewed by Antti Koivisto.

* rendering/RenderView.cpp:
* rendering/RenderView.h:

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

8 years agoCrash in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
hyatt@apple.com [Fri, 21 Mar 2014 18:13:24 +0000 (18:13 +0000)]
Crash in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
https://bugs.webkit.org/show_bug.cgi?id=129948
<rdar://problem/16074072>

Reviewed by Simon Fraser.

Source/WebCore:

When the marker was placed for multi-column list items, it was being inserted
into the list item itself. Even though the add code in RenderBlock did the right
thing and put the marker inside the multi-column flow thread, the list item code
passed in a beforeChild that was computed using the incorrect parent. This resulted
in the flow thread being used both as the parent of the marker and the sibling of
the marker.

The fix is to add some code to RenderListItem to make sure it uses the multi-column
flow thread if it exists both as the parent of the marker and as the basis for the
computation of the sibling that the marker should be placed in front of.

Added fast/multicol/multicol-li-crash.html

* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):

LayoutTests:

* fast/multicol/multicol-li-crash-expected.txt: Added.
* fast/multicol/multicol-li-crash.html: Added.

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

8 years agoUnreviewed. Rebaseline expectations after r165651.
svillar@igalia.com [Fri, 21 Mar 2014 18:02:35 +0000 (18:02 +0000)]
Unreviewed. Rebaseline expectations after r165651.

* platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt: Replaced Path by Path2D.
* platform/gtk/js/dom/global-constructors-attributes-expected.txt: Ditto.

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

8 years agoRemove use of deprecatedCharacters in WebKit API tests
darin@apple.com [Fri, 21 Mar 2014 17:59:11 +0000 (17:59 +0000)]
Remove use of deprecatedCharacters in WebKit API tests
https://bugs.webkit.org/show_bug.cgi?id=130602

Reviewed by Antti Koivisto.

* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
(TestWebKitAPI::expectBuilderContent): Use characters8/16 instead of deprecatedCharacters.
(TestWebKitAPI::expectEmpty): Use characters8.
(TestWebKitAPI::TEST): Use characters8 instead of deprecatedCharacters in most cases.

* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
Removed the test that is entirely about 16-bit conversion since that's basically a test of
the deprecatedCharacters function itself, which we are about to delete.

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

8 years agoAdd callbacks in WebKit2 Cocoa API for page load testing
psolanki@apple.com [Fri, 21 Mar 2014 17:55:59 +0000 (17:55 +0000)]
Add callbacks in WebKit2 Cocoa API for page load testing
https://bugs.webkit.org/show_bug.cgi?id=130569

Reviewed by Anders Carlsson.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(didFirstVisuallyNonEmptyLayoutForFrame):
(didHandleOnloadEventsForFrame):
(setUpPageLoaderClient):
(willSendRequestForFrame):
(didInitiateLoadForResource):
(didFinishLoadForResource):
(didFailLoadForResource):
(setUpResourceLoadClient):

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

8 years agoGenerated hidpi- images (actual) on ML WK2 Debug are blurry/color shifted.
zalan@apple.com [Fri, 21 Mar 2014 17:52:39 +0000 (17:52 +0000)]
Generated hidpi- images (actual) on ML WK2 Debug are blurry/color shifted.

Unreviewed TestExpectations update on ML WK2 debug.

* platform/mac-wk2/TestExpectations:

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

8 years agoStop pulling in JSCInlines.h all over the place.
akling@apple.com [Fri, 21 Mar 2014 17:42:35 +0000 (17:42 +0000)]
Stop pulling in JSCInlines.h all over the place.
<https://webkit.org/b/130105>

JSDOMBinding.h is included by everyone and their uncle, so try to
cut down on the amount of JSC *Inlines.h it includes.

Reviewed by Geoff Garen.

* ForwardingHeaders/heap/SlotVisitorInlines.h: Added.
* ForwardingHeaders/runtime/JSCJSValueInlines.h: Added.
* ForwardingHeaders/runtime/JSCellInlines.h: Added.
* ForwardingHeaders/runtime/StructureInlines.h: Added.
* bindings/js/JSDOMBinding.h:

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

8 years agoWindowFeatures.{x|y|width|height} are not initialized
ddkilzer@apple.com [Fri, 21 Mar 2014 17:36:57 +0000 (17:36 +0000)]
WindowFeatures.{x|y|width|height} are not initialized
<http://webkit.org/b/130547>
<rdar://problem/16383151>

Reviewed by Darin Adler.

Based on a Blink patch in CRBug 342591 by zhaoqin.

* page/WindowFeatures.cpp:
(WebCore::WindowFeatures::WindowFeatures):
- Initialize x, y, width, height in String constructor.
- Move 'resizeable' variable to short-hand initialization since
  it is true in both cases.
- Use String::isEmpty() instead of checking its length.
* page/WindowFeatures.h:
(WebCore::WindowFeatures::WindowFeatures): Initialize x, y,
width, height in no-argument constructor.

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

8 years agoReplace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in bridge/
svillar@igalia.com [Fri, 21 Mar 2014 17:32:09 +0000 (17:32 +0000)]
Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in bridge/
https://bugs.webkit.org/show_bug.cgi?id=130601

Reviewed by Darin Adler.

* bridge/IdentifierRep.cpp:
(WebCore::identifierSet):
(WebCore::intIdentifierMap):
(WebCore::stringIdentifierMap):
* bridge/NP_jsobject.cpp:
(objectMap):
* bridge/runtime_root.cpp:
(JSC::Bindings::rootObjectSet): Return a reference instead of
a pointer.
(JSC::Bindings::findProtectingRootObject):
(JSC::Bindings::findRootObject):
(JSC::Bindings::RootObject::RootObject):
(JSC::Bindings::RootObject::invalidate):

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

8 years agoChange CodeGeneratorJS.pm special cases for "DOMWindow" to be general purpose
msaboff@apple.com [Fri, 21 Mar 2014 17:29:03 +0000 (17:29 +0000)]
Change CodeGeneratorJS.pm special cases for "DOMWindow" to be general purpose
https://bugs.webkit.org/show_bug.cgi?id=130553

Reviewed by Geoffrey Garen.

Eliminated 'if ($interfaceName eq "DOMWindow") {' sections in CodeGeneratorJS where
it was used to do DOMWindow specific casting to a JSObject, either a JSDOMWindow* or
a JSDOMWindowShell*.  Instead the code generator will use the existing
JSDOMWindow* toJSDOMWindow(JSValue value) function based on a newly added attribute
"CustomProxyToJSObject".  That attribute will emit a call to the function
${className}* to${className}(JSValue).

This is being done to clean up the code generator and for a subsequent patch that
will use a similar custom to{className} function for workers,
JSDedicatedWorkerGlobalScope* toJSDedicatedWorkerGlobalScope(JSValue).

Changes covered by existing tests.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* page/DOMWindow.idl:

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

8 years agoAX: Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed
k.czech@samsung.com [Fri, 21 Mar 2014 17:08:10 +0000 (17:08 +0000)]
AX: Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed
https://bugs.webkit.org/show_bug.cgi?id=130594

Reviewed by Chris Fleizach.

Use static NeverDestroyed<T> in new code.

* accessibility/AccessibilityMediaControls.cpp:
(WebCore::AccessibilityMediaControl::controlTypeName):
(WebCore::AccessibilityMediaControl::title):
(WebCore::AccessibilityMediaControlsContainer::elementTypeName):
(WebCore::AccessibilityMediaTimeline::helpText):
(WebCore::AccessibilityMediaTimeDisplay::accessibilityDescription):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::actionVerb):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
(WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
(WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
(WebCore::AccessibilityRenderObject::actionVerb):
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::notifyChildrenSelectionChange):

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

8 years agoUnreviewed test fix after my last checkin. Add missing test expectation.
bfulgham@apple.com [Fri, 21 Mar 2014 17:05:29 +0000 (17:05 +0000)]
Unreviewed test fix after my last checkin. Add missing test expectation.

* http/tests/media/track/track-webvtt-slow-loading-expected.txt: Added.

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

8 years ago[CSS Regions] incorrect clipping when the content has CSS Transforms like rotation
stavila@adobe.com [Fri, 21 Mar 2014 16:43:34 +0000 (16:43 +0000)]
[CSS Regions] incorrect clipping when the content has CSS Transforms like rotation
https://bugs.webkit.org/show_bug.cgi?id=110198

Reviewed by David Hyatt.

Added test that confirms the issue of transformed content being clipped was fixed.

* fast/regions/overflow-content-transform-rotate-expected.html: Added.
* fast/regions/overflow-content-transform-rotate.html: Added.

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

8 years agoMerge WebVTT Tokenizer Updates
bfulgham@apple.com [Fri, 21 Mar 2014 16:31:22 +0000 (16:31 +0000)]
Merge WebVTT Tokenizer Updates
https://bugs.webkit.org/show_bug.cgi?id=130565

Reviewed by Eric Carlson.

Source/WebCore:

Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/923db263aa65d6efd71c5b55708ad7eea6b23f53
http://crbug.com/73813002
https://chromium.googlesource.com/chromium/blink/+/48375b1d56b2d8850ae93a6c6fb01c69fae82c75
http://crbug.com/77553004
https://chromium.googlesource.com/chromium/blink/+/98d4fc4f5cb716a31d11907120b10538d4ba0f09
http://crbug.com/78833002
https://chromium.googlesource.com/chromium/blink/+/0e53d4f9f140e979b7f32de495551684bc7f4cd2
http://crbug.com/81113003
https://chromium.googlesource.com/chromium/blink/+/730ef1e7f9a1919964f7e74e7ccb2f343e10a148
http://crbug.com/97103002
https://chromium.googlesource.com/chromium/blink/+/c373ee914ffabeaf833939129538251d8f2f4eca
http://crbug.com/98763004
https://chromium.googlesource.com/chromium/blink/+/4ddb4d57948228fa05e49e06bd58a1179c09f212
http://crbug.com/118263002

* html/track/VTTCue.cpp:
(WebCore::scanPercentage):
(WebCore::VTTCue::setCueSettings):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTTreeBuilder::buildFromString):
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):
* html/track/WebVTTToken.h:
(WebCore::WebVTTToken::WebVTTToken):
(WebCore::WebVTTToken::StringToken):
(WebCore::WebVTTToken::StartTag):
(WebCore::WebVTTToken::EndTag):
(WebCore::WebVTTToken::TimestampTag):
(WebCore::WebVTTToken::type):
(WebCore::WebVTTToken::name):
(WebCore::WebVTTToken::characters):
(WebCore::WebVTTToken::classes):
(WebCore::WebVTTToken::annotation):
* html/track/WebVTTTokenizer.cpp:
(WebCore::addNewClass):
(WebCore::emitToken):
(WebCore::advanceAndEmitToken):
(WebCore::WebVTTTokenizer::WebVTTTokenizer):
(WebCore::WebVTTTokenizer::nextToken):
* html/track/WebVTTTokenizer.h:
(WebCore::WebVTTTokenizer::shouldSkipNullCharacters):

LayoutTests:

Merged from Blink (patch by fs@opera.com):
https://chromium.googlesource.com/chromium/blink/+/923db263aa65d6efd71c5b55708ad7eea6b23f53
http://crbug.com/73813002
https://chromium.googlesource.com/chromium/blink/+/48375b1d56b2d8850ae93a6c6fb01c69fae82c75
http://crbug.com/77553004
https://chromium.googlesource.com/chromium/blink/+/98d4fc4f5cb716a31d11907120b10538d4ba0f09
http://crbug.com/78833002
https://chromium.googlesource.com/chromium/blink/+/0e53d4f9f140e979b7f32de495551684bc7f4cd2
http://crbug.com/81113003
https://chromium.googlesource.com/chromium/blink/+/730ef1e7f9a1919964f7e74e7ccb2f343e10a148
http://crbug.com/97103002
https://chromium.googlesource.com/chromium/blink/+/c373ee914ffabeaf833939129538251d8f2f4eca
http://crbug.com/98763004
https://chromium.googlesource.com/chromium/blink/+/4ddb4d57948228fa05e49e06bd58a1179c09f212
http://crbug.com/118263002

* TestExpectations:
* media/track/captions-webvtt/tc022-entities-wrong.vtt:
* media/track/captions-webvtt/tc022-entities.vtt:
* media/track/track-webvtt-tc022-entities-expected.txt:
* media/track/track-webvtt-tc022-entities.html:

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

8 years agoBug 130345 - Refine childShouldCreateRenderer for MathML elements
fred.wang@free.fr [Fri, 21 Mar 2014 16:19:36 +0000 (16:19 +0000)]
Bug 130345 - Refine childShouldCreateRenderer for MathML elements
https://bugs.webkit.org/show_bug.cgi?id=130345

Reviewed by Chris Fleizach.

Source/WebCore:

This is a follow-up of bug 124128. We add more restrictions on foreign
content of MathML elements.

Tests: mathml/presentation/annotation-children.html
       mathml/presentation/foreign-element-in-token.html

* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::isPresentationMathML): fix line wrapping
(WebCore::MathMLElement::isPhrasingContent):
- move the function from MathMLSelectElement.cpp
- add the constraint "is descendant of a map element" for area.
(WebCore::MathMLElement::isFlowContent): new function to test flow content.
(WebCore::MathMLElement::childShouldCreateRenderer):
- remove annotation since it is now tested in MathMLTextElement
- refine testing of annotation-xml
- do not create renderer for text content in MathML. Such content is only allowed inside token elements.
* mathml/MathMLElement.h: Declare isPhrasingContent and isFlowContent.
* mathml/MathMLSelectElement.cpp: Add new function to test MathML/SVG/HTML encodings.
(WebCore::MathMLSelectElement::isMathMLEncoding):
(WebCore::MathMLSelectElement::isSVGEncoding):
(WebCore::MathMLSelectElement::isHTMLEncoding):
(WebCore::MathMLSelectElement::getSelectedSemanticsChild): use the new functions.
* mathml/MathMLSelectElement.h: Declare the new public functions.
* mathml/MathMLTextElement.cpp: remove the isPhrasingContent function.
(WebCore::MathMLTextElement::childShouldCreateRenderer): Just in case, use the generic StyledElement::childShouldCreateRenderer.

LayoutTests:

We update the references of some tests after the additional
restrictions on MathML children. We replace the foreign-*.html with a
single foreign-element-in-token.html and write more tests to verify the
accepted and reject content.

* mathml/msub-anonymous-child-render-crash-expected.txt: Update reference now that text is only allowed in some token MathML elements.
* mathml/presentation/annotation-children-expected.html: Added.
* mathml/presentation/annotation-children.html: Added.
* mathml/presentation/foreign-element-in-annotation-xml.html: Added.
* mathml/presentation/foreign-element-in-annotation-xml-expected.txt: Added.
* mathml/presentation/foreign-element-in-token-expected.txt: Added.
* mathml/presentation/foreign-element-in-token.html: Added.
* mathml/presentation/foreign-mi-expected-mismatch.html: Removed.
* mathml/presentation/foreign-mi.html: Removed.
* mathml/presentation/foreign-mn-expected-mismatch.html: Removed.
* mathml/presentation/foreign-mn.html: Removed.
* mathml/presentation/foreign-mtext-expected-mismatch.html: Removed.
* mathml/presentation/foreign-mtext-rejected-expected.html: Removed.
* mathml/presentation/foreign-mtext-rejected.html: Removed.
* mathml/presentation/foreign-mtext.html: Removed.
* mathml/presentation/semantics-2.html: the mtext elements can not be direct child of annotation-xml. wrap them in a math tag.
* mathml/presentation/semantics-3.html: ditto.
* mathml/presentation/semantics-4.html: ditto.

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

8 years agoStackLayoutPhase should find the union'ed calleeVariable before accessing its machine...
mark.lam@apple.com [Fri, 21 Mar 2014 16:04:31 +0000 (16:04 +0000)]
StackLayoutPhase should find the union'ed calleeVariable before accessing its machineLocal.
<https://webkit.org/b/130566>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

* dfg/DFGStackLayoutPhase.cpp:
(JSC::DFG::StackLayoutPhase::run):

LayoutTests:

* js/regress-130566-expected.txt: Added.
* js/regress-130566.html: Added.
* js/script-tests/regress-130566.js: Added.
(test.doTest):
(test.for):
(test):

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

8 years agoStop using deprecatedCharacters in WebCore/platform/win
darin@apple.com [Fri, 21 Mar 2014 15:22:45 +0000 (15:22 +0000)]
Stop using deprecatedCharacters in WebCore/platform/win
https://bugs.webkit.org/show_bug.cgi?id=130515

Reviewed by Brent Fulgham.

* platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun): Add a constructor that takes a StringView.
Later, we might want to exclusively use the StringView version and remove
some of the others.
(WebCore::TextRun::setText): Add a version of this function that takes a StringView.

* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::systemFallbackForCharacters): Use StringView::getCharactersWithUpconvert.
(WebCore::createGDIFont): Ditto.
(WebCore::FontCache::getTraitsInFamily): Ditto.
* platform/win/BString.cpp:
(WebCore::BString::BString): Use StringView::upconvertedCharacters.
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::createGlobalData): Use StringView::getCharactersWithUpconvert.
* platform/win/FileSystemWin.cpp:
(WebCore::pathByAppendingComponent): Use StringBuilder and StringView::getCharactersWithUpconvert.
(WebCore::fileSystemRepresentation): Use StringView::upconvertedCharacters.
* platform/win/PasteboardWin.cpp:
(WebCore::filesystemPathFromUrlOrTitle): Use StringView::getCharactersWithUpconvert.
(WebCore::Pasteboard::writeURLToDataObject): Ditto.
(WebCore::createGlobalImageFileDescriptor): Ditto.

* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::calculatePositionAndSize): Use the new TextRun constructor.
* platform/win/WebCoreTextRenderer.cpp:
(WebCore::doDrawTextAtPoint): Ditto.

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

8 years ago[webkitpy] Fix has_valid_reviewer()
commit-queue@webkit.org [Fri, 21 Mar 2014 14:49:34 +0000 (14:49 +0000)]
[webkitpy] Fix has_valid_reviewer()
https://bugs.webkit.org/show_bug.cgi?id=130589

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-03-21
Reviewed by Csaba Osztrogon√°c.

* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLogEntry.has_valid_reviewer):
* Scripts/webkitpy/common/checkout/changelog_unittest.py:
(test_has_valid_reviewer):
* Scripts/webkitpy/common/config/committers.py:
(CommitterList._reviewer_only):
(CommitterList.committer_by_name):
(CommitterList.reviewer_by_email):
(CommitterList):
(CommitterList.reviewer_by_name):

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

8 years agoAdd cache support for jhbuild
commit-queue@webkit.org [Fri, 21 Mar 2014 14:44:10 +0000 (14:44 +0000)]
Add cache support for jhbuild
https://bugs.webkit.org/show_bug.cgi?id=130588

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-03-21
Reviewed by Csaba Osztrogon√°c.

* jhbuild/jhbuildrc_common.py:
(init): Jhbuild can now save the dependencies locally, if the JHBUILD_MIRROR environment variable is set.

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

8 years agoSubpixel rendering: RenderBox is positioned off by one when non-compositing transform...
zalan@apple.com [Fri, 21 Mar 2014 13:55:40 +0000 (13:55 +0000)]
Subpixel rendering: RenderBox is positioned off by one when non-compositing transform is present.
https://bugs.webkit.org/show_bug.cgi?id=130430

Reviewed by Simon Fraser.

div {
    position: absolute;
     top: 10.25px;
     left: 10.25px;
 }

 The <div> with (10.25px, 10.25px) is painted to (10.5px, 10.5px) after device pixel snapping on 2x display.
 Moving <div> to its own RenderLayer should not change the painting position.

 div {
     position: absolute;
     top: 10.25px;
     left: 10.25px;
     -webkit-transform: rotate(0deg);
 }

When we paint the RenderLayer's content, the graphics context is translated by the rounded value of
renderer's offset from parent.

    (10.25px,10.25px) -> rounded to (10.5px,10.5px).

When the translate moves the graphics context's origin over the renderer's top-left position,
the renderer's relative top-left coordinates end up being negative.

    Graphics context translated by (10.5px,10.5px) -> pushes renderer's relative top-left coords to (-0.25px,-0.25px)

When we round (pixel snap) these negative coordinates, half-way values get translated to the wrong direction.

(relative coords (-0.25px,-0.25px) -> pixel snapped to (-0.5px,-0.5px) -> final absolute(painting) coords (10px,10px))

This patch changes the rounding to flooring to ensure that the relative top-left position never gets negative as the result
of subpixel shifting.

Source/WebCore:

Tests: compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present.html
       fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::computedTransform):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::currentTransform):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateTransform):
* rendering/style/RenderStyle.cpp:
* rendering/style/RenderStyle.h:
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::animatedLocalTransform):

LayoutTests:

* TestExpectations:
* compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present-expected.html: Added.
* compositing/hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present.html: Added.
* fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present-expected.html: Added.
* fast/layers/hidpi-box-positioned-off-by-one-when-transform-is-present.html: Added.

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

8 years agoUpdate some references for MathML pixels tests
fred.wang@free.fr [Fri, 21 Mar 2014 13:01:56 +0000 (13:01 +0000)]
Update some references for MathML pixels tests
https://bugs.webkit.org/show_bug.cgi?id=130455.

Reviewed by Chris Fleizach.

* TestExpectations: Remove failures for MathML pixel tests.
* mathml/presentation/mo.xhtml: Removed.
* mathml/presentation/roots.xhtml: Remove the test that is already covered by bug95015.html.
* mathml/presentation/row.xhtml: Removed.
* platform/efl/TestExpectations: Remove failure for mo-stretch.html
* platform/efl/mathml/presentation/mo-stretch-expected.png: Update reference.
* platform/efl/mathml/presentation/mo-stretch-expected.txt: Update reference.
* platform/efl/mathml/presentation/roots-expected.png: Update reference.
* platform/efl/mathml/presentation/roots-expected.txt: Update reference.
* platform/gtk/mathml/presentation/mo-expected.png: Removed.
* platform/gtk/mathml/presentation/mo-expected.txt: Removed.
* platform/gtk/mathml/presentation/roots-expected.png: Update reference.
* platform/gtk/mathml/presentation/roots-expected.txt: Update reference.
* platform/gtk/mathml/presentation/row-expected.png: Removed.
* platform/gtk/mathml/presentation/row-expected.txt: Removed.
* platform/mac/mathml/presentation/mo-expected.png: Removed.
* platform/mac/mathml/presentation/mo-expected.txt: Removed.
* platform/mac/mathml/presentation/roots-expected.txt: Update reference.
* platform/mac/mathml/presentation/row-expected.txt: Removed.
* platform/mac/mathml/presentation/row-expected.txt: Removed.
* platform/win/TestExpectations: Remove failure for mo-stretch.html and mspace-children.html

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

8 years ago[CMake] Add support for MAX_CPU_LOAD translated to -l in ninja and make
calvaris@igalia.com [Fri, 21 Mar 2014 10:36:21 +0000 (10:36 +0000)]
[CMake] Add support for MAX_CPU_LOAD translated to -l in ninja and make
https://bugs.webkit.org/show_bug.cgi?id=130504

Reviewed by Martin Robinson.

* Scripts/build-webkit: Add the maxCPULoad() to the makeArgs in
CMake if not specified.
* Scripts/webkitdirs.pm:
(determineMaxCPULoad): Read MAX_CPU_LOAD as maxCPULoad.
(maxCPULoad): determineMaxCPULoad and return maxCPULoad.

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

8 years agoUnreviewed. iOS build fix after r166046.
psolanki@apple.com [Fri, 21 Mar 2014 09:24:08 +0000 (09:24 +0000)]
Unreviewed. iOS build fix after r166046.

* WebCore.exp.in:

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

8 years agoFix the !ENABLE(FILTERS) build
lvidacs.u-szeged@partner.samsung.com [Fri, 21 Mar 2014 08:58:02 +0000 (08:58 +0000)]
Fix the !ENABLE(FILTERS) build
https://bugs.webkit.org/show_bug.cgi?id=130394

Reviewed by Gyuyoung Kim.

Add missing includes in rendering to fix compile errors, and include JSC headers to ImageBuffer.h to fix linker errors.

* platform/graphics/ImageBuffer.h:
* rendering/svg/RenderSVGImage.cpp:
* rendering/svg/RenderSVGRoot.cpp:

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

8 years agoUnreviewed, rolling out r166052.
commit-queue@webkit.org [Fri, 21 Mar 2014 08:54:19 +0000 (08:54 +0000)]
Unreviewed, rolling out r166052.
https://bugs.webkit.org/show_bug.cgi?id=130571

It broke EFL build (Requested by KaL on #webkit).

Reverted changeset:

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

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

8 years agoAdd *explicit* keyword to avoid implicit type conversion
gyuyoung.kim@samsung.com [Fri, 21 Mar 2014 08:27:52 +0000 (08:27 +0000)]
Add *explicit* keyword to avoid implicit type conversion
https://bugs.webkit.org/show_bug.cgi?id=130568

Reviewed by Antti Koivisto.

Constructors of RemoteFontFaceSource, SVGDocumentExtensions, XMLDocumentParserScope,
and WorkerScriptDebugServer need to use *explicit* keyword because they have an argument.
Besides removed a meaningless argument name.

* svg/SVGDocumentExtensions.h:
* xml/parser/XMLDocumentParserScope.h:

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

8 years agoModules: replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T>
svillar@igalia.com [Fri, 21 Mar 2014 08:11:02 +0000 (08:11 +0000)]
Modules: replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T>
https://bugs.webkit.org/show_bug.cgi?id=130407

Reviewed by Darin Adler.

* Modules/encryptedmedia/CDM.cpp:
(WebCore::installedCDMFactories):
* Modules/mediasource/MediaSourceRegistry.cpp:
(WebCore::MediaSourceRegistry::registry):
* Modules/mediasource/MediaSourceRegistry.h:
* Modules/mediastream/MediaStreamRegistry.cpp:
(WebCore::MediaStreamRegistry::registry):

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

8 years ago[GTK] Use GMainLoopSource for idle and timeout sources in WebCore
carlosgc@webkit.org [Fri, 21 Mar 2014 08:04:59 +0000 (08:04 +0000)]
[GTK] Use GMainLoopSource for idle and timeout sources in WebCore
https://bugs.webkit.org/show_bug.cgi?id=130078

Reviewed by Philippe Normand.

* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
* platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
* platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
* platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
* platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
* platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
* platform/gtk/GtkDragAndDropHelper.cpp:
* platform/gtk/SharedTimerGtk.cpp:

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

8 years ago[EFL][WK2] Remove Ewk_Error parameter from some async callbacks
ryuan.choi@samsung.com [Fri, 21 Mar 2014 07:58:30 +0000 (07:58 +0000)]
[EFL][WK2] Remove Ewk_Error parameter from some async callbacks
https://bugs.webkit.org/show_bug.cgi?id=130567

Reviewed by Gyuyoung Kim.

WebKit2 internally uses GenericCallbacks for several APIs such as WKKeyValueStorageManagerGetKeyValueStorageOrigins.
But only few callbacks really return errors.

This patch removes Ewk_Error parameters from these callbacks not to make
the confusion for application developers.

* UIProcess/API/efl/ewk_cookie_manager.cpp:
(getAcceptPolicyCallback):
(getHostnamesWithCookiesCallback):
* UIProcess/API/efl/ewk_cookie_manager.h:
* UIProcess/API/efl/ewk_database_manager.cpp:
(getDatabaseOriginsCallback):
* UIProcess/API/efl/ewk_database_manager.h:
* UIProcess/API/efl/ewk_storage_manager.cpp:
(getStorageOriginsCallback):
* UIProcess/API/efl/ewk_storage_manager.h:
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(EWK2CookieManagerTest::getAcceptPolicyCallback):
(EWK2CookieManagerTest::getHostnamesWithCookiesCallback):
* UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
(EWK2DatabaseManagerTest::databaseOriginsCallback):
* UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
(EWK2StorageManagerTest::getStorageOriginsCallback):

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

8 years agoRetainPtr API test should use CFArray instead of CFString for testing.
akling@apple.com [Fri, 21 Mar 2014 07:38:53 +0000 (07:38 +0000)]
RetainPtr API test should use CFArray instead of CFString for testing.
<rdar://problem/16384899>

Unreviewed bot fix.

* TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/cf/RetainPtrHashing.cpp:
(TestWebKitAPI::TEST):

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

8 years agoHTMLFrameOwnerElement should obey the SubframeLoadingDisabler when creating subframes
akling@apple.com [Fri, 21 Mar 2014 07:31:39 +0000 (07:31 +0000)]
HTMLFrameOwnerElement should obey the SubframeLoadingDisabler when creating subframes
<rdar://problem/15675780>

Merge Blink r156744 by Adam Klein.

Source/WebCore:

Test: fast/frames/set-iframe-src-in-pagehide-crash.html

* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):

LayoutTests:

* fast/frames/set-iframe-src-in-pagehide-crash-expected.txt: Added.
* fast/frames/set-iframe-src-in-pagehide-crash.html: Added.

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

8 years agoCheck for inappropriate macros in private headers
psolanki@apple.com [Fri, 21 Mar 2014 07:25:05 +0000 (07:25 +0000)]
Check for inappropriate macros in private headers
https://bugs.webkit.org/show_bug.cgi?id=130564

Reviewed by Filip Pizlo.

Check PrivateHeaders for inappropriate macros as well so that we avoid build breakages like
the one due to the original commit for bug 130142.

* WebKit.xcodeproj/project.pbxproj:

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

8 years agoImprove idiom used for string building in a few places
darin@apple.com [Fri, 21 Mar 2014 07:13:59 +0000 (07:13 +0000)]
Improve idiom used for string building in a few places
https://bugs.webkit.org/show_bug.cgi?id=130561

Reviewed by Andreas Kling.

Source/WebCore:

* Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::loggingString): Use a StringBuilder, and get rid of
an an unnecessary additional string allocation.

* Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::create): Use StringBuilder.

* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::createTDForFilename): Do a more efficient
string concatenation.
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::updateValidationMessage): Ditto.

* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
Use a StringBuilder.

* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::shorthandValue): Use a StringBuilder.

* inspector/InspectorStyleTextEditor.cpp:
(WebCore::InspectorStyleTextEditor::insertProperty): Use a more efficient idiom
for string concatenation.
(WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.
* loader/FormSubmission.cpp:
(WebCore::appendMailtoPostFormDataToURL): Ditto.

* page/Frame.cpp:
(WebCore::createRegExpForLabels): Use a StringBuilder.

* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Use a more efficient
idiom for string concatenation.

* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::getUnmangledInfoLog): Use a StringBuilder.

* platform/network/MIMEHeader.cpp:
(WebCore::MIMEHeader::parseHeader): Use a more efficient idiom for string
concatenation.
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::addHTTPHeaderField): Ditto.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText): Ditto.

* rendering/RenderText.cpp:
(WebCore::RenderText::secureText): Create a new string with the substring
function rather than with the append function.

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::setRequestHeaderInternal): Use a more efficient idiom
for string concatenation.

Source/WebKit/mac:

* WebView/WebHTMLRepresentation.mm:
(regExpForLabels): Use StringBuilder.

Source/WebKit2:

* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::initializeSandbox): Use a more efficient idiom for string
concatenation.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage): Use a StringBuilder.

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

8 years agoAdd a combined decodeAndFlush to TextResourceDecoder
darin@apple.com [Fri, 21 Mar 2014 07:12:07 +0000 (07:12 +0000)]
Add a combined decodeAndFlush to TextResourceDecoder
https://bugs.webkit.org/show_bug.cgi?id=130560

Reviewed by Andreas Kling.

Source/WebCore:

* WebCore.exp.in: Added new symbol for decodeAndFlush. Also re-did
the geometry types #if so it would sort more logically.

* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::convertToText): Use decodeAndFlush.
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResourceContent): Ditto.
* inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::ResourceData::decodeDataToContent): Ditto.

* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::decodeAndFlush): Added.
* loader/TextResourceDecoder.h: Ditto.

* loader/appcache/ManifestParser.cpp:
(WebCore::parseManifest): Use decodeAndFlush.
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::sheetText): Ditto.
(WebCore::CachedCSSStyleSheet::finishLoading): Ditto.

* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureSVGFontData): Use decodeAndFlush. Also use nullptr.
(WebCore::CachedFont::getSVGFontById): Use descendantsOfType<SVGFontElement>
instead of using a NodeList. Much more efficient!

* loader/cache/CachedSVGDocument.cpp:
(WebCore::CachedSVGDocument::finishLoading): Use decodeAndFlush.
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::script): Ditto.
* loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::finishLoading): Ditto.
* page/Page.cpp:
(WebCore::Page::userStyleSheet): Ditto.

Source/WebKit/mac:

* WebView/WebView.mm:
(+[WebView _decodeData:]): Use decodeAndFlush.

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

8 years agoFTL should correctly compile GetByVal on Uint32Array that claims to return non-int32...
fpizlo@apple.com [Fri, 21 Mar 2014 06:51:18 +0000 (06:51 +0000)]
FTL should correctly compile GetByVal on Uint32Array that claims to return non-int32 values
https://bugs.webkit.org/show_bug.cgi?id=130562
<rdar://problem/16382842>

Reviewed by Geoffrey Garen.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
* tests/stress/uint32array-unsigned-load.js: Added.
(foo):

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

8 years agoRemove a couple of unused functions from CSSOMUtils
darin@apple.com [Fri, 21 Mar 2014 06:44:44 +0000 (06:44 +0000)]
Remove a couple of unused functions from CSSOMUtils
https://bugs.webkit.org/show_bug.cgi?id=130558

Reviewed by Andreas Kling.

* css/CSSOMUtils.cpp: Remove String overloads. Callers all use the StringBuilder
ones, which is good since that is a more efficient idiom.
* css/CSSOMUtils.h: Ditto.

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

8 years agoFix a header guard mistake (harmless but clearly wrong)
darin@apple.com [Fri, 21 Mar 2014 06:44:06 +0000 (06:44 +0000)]
Fix a header guard mistake (harmless but clearly wrong)
https://bugs.webkit.org/show_bug.cgi?id=130559

Reviewed by Andreas Kling.

* wtf/text/StringConcatenate.h: Correct the macro name in the header guard.

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

8 years agoUnreviewed. iOS build fix after r166017, r166032.
psolanki@apple.com [Fri, 21 Mar 2014 06:30:10 +0000 (06:30 +0000)]
Unreviewed. iOS build fix after r166017, r166032.

* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRectInternal):

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

8 years agoWeb Inspector: add temporary buttons to capture/play/pause replay recordings
bburg@apple.com [Fri, 21 Mar 2014 05:26:21 +0000 (05:26 +0000)]
Web Inspector: add temporary buttons to capture/play/pause replay recordings
https://bugs.webkit.org/show_bug.cgi?id=129692

Reviewed by Timothy Hatcher.

If the Replay agent is available, replace the existing ad-hoc navigation bar
in the Timelines sidebar panel with a record and pause/play button. This UI
is temporary.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/ReplayManager.js: Turn two segment state assertions into
FIXMEs because the assertions are too strong until the public API uses async chains.
(WebInspector.ReplayManager.prototype.replayToMarkIndex):
(WebInspector.ReplayManager.prototype.replayToCompletion):
* UserInterface/Images/Circle.svg: Added.
* UserInterface/Views/ActivateButtonNavigationItem.js:
(WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):
* UserInterface/Views/ButtonNavigationItem.css: Adjust styles so the default style
has opacity:1 and the glyph color is darker.
(.navigation-bar .item.button.suppress-emboss > .glyph):
(.navigation-bar .item.button.suppress-emboss.disabled > .glyph):
* UserInterface/Views/ButtonNavigationItem.js:
(WebInspector.ButtonNavigationItem.prototype.generateStyleText): Explicitly
generate the width and height properties so that separate button instances do
not influence the size of each other.

* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
(WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
(WebInspector.TimelineSidebarPanel.prototype._replayPauseResumeButtonClicked):
(WebInspector.TimelineSidebarPanel.prototype._captureStarted):
(WebInspector.TimelineSidebarPanel.prototype._captureStopped):
(WebInspector.TimelineSidebarPanel.prototype._playbackStarted):
(WebInspector.TimelineSidebarPanel.prototype._playbackPaused):

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

8 years agoWeb Inspector: add frontend controller and models for replay sessions
bburg@apple.com [Fri, 21 Mar 2014 04:45:14 +0000 (04:45 +0000)]
Web Inspector: add frontend controller and models for replay sessions
https://bugs.webkit.org/show_bug.cgi?id=130145

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

* inspector/scripts/CodeGeneratorInspector.py: Add the conditional Replay domain.

Source/WebInspectorUI:

Upstream the frontend models and controller for web replay. The replay manager
syncs with the backend controller's replay state and replay sessions by using
the same state machines and transitions.

Session and segment models update their data asynchronously using promises.

* UserInterface/Base/Main.js:
(WebInspector.loaded): Add the replay manager.
* UserInterface/Base/Test.js:
(WebInspector.loaded): Add the replay manager.
(InspectorTest.debugLog): Fix a bug in the unescape/escape trick.
(InspectorTest.addResult): Don't try to add results until the test page has loaded.
(InspectorTest.testPageDidLoad): Clear the isReloading flag.
(InspectorTest.reloadPage): Reimplement using promises. Return a promise.
* UserInterface/Base/Utilities.js: Implement Map.take in the obvious way.
* UserInterface/Controllers/ReplayManager.js: Added.
(WebInspector.ReplayManager):
(WebInspector):
(WebInspector.ReplayManager.prototype.get sessionState):
(WebInspector.ReplayManager.prototype.get segmentState):
(WebInspector.ReplayManager.prototype.get activeSessionIdentifier):
(WebInspector.ReplayManager.prototype.get activeSegmentIdentifier):
(WebInspector.ReplayManager.prototype.get playbackSpeed):
(WebInspector.ReplayManager.prototype.set playbackSpeed):
(WebInspector.ReplayManager.prototype.get currentPosition):
(WebInspector.ReplayManager.prototype.getSession.get var):
(WebInspector.ReplayManager.prototype.getSegment.get var):
(WebInspector.ReplayManager.prototype.captureStarted):
(WebInspector.ReplayManager.prototype.captureStopped):
(WebInspector.ReplayManager.prototype.playbackStarted):
(WebInspector.ReplayManager.prototype.playbackHitPosition):
(WebInspector.ReplayManager.prototype.playbackPaused):
(WebInspector.ReplayManager.prototype.playbackFinished):
(WebInspector.ReplayManager.prototype.sessionCreated.set catch):
(WebInspector.ReplayManager.prototype.sessionCreated.this):
(WebInspector.ReplayManager.prototype.sessionCreated):
(WebInspector.ReplayManager.prototype.sessionModified):
(WebInspector.ReplayManager.prototype.sessionRemoved.then):
(WebInspector.ReplayManager.prototype.sessionRemoved):
(WebInspector.ReplayManager.prototype.segmentCreated.set this):
(WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
(WebInspector.ReplayManager.prototype.segmentCompleted):
(WebInspector.ReplayManager.prototype.segmentRemoved.then):
(WebInspector.ReplayManager.prototype.segmentRemoved):
(WebInspector.ReplayManager.prototype.segmentLoaded):
(WebInspector.ReplayManager.prototype.segmentUnloaded):
(WebInspector.ReplayManager.prototype.startCapturing):
(WebInspector.ReplayManager.prototype.stopCapturing):
(WebInspector.ReplayManager.prototype.replayToMarkIndex):
(WebInspector.ReplayManager.prototype.replayToCompletion):
(WebInspector.ReplayManager.prototype.pausePlayback):
(WebInspector.ReplayManager.prototype.stopPlayback):
(WebInspector.ReplayManager.prototype._changeSessionState):
(WebInspector.ReplayManager.prototype._changeSegmentState):
* UserInterface/Main.html:
* UserInterface/Models/ReplaySession.js: Added.
(WebInspector.ReplaySession):
(WebInspector.ReplaySession.fromPayload):
(WebInspector.ReplaySession.prototype.get segments):
(WebInspector.ReplaySession.prototype.segmentsChanged):
(WebInspector.ReplaySession.prototype._updateFromPayload):
* UserInterface/Models/ReplaySessionSegment.js: Added.
(WebInspector.IncompleteSessionSegment):
(WebInspector.IncompleteSessionSegment.prototype.get isComplete):
(WebInspector.ReplaySessionSegment):
(WebInspector.ReplaySessionSegment.prototype.get isComplete):
* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.registerCommand):
(InspectorBackendClass.prototype._promise): Add a promise-returning method for
invoking backend commands that return a result asynchronously.
* UserInterface/Protocol/ReplayObserver.js: Added.
(WebInspector.ReplayPosition):
(WebInspector.ReplayPosition.fromProtocol):
(WebInspector.ReplayObserver):
(WebInspector.ReplayObserver.prototype.captureStarted):
(WebInspector.ReplayObserver.prototype.captureStopped):
(WebInspector.ReplayObserver.prototype.playbackStarted):
(WebInspector.ReplayObserver.prototype.playbackHitPosition):
(WebInspector.ReplayObserver.prototype.playbackPaused):
(WebInspector.ReplayObserver.prototype.playbackFinished):
(WebInspector.ReplayObserver.prototype.inputSuppressionChanged):
(WebInspector.ReplayObserver.prototype.sessionCreated):
(WebInspector.ReplayObserver.prototype.sessionModified):
(WebInspector.ReplayObserver.prototype.sessionRemoved):
(WebInspector.ReplayObserver.prototype.sessionLoaded):
(WebInspector.ReplayObserver.prototype.segmentCreated):
(WebInspector.ReplayObserver.prototype.segmentRemoved):
(WebInspector.ReplayObserver.prototype.segmentCompleted):
(WebInspector.ReplayObserver.prototype.segmentLoaded):
(WebInspector.ReplayObserver.prototype.segmentUnloaded):
* UserInterface/Test.html:

LayoutTests:

Add tests for existing nondeterministic inputs handled in JSC.
They are skipped for all platforms until WEB_REPLAY is enabled.

The new mechanism here is the single-segment replay reftest. It will
load the test page once to inject test code into the inspector. Then,
the reftest will reload the test page and start capturing. The test
page performs some nondeterministic computation before the load event.
Then, the inspector test dumps the computed nondeterministic state.
Capturing is stopped, and the session is replayed once. When the load
event fires on the replayed page execution, the nondeterministic states
from capturing and replaying are compared. They should be the same.

* inspector/replay/javascript-random-seed-expected.txt: Added.
* inspector/replay/javascript-random-seed.html: Added.
* inspector/replay/replay-test.js: Added. This contains the bulk of
the replay-specific testing logic for the added tests.

(InspectorTestProxy.registerInitializer.):
(InspectorTestProxy.registerInitializer):

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

8 years agoMove to using std::unique_ptr for EFL objects.
ryuan.choi@samsung.com [Fri, 21 Mar 2014 04:13:37 +0000 (04:13 +0000)]
Move to using std::unique_ptr for EFL objects.
https://bugs.webkit.org/show_bug.cgi?id=129853

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-20
Reviewed by Gyuyoung Kim.

EflUniquePtr is a template alias of std::unique_ptr
with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.

Source/WebCore:

No new tests. No new functionality.

* platform/efl/EflScreenUtilities.h:
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
(WebCore::RenderThemeEfl::loadTheme):
* platform/efl/RenderThemeEfl.h:
* platform/graphics/Icon.h:
* platform/graphics/efl/EvasGLContext.h:
(WebCore::EvasGLContext::create):
* platform/graphics/efl/EvasGLSurface.h:
(WebCore::EvasGLSurface::create):

Source/WebKit/efl:

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::initialize):
* WebCoreSupport/AcceleratedCompositingContextEfl.h:
* WebCoreSupport/BatteryClientEfl.h:
* WebCoreSupport/DumpRenderTreeSupportEfl.h:
* WebCoreSupport/EditorClientEfl.h:
* WebCoreSupport/FrameNetworkingContextEfl.h:
* WebCoreSupport/NavigatorContentUtilsClientEfl.h:
* ewk/ewk_view.cpp:
(_ewk_view_editor_command_string_get):
* tests/UnitTestUtils/EWKTestView.cpp:
(EWKUnitTests::EWKTestView::init):
* tests/UnitTestUtils/EWKTestView.h:

Source/WebKit2:

* Platform/Module.h:
* Platform/efl/ModuleEfl.cpp:
(WebKit::Module::load):
* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
* UIProcess/API/efl/EwkView.h:
* UIProcess/efl/InputMethodContextEfl.cpp:
(WebKit::InputMethodContextEfl::InputMethodContextEfl):
(WebKit::InputMethodContextEfl::createIMFContext):
* UIProcess/efl/InputMethodContextEfl.h:
(WebKit::InputMethodContextEfl::create):

Source/WTF:

* wtf/OwnPtrCommon.h:
* wtf/PlatformEfl.cmake:
* wtf/RunLoop.h:
* wtf/efl/MainThreadEfl.cpp:
(WTF::pipeObject):
(WTF::initializeMainThreadPlatform):
* wtf/efl/OwnPtrEfl.cpp: Removed.
* wtf/efl/RunLoopEfl.cpp:
(WTF::RunLoop::RunLoop):
* wtf/efl/UniquePtrEfl.h: Added.
(WTF::EflPtrDeleter::operator()):

Tools:

* DumpRenderTree/efl/DumpRenderTree.cpp:
(main):
* ImageDiff/efl/ImageDiff.cpp:
(initEfl):
(main):

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

8 years agoAdd option for hiding Confidence Interval Delta on the performance tests results...
zoltan@webkit.org [Fri, 21 Mar 2014 04:05:05 +0000 (04:05 +0000)]
Add option for hiding Confidence Interval Delta on the performance tests results page
https://bugs.webkit.org/show_bug.cgi?id=130483

Reviewed by Ryosuke Niwa.

I've found it useful to hide the confidence interval delta from the results table
sometimes, for example on copying data, or for a clearer look. This patch introduces
a new button for it on the local results page.

* resources/results-template.html:

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

8 years ago[EFL][GTK] Get CMake to find Freetype2 properly
thiago.lacerda@openbossa.org [Fri, 21 Mar 2014 03:47:26 +0000 (03:47 +0000)]
[EFL][GTK] Get CMake to find Freetype2 properly
https://bugs.webkit.org/show_bug.cgi?id=130150

Reviewed by Martin Robinson.

Newer versions of CMake are not able to find Freetype2 correctly.
FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
freetype2 repo, because a completely different version number is found in freetype2.pc.

.:

* Source/cmake/FindFreetype2.cmake: Added.
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:

Source/WebCore:

* PlatformEfl.cmake:
* PlatformGTK.cmake:

Source/WebKit:

* PlatformEfl.cmake:

Source/WebKit2:

* PlatformEfl.cmake:

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

8 years agoUnreviewed buildfix after r165983 for non Cocoa platforms
ryuan.choi@samsung.com [Fri, 21 Mar 2014 03:13:46 +0000 (03:13 +0000)]
Unreviewed buildfix after r165983 for non Cocoa platforms

Renamed WKPreferencesPrivate.h to WKPreferencesRefPrivate.h

* TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp:
* TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
* WebKitTestRunner/TestController.cpp:

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

8 years ago[GTK] Suppress errors about using gdk_threads_enter gdk_threads_leave
mrobinson@webkit.org [Fri, 21 Mar 2014 03:00:59 +0000 (03:00 +0000)]
[GTK] Suppress errors about using gdk_threads_enter gdk_threads_leave
https://bugs.webkit.org/show_bug.cgi?id=130517

Reviewed by Sergio Villar Senin.

Source/WebCore:

* plugins/gtk/gtk2xtbin.c: Use GCC suppression to suppress errors about deprecations.

Source/WebKit2:

* UIProcess/API/gtk/WebKitWebView.cpp: Use GCC suppression to suppress errors about deprecations.
* UIProcess/gtk/WebPopupMenuProxyGtk.cpp: Ditto.

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

8 years ago[EFL][WK2] tests of test_ewk2_cookie_manager are flaky
ryuan.choi@samsung.com [Fri, 21 Mar 2014 01:41:21 +0000 (01:41 +0000)]
[EFL][WK2] tests of test_ewk2_cookie_manager are flaky
https://bugs.webkit.org/show_bug.cgi?id=130498

Reviewed by Gyuyoung Kim.

Loaded web page before calling getAcceptPolicy() to guarantee that webprocess
or networkprocess was launched and registered WebCookieManager.

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

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

8 years agoSample code for potential ARIA blog post.
commit-queue@webkit.org [Fri, 21 Mar 2014 01:29:36 +0000 (01:29 +0000)]
Sample code for potential ARIA blog post.
https://bugs.webkit.org/show_bug.cgi?id=130548

Patch by James Craig <jcraig@apple.com> on 2014-03-20
Rubber-stamped by Chris Fleizach.

* blog-files/aria1.0: Added.
* blog-files/aria1.0/africa_large.svg: Added.
* blog-files/aria1.0/combobox_with_live_region_status.html: Added.
* blog-files/aria1.0/roaming_tabindex: Added.
* blog-files/aria1.0/roaming_tabindex/css: Added.
* blog-files/aria1.0/roaming_tabindex/css/img: Added.
* blog-files/aria1.0/roaming_tabindex/css/img/buttons.png: Added.
* blog-files/aria1.0/roaming_tabindex/css/img/icons.png: Added.
* blog-files/aria1.0/roaming_tabindex/css/screen.css: Added.
* blog-files/aria1.0/roaming_tabindex/final.html: Added.
* blog-files/aria1.0/roaming_tabindex/js: Added.
* blog-files/aria1.0/roaming_tabindex/js/aria.js: Added.
* blog-files/aria1.0/roaming_tabindex/js/init.js: Added.
* blog-files/aria1.0/roaming_tabindex/js/prototype.js: Added.

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

8 years agoCleanup in aisle r166017.
simon.fraser@apple.com [Fri, 21 Mar 2014 01:16:40 +0000 (01:16 +0000)]
Cleanup in aisle r166017.

visibleContentRectInternal() was dropping the scrollbar
inclusiveness on the floor, and we need to reset the top inset
between tests.

* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRectInternal):
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):

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

8 years agoUnreviewed, rolling out r165985.
commit-queue@webkit.org [Fri, 21 Mar 2014 00:57:31 +0000 (00:57 +0000)]
Unreviewed, rolling out r165985.
https://bugs.webkit.org/show_bug.cgi?id=130551

broke page loading on all cocoa platforms (Requested by
thorton on #webkit).

Reverted changeset:

"[WebKit2] Implement
NetworkingContext::sourceApplicationAuditData() for WebKit2"
https://bugs.webkit.org/show_bug.cgi?id=130528
http://trac.webkit.org/changeset/165985

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

8 years agoFTL ValueToInt32 mishandles the constant case, and by the way, there is a constant...
fpizlo@apple.com [Fri, 21 Mar 2014 00:32:37 +0000 (00:32 +0000)]
FTL ValueToInt32 mishandles the constant case, and by the way, there is a constant case that the FTL sees
https://bugs.webkit.org/show_bug.cgi?id=130546
<rdar://problem/16383308>

Reviewed by Mark Hahnenberg.

Make AI do a better job of folding this.

Also made the FTL backend be more tolerant of data representations. In this case it
didn't know that "constant" was a valid representation. There is a finite set of
possible representations, but broadly, we don't write code that presumes anything
about the representation of an input; that's what methods like lowJSValue() are for.
ValueToInt32 was previously not relying on those methods at all because it had some
hacks. Now, those hacks are just a fast-path optimization but ultimately we fall down
to lowJSValue().

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::numberOrNotCellToInt32):
* tests/stress/value-to-int32-undefined-constant.js: Added.
(foo):
* tests/stress/value-to-int32-undefined.js: Added.
(foo):

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

8 years agoFix a long-standing typo that's now breaking USE(ASYNC_NSTEXTINPUTCLIENT) build.
ap@apple.com [Fri, 21 Mar 2014 00:21:30 +0000 (00:21 +0000)]
Fix a long-standing typo that's now breaking USE(ASYNC_NSTEXTINPUTCLIENT) build.

Rubber-stamped by Tim Horton.

* UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::cancelComposition):
Use a correct type for reply (it's really the same type, but ConfirmComposition
is behind an ifdef, and not available).

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

8 years agoAdd some assertions back
mhahnenberg@apple.com [Fri, 21 Mar 2014 00:10:50 +0000 (00:10 +0000)]
Add some assertions back
https://bugs.webkit.org/show_bug.cgi?id=130531

Reviewed by Geoffrey Garen.

We removed a useful set of assertions for verifying that MarkedBlocks were
in the state that we expected them to be in after clearing marks in the Heap.
We should add these back to catch bugs earlier.

* heap/MarkedBlock.h:
* heap/MarkedSpace.cpp:
(JSC::VerifyMarkedOrRetired::operator()):
(JSC::MarkedSpace::clearMarks):

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

8 years ago[iOS WebKit2] typing and deleting text lags behind the caret movement on google.com.
enrica@apple.com [Fri, 21 Mar 2014 00:07:34 +0000 (00:07 +0000)]
[iOS WebKit2] typing and deleting text lags behind the caret movement on google.com.
https://bugs.webkit.org/show_bug.cgi?id=130544
<rdar://problem/16380296>

Reviewed by Tim Horton.

On iOS the selection is drawn in the UIProcess. If the WebProcess is
processing multiple requests within the same runloop, the caret could be
updated in the UIProcess before the WebProcess has had a chance to paint.
This change synchronizes the selection drawing with the tile update.

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _didCommitLayerTree:WebKit::]):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _selectionChanged]):
(-[WKContentView _updateChangedSelection]):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChangeSelection):

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

8 years agoGeneralize WebInspector check in maybeInitializeSandboxExtensionHandle().
ap@apple.com [Fri, 21 Mar 2014 00:04:44 +0000 (00:04 +0000)]
Generalize WebInspector check in maybeInitializeSandboxExtensionHandle().
https://bugs.webkit.org/show_bug.cgi?id=130079
<rdar://problem/16286683>

Reviewed by Anders Carlsson.

* UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
Perform an early return for all paths that don't need a sandbox extension due to
access being assumed, not only for WebInspector pages.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::hasAssumedReadAccessToURL):
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
* UIProcess/WebProcessProxy.h:
Factored out m_localPathsWithAssumedReadAccess iteration to a public function.

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

8 years agoUnreviewed buildfix after r165983 for non Cocoa platforms.
ossy@webkit.org [Fri, 21 Mar 2014 00:03:58 +0000 (00:03 +0000)]
Unreviewed buildfix after r165983 for non Cocoa platforms.

* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKPreferences.cpp:
* UIProcess/efl/WebInspectorProxyEfl.cpp:

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