WebKit-https.git
5 years agoImplement Data Detectors immediate actions for WebKit2
timothy_horton@apple.com [Mon, 15 Dec 2014 19:45:23 +0000 (19:45 +0000)]
Implement Data Detectors immediate actions for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=139617
<rdar://problem/19198539>

Reviewed by Beth Dakin.

* Shared/API/c/WKImmediateActionTypes.h:
Add a new type.

* UIProcess/API/mac/WKView.mm:
(-[WKView mouseDown:]):
Send mouseDown along to the WKImmediateActionController too.

(-[WKView initWithFrame:context:configuration:webView:]):
Temporarily disable action menus.

(-[WKView _dismissContentRelativeChildWindows]):
Hide the immediate action preview when detaching child windows.

* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController willDestroyView:]):
Clear the DDActionContext when tearing down the view.

(-[WKImmediateActionController wkView:willHandleMouseDown:]):
(-[WKImmediateActionController _cancelImmediateAction]):
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
(-[WKImmediateActionController _defaultAnimationController]):
(-[WKImmediateActionController _updateImmediateActionItem]):
(-[WKImmediateActionController hidePreview]):
(-[WKImmediateActionController popoverWillClose:]):
(-[WKImmediateActionController _menuItemForDataDetectedText]):
Copy most of the DataDetectors implementation into WKImmediateActionController.

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

5 years agoDelete Notation because we don't use it
mmaxfield@apple.com [Mon, 15 Dec 2014 19:40:36 +0000 (19:40 +0000)]
Delete Notation because we don't use it
https://bugs.webkit.org/show_bug.cgi?id=139171

Reviewed by Kent Tamura.

Source/WebCore:

No tests because this is un-exposing something that never gets instantiated.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.exp.in:
* WebCore.order:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/gobject/WebKitDOMNodeFilter.h:
* bindings/gobject/WebKitDOMNodeFilter.symbols:
* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap):
* bindings/gobject/webkitdom.symbols:
* bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
* bindings/objc/DOM.mm:
(kitClass):
* bindings/objc/DOMCore.h:
* bindings/objc/PublicDOMInterfaces.h:
* dom/DOMAllInOne.cpp:
* dom/Document.cpp:
(WebCore::Document::importNode):
(WebCore::Document::adoptNode):
(WebCore::Document::childTypeAllowed):
(WebCore::Document::canReplaceChild):
* dom/Node.cpp:
(WebCore::Node::dumpStatistics):
(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupPrefix):
(WebCore::Node::lookupNamespaceURI):
(WebCore::appendTextContent):
(WebCore::Node::setTextContent):
* dom/Node.h:
* dom/Node.idl:
* dom/NodeFilter.h:
* dom/NodeFilter.idl:
* dom/Notation.cpp: Removed.
* dom/Notation.h: Removed.
* dom/Notation.idl: Removed.
* dom/Range.cpp:
(WebCore::lengthOfContentsInNode):
(WebCore::Range::processContentsBetweenOffsets):
(WebCore::Range::insertNode):
(WebCore::Range::checkNodeWOffset):
(WebCore::Range::checkNodeBA):
(WebCore::Range::selectNode):
(WebCore::Range::selectNodeContents):
(WebCore::Range::surroundContents):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendStartMarkup):
* xml/XPathUtil.cpp:
(WebCore::XPath::isValidContextNode):

Source/WebKit/mac:

* MigrateHeaders.make:

Source/WebKit2:

* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
(WebKit::WKDOMNodeClass):
* mac/MigrateHeadersFromWebKitLegacy.make:

LayoutTests:

Updating for removed property

* fast/dom/Window/get-set-properties-expected.txt:
* fast/dom/Window/get-set-properties.html:
* fast/dom/Window/resources/window-properties.js:
* fast/dom/Window/window-lookup-precedence-expected.txt:
* fast/dom/constants-expected.txt:
* fast/dom/constants.html:
* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:
* http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
* http/tests/security/cross-frame-access-put-expected.txt:
* http/tests/security/cross-frame-access-put.html:
* http/tests/security/resources/cross-frame-iframe-for-put-test.html:
* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/ios-sim-deprecated/http/tests/security/cross-frame-access-put-expected.txt:
* platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
* platform/ios-simulator/fast/dom/Window/window-lookup-precedence-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:

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

5 years agoRemove last references to OfflineStorage process
ddkilzer@apple.com [Mon, 15 Dec 2014 19:38:19 +0000 (19:38 +0000)]
Remove last references to OfflineStorage process
<http://webkit.org/b/139648>

Reviewed by Anders Carlsson.

* WebKit2.xcodeproj/project.pbxproj: Remove last references to
the OfflineStorage process.  See r154251 and r154256.

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

5 years agoChange HysteresisActivity to use a lambda
barraclough@apple.com [Mon, 15 Dec 2014 19:37:33 +0000 (19:37 +0000)]
Change HysteresisActivity to use a lambda
https://bugs.webkit.org/show_bug.cgi?id=139636

Reviewed by Darin Adler.

The current implementation provides notifications via callbacks to a delegate. Using a delegate
with callbacks is limiting a number of ways. The callback names are very ambiguous, the callbacks
must either be on a separate object (more boilerplate), or the callback must be public for
HysteresisActivity to call them, or friends get involved. Without the boilerplate of extra
delegate objects it's hard to scale use of these objects – a single object can't serve as a
delegate for multiple HysteresisActivity members.

Instead, make HysteresisActivity take a lambda to callback on state change. To simplify, changed
HysteresisState to only track Started/Stopped states (removed WillStopPendingTimeout).

Source/WebCore:

* WebCore.exp.in:
    - removed exports of deleted functions.
* page/PageThrottler.cpp:
(WebCore::PageThrottler::PageThrottler):
    - m_hysteresis lambda calls updateUserActivity.
(WebCore::PageThrottler::pageActivityCounterValueDidChange):
    - ASSERT updated due to removal of WillStopPendingTimeout state.
(WebCore::PageThrottler::started): Deleted.
(WebCore::PageThrottler::stopped): Deleted.
    - functionality replaced by lambda.
* page/PageThrottler.h:
    - HysteresisActivity is no longer templated on delegate type, removed function declarations & friend.
* platform/HysteresisActivity.h:
(WebCore::HysteresisActivity::HysteresisActivity):
    - HysteresisActivity takes a lambda, not a delegate.
(WebCore::HysteresisActivity::start):
    - delegate call -> callback.
(WebCore::HysteresisActivity::state):
    - simplified to remove WillStopPendingTimeout.
(WebCore::HysteresisActivity::hysteresisTimerFired):
    - delegate call -> callback.
* platform/UserActivity.cpp:
(WebCore::UserActivity::UserActivity):
    - HysteresisActivity lambda calls hysteresisUpdated.
(WebCore::UserActivity::hysteresisUpdated):
(WebCore::UserActivity::started): Deleted.
(WebCore::UserActivity::stopped): Deleted.
    - started/stopped -> hysteresisUpdated.
* platform/UserActivity.h:
    - started/stopped -> hysteresisUpdated, removed friend.

Source/WebKit2:

* WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp:
(WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker):
    - HysteresisActivity now takes a lambda, not a delegate.
(WebKit::WebSQLiteDatabaseTracker::hysteresisUpdated):
(WebKit::WebSQLiteDatabaseTracker::started): Deleted.
(WebKit::WebSQLiteDatabaseTracker::stopped): Deleted.
    - started/stopped merged into hysteresisUpdated
* WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h:
    - HysteresisActivity is no longer templated on delegate type, changed function declarations.

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

5 years agoWebKit level persistent caching
antti@apple.com [Mon, 15 Dec 2014 19:25:23 +0000 (19:25 +0000)]
WebKit level persistent caching
https://bugs.webkit.org/show_bug.cgi?id=30322

Reviewed by Sam Weinig.

Source/WebCore:

Test: http/tests/cache/disk-cache-validation.html

* WebCore.exp.in:
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForResourceResponse):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::source):
(WebCore::ResourceResponseBase::setSource):
(WebCore::ResourceResponseBase::wasCached): Deleted.
(WebCore::ResourceResponseBase::setWasCached): Deleted.

    Replace wasCached bit with Source enum.
    This is useful for testing.

* platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::containsCertificateInfo):
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):
* testing/Internals.cpp:
(WebCore::Internals::xhrResponseSource):
(WebCore::Internals::clearMemoryCache):
* testing/Internals.h:
* testing/Internals.idl:

    Testing support.

* xml/XMLHttpRequest.h:

Source/WebKit2:

We can improve performance and open new optimization possibilities by bringing network caching into WebKit.

This patch implements an experimental HTTP cache living in the network process.

The main classes are:

NetworkCache
    - Implements HTTP cache validation logic including Vary header
    - Initially non-range GET only
    - Fast serialization using WebKit types (ResourcesResponse etc) instead of native network layer types

NetworkCacheKey
    - Unique identifier for cache entries
    - Keyed on method/partition/URL

NetworkCacheStorage
    - Storage backend
    - dispatch-IO based implementation (generic posix implementation wouldn't be difficult)
    - File system only (no SQLite or similar)
    - One file per resource containing both header and body data
    - Zero persistent global metadata
    - Bloom filter for fast fail

NetworkCacheEncoder/Decoder
    - Serializisation support with integrity verification.

The code is behind the NETWORK_CACHE feature flag and requires network process to be enabled to use.

This patch does not enable the feature yet by default.

Test: http/tests/cache/disk-cache-validation.html

* NetworkProcess/cache/NetworkCache.cpp: Added.
* NetworkProcess/cache/NetworkCache.h: Added.
* NetworkProcess/cache/NetworkCacheKey.cpp: Added.
* NetworkProcess/cache/NetworkCacheKey.h: Added.
* NetworkProcess/cache/NetworkCacheStorage.h: Added.
* NetworkProcess/cache/NetworkCacheStorage.mm: Added.
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
(WebKit::NetworkProcess::platformSetCacheModel):
* NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::clearCacheForAllOrigins):
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::clearCacheForAllOrigins):
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::tryGetShareableHandleFromCFData):
* Platform/Logging.h:
* WebKit2.xcodeproj/project.pbxproj:
* config.h:

LayoutTests:

Add a cache validation test. The test generates large number of validation header permutations.

* TestExpectations: Skipped until the feature is enabled.
* http/tests/cache/disk-cache-validation-expected.txt: Added.
* http/tests/cache/disk-cache-validation.html: Added.
* http/tests/cache/resources/cache-test.js: Added.
(getServerDate):
(makeHeaderValue):
(generateTestURL):
(loadResource):
(loadResources):
(printResults):
(runTests):
(mergeFields):
(generateTests):
* http/tests/cache/resources/generate-response.cgi: Added.
* platform/mac-mountainlion/TestExpectations: Added.
* platform/mac-wk1/TestExpectations:

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

5 years agoPurge PassRefPtr from FocusEvent code.
akling@apple.com [Mon, 15 Dec 2014 19:17:04 +0000 (19:17 +0000)]
Purge PassRefPtr from FocusEvent code.
<https://webkit.org/b/139647>

Reviewed by Anders Carlsson.

Source/WebCore:

Convert FocusEvent-related code from using PassRefPtr to using RefPtr&& instead.

* dom/Document.cpp:
(WebCore::Document::setFocusedElement):
* dom/Element.cpp:
(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):
(WebCore::Element::dispatchFocusEvent):
(WebCore::Element::dispatchBlurEvent):
* dom/Element.h:
* dom/FocusEvent.cpp:
(WebCore::FocusEvent::FocusEvent):
* dom/FocusEvent.h:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::dispatchBlurEvent):
* html/HTMLFormControlElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::dispatchFocusEvent):
(WebCore::HTMLSelectElement::dispatchBlurEvent):
* html/HTMLSelectElement.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
(WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
* html/HTMLTextFormControlElement.h:
* page/FocusController.cpp:
(WebCore::dispatchEventsOnWindowAndFocusedElement):

Source/WTF:

Add a RefPtr::copyRef() to use when passing a RefPtr to a RefPtr&& without
transferring the ownership.

* wtf/RefPtr.h:

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

5 years ago[iOS] Codepoints not associated with languages are drawn as boxes
mmaxfield@apple.com [Mon, 15 Dec 2014 19:05:14 +0000 (19:05 +0000)]
[iOS] Codepoints not associated with languages are drawn as boxes
https://bugs.webkit.org/show_bug.cgi?id=138906

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-12-15
Reviewed by Darin Adler.

Source/WebCore:

Use SPI CTFontCreateForCharacters(), but only if we don't already know what to do
with the characters.

Test: platform/ios-simulator/fast/text/non-language-font-fallback.html

* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::FontCache::systemFallbackForCharacters):
* platform/spi/cocoa/CoreTextSPI.h:

LayoutTests:

* platform/ios-simulator/fast/text/non-language-font-fallback-expected.html: Added.
* platform/ios-simulator/fast/text/non-language-font-fallback.html: Added.

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

5 years agoSimplify tracking of process suppression disabled for PluginProcessManager
barraclough@apple.com [Mon, 15 Dec 2014 19:05:11 +0000 (19:05 +0000)]
Simplify tracking of process suppression disabled for PluginProcessManager
https://bugs.webkit.org/show_bug.cgi?id=139611

Reviewed by Darin Adler.

Previously if process suppression state changed for any context we would
iterate over all contexts to recompute.

There was also an inconsistency in the code. When plugin processes are
created they called processSuppressionIsEnabledForAllContexts(), which
checked WebContext::processSuppressionEnabled(), which in turn checks
two things - whether any page is currently visible, and whether the
suppression is currently disabled for any page. However when updating
process supression state we would call
processSuppressionPreferenceIsEnabledForAllContexts(), which would just
check the value of the key from the context's default PageGroup.

We shouldn't be taking visibility into account (this is handled from the
content, where we know which pages have instances of which plugins), but
we should be checking the current pref value of each page.

We already track in each context whether any page has teh pref set to
disable throttling; add a counter to the shared PluginProcessManager to
coallesce across all contexts.

* UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::PluginProcessManager):
    - added m_processSuppressionDisabledForPageCounter, m_processSuppressionEnabled.
* UIProcess/Plugins/PluginProcessManager.h:
(WebKit::PluginProcessManager::processSuppressionDisabledForPageCount):
    - accessor for WebContext to increment count.
(WebKit::PluginProcessManager::processSuppressionEnabled):
    - accessor for PluginProcessProxy.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching):
    - get initial supression state from the PluginProcessManager, not WebContext.
* UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
(WebKit::PluginProcessManager::updateProcessSuppressionState):
(WebKit::PluginProcessManager::setProcessSuppressionEnabled): Deleted.
    - setProcessSuppressionEnabled -> updateProcessSuppressionState
      rather than WebContext setting suppression state, PluginProcessManager detects
      when this may need to change & determines a new value for itself.
* UIProcess/WebContext.h:
    - removed processSuppressionIsEnabledForAllContexts, processSuppressionPreferenceIsEnabledForAllContexts
      updateProcessSuppressionState is no longer const (updates m_pluginProcessManagerProcessSuppressionDisabledCount).
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::updateProcessSuppressionState):
    - instead of explicitly recomputing plugin throttling state from Within the WebContext, just update
      m_pluginProcessManagerProcessSuppressionDisabledCount to count a RefCounter on the shared PluginProcessManager.
(WebKit::WebContext::processSuppressionIsEnabledForAllContexts): Deleted.
(WebKit::WebContext::processSuppressionPreferenceIsEnabledForAllContexts): Deleted.
    - removed.

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

5 years ago[CSS Shapes] Fix StyleBuilder code to use CSSValueNone to match spec and other code
bjonesbe@adobe.com [Mon, 15 Dec 2014 18:57:58 +0000 (18:57 +0000)]
[CSS Shapes] Fix StyleBuilder code to use CSSValueNone to match spec and other code
https://bugs.webkit.org/show_bug.cgi?id=139601

Reviewed by Chris Dumez.

Change the code to properly use CSSValueNone instead of CSSValueAuto.
Asserts have been added to catch similar errors in the future.
In doing this change, it became apparent that there is nothing
special about the shape-outside property that requires custom code, so
it was changed to use a standard converter function.

No change observable via LayoutTests.

* css/CSSPropertyNames.in: Use a converter instead of custom code.
* css/StyleBuilderConverter.h:
(WebCore::isImageShape): Helper function so that isImageSetValue can
    be properly guarded.
(WebCore::StyleBuilderConverter::convertShapeValue): Format as a
    converter instead of custom code.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueWebkitShapeOutside): Deleted.

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

5 years agoMake sure range based iteration of Vector<> still receives bounds checking
oliver@apple.com [Mon, 15 Dec 2014 18:04:58 +0000 (18:04 +0000)]
Make sure range based iteration of Vector<> still receives bounds checking
https://bugs.webkit.org/show_bug.cgi?id=138821

Reviewed by Mark Lam.

Source/JavaScriptCore:

Update code to deal with slightly changed iterator semantics.

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::visitChildren):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitComplexPopScopes):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):
* ftl/FTLAbbreviations.h:
(JSC::FTL::mdNode):
(JSC::FTL::buildCall):
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
* parser/Parser.h:
(JSC::Scope::Scope):
* runtime/JSArray.cpp:
(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::sortCompactedVector):
* tools/ProfileTreeNode.h:
(JSC::ProfileTreeNode::dumpInternal):
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::matchCharacterClass):

Source/WebCore:

Update to deal with different iterator type.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::deserializeString):
* editing/TextIterator.cpp:
(WebCore::SearchBuffer::isBadMatch):
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::buildSelectionHighlight):
* platform/graphics/SegmentedFontData.cpp:
(WebCore::SegmentedFontData::fontDataForCharacter):
(WebCore::SegmentedFontData::containsCharacter):
(WebCore::SegmentedFontData::isLoading):
* platform/graphics/WOFFFileFormat.cpp:
(WebCore::convertWOFFToSfnt):
* platform/graphics/cairo/GradientCairo.cpp:
(WebCore::Gradient::platformGradient):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::clearFrameBufferCache):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintFillLayers):
* rendering/style/GridResolvedPosition.cpp:
(WebCore::firstNamedGridLineBeforePosition):
(WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
* svg/SVGFontElement.cpp:
(WebCore::kerningForPairOfStringsAndGlyphs):
* svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::append):
* xml/XPathNodeSet.h:
(WebCore::XPath::NodeSet::begin):
(WebCore::XPath::NodeSet::end):

Source/WTF:

Add a new IndexedIterator struct to WTF that wraps a
Vector type and index to provide pointer like semantics
while still performing runtime bounds checking, even in
release builds. We store a simple index into the vector
which means that this iterator allows vector resizing
during iteration. If the vector is resized such that the
iterator is out of bounds, then any attempt to dereference
the iterator will crash safely.

For the purpose of retaining semantically equivalent
behaviour, the iterator can be moved to m_index == size()
as that is the standard "end" terminator for these types.
Attempting to dereference at that point will still crash
rather than perform an unsafe memory operation.

By necessity there are many overrides for operator + and - as
we otherwise hit many different type promotion ambiguities when
performing arithmetic with iterators. These ambiguities are also
different for 32- vs. 64-bit, so duplicating the functions
and then forwarding to the core implementations that performed
the bounds checking and mutation seemed like the right call.

* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/IndexedIterator.h: Added.
(WTF::IndexedIterator::IndexedIterator):
(WTF::IndexedIterator::operator->):
(WTF::IndexedIterator::operator*):
(WTF::IndexedIterator::get):
(WTF::IndexedIterator::operator++):
(WTF::IndexedIterator::operator--):
(WTF::IndexedIterator::operator UnspecifiedBoolType):
(WTF::IndexedIterator::operator-):
(WTF::IndexedIterator::operator=):
(WTF::IndexedIterator::operator==):
(WTF::IndexedIterator::operator!=):
(WTF::IndexedIterator::operator<):
(WTF::IndexedIterator::operator<=):
(WTF::IndexedIterator::operator>):
(WTF::IndexedIterator::operator>=):
(WTF::IndexedIterator::operator const_iterator):
(WTF::IndexedIterator::unsafeGet):
(WTF::getPtr):
(WTF::operator-):
(WTF::operator==):
(WTF::operator!=):
(WTF::operator<=):
(WTF::operator>=):
(WTF::operator<):
(WTF::operator>):
(WTF::IndexedIteratorSelector::makeIterator):
(WTF::IndexedIteratorSelector::makeConstIterator):
* wtf/RefCountedArray.h:
(WTF::RefCountedArray::RefCountedArray):
* wtf/Vector.h:
(WTF::Vector::Vector):
(WTF::Vector::begin):
(WTF::Vector::end):
(WTF::OverflowHandler>::Vector):
(WTF::=):
(WTF::OverflowHandler>::fill):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):
(WTF::OverflowHandler>::resize):
(WTF::OverflowHandler>::shrink):
(WTF::OverflowHandler>::grow):
(WTF::OverflowHandler>::reserveCapacity):
(WTF::OverflowHandler>::tryReserveCapacity):
(WTF::OverflowHandler>::shrinkCapacity):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::appendSlowCase):
(WTF::OverflowHandler>::uncheckedAppend):
(WTF::OverflowHandler>::appendVector):
(WTF::OverflowHandler>::insert):
(WTF::OverflowHandler>::insertVector):
(WTF::OverflowHandler>::remove):

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

5 years agohttp/tests/misc/webtiming-origins.html is flaky
ap@apple.com [Mon, 15 Dec 2014 18:02:46 +0000 (18:02 +0000)]
http/tests/misc/webtiming-origins.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=91314

Reviewed by Anders Carlsson.

This test had three subframes, each being an individual test with waitUntilDone/notifyDone.
How crazy was that?

* http/tests/misc/resources/webtiming-cross-origin-and-back1.html: Removed.
* http/tests/misc/resources/webtiming-cross-origin-redirect.php: Removed.
* http/tests/misc/resources/webtiming-no-origin.html: Removed.
* http/tests/misc/webtiming-cross-origin-and-back1-expected.txt: Added.
* http/tests/misc/webtiming-cross-origin-and-back1.html: Copied from LayoutTests/http/tests/misc/resources/webtiming-cross-origin-and-back1.html.
* http/tests/misc/webtiming-cross-origin-redirect-expected.txt: Added.
* http/tests/misc/webtiming-cross-origin-redirect.php: Copied from LayoutTests/http/tests/misc/resources/webtiming-cross-origin-redirect.php.
* http/tests/misc/webtiming-no-origin-expected.txt: Added.
* http/tests/misc/webtiming-no-origin.html: Copied from LayoutTests/http/tests/misc/resources/webtiming-no-origin.html.
* http/tests/misc/webtiming-origins.html: Removed.
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

5 years agoMove '-webkit-text-decoration-skip' to the new StyleBuilder
cdumez@apple.com [Mon, 15 Dec 2014 17:59:42 +0000 (17:59 +0000)]
Move '-webkit-text-decoration-skip' to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139633

Reviewed by Darin Adler.

Move '-webkit-text-decoration-skip' to the new StyleBuilder by
introducing a new TextDecorationSkip converter.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::valueToDecorationSkip): Deleted.
(WebCore::ApplyPropertyTextDecorationSkip::applyValue): Deleted.
(WebCore::ApplyPropertyTextDecorationSkip::createHandler): Deleted.
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::valueToDecorationSkip):
(WebCore::StyleBuilderConverter::convertTextDecorationSkip):

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

5 years ago[MSE] Prevent SourceBuffer monitoring algorithm from triggering a HAVE_NOTHING to...
commit-queue@webkit.org [Mon, 15 Dec 2014 17:29:14 +0000 (17:29 +0000)]
[MSE] Prevent SourceBuffer monitoring algorithm from triggering a HAVE_NOTHING to HAVE_METADATA transition.
https://bugs.webkit.org/show_bug.cgi?id=139444

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-12-15
Reviewed by Jer Noble.

Source/WebCore:

In case of 2 SourceBuffers, there can be transition to HaveMetadata from monitorSourceBuffers,
even though second SourceBuffer did not receive init segment - we can't query for it's metadata
such as width/height (if second one was video), so we shouldn't fire the event.
W3 Bug reference : https://www.w3.org/Bugs/Public/show_bug.cgi?id=27542

Test: media/media-source/media-source-loadedmetada-with-two-sourcebuffers.html

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::monitorSourceBuffers):
* Modules/mediasource/SourceBuffer.h:
* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::mimeTypeCache):

LayoutTests:

Added test to check how many active SourceBuffers exist when loadedmetadata fires,
according to spec 3.5.7, this should be equal to number of sourcebuffers.

* media/media-source/media-source-loadedmetada-with-two-sourcebuffers-expected.txt: Added.
* media/media-source/media-source-loadedmetada-with-two-sourcebuffers.html: Added.

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

5 years agoMove WebCore/platform/text to std::unique_ptr
gyuyoung.kim@samsung.com [Mon, 15 Dec 2014 17:17:53 +0000 (17:17 +0000)]
Move WebCore/platform/text to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=139395

Reviewed by Darin Adler.

As a step to use std::unique_ptr<>, this patch replaces OwnPtr|PassOwnPtr with
std::unique_ptr<> | std::make_unique<>.

* dom/Document.h:
* platform/text/LineBreakIteratorPoolICU.h:
(WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
(WebCore::LineBreakIteratorPool::create): Deleted.
* platform/text/LocaleICU.cpp:
(WebCore::Locale::create):
(WebCore::LocaleICU::createLabelVector):
(WebCore::createFallbackMonthLabels):
(WebCore::createFallbackAMPMLabels):
(WebCore::LocaleICU::initializeDateTimeFormat):
(WebCore::LocaleICU::shortMonthLabels):
(WebCore::LocaleICU::create): Deleted.
(WebCore::LocaleICU::standAloneMonthLabels): Deleted.
(WebCore::LocaleICU::shortStandAloneMonthLabels): Deleted.
* platform/text/LocaleICU.h:
* platform/text/LocaleNone.cpp:
(WebCore::Locale::create):
* platform/text/PlatformLocale.h:
(WebCore::Locale::createDefault):
* platform/text/TextCodecLatin1.cpp:
* platform/text/TextCodecUTF16.cpp:
* platform/text/TextEncoding.cpp:
* platform/text/mac/LocaleMac.h:
* platform/text/mac/LocaleMac.mm:
(WebCore::Locale::create):
(WebCore::LocaleMac::create):
* platform/text/mac/TextCodecMac.cpp:
* platform/text/win/LocaleWin.cpp:
(WebCore::Locale::create):
(WebCore::LocaleWin::create):
* platform/text/win/LocaleWin.h:
* platform/text/win/TextCodecWin.cpp:
(WebCore::newTextCodecWin):

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

5 years ago[GStreamer] the webkitwebsrc element can stale
commit-queue@webkit.org [Mon, 15 Dec 2014 15:38:02 +0000 (15:38 +0000)]
[GStreamer] the webkitwebsrc element can stale
https://bugs.webkit.org/show_bug.cgi?id=138425

Patch by Xavier Claessens <xavier.claessens@collabora.com> on 2014-12-15
Reviewed by Philippe Normand.

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(removeTimeoutSources):
(webKitWebSrcStart):
(webKitWebSrcChangeState):

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

5 years ago[GTK] Use API::LoaderClient instead of WKPageLoaderClient
carlosgc@webkit.org [Mon, 15 Dec 2014 13:41:26 +0000 (13:41 +0000)]
[GTK] Use API::LoaderClient instead of WKPageLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=139583

Reviewed by Gustavo Noronha Silva.

It simplifies the code and it will make easier to implement new
loader client methods.

* UIProcess/API/gtk/WebKitBackForwardList.cpp:
(webkitBackForwardListChanged):
* UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(LoaderClient::LoaderClient):
(attachLoaderClientToView):
(didStartProvisionalLoadForFrame): Deleted.
(didReceiveServerRedirectForProvisionalLoadForFrame): Deleted.
(didFailProvisionalLoadWithErrorForFrame): Deleted.
(didCommitLoadForFrame): Deleted.
(didFinishLoadForFrame): Deleted.
(didFailLoadWithErrorForFrame): Deleted.
(didDisplayInsecureContentForFrame): Deleted.
(didRunInsecureContentForFrame): Deleted.
(didChangeBackForwardList): Deleted.
(didReceiveAuthenticationChallengeInFrame): Deleted.
(processDidCrash): Deleted.

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

5 years ago[GTK] build fails with error: xgettext: Non-ASCII string at ../../../WebKit2/UIProces...
carlosgc@webkit.org [Mon, 15 Dec 2014 13:40:08 +0000 (13:40 +0000)]
[GTK] build fails with error: xgettext: Non-ASCII string at ../../../WebKit2/UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:131.
https://bugs.webkit.org/show_bug.cgi?id=139620

Reviewed by Gustavo Noronha Silva.

* CMakeLists.txt: Pass --from-code=UTF-8 to xgettext.

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

5 years agoAdd initial implementation of ThreadSafeCoordinatedSurface, ThreadedCompositor, and...
yoon@igalia.com [Mon, 15 Dec 2014 10:39:49 +0000 (10:39 +0000)]
Add initial implementation of ThreadSafeCoordinatedSurface, ThreadedCompositor, and SimpleViewportController
https://bugs.webkit.org/show_bug.cgi?id=118383

Reviewed by Martin Robinson.

Implements an initial version of the Threaded Compositor.

Threaded Compositor is a variant of Coordinated Graphics implementation.
Basic structure of the implementaion is simliar, thus, Threaded
Compositor reuses lots of classes from Coordinated Graphics. However,
instead of compositing on UI Process, Threaded Compositor performs
compositing on a dedicate thread of Web Process.

No new test, because it is in experimental stage.

* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
Removed a assertion not to force its creation in the main thread. In
the Threaded Compositor, it can be created in the dedicated thread.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: Added.
* Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h: Added.
Implements a surface using ImageBuffer as a backend to use in the Web
Process.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: Added.
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: Added.
Implements a compositor which runs on the created thread. It owns
SimpleViewportController and CoordinatedGraphicsScene to render scene on the
actual surface.

* Shared/CoordinatedGraphics/SimpleViewportController.cpp: Added.
* Shared/CoordinatedGraphics/SimpleViewportController.h: Added.
This class is responsible to handle scale factor and scrolling position
with a simplifed logic in the compositing thread.

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

5 years ago[GTK] Remove GamepadDeviceGtk::create()
gyuyoung.kim@samsung.com [Mon, 15 Dec 2014 09:58:39 +0000 (09:58 +0000)]
[GTK] Remove GamepadDeviceGtk::create()
https://bugs.webkit.org/show_bug.cgi?id=139637

Reviewed by Carlos Garcia Campos.

std::make_unique<> can replace GamepadDeviceGtk::create() factory function.

* platform/gtk/GamepadsGtk.cpp: Add "explicit" to GamepadsGtk constructor.
(WebCore::GamepadsGtk::registerDevice):
(WebCore::GamepadDeviceGtk::create): Deleted.

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

5 years agoMove 'counter-increment' / 'counter-reset' to the new StyleBuilder
cdumez@apple.com [Mon, 15 Dec 2014 09:50:23 +0000 (09:50 +0000)]
Move 'counter-increment' / 'counter-reset' to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139635

Reviewed by Antti Koivisto.

Move 'counter-increment' / 'counter-reset' to the new StyleBuilder by
using custom code.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyCounter::emptyFunction): Deleted.
(WebCore::ApplyPropertyCounter::applyInheritValue): Deleted.
(WebCore::ApplyPropertyCounter::applyValue): Deleted.
(WebCore::ApplyPropertyCounter::createHandler): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialCounterIncrement):
(WebCore::StyleBuilderCustom::applyInitialCounterReset):
(WebCore::StyleBuilderCustom::applyInheritCounter):
(WebCore::StyleBuilderCustom::applyValueCounter):
(WebCore::StyleBuilderCustom::applyInheritCounterIncrement):
(WebCore::StyleBuilderCustom::applyValueCounterIncrement):
(WebCore::StyleBuilderCustom::applyInheritCounterReset):
(WebCore::StyleBuilderCustom::applyValueCounterReset):

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

5 years agoAdd some more slow tests to TestExpectations.
ap@apple.com [Mon, 15 Dec 2014 06:40:12 +0000 (06:40 +0000)]
Add some more slow tests to TestExpectations.

* TestExpectations:

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

5 years agosvg/filters/svg-deeply-nested-crash.html is slow in debug builds
ap@apple.com [Mon, 15 Dec 2014 06:27:10 +0000 (06:27 +0000)]
svg/filters/svg-deeply-nested-crash.html is slow in debug builds
https://bugs.webkit.org/show_bug.cgi?id=139638

Marked it as such. Also, added [ Debug ] to other tests that are slow in debug only.

* TestExpectations:

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

5 years agojquery/manipulation.html is very slow in debug builds, frequently timing out
ap@apple.com [Mon, 15 Dec 2014 05:03:15 +0000 (05:03 +0000)]
jquery/manipulation.html is very slow in debug builds, frequently timing out
https://bugs.webkit.org/show_bug.cgi?id=61932

Several fast/selectors tests are very slow in debug
https://bugs.webkit.org/show_bug.cgi?id=139634

* TestExpectations: Mark them as slow

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

5 years agoPutLocalSinkingPhase has an invalid assertion about incoming values, because both...
fpizlo@apple.com [Mon, 15 Dec 2014 03:49:27 +0000 (03:49 +0000)]
PutLocalSinkingPhase has an invalid assertion about incoming values, because both liveness and deferral analyses are conservative
https://bugs.webkit.org/show_bug.cgi?id=139630

Reviewed by Oliver Hunt.

Replaces a faulty assertion with code to handle an awesome special case. Also adds a lot of
comments that reconstruct my reasoning about this code. I had to work hard to remember how
deferral worked so I wrote my discoveries down.

* dfg/DFGInsertionSet.h:
(JSC::DFG::InsertionSet::insertBottomConstantForUse):
* dfg/DFGPutLocalSinkingPhase.cpp:
* tests/stress/put-local-conservative.js: Added.
(foo):
(.result):
(bar):

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

5 years agoUnreviewed, rolling out r177238 and r177244.
commit-queue@webkit.org [Mon, 15 Dec 2014 02:50:22 +0000 (02:50 +0000)]
Unreviewed, rolling out r177238 and r177244.
https://bugs.webkit.org/show_bug.cgi?id=139632

Introduced memory corruption (Requested by ap on #webkit).

Reverted changesets:

"REGRESSION (r168217): Images are cropped out during animation
at jetblue.com"
https://bugs.webkit.org/show_bug.cgi?id=136410
http://trac.webkit.org/changeset/177238

https://bugs.webkit.org/show_bug.cgi?id=139596
http://trac.webkit.org/changeset/177244

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

5 years agoTests with infinite recursion frequently crash
ap@apple.com [Mon, 15 Dec 2014 02:38:01 +0000 (02:38 +0000)]
Tests with infinite recursion frequently crash
https://bugs.webkit.org/show_bug.cgi?id=139548

Added another affected test, generalized expectations to be cross-platform.

* TestExpectations:
* platform/mac/TestExpectations:

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

5 years agoMac test expectations gardening.
ap@apple.com [Mon, 15 Dec 2014 02:30:16 +0000 (02:30 +0000)]
Mac test expectations gardening.

Fixed lint failures, moved a flakiness expectation that was overriding a Skip.

* TestExpectations:
* platform/mac/TestExpectations:

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

5 years agoUnreviewed, rolling out r177223 and r177226.
commit-queue@webkit.org [Mon, 15 Dec 2014 02:01:35 +0000 (02:01 +0000)]
Unreviewed, rolling out r177223 and r177226.
https://bugs.webkit.org/show_bug.cgi?id=139631

Multiple tests are flakily asserting in
StyleResolver::loadPendingResources (Requested by ap_ on
#webkit).

Reverted changesets:

"[SVG Masking] Enable the use of <mask> elements for -webkit-
mask-image"
https://bugs.webkit.org/show_bug.cgi?id=139294
http://trac.webkit.org/changeset/177223

"animations/cross-fade-webkit-mask-image.html is flaky"
https://bugs.webkit.org/show_bug.cgi?id=139590
http://trac.webkit.org/changeset/177226

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

5 years agofast/images/animated-gif-body-outside-viewport.html is flaky
cdumez@apple.com [Sun, 14 Dec 2014 19:02:40 +0000 (19:02 +0000)]
fast/images/animated-gif-body-outside-viewport.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139599

Reviewed by Alexey Proskuryakov.

Update fast/images/animated-gif-body-outside-viewport.html to use
shouldBecomeEqual() instead of a setTimeout() + shouldBe() to fix
the flakiness.

* fast/images/animated-gif-body-outside-viewport-expected.txt:
* fast/images/animated-gif-body-outside-viewport.html:
* platform/mac-wk1/TestExpectations:

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

5 years agoEvent construction helpers should return Ref instead of PassRefPtr.
akling@apple.com [Sun, 14 Dec 2014 12:23:31 +0000 (12:23 +0000)]
Event construction helpers should return Ref instead of PassRefPtr.
<https://webkit.org/b/139625>

Reviewed by Antti Koivisto.

Change all the FooEvent::create() construction helpers to return Ref<FooEvent>
instead of PassRefPtr<FooEvent>.

This allows the compiler to omit null checks at each call site, since we know
that these functions always return valid objects.

* Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
(WebCore::WebKitPlaybackTargetAvailabilityEvent::create):
* Modules/encryptedmedia/MediaKeyMessageEvent.h:
(WebCore::MediaKeyMessageEvent::create):
* Modules/encryptedmedia/MediaKeyNeededEvent.h:
(WebCore::MediaKeyNeededEvent::create):
* Modules/gamepad/GamepadEvent.h:
(WebCore::GamepadEvent::create):
* Modules/indexeddb/IDBVersionChangeEvent.h:
(WebCore::IDBVersionChangeEvent::create):
* Modules/indieui/UIRequestEvent.cpp:
(WebCore::UIRequestEvent::create):
* Modules/indieui/UIRequestEvent.h:
* Modules/mediastream/MediaStreamEvent.cpp:
(WebCore::MediaStreamEvent::create):
* Modules/mediastream/MediaStreamEvent.h:
* Modules/mediastream/MediaStreamTrackEvent.cpp:
(WebCore::MediaStreamTrackEvent::create):
* Modules/mediastream/MediaStreamTrackEvent.h:
* Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
(WebCore::RTCDTMFToneChangeEvent::create):
* Modules/mediastream/RTCDTMFToneChangeEvent.h:
* Modules/mediastream/RTCDataChannelEvent.cpp:
(WebCore::RTCDataChannelEvent::create):
* Modules/mediastream/RTCDataChannelEvent.h:
* Modules/mediastream/RTCIceCandidateEvent.cpp:
(WebCore::RTCIceCandidateEvent::create):
* Modules/mediastream/RTCIceCandidateEvent.h:
* Modules/speech/SpeechSynthesisEvent.cpp:
(WebCore::SpeechSynthesisEvent::create):
* Modules/speech/SpeechSynthesisEvent.h:
* Modules/webaudio/AudioProcessingEvent.cpp:
(WebCore::AudioProcessingEvent::create):
* Modules/webaudio/AudioProcessingEvent.h:
* Modules/webaudio/OfflineAudioCompletionEvent.cpp:
(WebCore::OfflineAudioCompletionEvent::create):
* Modules/webaudio/OfflineAudioCompletionEvent.h:
* Modules/websockets/CloseEvent.h:
(WebCore::CloseEvent::create):
* dom/AnimationEvent.h:
* dom/AutocompleteErrorEvent.h:
* dom/BeforeLoadEvent.h:
* dom/BeforeTextInsertedEvent.h:
* dom/BeforeUnloadEvent.h:
* dom/ClipboardEvent.h:
* dom/CompositionEvent.h:
* dom/CustomEvent.h:
* dom/DeviceMotionEvent.h:
* dom/DeviceOrientationEvent.h:
* dom/ErrorEvent.h:
* dom/Event.h:
(WebCore::Event::create):
* dom/FocusEvent.h:
* dom/HashChangeEvent.h:
* dom/KeyboardEvent.h:
* dom/MessageEvent.h:
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::SimulatedMouseEvent::create):
* dom/MouseEvent.h:
(WebCore::MouseEvent::create):
* dom/MutationEvent.h:
* dom/OverflowEvent.h:
* dom/PageTransitionEvent.h:
* dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::create):
* dom/PopStateEvent.h:
* dom/ProgressEvent.h:
(WebCore::ProgressEvent::create):
* dom/TextEvent.cpp:
(WebCore::TextEvent::create):
(WebCore::TextEvent::createForPlainTextPaste):
(WebCore::TextEvent::createForFragmentPaste):
(WebCore::TextEvent::createForDrop):
(WebCore::TextEvent::createForDictation):
* dom/TextEvent.h:
* dom/TouchEvent.h:
* dom/TransitionEvent.h:
* dom/UIEvent.h:
(WebCore::UIEvent::create):
* dom/WebKitAnimationEvent.h:
* dom/WebKitTransitionEvent.h:
* dom/WheelEvent.h:
* html/MediaKeyEvent.h:
* html/canvas/WebGLContextEvent.h:
* html/track/TrackEvent.h:
* storage/StorageEvent.cpp:
(WebCore::StorageEvent::create):
* storage/StorageEvent.h:
* svg/SVGZoomEvent.h:
(WebCore::SVGZoomEvent::create):
* xml/XMLHttpRequestProgressEvent.h:
(WebCore::XMLHttpRequestProgressEvent::create):

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

5 years agoREGRESSION(r160182): Fragment parser doesn't close a form element with a close tag
rniwa@webkit.org [Sun, 14 Dec 2014 10:58:56 +0000 (10:58 +0000)]
REGRESSION(r160182): Fragment parser doesn't close a form element with a close tag
https://bugs.webkit.org/show_bug.cgi?id=139561

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by us not setting the form pointer in insertHTMLFormElement.
Since we already avoid associating a form inside HTMLConstructionSite::createHTMLElement,
we didn't need this code at all.

Fixed the bug by partially reverting r160182.

Test: fast/dom/dom-parse-close-form.html

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLFormElement):
(WebCore::HTMLConstructionSite::insideTemplateElement): Deleted.
* html/parser/HTMLConstructionSite.h:

LayoutTests:

Added a regression test.

* fast/dom/dom-parse-close-form-expected.txt: Added.
* fast/dom/dom-parse-close-form.html: Added.

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

5 years agoFix build even more. Not a strong performance here.
akling@apple.com [Sun, 14 Dec 2014 10:02:57 +0000 (10:02 +0000)]
Fix build even more. Not a strong performance here.

* platform/graphics/Font.cpp:
(WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry):
(WebCore::retrieveOrAddCachedFontGlyphs):

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

5 years agoFix build. :-|
akling@apple.com [Sun, 14 Dec 2014 09:50:48 +0000 (09:50 +0000)]
Fix build. :-|

* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::CSSFunctionValue):
* css/CSSFunctionValue.h:

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

5 years agoMinor follow-up tweaks suggested by Darin on bug 139587.
akling@apple.com [Sun, 14 Dec 2014 09:34:28 +0000 (09:34 +0000)]
Minor follow-up tweaks suggested by Darin on bug 139587.

Source/WebCore:

* css/CSSFunctionValue.h:
(WebCore::CSSFunctionValue::create):
* platform/graphics/Font.cpp:
(WebCore::retrieveOrAddCachedFontGlyphs):
(WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): Deleted.
* rendering/RenderScrollbarPart.h:

Source/WTF:

* wtf/text/WTFString.h:
(WTF::String::String):

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

5 years agoReplace PassRef with Ref/Ref&& across the board.
akling@apple.com [Sun, 14 Dec 2014 08:21:05 +0000 (08:21 +0000)]
Replace PassRef with Ref/Ref&& across the board.
<https://webkit.org/b/139587>

Reviewed by Darin Adler.

Source/JavaScriptCore:

* runtime/Identifier.cpp:
(JSC::Identifier::add):
(JSC::Identifier::add8):
* runtime/Identifier.h:
(JSC::Identifier::add):
* runtime/IdentifierInlines.h:
(JSC::Identifier::add):

Source/WebCore:

* Modules/battery/BatteryManager.cpp:
(WebCore::BatteryManager::create):
* Modules/battery/BatteryManager.h:
* Modules/battery/BatteryStatus.cpp:
(WebCore::BatteryStatus::create):
* Modules/battery/BatteryStatus.h:
* Modules/gamepad/GamepadButton.h:
(WebCore::GamepadButton::create):
* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):
* Modules/gamepad/NavigatorGamepad.h:
* Modules/gamepad/deprecated/GamepadList.h:
(WebCore::GamepadList::create):
* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::create):
* Modules/geolocation/Geolocation.h:
(WebCore::Geolocation::GeoNotifier::create):
* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setPrivateAndOpen):
* Modules/mediasource/MediaSource.h:
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::create):
(WebCore::SourceBuffer::SourceBuffer):
* Modules/mediasource/SourceBuffer.h:
* Modules/mediastream/UserMediaClient.h:
* Modules/mediastream/UserMediaController.h:
(WebCore::UserMediaController::requestPermission):
* Modules/notifications/Notification.cpp:
(WebCore::Notification::create):
* Modules/notifications/Notification.h:
* Modules/notifications/NotificationCenter.cpp:
(WebCore::NotificationCenter::create):
* Modules/notifications/NotificationCenter.h:
* Modules/plugins/PluginReplacement.h:
* Modules/plugins/QuickTimePluginReplacement.h:
* Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::createElementRenderer):
* Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::createElementRenderer):
* Modules/plugins/YouTubePluginReplacement.h:
* Modules/proximity/DeviceProximityEvent.h:
(WebCore::DeviceProximityEvent::create):
* WebCore.exp.in:
* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):
* css/BasicShapeFunctions.h:
* css/CSSAspectRatioValue.h:
(WebCore::CSSAspectRatioValue::create):
* css/CSSBorderImage.cpp:
(WebCore::createBorderImageValue):
* css/CSSBorderImage.h:
* css/CSSBorderImageSliceValue.h:
(WebCore::CSSBorderImageSliceValue::create):
* css/CSSCalculationValue.cpp:
(WebCore::determineCategory):
* css/CSSCalculationValue.h:
(WebCore::CSSCalcValue::CSSCalcValue):
(WebCore::CSSCalcValue::createCalculationValue):
* css/CSSCanvasValue.h:
(WebCore::CSSCanvasValue::create):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForImageSliceSide):
(WebCore::valueForNinePieceImageSlice):
(WebCore::valueForNinePieceImageQuad):
(WebCore::valueForNinePieceImageRepeat):
(WebCore::valueForNinePieceImage):
(WebCore::zoomAdjustedPixelValue):
(WebCore::zoomAdjustedNumberValue):
(WebCore::zoomAdjustedPixelValueForLength):
(WebCore::valueForReflection):
(WebCore::createPositionListForLayer):
(WebCore::percentageOrZoomAdjustedValue):
(WebCore::autoOrZoomAdjustedValue):
(WebCore::getBorderRadiusCornerValues):
(WebCore::getBorderRadiusCornerValue):
(WebCore::getBorderRadiusShorthandValue):
(WebCore::matrixTransformValue):
(WebCore::computedTransform):
(WebCore::adjustLengthForZoom):
(WebCore::ComputedStyleExtractor::valueForShadow):
(WebCore::ComputedStyleExtractor::valueForFilter):
(WebCore::specifiedValueForGridTrackBreadth):
(WebCore::specifiedValueForGridTrackSize):
(WebCore::valueForGridTrackList):
(WebCore::valueForGridPosition):
(WebCore::createTransitionPropertyValue):
(WebCore::getTransitionPropertyValue):
(WebCore::scrollSnapDestination):
(WebCore::scrollSnapPoints):
(WebCore::scrollSnapCoordinates):
(WebCore::getDelayValue):
(WebCore::getDurationValue):
(WebCore::createTimingFunctionValue):
(WebCore::getTimingFunctionValue):
(WebCore::createLineBoxContainValue):
(WebCore::valueForFamily):
(WebCore::renderTextDecorationFlagsToCSSValue):
(WebCore::renderTextDecorationStyleFlagsToCSSValue):
(WebCore::renderTextDecorationSkipFlagsToCSSValue):
(WebCore::renderEmphasisPositionFlagsToCSSValue):
(WebCore::fillRepeatToCSSValue):
(WebCore::fillSourceTypeToCSSValue):
(WebCore::fillSizeToCSSValue):
(WebCore::altTextToCSSValue):
(WebCore::contentToCSSValue):
(WebCore::fontFamilyFromStyle):
(WebCore::lineHeightFromStyle):
(WebCore::fontSizeFromStyle):
(WebCore::fontStyleFromStyle):
(WebCore::fontVariantFromStyle):
(WebCore::fontWeightFromStyle):
(WebCore::CSSComputedStyleDeclaration::copyProperties):
(WebCore::shapePropertyValue):
(WebCore::ComputedStyleExtractor::copyProperties):
(WebCore::ComputedStyleExtractor::copyPropertiesInSet):
* css/CSSComputedStyleDeclaration.h:
* css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::create):
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::CSSCursorImageValue):
* css/CSSCursorImageValue.h:
(WebCore::CSSCursorImageValue::create):
* css/CSSFilterImageValue.h:
(WebCore::CSSFilterImageValue::create):
* css/CSSFontFaceSrcValue.h:
(WebCore::CSSFontFaceSrcValue::create):
(WebCore::CSSFontFaceSrcValue::createLocal):
* css/CSSFontFeatureValue.h:
(WebCore::CSSFontFeatureValue::create):
* css/CSSFontValue.h:
(WebCore::CSSFontValue::create):
* css/CSSFunctionValue.h:
(WebCore::CSSFunctionValue::create):
* css/CSSGradientValue.h:
(WebCore::CSSLinearGradientValue::create):
(WebCore::CSSLinearGradientValue::clone):
(WebCore::CSSRadialGradientValue::create):
(WebCore::CSSRadialGradientValue::clone):
* css/CSSGridTemplateAreasValue.h:
(WebCore::CSSGridTemplateAreasValue::create):
* css/CSSImageSetValue.h:
(WebCore::CSSImageSetValue::create):
* css/CSSImageValue.h:
(WebCore::CSSImageValue::create):
* css/CSSInheritedValue.h:
(WebCore::CSSInheritedValue::create):
* css/CSSInitialValue.h:
(WebCore::CSSInitialValue::createExplicit):
(WebCore::CSSInitialValue::createImplicit):
* css/CSSKeyframeRule.cpp:
(WebCore::StyleKeyframe::StyleKeyframe):
* css/CSSKeyframeRule.h:
(WebCore::StyleKeyframe::create):
* css/CSSKeyframesRule.h:
(WebCore::StyleRuleKeyframes::create):
(WebCore::StyleRuleKeyframes::copy):
* css/CSSLineBoxContainValue.h:
(WebCore::CSSLineBoxContainValue::create):
* css/CSSParser.cpp:
(WebCore::createPrimitiveValuePair):
(WebCore::CSSParser::parseInlineStyleDeclaration):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::createStyleProperties):
(WebCore::CSSParser::createPrimitiveNumericValue):
(WebCore::CSSParser::createPrimitiveStringValue):
(WebCore::CSSParser::addFillValue):
(WebCore::CSSParser::addAnimationValue):
* css/CSSParser.h:
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::formatNumberValue):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::createIdentifier):
(WebCore::CSSPrimitiveValue::createParserOperator):
(WebCore::CSSPrimitiveValue::createColor):
(WebCore::CSSPrimitiveValue::create):
(WebCore::CSSPrimitiveValue::createAllowingMarginQuirk):
* css/CSSReflectValue.h:
(WebCore::CSSReflectValue::create):
* css/CSSShadowValue.h:
(WebCore::CSSShadowValue::create):
* css/CSSStyleDeclaration.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::create):
(WebCore::CSSStyleSheet::createInline):
(WebCore::CSSStyleSheet::CSSStyleSheet):
* css/CSSStyleSheet.h:
* css/CSSTimingFunctionValue.h:
(WebCore::CSSCubicBezierTimingFunctionValue::create):
(WebCore::CSSStepsTimingFunctionValue::create):
* css/CSSUnicodeRangeValue.h:
(WebCore::CSSUnicodeRangeValue::create):
* css/CSSValue.cpp:
(WebCore::TextCloneCSSValue::create):
* css/CSSValueList.h:
(WebCore::CSSValueList::createCommaSeparated):
(WebCore::CSSValueList::createSpaceSeparated):
(WebCore::CSSValueList::createSlashSeparated):
(WebCore::CSSValueList::createFromParserValueList):
(WebCore::CSSValueList::append):
(WebCore::CSSValueList::prepend):
* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createIdentifierValue):
(WebCore::CSSValuePool::createColorValue):
(WebCore::CSSValuePool::createValue):
(WebCore::CSSValuePool::createFontFamilyValue):
* css/CSSValuePool.h:
(WebCore::CSSValuePool::createInheritedValue):
(WebCore::CSSValuePool::createImplicitInitialValue):
(WebCore::CSSValuePool::createExplicitInitialValue):
(WebCore::CSSValuePool::createValue):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::copyProperties):
* css/PropertySetCSSStyleDeclaration.h:
* css/StyleProperties.cpp:
(WebCore::ImmutableStyleProperties::create):
(WebCore::StyleProperties::immutableCopyIfNeeded):
(WebCore::StyleProperties::copyBlockProperties):
(WebCore::StyleProperties::mutableCopy):
(WebCore::StyleProperties::copyPropertiesInSet):
(WebCore::MutableStyleProperties::create):
* css/StyleProperties.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::setStyle):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::defaultStyleForElement):
* css/StyleResolver.h:
(WebCore::StyleResolver::State::takeStyle):
(WebCore::StyleResolver::State::setParentStyle):
* css/StyleRule.cpp:
(WebCore::StyleRuleBase::copy):
(WebCore::StyleRule::StyleRule):
(WebCore::StyleRule::create):
(WebCore::StyleRulePage::StyleRulePage):
(WebCore::StyleRuleFontFace::StyleRuleFontFace):
(WebCore::StyleRuleGroup::wrapperInsertRule):
(WebCore::StyleRuleViewport::StyleRuleViewport):
* css/StyleRule.h:
(WebCore::StyleRule::create):
(WebCore::StyleRule::copy):
(WebCore::StyleRuleFontFace::create):
(WebCore::StyleRuleFontFace::copy):
(WebCore::StyleRulePage::create):
(WebCore::StyleRulePage::copy):
(WebCore::StyleRuleMedia::create):
(WebCore::StyleRuleMedia::copy):
(WebCore::StyleRuleSupports::create):
(WebCore::StyleRuleSupports::copy):
(WebCore::StyleRuleRegion::create):
(WebCore::StyleRuleRegion::copy):
(WebCore::StyleRuleViewport::create):
(WebCore::StyleRuleViewport::copy):
* css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::create):
* css/StyleRuleImport.h:
* css/StyleSheetContents.h:
(WebCore::StyleSheetContents::create):
(WebCore::StyleSheetContents::copy):
* css/WebKitCSSFilterValue.h:
(WebCore::WebKitCSSFilterValue::create):
* css/WebKitCSSResourceValue.h:
(WebCore::WebKitCSSResourceValue::create):
* css/WebKitCSSTransformValue.h:
(WebCore::WebKitCSSTransformValue::create):
* dom/ChildNodeList.h:
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::create):
* dom/ClassNodeList.h:
* dom/Document.cpp:
(WebCore::Document::styleForElementIgnoringPendingStylesheets):
* dom/Document.h:
* dom/DocumentSharedObjectPool.cpp:
(WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
* dom/DocumentSharedObjectPool.h:
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::addAuthorSheet):
(WebCore::DocumentStyleSheetCollection::addUserSheet):
* dom/DocumentStyleSheetCollection.h:
* dom/Element.cpp:
(WebCore::Element::createElementRenderer):
* dom/Element.h:
* dom/ElementData.cpp:
(WebCore::ShareableElementData::createWithAttributes):
(WebCore::UniqueElementData::create):
(WebCore::ElementData::makeUniqueCopy):
(WebCore::UniqueElementData::makeShareableCopy):
* dom/ElementData.h:
* dom/ElementRareData.h:
(WebCore::ElementRareData::setComputedStyle):
* dom/NameNodeList.h:
* dom/NamedFlowCollection.cpp:
(WebCore::NamedFlowCollection::ensureFlowWithName):
* dom/NamedFlowCollection.h:
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::ensureChildNodeList):
(WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):
(WebCore::NodeListsNodeData::addCachedCollection):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::didRecalcStyle):
* dom/QualifiedName.h:
(WebCore::QualifiedName::QualifiedNameImpl::create):
* dom/TagNodeList.h:
* html/BaseButtonInputType.cpp:
(WebCore::BaseButtonInputType::createInputRenderer):
* html/BaseButtonInputType.h:
* html/FileInputType.cpp:
(WebCore::FileInputType::createInputRenderer):
* html/FileInputType.h:
* html/HTMLAllCollection.cpp:
(WebCore::HTMLAllCollection::create):
* html/HTMLAllCollection.h:
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::createElementRenderer):
* html/HTMLAppletElement.h:
* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::createElementRenderer):
* html/HTMLBRElement.h:
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::createElementRenderer):
* html/HTMLButtonElement.h:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createElementRenderer):
* html/HTMLCanvasElement.h:
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::create):
* html/HTMLCollection.h:
* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::createElementRenderer):
* html/HTMLDetailsElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::createElementRenderer):
* html/HTMLElement.h:
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::createElementRenderer):
* html/HTMLFieldSetElement.h:
* html/HTMLFormControlsCollection.cpp:
(WebCore::HTMLFormControlsCollection::create):
* html/HTMLFormControlsCollection.h:
* html/HTMLFrameElement.cpp:
(WebCore::HTMLFrameElement::createElementRenderer):
* html/HTMLFrameElement.h:
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::createElementRenderer):
* html/HTMLFrameSetElement.h:
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::createElementRenderer):
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::createElementRenderer):
* html/HTMLImageElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createElementRenderer):
* html/HTMLInputElement.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::createElementRenderer):
* html/HTMLMeterElement.h:
* html/HTMLNameCollection.h:
* html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::create):
* html/HTMLOptionsCollection.h:
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::createElementRenderer):
* html/HTMLPlugInElement.h:
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::createElementRenderer):
* html/HTMLPlugInImageElement.h:
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::createElementRenderer):
* html/HTMLProgressElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::createElementRenderer):
* html/HTMLSelectElement.h:
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::createElementRenderer):
* html/HTMLSummaryElement.h:
* html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::create):
* html/HTMLTableRowsCollection.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::createElementRenderer):
* html/HTMLTextAreaElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::createElementRenderer):
* html/HTMLVideoElement.h:
* html/HTMLWBRElement.cpp:
(WebCore::HTMLWBRElement::createElementRenderer):
* html/HTMLWBRElement.h:
* html/HiddenInputType.cpp:
(WebCore::HiddenInputType::createInputRenderer):
* html/HiddenInputType.h:
* html/ImageInputType.cpp:
(WebCore::ImageInputType::createInputRenderer):
* html/ImageInputType.h:
* html/InputType.cpp:
(WebCore::InputType::createInputRenderer):
* html/InputType.h:
* html/LabelsNodeList.h:
* html/RadioNodeList.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::createInputRenderer):
* html/RangeInputType.h:
* html/SearchInputType.cpp:
(WebCore::SearchInputType::createInputRenderer):
* html/SearchInputType.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createInputRenderer):
* html/TextFieldInputType.h:
* html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::createElementRenderer):
* html/shadow/DetailsMarkerControl.h:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTimelineContainerElement::createElementRenderer):
(WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer):
(WebCore::MediaControlTextTrackContainerElement::createElementRenderer):
* html/shadow/MediaControlElements.h:
* html/shadow/MeterShadowElement.cpp:
(WebCore::MeterInnerElement::createElementRenderer):
* html/shadow/MeterShadowElement.h:
* html/shadow/ProgressShadowElement.cpp:
(WebCore::ProgressInnerElement::createElementRenderer):
* html/shadow/ProgressShadowElement.h:
* html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderThumb::RenderSliderThumb):
(WebCore::SliderThumbElement::createElementRenderer):
(WebCore::SliderContainerElement::createElementRenderer):
* html/shadow/SliderThumbElement.h:
* html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerContainer::createElementRenderer):
(WebCore::TextControlInnerTextElement::createElementRenderer):
* html/shadow/TextControlInnerElements.h:
* html/shadow/mac/ImageControlsButtonElementMac.cpp:
(WebCore::RenderImageControlsButton::RenderImageControlsButton):
(WebCore::ImageControlsButtonElementMac::createElementRenderer):
* html/shadow/mac/ImageControlsButtonElementMac.h:
* html/shadow/mac/ImageControlsRootElementMac.cpp:
(WebCore::RenderImageControls::RenderImageControls):
(WebCore::ImageControlsRootElementMac::createElementRenderer):
* html/shadow/mac/ImageControlsRootElementMac.h:
* html/track/VTTCue.cpp:
(WebCore::VTTCueBox::createElementRenderer):
* html/track/VTTCue.h:
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
* loader/cache/CachedCSSStyleSheet.h:
* loader/cache/CachedResourceLoader.h:
(WebCore::CachedResourceLoader::create):
* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::createElementRenderer):
* mathml/MathMLInlineContainerElement.h:
* mathml/MathMLMathElement.cpp:
(WebCore::MathMLMathElement::createElementRenderer):
* mathml/MathMLMathElement.h:
* mathml/MathMLMencloseElement.cpp:
(WebCore::MathMLMencloseElement::createElementRenderer):
* mathml/MathMLMencloseElement.h:
* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::createElementRenderer):
* mathml/MathMLSelectElement.h:
* mathml/MathMLTextElement.cpp:
(WebCore::MathMLTextElement::createElementRenderer):
* mathml/MathMLTextElement.h:
* page/Page.cpp:
(WebCore::Page::setStorageNamespaceProvider):
(WebCore::Page::setVisitedLinkStore):
* page/Page.h:
* page/UserMessageHandler.h:
(WebCore::UserMessageHandler::create):
* page/UserMessageHandlersNamespace.h:
(WebCore::UserMessageHandlersNamespace::create):
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::addElementChangeToDispatch):
(WebCore::AnimationController::updateAnimations):
* page/animation/AnimationController.h:
* page/animation/AnimationControllerPrivate.h:
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::animate):
* page/animation/CompositeAnimation.h:
* platform/CalculationValue.cpp:
(WebCore::CalculationValue::create):
* platform/CalculationValue.h:
* platform/Length.cpp:
(WebCore::CalculationValueMap::insert):
(WebCore::Length::Length):
* platform/Length.h:
* platform/graphics/Font.cpp:
(WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry):
(WebCore::retrieveOrAddCachedFontGlyphs):
* platform/graphics/FontGlyphs.h:
(WebCore::FontGlyphs::create):
(WebCore::FontGlyphs::createForPlatformFont):
* platform/graphics/Gradient.h:
(WebCore::Gradient::create):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillGradient):
* platform/graphics/GraphicsContext.h:
* platform/graphics/MediaSourcePrivateClient.h:
* platform/graphics/Pattern.cpp:
(WebCore::Pattern::create):
* platform/graphics/Pattern.h:
* platform/mac/SerializedPlatformRepresentationMac.h:
* platform/mac/SerializedPlatformRepresentationMac.mm:
(WebCore::SerializedPlatformRepresentationMac::create):
* platform/mock/UserMediaClientMock.h:
(WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier):
* rendering/ClipPathOperation.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::RenderBlockFlow):
* rendering/RenderBlockFlow.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::RenderBox):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::RenderBoxModelObject):
* rendering/RenderBoxModelObject.h:
* rendering/RenderButton.cpp:
(WebCore::RenderButton::RenderButton):
* rendering/RenderButton.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
* rendering/RenderDeprecatedFlexibleBox.h:
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::RenderDetailsMarker):
* rendering/RenderDetailsMarker.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::createFor):
(WebCore::RenderElement::setStyle):
* rendering/RenderElement.h:
(WebCore::RenderElement::setStyleInternal):
(WebCore::RenderElement::setAnimatableStyle):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
(WebCore::RenderEmbeddedObject::createForApplet):
* rendering/RenderEmbeddedObject.h:
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::RenderFieldset):
* rendering/RenderFieldset.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::RenderFileUploadControl):
* rendering/RenderFileUploadControl.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
* rendering/RenderFlexibleBox.h:
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::createFlowThreadStyle):
* rendering/RenderFlowThread.h:
* rendering/RenderFrame.cpp:
(WebCore::RenderFrame::RenderFrame):
* rendering/RenderFrame.h:
* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::RenderFrameBase):
* rendering/RenderFrameBase.h:
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::RenderFrameSet):
* rendering/RenderFrameSet.h:
* rendering/RenderFullScreen.cpp:
(WebCore::RenderFullScreen::RenderFullScreen):
(WebCore::createFullScreenStyle):
(WebCore::RenderFullScreen::createPlaceholder):
* rendering/RenderFullScreen.h:
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::RenderGrid):
* rendering/RenderGrid.h:
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
* rendering/RenderHTMLCanvas.h:
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::RenderIFrame):
* rendering/RenderIFrame.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
* rendering/RenderImage.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
* rendering/RenderInline.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::RenderLayerModelObject):
* rendering/RenderLayerModelObject.h:
* rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::RenderLineBreak):
* rendering/RenderLineBreak.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::RenderListBox):
* rendering/RenderListBox.h:
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::RenderListItem):
* rendering/RenderListItem.h:
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::RenderListMarker):
* rendering/RenderListMarker.h:
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::RenderMedia):
* rendering/RenderMedia.h:
* rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer):
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
* rendering/RenderMediaControlElements.h:
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::RenderMenuList):
* rendering/RenderMenuList.h:
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::RenderMeter):
* rendering/RenderMeter.h:
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnFlowThread.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
* rendering/RenderMultiColumnSet.h:
* rendering/RenderMultiColumnSpannerPlaceholder.cpp:
(WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):
* rendering/RenderMultiColumnSpannerPlaceholder.h:
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
(WebCore::RenderNamedFlowFragment::createStyle):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
* rendering/RenderNamedFlowThread.h:
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::RenderProgress):
* rendering/RenderProgress.h:
* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::RenderQuote):
* rendering/RenderQuote.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
* rendering/RenderRegion.h:
* rendering/RenderRegionSet.cpp:
(WebCore::RenderRegionSet::RenderRegionSet):
* rendering/RenderRegionSet.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
* rendering/RenderReplaced.h:
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::RenderReplica):
* rendering/RenderReplica.h:
* rendering/RenderRuby.cpp:
(WebCore::RenderRubyAsInline::RenderRubyAsInline):
(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
* rendering/RenderRuby.h:
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::RenderRubyBase):
* rendering/RenderRubyBase.h:
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::RenderRubyRun):
* rendering/RenderRubyRun.h:
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::RenderRubyText):
* rendering/RenderRubyText.h:
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::RenderScrollbarPart):
* rendering/RenderScrollbarPart.h:
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::RenderSearchField):
* rendering/RenderSearchField.h:
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::RenderSlider):
* rendering/RenderSlider.h:
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
* rendering/RenderSnapshottedPlugIn.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
* rendering/RenderTable.h:
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::RenderTableCaption):
* rendering/RenderTableCaption.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
* rendering/RenderTableCell.h:
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::RenderTableCol):
* rendering/RenderTableCol.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::RenderTableRow):
* rendering/RenderTableRow.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
* rendering/RenderTableSection.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* rendering/RenderTextControl.h:
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
(WebCore::RenderTextControlMultiLine::createInnerTextStyle):
* rendering/RenderTextControlMultiLine.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::createInnerTextStyle):
(WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
* rendering/RenderTextControlSingleLine.h:
* rendering/RenderVTTCue.cpp:
(WebCore::RenderVTTCue::RenderVTTCue):
* rendering/RenderVTTCue.h:
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::RenderVideo):
* rendering/RenderVideo.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderView.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
* rendering/RenderWidget.h:
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::RenderMathMLFenced):
* rendering/mathml/RenderMathMLFenced.h:
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::RenderMathMLFraction):
* rendering/mathml/RenderMathMLFraction.h:
* rendering/mathml/RenderMathMLMath.cpp:
(WebCore::RenderMathMLMath::RenderMathMLMath):
* rendering/mathml/RenderMathMLMath.h:
* rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
* rendering/mathml/RenderMathMLMenclose.h:
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLRadicalOperator.cpp:
(WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator):
* rendering/mathml/RenderMathMLRadicalOperator.h:
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::RenderMathMLRoot):
* rendering/mathml/RenderMathMLRoot.h:
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::RenderMathMLRow):
* rendering/mathml/RenderMathMLRow.h:
* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::RenderMathMLScripts):
* rendering/mathml/RenderMathMLScripts.h:
* rendering/mathml/RenderMathMLSpace.cpp:
(WebCore::RenderMathMLSpace::RenderMathMLSpace):
* rendering/mathml/RenderMathMLSpace.h:
* rendering/mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
* rendering/mathml/RenderMathMLSquareRoot.h:
* rendering/mathml/RenderMathMLToken.cpp:
(WebCore::RenderMathMLToken::RenderMathMLToken):
* rendering/mathml/RenderMathMLToken.h:
* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
* rendering/mathml/RenderMathMLUnderOver.h:
* rendering/style/BasicShapes.cpp:
(WebCore::BasicShapeCircle::blend):
(WebCore::BasicShapeEllipse::blend):
(WebCore::BasicShapePolygon::blend):
(WebCore::BasicShapeInset::blend):
* rendering/style/BasicShapes.h:
* rendering/style/DataRef.h:
(WebCore::DataRef::DataRef):
* rendering/style/NinePieceImage.cpp:
(WebCore::NinePieceImageData::copy):
* rendering/style/NinePieceImage.h:
(WebCore::NinePieceImageData::create):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::create):
(WebCore::RenderStyle::createDefaultStyle):
(WebCore::RenderStyle::createAnonymousStyleWithDisplay):
(WebCore::RenderStyle::clone):
(WebCore::RenderStyle::createStyleInheritingFromPseudoStyle):
* rendering/style/RenderStyle.h:
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::createDefaultStyle):
(WebCore::SVGRenderStyle::copy):
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::create):
* rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleFillData::copy):
(WebCore::StyleStrokeData::copy):
(WebCore::StyleStopData::copy):
(WebCore::StyleTextData::copy):
(WebCore::StyleMiscData::copy):
(WebCore::StyleShadowSVGData::copy):
(WebCore::StyleResourceData::copy):
(WebCore::StyleInheritedResourceData::copy):
(WebCore::StyleLayoutData::copy):
* rendering/style/SVGRenderStyleDefs.h:
(WebCore::StyleFillData::create):
(WebCore::StyleStrokeData::create):
(WebCore::StyleStopData::create):
(WebCore::StyleTextData::create):
(WebCore::StyleMiscData::create):
(WebCore::StyleShadowSVGData::create):
(WebCore::StyleResourceData::create):
(WebCore::StyleInheritedResourceData::create):
(WebCore::StyleLayoutData::create):
* rendering/style/StyleBackgroundData.cpp:
(WebCore::StyleBackgroundData::copy):
* rendering/style/StyleBackgroundData.h:
(WebCore::StyleBackgroundData::create):
* rendering/style/StyleBoxData.cpp:
(WebCore::StyleBoxData::copy):
* rendering/style/StyleBoxData.h:
(WebCore::StyleBoxData::create):
* rendering/style/StyleDeprecatedFlexibleBoxData.cpp:
(WebCore::StyleDeprecatedFlexibleBoxData::copy):
* rendering/style/StyleDeprecatedFlexibleBoxData.h:
(WebCore::StyleDeprecatedFlexibleBoxData::create):
* rendering/style/StyleFilterData.cpp:
(WebCore::StyleFilterData::copy):
* rendering/style/StyleFilterData.h:
(WebCore::StyleFilterData::create):
* rendering/style/StyleFlexibleBoxData.cpp:
(WebCore::StyleFlexibleBoxData::copy):
* rendering/style/StyleFlexibleBoxData.h:
(WebCore::StyleFlexibleBoxData::create):
* rendering/style/StyleGeneratedImage.cpp:
(WebCore::StyleGeneratedImage::StyleGeneratedImage):
* rendering/style/StyleGeneratedImage.h:
* rendering/style/StyleGridData.cpp:
(WebCore::StyleGridData::copy):
* rendering/style/StyleGridData.h:
(WebCore::StyleGridData::create):
* rendering/style/StyleGridItemData.cpp:
(WebCore::StyleGridItemData::copy):
* rendering/style/StyleGridItemData.h:
(WebCore::StyleGridItemData::create):
* rendering/style/StyleInheritedData.cpp:
(WebCore::StyleInheritedData::copy):
* rendering/style/StyleInheritedData.h:
(WebCore::StyleInheritedData::create):
* rendering/style/StyleMarqueeData.cpp:
(WebCore::StyleMarqueeData::copy):
* rendering/style/StyleMarqueeData.h:
(WebCore::StyleMarqueeData::create):
* rendering/style/StyleMultiColData.cpp:
(WebCore::StyleMultiColData::copy):
* rendering/style/StyleMultiColData.h:
(WebCore::StyleMultiColData::create):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::copy):
* rendering/style/StyleRareInheritedData.h:
(WebCore::StyleRareInheritedData::create):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::copy):
* rendering/style/StyleRareNonInheritedData.h:
(WebCore::StyleRareNonInheritedData::create):
* rendering/style/StyleScrollSnapPoints.cpp:
(WebCore::StyleScrollSnapPoints::copy):
* rendering/style/StyleScrollSnapPoints.h:
(WebCore::StyleScrollSnapPoints::create):
* rendering/style/StyleSurroundData.cpp:
(WebCore::StyleSurroundData::copy):
* rendering/style/StyleSurroundData.h:
(WebCore::StyleSurroundData::create):
* rendering/style/StyleTransformData.cpp:
(WebCore::StyleTransformData::copy):
* rendering/style/StyleTransformData.h:
(WebCore::StyleTransformData::create):
* rendering/style/StyleVisualData.cpp:
(WebCore::StyleVisualData::copy):
* rendering/style/StyleVisualData.h:
(WebCore::StyleVisualData::create):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* rendering/svg/RenderSVGBlock.h:
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::RenderSVGContainer):
* rendering/svg/RenderSVGContainer.h:
* rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::RenderSVGEllipse):
* rendering/svg/RenderSVGEllipse.h:
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::RenderSVGForeignObject):
* rendering/svg/RenderSVGForeignObject.h:
* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::RenderSVGGradientStop):
* rendering/svg/RenderSVGGradientStop.h:
* rendering/svg/RenderSVGHiddenContainer.cpp:
(WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer):
* rendering/svg/RenderSVGHiddenContainer.h:
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::RenderSVGImage):
* rendering/svg/RenderSVGImage.h:
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::RenderSVGInline):
* rendering/svg/RenderSVGInline.h:
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::RenderSVGModelObject):
* rendering/svg/RenderSVGModelObject.h:
* rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::RenderSVGPath):
* rendering/svg/RenderSVGPath.h:
* rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::RenderSVGRect):
* rendering/svg/RenderSVGRect.h:
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
* rendering/svg/RenderSVGResourceClipper.h:
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
* rendering/svg/RenderSVGResourceContainer.h:
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
* rendering/svg/RenderSVGResourceFilterPrimitive.h:
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
* rendering/svg/RenderSVGResourceGradient.h:
* rendering/svg/RenderSVGResourceLinearGradient.cpp:
(WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient):
* rendering/svg/RenderSVGResourceLinearGradient.h:
* rendering/svg/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
* rendering/svg/RenderSVGResourceMarker.h:
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
* rendering/svg/RenderSVGResourceMasker.h:
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
* rendering/svg/RenderSVGResourcePattern.h:
* rendering/svg/RenderSVGResourceRadialGradient.cpp:
(WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient):
* rendering/svg/RenderSVGResourceRadialGradient.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::RenderSVGRoot):
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::RenderSVGShape):
* rendering/svg/RenderSVGShape.h:
* rendering/svg/RenderSVGTSpan.h:
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::RenderSVGText):
* rendering/svg/RenderSVGText.h:
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::RenderSVGTextPath):
* rendering/svg/RenderSVGTextPath.h:
* rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
* rendering/svg/RenderSVGTransformableContainer.h:
* rendering/svg/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
* rendering/svg/RenderSVGViewportContainer.h:
* rendering/svg/SVGTextRunRenderingContext.h:
* style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):
* style/StyleResolveForDocument.h:
* style/StyleResolveTree.cpp:
(WebCore::Style::styleForElement):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::createElementRenderer):
* svg/SVGAElement.h:
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::createElementRenderer):
* svg/SVGAltGlyphElement.h:
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::createElementRenderer):
* svg/SVGCircleElement.h:
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::createElementRenderer):
* svg/SVGClipPathElement.h:
* svg/SVGColor.h:
(WebCore::SVGColor::createFromString):
(WebCore::SVGColor::createFromColor):
(WebCore::SVGColor::createCurrentColor):
* svg/SVGDefsElement.cpp:
(WebCore::SVGDefsElement::createElementRenderer):
* svg/SVGDefsElement.h:
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::createElementRenderer):
* svg/SVGEllipseElement.h:
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::createElementRenderer):
* svg/SVGFilterElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer):
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/SVGFontFaceNameElement.cpp:
(WebCore::SVGFontFaceNameElement::srcValue):
* svg/SVGFontFaceNameElement.h:
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::srcValue):
* svg/SVGFontFaceUriElement.h:
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::createElementRenderer):
* svg/SVGForeignObjectElement.h:
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::createElementRenderer):
* svg/SVGGElement.h:
* svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::createElementRenderer):
* svg/SVGGraphicsElement.h:
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::createElementRenderer):
* svg/SVGImageElement.h:
* svg/SVGLength.cpp:
(WebCore::SVGLength::toCSSPrimitiveValue):
* svg/SVGLength.h:
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::createElementRenderer):
* svg/SVGLinearGradientElement.h:
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::createElementRenderer):
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::createElementRenderer):
* svg/SVGMaskElement.h:
* svg/SVGPaint.h:
(WebCore::SVGPaint::createUnknown):
(WebCore::SVGPaint::createNone):
(WebCore::SVGPaint::createCurrentColor):
(WebCore::SVGPaint::createColor):
(WebCore::SVGPaint::createURI):
(WebCore::SVGPaint::createURIAndColor):
(WebCore::SVGPaint::createURIAndNone):
(WebCore::SVGPaint::create):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::createElementRenderer):
* svg/SVGPathElement.h:
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::createElementRenderer):
* svg/SVGPatternElement.h:
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::createElementRenderer):
* svg/SVGRadialGradientElement.h:
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::createElementRenderer):
* svg/SVGRectElement.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::createElementRenderer):
* svg/SVGSVGElement.h:
* svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::createElementRenderer):
* svg/SVGStopElement.h:
* svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::createElementRenderer):
* svg/SVGSwitchElement.h:
* svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::createElementRenderer):
* svg/SVGSymbolElement.h:
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefTargetEventListener::create):
(WebCore::SVGTRefElement::createElementRenderer):
* svg/SVGTRefElement.h:
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::createElementRenderer):
* svg/SVGTSpanElement.h:
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::createElementRenderer):
* svg/SVGTextElement.h:
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::createElementRenderer):
* svg/SVGTextPathElement.h:
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::createElementRenderer):
* svg/SVGUseElement.h:

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldApplyStyle):
* WebCoreSupport/WebVisitedLinkStore.h:
* WebCoreSupport/WebVisitedLinkStore.mm:
(WebVisitedLinkStore::create):

Source/WebKit2:

* UIProcess/WebBackForwardList.h:
(WebKit::WebBackForwardList::create):
* UIProcess/WebBatteryManagerProxy.cpp:
(WebKit::WebBatteryManagerProxy::create):
* UIProcess/WebBatteryManagerProxy.h:
* UIProcess/WebPageGroup.cpp:
(WebKit::WebPageGroup::createNonNull):
* UIProcess/WebPageGroup.h:
* UIProcess/efl/BatteryProvider.cpp:
(BatteryProvider::create):
* UIProcess/efl/BatteryProvider.h:
* WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::shouldApplyStyle):
* WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
(WebKit::WebUserMediaClient::requestPermission):
* WebProcess/WebCoreSupport/WebUserMediaClient.h:
* WebProcess/WebPage/ViewUpdateDispatcher.cpp:
(WebKit::ViewUpdateDispatcher::create):
* WebProcess/WebPage/ViewUpdateDispatcher.h:

Source/WTF:

Kill the PassRef class and replace it by Ref/Ref&&.
Usage is simple:

    - For locals and members, keep using Ref<T>.
    - For return types, use Ref<T>.
    - For (ownership-transferring) arguments, use Ref<T>&&.

When passing to a Ref&&, use WTF::move() to mobilize the value
at the call site, e.g:

    void myFunction(Ref<Foo>&&);

    Ref<Foo> myFoo(Foo::create());
    myFunction(WTF::move(myFoo));
    // 'myFoo' is invalid from this point forward.

As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr
it won't surprise you by becoming null *unless* you WTF::move it.

I've also added a Ref::copyRef() for instances where you want to
return a Ref *without* transferring ownership, e.g code like:

    Ref<Foo> foo() { return m_foo; }

... now becomes ...

    Ref<Foo> foo() { return m_foo.copyRef(); }

This makes it explicit that a refcount bump will occur.

Finally, do note that unlike last year's PassRef, Ref&& does not
require you to move it to avoid leaking; it will clean itself up.

* wtf/PassRef.h:
(WTF::adopted): Deleted.
(WTF::PassRef<T>::PassRef): Deleted.
(WTF::PassRef<T>::~PassRef): Deleted.
(WTF::PassRef<T>::get): Deleted.
(WTF::PassRef<T>::ptr): Deleted.
(WTF::PassRef<T>::leakRef): Deleted.
(WTF::adoptRef): Deleted.
(WTF::createRefCounted): Deleted.
* wtf/PassRefPtr.h:
(WTF::PassRefPtr::PassRefPtr):
* wtf/Ref.h:
(WTF::adopted):
(WTF::Ref::~Ref):
(WTF::Ref::Ref):
(WTF::Ref::operator=):
(WTF::Ref::operator->):
(WTF::Ref::ptr):
(WTF::Ref::get):
(WTF::Ref::operator T&):
(WTF::Ref::operator const T&):
(WTF::Ref<T>::replace):
(WTF::adoptRef):
* wtf/RefCounter.h:
(WTF::RefCounter::count):
* wtf/RefPtr.h:
(WTF::RefPtr::releaseNonNull):
(WTF::RefPtr<T>::RefPtr):
(WTF::=):
* wtf/text/AtomicString.cpp:
(WTF::addToStringTable):
(WTF::AtomicString::add):
(WTF::AtomicString::addFromLiteralData):
(WTF::AtomicString::addSlowCase):
* wtf/text/AtomicString.h:
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::createFromLiteral):
(WTF::StringImpl::createWithoutCopying):
(WTF::StringImpl::createUninitializedInternal):
(WTF::StringImpl::createUninitializedInternalNonEmpty):
(WTF::StringImpl::createUninitialized):
(WTF::StringImpl::reallocateInternal):
(WTF::StringImpl::reallocate):
(WTF::StringImpl::createInternal):
(WTF::StringImpl::create):
(WTF::StringImpl::create8BitIfPossible):
(WTF::StringImpl::substring):
(WTF::StringImpl::lower):
(WTF::StringImpl::upper):
(WTF::StringImpl::fill):
(WTF::StringImpl::foldCase):
(WTF::StringImpl::convertToASCIILowercase):
(WTF::StringImpl::stripMatchedCharacters):
(WTF::StringImpl::stripWhiteSpace):
(WTF::StringImpl::removeCharacters):
(WTF::StringImpl::simplifyMatchedCharactersToSpace):
(WTF::StringImpl::simplifyWhiteSpace):
(WTF::StringImpl::replace):
(WTF::StringImpl::adopt):
* wtf/text/StringImpl.h:
(WTF::StringImpl::create8BitIfPossible):
(WTF::StringImpl::create):
(WTF::StringImpl::createSubstringSharingImpl8):
(WTF::StringImpl::createSubstringSharingImpl):
(WTF::StringImpl::createFromLiteral):
(WTF::StringImpl::createEmptyUnique):
(WTF::StringImpl::adopt):
(WTF::StringImpl::replace):
(WTF::StringImpl::constructInternal<LChar>):
(WTF::StringImpl::constructInternal<UChar>):
(WTF::StringImpl::isolatedCopy):
* wtf/text/WTFString.h:
(WTF::String::String):

Tools:

* TestWebKitAPI/Tests/WTF/Ref.cpp:
(TestWebKitAPI::passWithRef):
(TestWebKitAPI::TEST):
(TestWebKitAPI::passWithPassRef): Deleted.
* TestWebKitAPI/Tests/WTF/RefCounter.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/RefPtr.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:
(TestWebKitAPI::createTestValue):

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

5 years agohttps://bugs.webkit.org/show_bug.cgi?id=139597
zalan@apple.com [Sun, 14 Dec 2014 06:44:28 +0000 (06:44 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=139597
rdar://problem/19237334
Fixed positioned pseudo content does not get composited.

Reviewed by Simon Fraser.

This patch ensures that adjustRenderStyle() can access to settings even when Element* is null.

Source/WebCore:

Test: compositing/fixed-positioned-pseudo-content-no-compositing.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):

LayoutTests:

* compositing/fixed-positioned-pseudo-content-no-compositing-expected.txt: Added.
* compositing/fixed-positioned-pseudo-content-no-compositing.html: Added.

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

5 years ago[EFL] MiniBrowser's window_create may return NULL
g.czajkowski@samsung.com [Sat, 13 Dec 2014 09:22:55 +0000 (09:22 +0000)]
[EFL] MiniBrowser's window_create may return NULL
https://bugs.webkit.org/show_bug.cgi?id=139585

Reviewed by Gyuyoung Kim.

Move NULL checking before using object which window_create
returns.

* MiniBrowser/efl/main.c:
(elm_main):

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

5 years agoSplit WebPageProxy::m_preventProcessSuppression to track pref/visibility separately
barraclough@apple.com [Sat, 13 Dec 2014 01:44:27 +0000 (01:44 +0000)]
Split WebPageProxy::m_preventProcessSuppression to track pref/visibility separately
https://bugs.webkit.org/show_bug.cgi?id=139600

Reviewed by Geoff Garen.

Previously WebPageProxy::m_preventProcessSuppression would be set if either the page was visible
or its suppression was disabled by the pref. Instead track these separately. This will make the
user observability state applicable on iOS, too.

Add a new counter to WebContext, and split the counting in WebPageProxy.
::updateProccessSuppressionState continues to track the pref change (which matches its name),
tracking of user observability changes moved to updateActivityToken (which we should further
merge with; it already tracks observability to control process state for iOS).

* UIProcess/WebContext.cpp:
(WebKit::m_processSuppressionDisabledForPageCounter):
    - added new RefCounter.
* UIProcess/WebContext.h:
(WebKit::WebContext::processSuppressionDisabledForPageCount):
    - added new RefCounter.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcess):
    - no longer needs to call updateProccessSuppressionState (pref has not changed; handled by the call to updateActivityToken).
(WebKit::WebPageProxy::dispatchViewStateChange):
    - no longer needs to call updateProccessSuppressionState (pref has not changed; handled by the call to updateActivityToken).
(WebKit::WebPageProxy::updateActivityToken):
    - this now also updated the user observability counter.
(WebKit::WebPageProxy::updateProccessSuppressionState):
    - now only tracks whether this is disabled via the preference.
(WebKit::WebPageProxy::resetStateAfterProcessExited):
    - clear the user observability counter; thsi will be reset on reattach.
* UIProcess/WebPageProxy.h:
    - added new RefCounter::Count.
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::processSuppressionEnabled):
    - processSuppressionEnabled is disabled if *neither*:
        - there are user observable pages
        - disabled by pref for any page.

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

5 years ago[Mac] Work around a bug in dsymutil on older OS versions
mrowe@apple.com [Sat, 13 Dec 2014 01:40:44 +0000 (01:40 +0000)]
[Mac] Work around a bug in dsymutil on older OS versions
<https://webkit.org/b/139609> / <rdar://problem/16045763>

Older versions of dsymutil are unable to write out more than 2GB of symbols per architecture.
WebCore has recently passed that threshold. To work around this we will reduce the level of
symbols included in the dSYM bundles on the affected OS versions.

Reviewed by Geoff Garen.

* Configurations/Base.xcconfig: Include line tables only in the debug symbols for production
builds on OS X 10.8 and 10.9.
* Configurations/DebugRelease.xcconfig: Include full symbols in debug and release builds since they
do not make use of dSYMs.

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

5 years agoNeed a fake mouse move after hiding data detectors UI
bdakin@apple.com [Sat, 13 Dec 2014 01:14:46 +0000 (01:14 +0000)]
Need a fake mouse move after hiding data detectors UI
https://bugs.webkit.org/show_bug.cgi?id=139608
-and corresponding-
rdar://problem/19221935

Reviewed by Tim Horton.

Source/WebCore:

* WebCore.exp.in:

Source/WebKit2:

* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dataDetectorsDidHideUI):

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

5 years agoHandle caches in WebsiteDataStore
andersca@apple.com [Sat, 13 Dec 2014 01:06:56 +0000 (01:06 +0000)]
Handle caches in WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=139607
<rdar://problem/19107614>

Reviewed by Sam Weinig.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::computeNetworkProcessAccessType):

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

5 years ago[Media iOS] Inline video controls have an outlined scrubber
dino@apple.com [Sat, 13 Dec 2014 00:44:32 +0000 (00:44 +0000)]
[Media iOS] Inline video controls have an outlined scrubber
https://bugs.webkit.org/show_bug.cgi?id=139602
<rdar://problem/19184212>

Reviewed by Eric Carlson.

This is another change similar to https://bugs.webkit.org/show_bug.cgi?id=138378
where the specificity of pseduo elements had changed, and thus iOS
was inheriting some of the UA styles.

The fix is to add some more style rules to ensure that the timeline track
is drawn in white.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-timeline): Border rules not needed here.
(video::-webkit-media-controls-timeline::-webkit-slider-runnable-track): But are needed
here, along with some other things.
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Now that the runnable
track has some style, we need to account for the change.

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

5 years ago[WebGL] Texture size tests failures
ap@apple.com [Sat, 13 Dec 2014 00:42:16 +0000 (00:42 +0000)]
[WebGL] Texture size tests failures
https://bugs.webkit.org/show_bug.cgi?id=131886

* platform/mac/TestExpectations: Further relax expectations for these tests, as
they also fail on different OS versions and in different ways.

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

5 years agoRemove a workaround for a bug that was fixed in Mountain Lion
andersca@apple.com [Sat, 13 Dec 2014 00:37:56 +0000 (00:37 +0000)]
Remove a workaround for a bug that was fixed in Mountain Lion
https://bugs.webkit.org/show_bug.cgi?id=139605

Reviewed by Sam Weinig.

* WebCorePrefix.h:
(move): Deleted.

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

5 years agoMark two canvas tests that fail on a new Mac Pro locally.
ap@apple.com [Sat, 13 Dec 2014 00:33:35 +0000 (00:33 +0000)]
Mark two canvas tests that fail on a new Mac Pro locally.

* platform/mac/TestExpectations:

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

5 years agoMove expectations for test that hit !m_visibleDescendantStatusDirty assertion,
ap@apple.com [Sat, 13 Dec 2014 00:16:11 +0000 (00:16 +0000)]
Move expectations for test that hit !m_visibleDescendantStatusDirty assertion,
because locally, this also happens in WK1.

* TestExpectations:
* platform/wk2/TestExpectations:

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

5 years ago[iOS] Predictions are not updated when using navigation buttons.
enrica@apple.com [Sat, 13 Dec 2014 00:00:32 +0000 (00:00 +0000)]
[iOS] Predictions are not updated when using navigation buttons.
https://bugs.webkit.org/show_bug.cgi?id=139567
rdar://problem/19132585

Reviewed by Dan Bernstein.

When moving focus programmatically, we need to notify the keyboard so that it
can update the prediction bar.

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKFormInputSession setAccessoryViewCustomButtonTitle:]):
(-[WKContentView requiresAccessoryView]):
(-[WKContentView inputAssistantButtonItems]):
(-[WKContentView accessoryTab:]):
(-[WKContentView _startAssistingKeyboard]):
(-[WKContentView _stopAssistingNode]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::focusNextAssistedNode):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::focusNextAssistedNode):

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

5 years agoshiftCountWithArrayStorage should exit to slow path if the object has a sparse map.
mmirman@apple.com [Fri, 12 Dec 2014 23:46:13 +0000 (23:46 +0000)]
shiftCountWithArrayStorage should exit to slow path if the object has a sparse map.
https://bugs.webkit.org/show_bug.cgi?id=139598
<rdar://problem/18779367>

Reviewed by Filip Pizlo.

* runtime/JSArray.cpp:
(JSC::JSArray::shiftCountWithArrayStorage): Added check for object having a sparse map.
* tests/stress/sparse_splice.js: Added.

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

5 years agoREGRESSION (r168217): Images are cropped out during animation at jetblue.com
simon.fraser@apple.com [Fri, 12 Dec 2014 23:38:36 +0000 (23:38 +0000)]
REGRESSION (r168217): Images are cropped out during animation at jetblue.com
https://bugs.webkit.org/show_bug.cgi?id=136410

Reviewed by Dean Jackson.

We were hitting the new assertion under Page::setPageScaleFactor(), which
calls recalcStyle(), so move the AnimationUpdateBlock from updateStyleIfNeeded()
to recalcStyle().

* dom/Document.cpp:
(WebCore::Document::recalcStyle):
(WebCore::Document::updateStyleIfNeeded):

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

5 years agohttps://bugs.webkit.org/show_bug.cgi?id=139596
zalan@apple.com [Fri, 12 Dec 2014 23:35:43 +0000 (23:35 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=139596
Subpixel rendering: REGRESSION (r163272): Fixed positioned pseudo content leaves trails while scrolling.
rdar://problem/18697851

Reviewed by Simon Fraser.

Final repaint rect at FrameView::scrollContentsFastPath needs to be pixel aligned (as opposed to snap to int).
However we can't pixelsnap it until after ScrollView finished transitioning to Float/LayoutRect.
Use enclosing int rect for now to ensure scrolling does not leave trails.

Unable to test. Apparently scrolling clears trails in dumprendertree. (repaint rects are not useful either with scrolling)

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

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

5 years agoTextIndicator (and other view-relative subwindows) is not dismissed on zoom gesture
timothy_horton@apple.com [Fri, 12 Dec 2014 23:16:04 +0000 (23:16 +0000)]
TextIndicator (and other view-relative subwindows) is not dismissed on zoom gesture
https://bugs.webkit.org/show_bug.cgi?id=139580
<rdar://problem/19226350>

Reviewed by Anders Carlsson.

* UIProcess/PageClient.h:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::dismissContentRelativeChildWindows):
(WebKit::PageClientImpl::dismissDictionaryLookupPanel): Deleted.
(WebKit::PageClientImpl::dismissActionMenuPopovers): Deleted.
Merge dismissDictionaryLookupPanel and dismissActionMenuPopovers into
_dismissContentRelativeChildWindows, which also dismisses TextIndicator and the
text correction panel. Dismissal of any child windows which are anchored to
the page content now bottlenecks through this function.

(WebKit::PageClientImpl::navigationGestureDidBegin):
Dismiss all anchored subwindows when starting a navigation gesture, not
just TextIndicator and action menu popovers.

* UIProcess/API/mac/WKView.mm:
(-[WKView scrollWheel:]):
No need to dismiss TextIndicator here; we've got this covered in the more-inclusive
WebPageProxy::pageDidScroll, and will now dismiss more things.

(-[WKView mouseDown:]):
Dismiss more things.

(-[WKView viewDidMoveToWindow]):
Dismiss more things.

(-[WKView _dismissContentRelativeChildWindows]):
The aforementioned combined dismissal function.

(-[WKView magnifyWithEvent:]):
(-[WKView smartMagnifyWithEvent:]):
(-[WKView setMagnification:centeredAtPoint:]):
(-[WKView setMagnification:]):
Any time the page magnification changes, dismiss all the things.

* UIProcess/API/mac/WKViewPrivate.h:
Expose _dismissContentRelativeChildWindows instead of _dismissActionMenuPopovers;
for all existing clients, it makes more sense to dismiss all view-relative subwindows
than just a subset of them.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
Make use of dismissAnchoredSubwindows.

* UIProcess/mac/WKActionMenuController.h:
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController prepareForMenu:withEvent:]):
Dismiss more things.

(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
(-[WKActionMenuController dismissActionMenuPopovers]): Deleted.
dismissActionMenuPopovers is folded into WKView's _dismissContentRelativeChildWindows.

(-[WKActionMenuController _showTextIndicator]): Deleted.
(-[WKActionMenuController _hideTextIndicator]): Deleted.
Fold _showTextIndicator and _hideTextIndicator into their only callers.
_isShowingTextIndicator was never necessary, because it's OK to change
the current TextIndicator at any time, and a newer one is always more relevant.

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

5 years agoKeep single RefCounter to track whether any pages in a context are process suppressible
barraclough@apple.com [Fri, 12 Dec 2014 23:12:04 +0000 (23:12 +0000)]
Keep single RefCounter to track whether any pages in a context are process suppressible
https://bugs.webkit.org/show_bug.cgi?id=139576

Reviewed by Sam Weinig.

Currently we keep separate counters in each process, and coallesce these in the
context. Instead we should have a counter in the WebContext.

Also, changed the name to better describe the state we're tracking, rather than
describing what it's currently used for. This counter will also be useful for
iOS, to better manage background state of the networking process.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
    - initialize m_userObservablePageCounter.
* UIProcess/WebContext.h:
(WebKit::WebContext::updateProcessSuppressionState):
    - Added no-op implementation for non-cocoa platforms.
(WebKit::WebContext::userObservablePageCount):
    - Count the number of user visible (audible / visible) pages in Context.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateProccessSuppressionState):
    - WebProcessProxy::processSuppressionCounter -> WebContext::userObservablePageCount
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::didFinishLaunching):
    - moved all processs supression state tracking to the WebContext.
* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::processSuppressionCounter): Deleted.
    - moved all processs supression state tracking to the WebContext.
* UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::allPagesAreProcessSuppressible): Deleted.
(WebKit::WebProcessProxy::updateProcessSuppressionState): Deleted.
    - moved all processs supression state tracking to the WebContext.
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::processSuppressionEnabled):
    - no need to interate all processes; just have a single counter.
* UIProcess/mac/WebProcessProxyMac.mm:
(WebKit::WebProcessProxy::allPagesAreProcessSuppressible): Deleted.
(WebKit::WebProcessProxy::updateProcessSuppressionState): Deleted.
    - moved all processs supression state tracking to the WebContext.

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

5 years ago[Windows] Unreviewed 64bit build fix.
roger_fong@apple.com [Fri, 12 Dec 2014 23:04:19 +0000 (23:04 +0000)]
[Windows] Unreviewed 64bit build fix.

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

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

5 years agofast/images/animated-gif-body-outside-viewport.html is flaky
ap@apple.com [Fri, 12 Dec 2014 23:03:43 +0000 (23:03 +0000)]
fast/images/animated-gif-body-outside-viewport.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139599

* platform/mac-wk1/TestExpectations: Mark it as such.

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

5 years agoREGRESSION (r168217): Images are cropped out during animation at jetblue.com
simon.fraser@apple.com [Fri, 12 Dec 2014 22:52:36 +0000 (22:52 +0000)]
REGRESSION (r168217): Images are cropped out during animation at jetblue.com
https://bugs.webkit.org/show_bug.cgi?id=136410
rdar://problem/18188533

Reviewed by Dean Jackson.

During GraphicsLayer flushing, for tiled layers we can compute a visible rect using
the current state of an animation, which is obtained via the AnimationController.
If that animation was running in a subframe, AnimationController could use a stale
beginAnimationUpdateTime since no-one called its beginAnimationUpdate(). That
resulted in an incorrect computation of the visible rect, resulting in missing tiles.

There are two parts to this fix. First, add an assertion that beginAnimationUpdateTime()
is being called inside an animation update block. This required moving m_beginAnimationUpdateCount
into AnimationControllerPrivate, and changes to endAnimationUpdate().

The second is adding a AnimationUpdateBlock to getAnimatedStyleForRenderer(), which
can be called outside of style resolution. We also need some in other API functions.

Testing revealed that layout can call via layoutOverflowRectForPropagation(), suggesting
that we should have an animation batch inside FrameView::layout(). In addition, a single
resolveStyle/layout should use the same animationBeginTime, so we add a batch to
updateLayoutAndStyleIfNeededRecursive().

No test because it's timing-dependent. Existing tests exercise the new assertion.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::computeRenderStyleForProperty):
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
* page/animation/AnimationController.cpp:
(WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock):
(WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock):
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
(WebCore::AnimationControllerPrivate::animationTimerFired):
(WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
(WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
(WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
(WebCore::AnimationControllerPrivate::beginAnimationUpdate):
(WebCore::AnimationControllerPrivate::endAnimationUpdate):
(WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
(WebCore::AnimationController::AnimationController):
(WebCore::AnimationController::notifyAnimationStarted):
(WebCore::AnimationController::pauseAnimationAtTime):
(WebCore::AnimationController::pauseTransitionAtTime):
(WebCore::AnimationController::resumeAnimationsForDocument):
(WebCore::AnimationController::startAnimationsIfNotSuspended):
(WebCore::AnimationController::beginAnimationUpdate):
(WebCore::AnimationController::endAnimationUpdate):
* page/animation/AnimationController.h:
* page/animation/AnimationControllerPrivate.h:

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

5 years agohttp/tests/xmlhttprequest/workers/abort-exception-assert.html often times out
ap@apple.com [Fri, 12 Dec 2014 22:17:59 +0000 (22:17 +0000)]
http/tests/xmlhttprequest/workers/abort-exception-assert.html often times out
https://bugs.webkit.org/show_bug.cgi?id=139595

* TestExpectations: Mark it as such.

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

5 years ago[Win] Unreviewed build fix following r177235.
roger_fong@apple.com [Fri, 12 Dec 2014 22:07:05 +0000 (22:07 +0000)]
[Win] Unreviewed build fix following r177235.

* WebCore.vcxproj/WebCore.vcxproj:

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

5 years agoImplement EXT_blend_minmax as a WebGL 1 extension.
roger_fong@apple.com [Fri, 12 Dec 2014 21:56:20 +0000 (21:56 +0000)]
Implement EXT_blend_minmax as a WebGL 1 extension.
https://bugs.webkit.org/show_bug.cgi?id=128974.
<rdar://problem/19195535>

Tested by:
webgl/1.0.3/conformance/extensions/ext-blend-minmax.html
fast/canvas/webgl/constants.html

Specifications for this extension:
https://www.khronos.org/registry/webgl/extensions/EXT_blend_minmax/

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* html/canvas/EXTBlendMinMax.cpp: Added.
(WebCore::EXTBlendMinMax::EXTBlendMinMax):
(WebCore::EXTBlendMinMax::~EXTBlendMinMax):
(WebCore::EXTBlendMinMax::getName):
* html/canvas/EXTBlendMinMax.h: Added.
* html/canvas/EXTBlendMinMax.idl: Added.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::validateBlendEquation):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:
* platform/graphics/Extensions3D.h:

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

5 years agoLayout Test http/tests/loading/307-after-303-after-post.html is flaky
ap@apple.com [Fri, 12 Dec 2014 21:40:57 +0000 (21:40 +0000)]
Layout Test http/tests/loading/307-after-303-after-post.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=73030

Reviewed by Anders Carlsson.

Source/WebKit2:

* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess): Added a FIXME comment.
(WebKit::WebContext::setIconDatabasePath): Don't enable m_iconDatabase if the path
is empty, meaning that the database is disabled (which is not a great way to say
that, but WebKit2 icon database doesn't support enabling/disabling cleanly).
(WebKit::WebContext::iconDatabasePath): Keep it empty if it was empty.

Tools:

* WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Set icon
database to empty to avoid having it fetch default favicons at random times.
DumpRenderTree also disables it, and also it has a way for tests to temporarily
enable it.

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

5 years agoHandle null local storage database URLs
andersca@apple.com [Fri, 12 Dec 2014 21:15:26 +0000 (21:15 +0000)]
Handle null local storage database URLs
https://bugs.webkit.org/show_bug.cgi?id=139594
<rdar://problem/19236505>

Reviewed by Beth Dakin.

* Storage/WebStorageNamespaceProvider.cpp:
(WebStorageNamespaceProvider::WebStorageNamespaceProvider):

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

5 years agoRemove the concept of simple selector from the parser
benjamin@webkit.org [Fri, 12 Dec 2014 21:05:07 +0000 (21:05 +0000)]
Remove the concept of simple selector from the parser
https://bugs.webkit.org/show_bug.cgi?id=139575

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-12
Reviewed by Mark Lam.

We have complete support for nested selector list, we no longer
need the old concept of simple selector.

* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::isSimple): Deleted.
* css/CSSParserValues.h:

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

5 years agohttp/tests/css/link-css-disabled-value-with-slow-loading-sheet.html is flaky
ap@apple.com [Fri, 12 Dec 2014 21:01:10 +0000 (21:01 +0000)]
http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139591

Reviewed by Antti Koivisto.

* http/tests/css/resources/empty.css: Added.
* http/tests/css/resources/500.php: Copied from LayoutTests/http/tests/css/resources/slow-loading-sheet-in-error.php.
* http/tests/css/resources/slow-loading-sheet-in-error.php: Removed.
* http/tests/css/resources/slow-loading-sheet.php: Removed.
These scripts were not "slow" at all - 100 microseconds is nothing. Furthermore,
slow-loading-sheet-in-error.php wasn't even used, because of a typo in the test.
And worst of all, WebCore has its own ideas about when to load stylesheets - notably,
default stylesheet loading blocks script execution, so we cannot do anything before
the stylesheet loads.

* http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html:
* http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html:
Removed built-in timeout for the tests, we don't need it. Also, fixed a number of
small stylistic issues.

* http/tests/css/resources/link-css-disabled-value-with-slow-loading-sheet-in-error.js: Removed.
* http/tests/css/resources/link-css-disabled-value-with-slow-loading-sheet.js: Removed.
Moved inside HTML, because having tests in a separate file is useless and harmful.

* platform/mac-wk2/TestExpectations: These tests were always flaky, not 100% failing.

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

5 years agoFix the 32-bit build.
mrowe@apple.com [Fri, 12 Dec 2014 20:54:07 +0000 (20:54 +0000)]
Fix the 32-bit build.

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

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

5 years agoFontGlyphs::glyphDataAndPageForCharacter cleanups
antti@apple.com [Fri, 12 Dec 2014 20:31:30 +0000 (20:31 +0000)]
FontGlyphs::glyphDataAndPageForCharacter cleanups
https://bugs.webkit.org/show_bug.cgi?id=139584

Reviewed by Andreas Kling.

Split it up and use helper functions.

* WebCore.exp.in:
* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::realizeFontDataAt):
(WebCore::FontGlyphs::glyphDataAndPageForSystemFallback):
(WebCore::FontGlyphs::glyphDataAndPageForVariant):

    Add private helpers.

(WebCore::FontGlyphs::glyphDataAndPageForCharacter):

    Do the m_pages cache lookup only once and use the pointer reference afterwards.

* platform/graphics/FontGlyphs.h:
(WebCore::FontGlyphs::fontSelector):
(WebCore::FontGlyphs::widthCache):
(WebCore::FontGlyphs::primaryFontData):
(WebCore::FontGlyphs::isFixedPitch):
(WebCore::FontGlyphs::primarySimpleFontData):

    Also removed the mutable attribute from the fields (almost everything was marked mutable) and made the inteface
    non-const. The FontGlyphs member of Font is already mutable so this is not needed.

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

5 years agoUse is<>() / downcast<>() for StyleRuleBase subclasses
cdumez@apple.com [Fri, 12 Dec 2014 20:28:17 +0000 (20:28 +0000)]
Use is<>() / downcast<>() for StyleRuleBase subclasses
https://bugs.webkit.org/show_bug.cgi?id=139571

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for StyleRuleBase subclasses for safety and
consistency.

No new tests, no behavior change.

* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::reattach):
* css/CSSKeyframesRule.h:
(isType):
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::reattach):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::reattach):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::insertRule):
* css/RuleSet.cpp:
(WebCore::RuleSet::addRegionRule):
(WebCore::RuleSet::addChildRules):
* css/StyleInvalidationAnalysis.cpp:
(WebCore::shouldDirtyAllStyle):
* css/StyleRule.cpp:
(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy):
(WebCore::StyleRuleBase::createCSSOMWrapper):
* css/StyleRule.h:
(isType):
(WebCore::toStyleRule): Deleted.
* css/StyleRuleImport.h:
(isType):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parserAppendRule):
(WebCore::StyleSheetContents::wrapperInsertRule):
(WebCore::StyleSheetContents::addSubresourceStyleURLs):
(WebCore::childRulesHaveFailedOrCanceledSubresources):
* css/WebKitCSSViewportRule.cpp:
(WebCore::WebKitCSSViewportRule::reattach):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

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

5 years agoFix the 32-bit build.
timothy_horton@apple.com [Fri, 12 Dec 2014 20:21:04 +0000 (20:21 +0000)]
Fix the 32-bit build.

* UIProcess/mac/WKImmediateActionController.h:

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

5 years agoanimations/cross-fade-webkit-mask-image.html is flaky
stavila@adobe.com [Fri, 12 Dec 2014 20:13:26 +0000 (20:13 +0000)]
animations/cross-fade-webkit-mask-image.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139590

Reviewed by Alexey Proskuryakov.

animations/cross-fade-webkit-mask-image.html became flaky after the way
masks are handled was changed in https://bugs.webkit.org/show_bug.cgi?id=139294.
Marking it flaky for now, pending investigation.

* TestExpectations:

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

5 years ago[MSE] Add support for SourceBuffer.mode.
jer.noble@apple.com [Fri, 12 Dec 2014 19:27:51 +0000 (19:27 +0000)]
[MSE] Add support for SourceBuffer.mode.
https://bugs.webkit.org/show_bug.cgi?id=139265

Reviewed by Eric Carlson.

Source/WebCore:

Support setting SourceBuffer's mode property, and add support for "sequence" mode. Prior
to this change, "segments" mode was implied.

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::addSourceBuffer):
(WebCore::MediaSource::regenerateActiveSourceBuffers):
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::segmentsKeyword):
(WebCore::SourceBuffer::sequenceKeyword):
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::setTimestampOffset):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::setMode):
* Modules/mediasource/SourceBuffer.h:
* Modules/mediasource/SourceBuffer.idl:

LayoutTests:

* http/tests/media/media-source/mediasource-util.js:
* platform/mac/TestExpectations:

Add an expected-failure; the test fails due to lack of support for a non-DOM-visible
algorithm variable unsupported by the Mac port.
* platform/mac/http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt: Added.

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

5 years agoFix Build Warning in WebKit2/UIProcess module for GTK build and WebKit2/NetworkProces...
commit-queue@webkit.org [Fri, 12 Dec 2014 16:59:16 +0000 (16:59 +0000)]
Fix Build Warning in WebKit2/UIProcess module for GTK build and WebKit2/NetworkProcess module in GTK and EFL build
https://bugs.webkit.org/show_bug.cgi?id=139535

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-12-12
Reviewed by Martin Robinson.

* UIProcess/API/gtk/WebKitWebView.cpp: Use UNUSED_PARAM for conditional #if case
(webkitWebViewShowNotification):
(webkitWebViewCloseNotification):

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

5 years ago[SVG Masking] Enable the use of <mask> elements for -webkit-mask-image
stavila@adobe.com [Fri, 12 Dec 2014 14:19:21 +0000 (14:19 +0000)]
[SVG Masking] Enable the use of <mask> elements for -webkit-mask-image
https://bugs.webkit.org/show_bug.cgi?id=139294

Reviewed by Simon Fraser.

Source/WebCore:

This patch links together all parts required for the functionality which improves
the -webkit-mask-image property by allowing it to reference a <mask> element defined
in an inline or external SVG document.
Support for this new functionality has been added in a previous patch, under issue
https://bugs.webkit.org/show_bug.cgi?id=139092. A more detailed description of how
the new functionality works can be found in the ChangeLog for that commit.
The containsSVGDocument in ScrollView has been removed because it was added in the
previous patch but is no longer required.

Tests: css3/masking/mask-base64.html
       css3/masking/mask-multiple-values.html
       css3/masking/mask-svg-clipped-fragmentId.html
       css3/masking/mask-svg-fragmentId.html
       css3/masking/mask-svg-inline-fragmentId.html
       css3/masking/mask-svg-inline-invalid-fragmentId.html
       css3/masking/mask-svg-invalid-fragmentId.html
       css3/masking/mask-svg-no-fragmentId-tiled.html
       css3/masking/mask-svg-no-fragmentId.html
       css3/masking/mask-svg-script-entire-svg-to-mask.html
       css3/masking/mask-svg-script-mask-to-entire-svg.html
       css3/masking/mask-svg-script-mask-to-none.html
       css3/masking/mask-svg-script-mask-to-png.html
       css3/masking/mask-svg-script-none-to-mask.html
       css3/masking/mask-svg-script-none-to-png.html
       css3/masking/mask-svg-script-png-to-mask.html
       css3/masking/mask-svg-script-png-to-none.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFillShorthand):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseMaskImage):
* css/CSSParser.h:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustStyleForMaskImages):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::loadPendingSVGDocuments):
(WebCore::StyleResolver::createMaskImageOperations):
(WebCore::StyleResolver::loadPendingImages):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
(WebCore::MaskImagePropertyWrapper::MaskImagePropertyWrapper):
(WebCore::MaskImagePropertyWrapper::equals):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* platform/graphics/MaskImageOperation.cpp:
(WebCore::MaskImageOperation::~MaskImageOperation):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::maskClipRect):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::~RenderElement):
(WebCore::RenderElement::updateFillImages):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
* rendering/style/FillLayer.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setMaskImage):
* rendering/style/RenderStyle.h:

LayoutTests:

Added tests for different situations using URLs with fragment id
for the -webkit-mask-image property.

* css3/masking/mask-base64-expected.html: Added.
* css3/masking/mask-base64.html: Added.
* css3/masking/mask-multiple-values-expected.html: Added.
* css3/masking/mask-multiple-values.html: Added.
* css3/masking/mask-repeat-space-padding-expected.html:
* css3/masking/mask-repeat-space-padding.html:
* css3/masking/mask-svg-clipped-fragmentId-expected.html: Added.
* css3/masking/mask-svg-clipped-fragmentId.html: Added.
* css3/masking/mask-svg-fragmentId-expected.html: Added.
* css3/masking/mask-svg-fragmentId.html: Added.
* css3/masking/mask-svg-inline-fragmentId-expected.html: Added.
* css3/masking/mask-svg-inline-fragmentId.html: Added.
* css3/masking/mask-svg-inline-invalid-fragmentId-expected.html: Added.
* css3/masking/mask-svg-inline-invalid-fragmentId.html: Added.
* css3/masking/mask-svg-invalid-fragmentId-expected.html: Added.
* css3/masking/mask-svg-invalid-fragmentId.html: Added.
* css3/masking/mask-svg-no-fragmentId-expected.html: Added.
* css3/masking/mask-svg-no-fragmentId-tiled-expected.html: Added.
* css3/masking/mask-svg-no-fragmentId-tiled.html: Added.
* css3/masking/mask-svg-no-fragmentId.html: Added.
* css3/masking/mask-svg-script-entire-svg-to-mask-expected.html: Added.
* css3/masking/mask-svg-script-entire-svg-to-mask.html: Added.
* css3/masking/mask-svg-script-mask-to-entire-svg-expected.html: Added.
* css3/masking/mask-svg-script-mask-to-entire-svg.html: Added.
* css3/masking/mask-svg-script-mask-to-none-expected.html: Added.
* css3/masking/mask-svg-script-mask-to-none.html: Added.
* css3/masking/mask-svg-script-mask-to-png-expected.html: Added.
* css3/masking/mask-svg-script-mask-to-png.html: Added.
* css3/masking/mask-svg-script-none-to-mask-expected.html: Added.
* css3/masking/mask-svg-script-none-to-mask.html: Added.
* css3/masking/mask-svg-script-none-to-png-expected.html: Added.
* css3/masking/mask-svg-script-none-to-png.html: Added.
* css3/masking/mask-svg-script-png-to-mask-expected.html: Added.
* css3/masking/mask-svg-script-png-to-mask.html: Added.
* css3/masking/mask-svg-script-png-to-none-expected.html: Added.
* css3/masking/mask-svg-script-png-to-none.html: Added.
* css3/masking/resources/masks.svg: Added.

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

5 years agoFinal clean up OwnPtr in JSC - runtime, ftl, and tool directories
gyuyoung.kim@samsung.com [Fri, 12 Dec 2014 13:34:59 +0000 (13:34 +0000)]
Final clean up OwnPtr in JSC - runtime, ftl, and tool directories
https://bugs.webkit.org/show_bug.cgi?id=139532

Reviewed by Mark Lam.

Final remove OwnPtr, PassOwnPtr in runtime, ftl, and tools directories of JSC.

* builtins/BuiltinExecutables.h:
* bytecode/CodeBlock.h:
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
* ftl/FTLAbstractHeap.cpp:
(JSC::FTL::IndexedAbstractHeap::atSlow):
* ftl/FTLAbstractHeap.h:
* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLJITFinalizer.h:
* jsc.cpp:
(jscmain):
* parser/Lexer.h:
* runtime/PropertyMapHashTable.h:
(JSC::PropertyTable::clearDeletedOffsets):
(JSC::PropertyTable::addDeletedOffset):
* runtime/PropertyTable.cpp:
(JSC::PropertyTable::PropertyTable):
* runtime/RegExpObject.cpp:
* runtime/SmallStrings.cpp:
* runtime/Structure.cpp:
* runtime/StructureIDTable.cpp:
(JSC::StructureIDTable::StructureIDTable):
(JSC::StructureIDTable::resize):
* runtime/StructureIDTable.h:
* runtime/StructureTransitionTable.h:
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::~VM):
* runtime/VM.h:
* tools/CodeProfile.h:
(JSC::CodeProfile::CodeProfile):
(JSC::CodeProfile::addChild):

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

5 years agoFix the !ENABLE(SVG_FONTS) build after r177078
ossy@webkit.org [Fri, 12 Dec 2014 12:34:19 +0000 (12:34 +0000)]
Fix the !ENABLE(SVG_FONTS) build after r177078
https://bugs.webkit.org/show_bug.cgi?id=139578

Reviewed by Martin Robinson.

* platform/graphics/cairo/FontCairo.cpp:
(WebCore::Font::dashesForIntersectionsWithRect):

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

5 years ago[kn] Kannada Translation for webkit - Updated
berto@igalia.com [Fri, 12 Dec 2014 12:09:34 +0000 (12:09 +0000)]
[kn] Kannada Translation for webkit - Updated
https://bugs.webkit.org/show_bug.cgi?id=116941

Patch by Shankar Prasad <svenkate@redhat.com> on 2014-12-12
Reviewed by Carlos Garcia Campos.

* kn.po:

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

5 years agoSimple line layout: Add 16bit support.
zalan@apple.com [Fri, 12 Dec 2014 11:49:51 +0000 (11:49 +0000)]
Simple line layout: Add 16bit support.
https://bugs.webkit.org/show_bug.cgi?id=139469

Reviewed by Antti Koivisto.

This patch adds the 16bit support to simple line layout.

Source/WebCore:

Test: fast/inline/simple-line-layout-16bit-content.html

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):
* rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::nextBreakablePosition):
(WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):
(WebCore::SimpleLineLayout::findNextNonWhitespace):
(WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):
(WebCore::SimpleLineLayout::FlowContents::textWidth):
(WebCore::SimpleLineLayout::FlowContents::runWidth):
* rendering/SimpleLineLayoutFlowContents.h:
* rendering/SimpleLineLayoutResolver.cpp:
(WebCore::SimpleLineLayout::RunResolver::Run::text):

LayoutTests:

* fast/inline/simple-line-layout-16bit-content-expected.html: Added.
* fast/inline/simple-line-layout-16bit-content.html: Added.

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

5 years ago[Planet WebKit] Raise the number of posts per feed to import.
clopez@igalia.com [Fri, 12 Dec 2014 10:49:08 +0000 (10:49 +0000)]
[Planet WebKit] Raise the number of posts per feed to import.
https://bugs.webkit.org/show_bug.cgi?id=139579

Reviewed by Csaba Osztrogonác.

* config.ini: Raise the number of posts to import for each feed to 6.

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

5 years agoUpdate Apple owned build slaves after infrastructure update.
lforschler@apple.com [Fri, 12 Dec 2014 10:47:19 +0000 (10:47 +0000)]
Update Apple owned build slaves after infrastructure update.

Reviewed by Ryosuke Niwa.

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

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

5 years agoImplement MemoryPressureHandler for Linux system
changseok.oh@collabora.com [Fri, 12 Dec 2014 09:21:15 +0000 (09:21 +0000)]
Implement MemoryPressureHandler for Linux system
https://bugs.webkit.org/show_bug.cgi?id=123532

Reviewed by Sergio Villar Senin.

This is an initial implementation to support MemoryPressureHandler for linux system.
The patch is based on Tomeu's last patch and improved on top of it.
Most of current linux distributions support cgroup, so that we use the memory.pressure_level
mechanism of cgroup to get notifications when an application reaches the 'low' memory
pressure level.

No new tests since no engine behavior changed.

* PlatformEfl.cmake:
* PlatformGTK.cmake:
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::MemoryPressureHandler):
* platform/MemoryPressureHandler.h:
* platform/linux/MemoryPressureHandlerLinux.cpp: Added.
(WebCore::nextToken):
(WebCore::MemoryPressureHandler::~MemoryPressureHandler):
(WebCore::MemoryPressureHandler::waitForMemoryPressureEvent): run in a seperated thread
to listen 'low' level event.
(WebCore::MemoryPressureHandler::logErrorAndCloseFDs):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOffTimerFired):
(WebCore::MemoryPressureHandler::holdOff):
(WebCore::MemoryPressureHandler::respondToMemoryPressure):
(WebCore::MemoryPressureHandler::platformReleaseMemory):
(WebCore::MemoryPressureHandler::ReliefLogger::platformLog):
(WebCore::MemoryPressureHandler::ReliefLogger::platformMemoryUsage): read /proc/self/status
to get VM amount used by current process.

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

5 years ago[EFL] Disable all EWK2Accessibility unit tests
gyuyoung.kim@samsung.com [Fri, 12 Dec 2014 09:17:21 +0000 (09:17 +0000)]
[EFL] Disable all EWK2Accessibility unit tests
https://bugs.webkit.org/show_bug.cgi?id=139577

Reviewed by Csaba Osztrogonác.

WebAccessibility functionality isn't supported by EFL WebKit2 though,
EWK2Accessibility unit tests have been tested. That's why those tests have been failed
so far.

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

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

5 years agoLayer borders on contentsLayers don't correctly toggle with the rest of the borders
simon.fraser@apple.com [Fri, 12 Dec 2014 09:16:13 +0000 (09:16 +0000)]
Layer borders on contentsLayers don't correctly toggle with the rest of the borders
https://bugs.webkit.org/show_bug.cgi?id=139570
rdar://problem/18007746

Reviewed by Tim Horton.

Source/WebCore:

The "Show Debug Borders" toggle didn't cleanly remove layer borders from
content layers (image, video), nor did it deal with cloned layers (reflections).

Fix by making updateDebugBorder() update the layer borders on the contents
layer and cloned layers, moving some code around to avoid having colors
in more than one place. If the borders are hidden, send an invalid color
to PlatformCALayer::setBorderColor(), which now knows to remove the color
property on the layer (to avoid leaving transparent border color properties
on CALayers).

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::setLayerDebugBorder):
(WebCore::contentsLayerDebugBorderColor):
(WebCore::cloneLayerDebugBorderColor):
(WebCore::GraphicsLayerCA::updateDebugBorder):
(WebCore::GraphicsLayerCA::setDebugBorder):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::setBorderColor):

Source/WebKit2:

Return nil if the color is invalid, to remove the color from the layer's
border or background.

* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::cgColorFromColor):

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

5 years agoiOS Simulator production build fix.
mitz@apple.com [Fri, 12 Dec 2014 05:41:29 +0000 (05:41 +0000)]
iOS Simulator production build fix.

* Configurations/JavaScriptCore.xcconfig: Don’t use an order file when building for the iOS
Simulator, as we did prior to 177027.

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

5 years agoTrack pages preventing suppression in WebProcessProxy using RefCounter
barraclough@apple.com [Fri, 12 Dec 2014 05:15:48 +0000 (05:15 +0000)]
Track pages preventing suppression in WebProcessProxy using RefCounter
https://bugs.webkit.org/show_bug.cgi?id=139108

Reviewed by Benjamin Poulain.

The networking process is allowed to app nap if all web pages are also currently in app nap.
In order to detect whether any page in any process currently requires the networking process
to be active we:
 - maintain hash sets in every WebProcessProxy of pages that are okay with suppression.
 - if anything changes, the WebContext iterates every WebProcessProxy to recompute state.

This is all crazy - all we actually need is a simple count of the number of pages that need
to prevent the networking process from entering app nap. This patch gets us half way there -
replace the HashSet with a RefCounter. Next step will be to hoist the RefCounters from the
process proxies up to the context to do away with the iteration.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
    - make sure we prevent process suppression, per current viewstate & preferences.
(WebKit::WebPageProxy::dispatchViewStateChange):
    - make sure we prevent process suppression, per viewstate change.
(WebKit::WebPageProxy::updateProccessSuppressionState):
    - recompute whether we need to prevent process suppression.
(WebKit::WebPageProxy::preferencesDidChange):
    - when preferences change process supression may be disabled.
(WebKit::WebPageProxy::resetStateAfterProcessExited):
    - we need to drop the old ref, to allow a new one to be taken when we reattach.
(WebKit::WebPageProxy::isProcessSuppressible): Deleted.
    - moreged into updateProccessSuppressionState.
* UIProcess/WebPageProxy.h:
    - added m_preventProcessSuppression.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
    - initialize m_pagesPreventingSuppression
(WebKit::WebProcessProxy::createWebPage):
    - moved to WebPageProxy::WebPageProxy
(WebKit::WebProcessProxy::addExistingWebPage):
    - moved to WebPageProxy::reattachToWebProcess
(WebKit::WebProcessProxy::removeWebPage):
    - now implicit; when the page is destroyed the RefPtr will release.
(WebKit::WebProcessProxy::pageSuppressibilityChanged): Deleted.
    - moved to WebPageProxy::dispatchViewStateChange.
(WebKit::WebProcessProxy::pagePreferencesChanged): Deleted.
    - moved to WebPageProxy::preferencesDidChange.
* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::preventProcessSuppressionForPage):
    - reference count m_pagesPreventingSuppression
* UIProcess/mac/WebProcessProxyMac.mm:
(WebKit::WebProcessProxy::allPagesAreProcessSuppressible):
    - converted to use m_pagesPreventingSuppression.
    - removed guard that meant processes with no pages would keep the networking
      process from entering app nap, which made no sense.

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

5 years agoTemporarily use WebCore session storage for transient local storage
andersca@apple.com [Fri, 12 Dec 2014 02:50:08 +0000 (02:50 +0000)]
Temporarily use WebCore session storage for transient local storage
https://bugs.webkit.org/show_bug.cgi?id=139574

Reviewed by Dan Bernstein.

* WebProcess/Storage/StorageNamespaceImpl.h:
Change the header guard so it won't conflict with StorageNamespaceImpl.h in WebCore.

* WebProcess/Storage/WebStorageNamespaceProvider.cpp:
(WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace):
Use the WebCore session storage for now, to avoid crashes.

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

5 years agoNeed a regression test for bug 139533
msaboff@apple.com [Fri, 12 Dec 2014 02:41:57 +0000 (02:41 +0000)]
Need a regression test for bug 139533
https://bugs.webkit.org/show_bug.cgi?id=139572

Reviewed by Mark Lam.

* js/regress-139533-expected.txt: Added.
* js/regress-139533.html: Added.
* js/script-tests/regress-139533.js: Added.
(.inner):
(outer):
(MyNumber):
(MyNumber.prototype.toString):

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

5 years agoWeb Inspector: Crash when trying to inspect LocalStorage
joepeck@webkit.org [Fri, 12 Dec 2014 02:26:36 +0000 (02:26 +0000)]
Web Inspector: Crash when trying to inspect LocalStorage
https://bugs.webkit.org/show_bug.cgi?id=139573

Reviewed by Anders Carlsson.

Move away from PageGroup::localStorage and instead to StorageNamespaceProvider.
This matches what DOMWindow::localStorage does to get the StorageArea for a document.

* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::findStorageArea):

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

5 years agoFix a leak introduced in r177199.
mitz@apple.com [Fri, 12 Dec 2014 02:16:22 +0000 (02:16 +0000)]
Fix a leak introduced in r177199.

Reviewed by Anders Carlsson.

* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _updateImmediateActionItem]):

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

5 years agoTransform-style should not kill position:fixed
simon.fraser@apple.com [Fri, 12 Dec 2014 01:59:37 +0000 (01:59 +0000)]
Transform-style should not kill position:fixed
https://bugs.webkit.org/show_bug.cgi?id=138122

Reviewed by Dean Jackson.

Source/WebCore:

Various bits of rendering code checked RenderObject::hasTransform() for various
reasons. Confusingly, this meant "has transform, or preserve-3d, or perspective".

This patch teases those behaviors apart to produce the following behavior:

1. "transform" acts as containing block for fixed position (no behavior change).
2. "transform" acts as containing block for absolute/relative position (no behavior change).
3. "perspective" does not act as containing block for fixed position (no behavior change).
4. "perspective" acts as containing block for absolute/relative position (no behavior change).
5. "preserve-3d" does not act as containing block for fixed position (behavior change).
6. "preserve-3d" acts as containing block for absolute/relative position. This is not a
behavior change, but seems like incorrect behavior (https://www.w3.org/Bugs/Public/show_bug.cgi?id=27566).
However, we may be forced to keep it for compatibility.

The gist of the change is to rename RenderObject::hasTransform() to RenderObject::hasTransformRelatedProperty(),
and add hasTransform() with the more restrictive meaning. All call sites of hasTransform() were examined
and fixed to produce the desired behaviors.

Tests: transforms/2d/perspective-not-fixed-container.html
       transforms/2d/preserve3d-not-fixed-container.html
       transforms/perspective-is-containing-block-for-absolute.html
       transforms/preserve3d-is-containing-block-for-absolute.html
       transforms/transform-is-containing-block-for-absolute.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::computedTransform): Now we can just test hasTransform().
* rendering/LogicalSelectionOffsetCaches.h:
(WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): For now, this
can just use hasTransformRelatedProperty(), but if we change [6] above this will have
to change (as documented in the comment). Also FIXME comments about sharing code.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::updateFromStyle):
(WebCore::RenderBox::mapLocalToContainer): Can just use hasTransform() now.
(WebCore::RenderBox::pushMappingToContainer): Ditto.
(WebCore::RenderBox::mapAbsoluteToLocalPoint): Ditto.
(WebCore::RenderBox::layoutOverflowRectForPropagation): Ditto.
* rendering/RenderBox.h: All transform-related properties create RenderLayers.
* rendering/RenderBoxModelObject.h: Ditto.
* rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
* rendering/RenderGeometryMap.cpp:
(WebCore::canMapBetweenRenderersViaLayers): Rename to clarify. We need to not map via
layers if we have a perspective (since we need to generate a perspective matrix). It's
OK with preserve-3d though.
(WebCore::RenderGeometryMap::pushMappingsToAncestor):
(WebCore::canMapBetweenRenderers): Deleted.
* rendering/RenderInline.cpp:
(WebCore::RenderInline::updateFromStyle):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateTransform): Can just check hasTransform().
(WebCore::RenderLayer::updateLayerPosition): Avoid calling parent() and enclosingPositionedAncestor() twice.
(WebCore::RenderLayer::perspectiveTransform): Do the fast bit check hasTransformRelatedProperty() first.
(WebCore::RenderLayer::perspectiveOrigin): Ditto.
(WebCore::isContainerForPositioned): This code has to now have different behavior for absolute and fixed
position. Changed it to call existing functions, rather than having a 3rd place that has to know about
containing block rules.
(WebCore::RenderLayer::enclosingAncestorForPosition): Call isContainerForPositioned() now.
(WebCore::accumulateOffsetTowardsAncestor): Call enclosingAncestorForPosition().
(WebCore::RenderLayer::createLocalTransformState):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::isPositionedContainer): Deleted.
(WebCore::isFixedPositionedContainer): Deleted.
(WebCore::RenderLayer::enclosingPositionedAncestor): Deleted.
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleDidChange):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::shouldUseTransformFromContainer): Can just check hasTransform() now.
(WebCore::RenderObject::container):
* rendering/RenderObject.h:
(WebCore::RenderObject::hasTransformRelatedProperty):
(WebCore::RenderObject::hasTransform):
(WebCore::RenderObject::setHasTransformRelatedProperty):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::setHasTransform): Deleted.
* rendering/RenderTableRow.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::mapLocalToContainer): nullptr goodness.
(WebCore::RenderView::pushMappingToContainer): Ditto.
(WebCore::RenderView::mapAbsoluteToLocalPoint): Ditto.

LayoutTests:

New tests and updated results:

* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Progression, caused
by RenderLayerBacking::updateCompositedBounds() now allowing shouldClipCompositedBounds on
preserve-3d layers, since they are no longer considered to have a transform.
* platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Ditto.
* transforms/2d/perspective-not-fixed-container-expected.html: Added.
* transforms/2d/perspective-not-fixed-container.html: Added. Tests that
perspective does not act as containing block for fixed position (not a behavior change).
* transforms/2d/preserve3d-not-fixed-container-expected.html: Added.
* transforms/2d/preserve3d-not-fixed-container.html: Added. Tests that
preserve3d does not act as containing block for fixed position. This is a behavior change.
* transforms/perspective-is-containing-block-for-absolute-expected.html: Added.
* transforms/perspective-is-containing-block-for-absolute.html: Added. Tests that
perspective is a as containing block for absolute/relative position. This is not a behavior change.
* transforms/preserve3d-is-containing-block-for-absolute-expected.html: Added.
* transforms/preserve3d-is-containing-block-for-absolute.html: Added. Tests that
preserve3d is a as containing block for absolute/relative position. This is not a behavior change,
but seems like incorrect behavior for now.
* transforms/transform-is-containing-block-for-absolute-expected.html: Added.
* transforms/transform-is-containing-block-for-absolute.html: Added. Tests that
transform is a as containing block for absolute/relative position. This is not a behavior change.

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

5 years agoWK1: Need new SPI for Webkit clients to override default immediate action
bdakin@apple.com [Fri, 12 Dec 2014 01:48:45 +0000 (01:48 +0000)]
WK1: Need new SPI for Webkit clients to override default immediate action
https://bugs.webkit.org/show_bug.cgi?id=139568
-and corresponding-
rdar://problem/19225448

Reviewed by Dan Bernstein.

Call SPI giving clients a chance to override the default behavior.
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _updateImmediateActionItem]):

New SPI.
* WebView/WebUIDelegatePrivate.h:

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

5 years ago[iOS] Normalize iOS DeviceOrientation beta/gamma per spec.
benjamin@webkit.org [Fri, 12 Dec 2014 01:41:30 +0000 (01:41 +0000)]
[iOS] Normalize iOS DeviceOrientation beta/gamma per spec.
https://bugs.webkit.org/show_bug.cgi?id=137134
<radr://problem/9414459>

Patch by Rich Tibbett <rich.tibbett@gmail.com> on 2014-12-11
Reviewed by Benjamin Poulain.

Normalize DeviceOrientation beta and gamma on iOS to match the
conventions defined in the W3C DeviceOrientation Events specification.

beta values are returned in the range [-180, 180). gamma values are
returned in the range [-90, 90).

* platform/ios/WebCoreMotionManager.mm:

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

5 years agoUnreviewed, rolling out r177081.
commit-queue@webkit.org [Fri, 12 Dec 2014 01:02:01 +0000 (01:02 +0000)]
Unreviewed, rolling out r177081.
https://bugs.webkit.org/show_bug.cgi?id=139569

broke iOS video playback (Requested by eric_carlson on
#webkit).

Reverted changeset:

"Fix iOS builders for 8.0"
https://bugs.webkit.org/show_bug.cgi?id=139495
http://trac.webkit.org/changeset/177081

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

5 years agoUnreviewed. Fix to build fix in r177134.
roger_fong@apple.com [Fri, 12 Dec 2014 00:59:41 +0000 (00:59 +0000)]
Unreviewed. Fix to build fix in r177134.
* html/canvas/WebGLDrawBuffers.cpp: iOS should query the system for GL extension availability.

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

5 years agoImplement frag depth as a WebGL 1 extension.
roger_fong@apple.com [Fri, 12 Dec 2014 00:56:33 +0000 (00:56 +0000)]
Implement frag depth as a WebGL 1 extension.
https://bugs.webkit.org/show_bug.cgi?id=133635.
<rdar://problem/19195381>
Reviewed by Dean Jackson.
Test:
webgl/1.0.3/conformance/extensions/ext-frag-depth.html
Spec for this extension outlined here:
http://www.khronos.org/registry/webgl/extensions/EXT_frag_depth/
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* html/canvas/EXTFragDepth.cpp: Added.
(WebCore::EXTFragDepth::EXTFragDepth):
(WebCore::EXTFragDepth::~EXTFragDepth):
(WebCore::EXTFragDepth::getName):
* html/canvas/EXTFragDepth.h: Added.
* html/canvas/EXTFragDepth.idl: Added.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
* html/canvas/WebGLRenderingContext.h:
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension):
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::ensureEnabled):

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

5 years agoOptimize RenderElement::rendererForRootBackground() a bit
cdumez@apple.com [Fri, 12 Dec 2014 00:46:19 +0000 (00:46 +0000)]
Optimize RenderElement::rendererForRootBackground() a bit
https://bugs.webkit.org/show_bug.cgi?id=139527

Reviewed by Andreas Kling.

Optimize RenderElement::rendererForRootBackground() a bit by not
calling Document::body(). We are only interested in the child element
with a <body> tag. However, Document::body() first checks if a
<frameset> child is present.

No new tests, no behavior change.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::rendererForRootBackground):

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

5 years agoWK2: Need new SPI for Webkit clients to override default immediate action
bdakin@apple.com [Fri, 12 Dec 2014 00:25:16 +0000 (00:25 +0000)]
WK2: Need new SPI for Webkit clients to override default immediate action
https://bugs.webkit.org/show_bug.cgi?id=139564
-and corresponding-
rdar://problem/19225448

Reviewed by Tim Horton.

New SPI _immediateActionAnimationControllerForHitTestResult:withType:userData:
* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):

Keep at ivar for the userData so that it can be passed to the new SPI.
* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController didPerformActionMenuHitTest:userData:]):

Always give the SPI a chance to override the animationController.
(-[WKImmediateActionController _updateImmediateActionItem]):

Need to mark WKImmediateActionTypes.h as Private.
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agobmalloc should support system memory analysis tools (part 2)
ggaren@apple.com [Fri, 12 Dec 2014 00:22:41 +0000 (00:22 +0000)]
bmalloc should support system memory analysis tools (part 2)
https://bugs.webkit.org/show_bug.cgi?id=139565

Reviewed by Mark Lam.

This patch actually queries the environment to see if memory analysis
tools have been enabled.

* bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::scavenge): Don't process the object log if
we've disabled bmalloc because it will be full of invalid nullptrs.

* bmalloc/Environment.cpp:
(bmalloc::isMallocEnvironmentVariableSet): Test for the list of known
Malloc debugging flags. I also added a plain "Malloc" catch-all for
when you want to disable bmalloc without enabling any kind of funny
business.

It would be slightly nicer just to iterate the list of environment
variables and strstr them, but getenv is the more portable option,
and performance here doesn't really matter.

(bmalloc::isLibgmallocEnabled): Test for the libgmalloc insertion
environment variable.

(bmalloc::Environment::computeIsBmallocEnabled):

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

5 years agoRemove DataCue "text" attribute
b.long@cablelabs.com [Fri, 12 Dec 2014 00:18:09 +0000 (00:18 +0000)]
Remove DataCue "text" attribute
https://bugs.webkit.org/show_bug.cgi?id=139461

Reviewed by Eric Carlson.

Source/WebCore:

* html/track/DataCue.cpp:
* html/track/DataCue.h:
* html/track/DataCue.idl:

LayoutTests:

* media/track/track-datacue-expected.txt:
* media/track/track-datacue.html:

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

5 years ago2014-12-11 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 12 Dec 2014 00:13:53 +0000 (00:13 +0000)]
2014-12-11  Geoffrey Garen  <ggaren@apple.com>

        Try to fix the iOS simulator build.

        #include the declaration of malloc / free.

        * bmalloc/Allocator.cpp:
        * bmalloc/Deallocator.cpp:

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

5 years agoInitialize m_ownsGeneratedFile when decoding a FormDataElement
ap@apple.com [Thu, 11 Dec 2014 23:50:48 +0000 (23:50 +0000)]
Initialize m_ownsGeneratedFile when decoding a FormDataElement
https://bugs.webkit.org/show_bug.cgi?id=139566

Reviewed by Tim Horton.

No tests, because it's random, and I couldn't reproduce an assertion failure in
controlled circumstances.

* platform/network/FormData.h: (WebCore::FormDataElement::decode): A newly created
FormDataElement by definition doesn't own the file.

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

5 years agofast/workers/worker-constructor.html frequently crashes
ap@apple.com [Thu, 11 Dec 2014 23:28:11 +0000 (23:28 +0000)]
fast/workers/worker-constructor.html frequently crashes
https://bugs.webkit.org/show_bug.cgi?id=139548

* TestExpectations: Skip it again, it definitely crashes for real, even though
we can't reproduce locally.

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

5 years agoMove the preview popover to WebImmediateActionController
timothy_horton@apple.com [Thu, 11 Dec 2014 23:11:41 +0000 (23:11 +0000)]
Move the preview popover to WebImmediateActionController
https://bugs.webkit.org/show_bug.cgi?id=139563
<rdar://problem/19208291>

Reviewed by Beth Dakin.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForLink]):
(-[WebActionMenuController menuItem:viewAtScreenPoint:]): Deleted.
(-[WebActionMenuController menuItem:previewItemAtPoint:]): Deleted.
(-[WebActionMenuController menuItem:preferredEdgeForPoint:]): Deleted.
* WebView/WebImmediateActionController.h:
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController webViewClosed]):
(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WebImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WebImmediateActionController _updateImmediateActionItem]):
(-[WebImmediateActionController menuItem:viewAtScreenPoint:]):
(-[WebImmediateActionController menuItem:previewItemAtPoint:]):
(-[WebImmediateActionController menuItem:preferredEdgeForPoint:]):
Move page preview popover related code to WebImmediateActionController.

* WebView/WebUIDelegatePrivate.h:
Add a link preview type.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Pass the gesture recognizer to the WebImmediateActionController.

* UIProcess/mac/WKImmediateActionController.h:
Remove an unnecessary forward declaration.

* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController willDestroyView:]):
Clear the immediate action recognizer when the view goes away.

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

5 years agoFix Windows build.
andersca@apple.com [Thu, 11 Dec 2014 22:59:42 +0000 (22:59 +0000)]
Fix Windows build.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:

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