1 2014-12-19 Myles C. Maxfield <mmaxfield@apple.com>
3 [SVG -> OTF Converter] Make placeholders more robust
4 https://bugs.webkit.org/show_bug.cgi?id=139836
6 Reviewed by Dan Bernstein.
8 This patch creates a Placeholder object which hides the complexity of
9 populating offsets to subtables.
11 No new tests because there is no behavior change.
13 * svg/SVGToOTFFontConversion.cpp:
14 (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder):
15 (WebCore::SVGToOTFFontConverter::Placeholder::populate):
16 (WebCore::SVGToOTFFontConverter::Placeholder::~Placeholder):
17 (WebCore::SVGToOTFFontConverter::appendArabicReplacementSubtable):
18 (WebCore::SVGToOTFFontConverter::appendGSUBTable):
20 2014-12-19 Chris Dumez <cdumez@apple.com>
22 Fix initial / inherit support for '-webkit-perspective-origin' CSS property
23 https://bugs.webkit.org/show_bug.cgi?id=139843
25 Reviewed by Simon Fraser.
27 Fix initial / inherit support for '-webkit-perspective-origin' CSS
28 property. These previously had no effect.
30 This patch updates the code to be consistent with
31 '-webkit-transform-origin' and gets rid of the code in
32 DeprecatedStyleBuilder as it isn't used.
34 Test: fast/css/perspective-origin-initial-inherit.html
36 * css/DeprecatedStyleBuilder.cpp:
37 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
38 (WebCore::ApplyPropertyPerspectiveOrigin::applyInheritValue): Deleted.
39 (WebCore::ApplyPropertyPerspectiveOrigin::applyInitialValue): Deleted.
40 (WebCore::ApplyPropertyPerspectiveOrigin::applyValue): Deleted.
41 (WebCore::ApplyPropertyPerspectiveOrigin::createHandler): Deleted.
42 * css/StyleProperties.cpp:
43 (WebCore::StyleProperties::getPropertyValue):
44 (WebCore::StyleProperties::asText):
45 * css/StylePropertyShorthand.cpp:
46 (WebCore::webkitPerspectiveOriginShorthand):
47 (WebCore::shorthandForProperty):
48 (WebCore::matchingShorthandsForLonghand):
49 * css/StylePropertyShorthand.h:
50 * css/StyleResolver.cpp:
51 (WebCore::StyleResolver::applyProperty):
53 2014-12-19 Commit Queue <commit-queue@webkit.org>
55 Unreviewed, rolling out r177599.
56 https://bugs.webkit.org/show_bug.cgi?id=139846
58 this breaks so many things (Requested by thorton_ on #webkit).
62 "TextIndicator's window can be pushed down if it intersects
64 https://bugs.webkit.org/show_bug.cgi?id=139841
65 http://trac.webkit.org/changeset/177599
67 2014-12-19 Timothy Horton <timothy_horton@apple.com>
69 TextIndicator's window can be pushed down if it intersects the menu bar
70 https://bugs.webkit.org/show_bug.cgi?id=139841
71 <rdar://problem/19311017>
73 Reviewed by Anders Carlsson.
75 * page/mac/TextIndicatorWindow.mm:
76 (WebCore::TextIndicatorWindow::setTextIndicator):
77 Ensure that the textIndicatorWindow sits above the menubar, and re-set
78 its frame so that it moves under the menubar if required.
80 2014-12-19 Anders Carlsson <andersca@apple.com>
82 Use WebCore::MachSendRights for the compositing render server port
83 https://bugs.webkit.org/show_bug.cgi?id=139834
85 Reviewed by Tim Horton.
89 2014-12-19 Chris Dumez <cdumez@apple.com>
91 [iOS] Log how often media element playback happens using FeatureCounter
92 https://bugs.webkit.org/show_bug.cgi?id=139819
93 <rdar://problem/19309988>
95 Reviewed by Eric Carlson.
97 Log using FeatureCounter how often we start loading for audio / video
98 elements, and how often they end up being played.
100 * html/HTMLMediaElement.cpp:
101 (WebCore::HTMLMediaElement::HTMLMediaElement):
102 Add flag to identify when a media element starts playing for the first
105 (WebCore::HTMLMediaElement::loadResource):
106 Log when a media element starts loading.
108 (WebCore::HTMLMediaElement::updatePlayState):
109 Log when a media element starts playing for the first time.
111 * html/HTMLMediaElement.h:
112 Add flag to identify when a media element starts playing for the first
115 * platform/FeatureCounterKeys.h:
116 Add FeatureCounter keys for HTMLMediaElement loading / playback.
118 2014-12-19 Andreas Kling <akling@apple.com>
120 Ref-ify TextIterator API.
121 <https://webkit.org/b/139823>
123 Reviewed by Antti Koivisto.
125 Change TextIterator functions that always return Range objects to return
126 Ref<Range> instead of PassRefPtr<Range>.
128 One API (rangeFromLocationAndLength) may return nullptr, so its return type
129 is now RefPtr<Range>.
131 * editing/TextIterator.cpp:
132 (WebCore::TextIterator::range):
133 (WebCore::TextIterator::node):
134 (WebCore::SimplifiedBackwardsTextIterator::range):
135 (WebCore::CharacterIterator::range):
136 (WebCore::characterSubrange):
137 (WebCore::BackwardsCharacterIterator::range):
138 (WebCore::TextIterator::subrange):
139 (WebCore::TextIterator::rangeFromLocationAndLength):
140 (WebCore::TextIterator::getLocationAndLengthFromRange):
141 (WebCore::collapsedToBoundary):
142 (WebCore::findPlainText):
143 * editing/TextIterator.h:
145 2014-12-19 Joseph Pecoraro <pecoraro@apple.com>
147 Web Inspector: CRASH in inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html
148 https://bugs.webkit.org/show_bug.cgi?id=139792
150 Reviewed by Timothy Hatcher.
152 * bindings/js/WorkerScriptDebugServer.cpp:
153 (WebCore::WorkerScriptDebugServer::removeListener):
154 When removing listeners, we could be during WorkerGlobalObject shutdown
155 and WorkerGlobalObject::script may be null.
157 * workers/WorkerMessagingProxy.cpp:
158 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
159 (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
160 This postTask may happen after m_pageInspector has been cleared, so
161 only execute it if m_pageInspector is still valid.
163 2014-12-19 Chris Dumez <cdumez@apple.com>
165 Drop useless HTMLMediaElement::m_previousProgress member
166 https://bugs.webkit.org/show_bug.cgi?id=139822
168 Reviewed by Eric Carlson.
170 Drop HTMLMediaElement::m_previousProgress member and it is not used or
173 * html/HTMLMediaElement.h:
175 2014-12-19 Chris Dumez <cdumez@apple.com>
177 [iOS] Log how successful the memory cache is using FeatureCounter
178 https://bugs.webkit.org/show_bug.cgi?id=139802
180 Reviewed by Andreas Kling.
182 Log how successful the memory cache is using FeatureCounter and why we
183 choose not to use the resource in the memory cache when it is present.
185 * loader/cache/CachedResourceLoader.cpp:
186 (WebCore::CachedResourceLoader::requestResource):
187 (WebCore::CachedResourceLoader::determineRevalidationPolicy):
188 * platform/FeatureCounterKeys.h:
190 2014-12-19 Commit Queue <commit-queue@webkit.org>
192 Unreviewed, rolling out r177574.
193 https://bugs.webkit.org/show_bug.cgi?id=139821
195 "Broke Production builds by installing
196 libWebCoreTestSupport.dylib in the wrong directory" (Requested
197 by ddkilzer on #webkit).
201 "Switch from using PLATFORM_NAME to SDK selectors in WebCore,
202 WebInspectorUI, WebKit, WebKit2"
203 https://bugs.webkit.org/show_bug.cgi?id=139463
204 http://trac.webkit.org/changeset/177574
206 2014-12-19 Said Abou-Hallawa <sabouhallawa@apple.com>
208 Only when the SVG is inline and only when a shape is referenced before it is defined, this shape will not be drawn.
209 https://bugs.webkit.org/show_bug.cgi?id=139451.
211 Reviewed by Antti Koivisto.
213 Tests: svg/in-html/defs-after-use.html.
215 When parsing the children of an SVG element is finished, we need to notify the
216 other SVG elements which have incomplete shadow trees because of early referencing
217 to this element. The referencing elements need to rebuild their shadow trees and
218 make new copies of the this element and its sub-tree.
220 This is the case where a <use> tag references target elements before these target
221 elements are defined. Updating the shadow DOM tree of a <use> element should update
222 the corresponding shadow render tree as well.
224 * svg/SVGElement.cpp:
225 (WebCore::SVGElement::finishParsingChildren):
226 Invalidate all the referencing elements of a target element whose sub-tree has
227 just finished parsing.
229 2014-12-19 David Kilzer <ddkilzer@apple.com>
231 Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
232 <http://webkit.org/b/139463>
234 Reviewed by Mark Rowe.
236 Also remove all uses of SQLITE3_HEADER_SEARCH_PATHS and
237 WEBCORE_SQLITE3_HEADER_SEARCH_PATHS which were phased out in
238 r132859 and needed for Leopard.
240 * Configurations/Base.xcconfig:
241 - Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
243 - Set GCC_OPTIMIZATION_LEVEL_normal based on SDK.
244 - Simplify SQLITE3_HEADER_SEARCH_PATHS.
245 * Configurations/DebugRelease.xcconfig:
246 - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
247 * Configurations/Version.xcconfig:
248 - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
249 * Configurations/WebCore.xcconfig:
250 - Set EXPORTED_SYMBOLS_FILE_i386, EXPORTED_SYMBOLS_FILE_x86_64,
251 FRAMEWORK_SEARCH_PATHS, INSTALL_PATH, DYLIB_INSTALL_NAME_BASE,
252 OTHER_LDFLAGS, SECTORDER_FLAGS, NORMAL_WEBCORE_FRAMEWORKS_DIR,
253 WEBCORE_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR,
254 PRODUCTION_FRAMEWORKS_DIR,
255 JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production and
256 EXCLUDED_SOURCE_FILE_NAMES based on SDK.
257 - Make sure DYLIB_INSTALL_NAME_BASE and OTHER_LDFLAGS are
258 overrideable by WebCoreTestSupport.xcconfig.
259 * Configurations/WebCoreTestSupport.xcconfig:
260 - Set PRIVATE_HEADERS_FOLDER_PATH_Production and
261 INSTALL_PATH_Production based on SDK.
262 - Override SECT_ORDER_FLAGS from WebCore.xcconfig.
264 2014-12-19 Chris Dumez <cdumez@apple.com>
266 Clean up StyleBuilderCustom and DeprecatedStyleBuilder
267 https://bugs.webkit.org/show_bug.cgi?id=139807
269 Reviewed by Antti Koivisto.
271 Clean up StyleBuilderCustom and DeprecatedStyleBuilder.
273 * css/DeprecatedStyleBuilder.cpp:
275 - Remove unnecessary header includes.
277 (WebCore::ApplyPropertyPerspectiveOrigin::applyInheritValue):
278 (WebCore::ApplyPropertyPerspectiveOrigin::applyInitialValue):
279 (WebCore::ApplyPropertyPerspectiveOrigin::applyValue):
280 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
281 (WebCore::ApplyPropertyExpanding::applyInheritValue): Deleted.
282 (WebCore::ApplyPropertyExpanding::applyInitialValue): Deleted.
283 (WebCore::ApplyPropertyExpanding::applyValue): Deleted.
284 (WebCore::ApplyPropertyExpanding::createHandler): Deleted.
286 - Rename ApplyPropertyExpanding to ApplyPropertyPerspectiveOrigin as
287 PerspectiveOrigin is the only remaining user of this class. This also
288 allows us to simplify the implementation a lot.
290 (WebCore::ApplyPropertyDefaultBase::setValue): Deleted.
291 (WebCore::ApplyPropertyDefaultBase::value): Deleted.
292 (WebCore::ApplyPropertyDefaultBase::initial): Deleted.
293 (WebCore::ApplyPropertyDefaultBase::applyInheritValue): Deleted.
294 (WebCore::ApplyPropertyDefaultBase::applyInitialValue): Deleted.
295 (WebCore::ApplyPropertyDefaultBase::applyValue): Deleted.
297 - There is no longer any user of this templated class.
299 * css/StyleBuilderCustom.h:
301 - Introduce a macro that declares all 3 handlers (inherit, initial and
302 value) in the StyleBuilderCustom class. This greatly reduces the
303 number of lines in this class.
304 - Also alphabetize the handlers.
306 2014-12-18 Jeremy Jones <jeremyj@apple.com>
308 dispatch to main thread before accessing playerController() in WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse
309 https://bugs.webkit.org/show_bug.cgi?id=139809
311 Reviewed by Dan Bernstein.
313 This prevents a race in playerController().
315 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
316 (WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse):
318 2014-12-18 Jessie Berlin <jberlin@webkit.org>
320 More speculative build fixing.
324 2014-12-18 Andreas Kling <akling@apple.com>
326 Ref-ify various Document-related things.
327 <https://webkit.org/b/139796>
329 Reviewed by Anders Carlsson.
331 * bindings/objc/DOMHTML.mm:
332 (-[DOMHTMLDocument createDocumentFragmentWithText:]):
333 * dom/CDATASection.cpp:
334 (WebCore::CDATASection::create):
335 (WebCore::CDATASection::virtualCreate):
336 * dom/CDATASection.h:
338 (WebCore::Comment::create):
341 (WebCore::Document::create):
342 (WebCore::Document::createDocumentFragment):
343 (WebCore::Document::createTextNode):
344 (WebCore::Document::createComment):
345 (WebCore::Document::createEditingTextNode):
346 (WebCore::Document::createCSSStyleDeclaration):
347 (WebCore::Document::createElement):
348 (WebCore::Document::createRange):
349 (WebCore::Document::createParser):
350 (WebCore::Document::cloneNodeInternal):
351 (WebCore::Document::cloneDocumentWithoutChildren):
353 (WebCore::Document::create):
354 (WebCore::Document::createXHTML):
355 (WebCore::Document::createNonRenderedPlaceholder):
356 * dom/DocumentFragment.cpp:
357 (WebCore::DocumentFragment::create):
358 * dom/DocumentFragment.h:
359 * dom/DocumentType.h:
360 * dom/EntityReference.cpp:
361 (WebCore::EntityReference::create):
362 * dom/EntityReference.h:
364 (WebCore::Text::create):
365 (WebCore::Text::createEditingText):
366 (WebCore::Text::splitText):
367 (WebCore::Text::virtualCreate):
368 (WebCore::Text::createWithLengthLimit):
370 * editing/markup.cpp:
371 (WebCore::replaceChildrenWithText):
372 * html/FTPDirectoryDocument.cpp:
373 (WebCore::FTPDirectoryDocument::createParser):
374 * html/FTPDirectoryDocument.h:
375 * html/HTMLDocument.cpp:
376 (WebCore::HTMLDocument::createParser):
377 (WebCore::HTMLDocument::cloneDocumentWithoutChildren):
378 * html/HTMLDocument.h:
379 (WebCore::HTMLDocument::create):
380 (WebCore::HTMLDocument::createSynthesizedDocument):
381 * html/ImageDocument.cpp:
382 (WebCore::ImageDocument::createParser):
383 * html/ImageDocument.h:
384 * html/MediaDocument.cpp:
385 (WebCore::MediaDocument::createParser):
386 * html/MediaDocument.h:
387 * html/PluginDocument.cpp:
388 (WebCore::PluginDocument::createParser):
389 * html/PluginDocument.h:
390 * html/TextDocument.cpp:
391 (WebCore::TextDocument::createParser):
392 * html/TextDocument.h:
393 * html/parser/HTMLConstructionSite.cpp:
394 (WebCore::HTMLConstructionSite::insertTextNode):
395 * html/parser/HTMLDocumentParser.h:
396 (WebCore::HTMLDocumentParser::create):
397 * loader/SinkDocument.cpp:
398 (WebCore::SinkDocument::createParser):
399 * loader/SinkDocument.h:
400 * svg/SVGDocument.cpp:
401 (WebCore::SVGDocument::cloneDocumentWithoutChildren):
403 * xml/parser/XMLDocumentParser.h:
404 (WebCore::XMLDocumentParser::create):
405 * xml/parser/XMLDocumentParserLibxml2.cpp:
406 (WebCore::XMLParserContext::createStringParser):
407 (WebCore::XMLParserContext::createMemoryParser):
409 2014-12-18 Anders Carlsson <andersca@apple.com>
411 Use MachSendRight in WebKit2
412 https://bugs.webkit.org/show_bug.cgi?id=139800
414 Reviewed by Tim Horton.
417 * platform/cocoa/MachSendRight.h:
418 (WebCore::MachSendRight::MachSendRight):
419 (WebCore::MachSendRight::sendRight):
420 * platform/graphics/cocoa/IOSurface.h:
421 * platform/graphics/cocoa/IOSurface.mm:
422 (IOSurface::createFromSendRight):
423 (IOSurface::createFromMachPort): Deleted.
425 2014-12-18 Gavin Barraclough <barraclough@apple.com>
427 Add strong typing to RefCounter interface, return value as a bool.
428 https://bugs.webkit.org/show_bug.cgi?id=139776
430 Reviewed by Geoff Garen.
432 Currently all token vended by a RefCounter have the same type - Ref<RefCounter::Count>.
433 This means there is no compile time type checking to prevent mistakes. Update the count()
434 method to token<>(), templated on type used to identify the token being returned.
435 Calls to token<T>() will return a result of type RefCounter::Token<T>.
437 There are a few problems with the fact the counter will return you an exact count of the
438 number of outstanding tokens:
439 - It is desirable to only fire the callback on zero-edge changes; it is more consistent
440 to do so if the value is only readable as a boolean.
441 - It is desirable to provide the value as an argument to the callback, however to make
442 this useful for integer values it is also necessary to indicate the direction of change
443 (0->1 is often interesting where 2->1 is not).
444 - There is a mismatch between the precision of returning a count, and the inherent
445 imprecision of a token based mechanism, where it may be difficult to guarantee
446 absolutely no unnecessary refcount churn, and thus unintentional counter values.
448 * page/PageThrottler.cpp:
449 (WebCore::m_mediaActivityCounter):
450 (WebCore::m_pageLoadActivityCounter):
451 - lambdas now passed the value.
452 (WebCore::PageThrottler::mediaActivityToken):
453 (WebCore::PageThrottler::pageLoadActivityToken):
454 - count() -> token<>().
455 * page/PageThrottler.h:
456 - specify tpoken type for PageActivityAssertionToken.
458 2014-12-18 Benjamin Poulain <bpoulain@apple.com>
460 HTMLFormControlElement and HTMLObjectElement need not to look for an ancestor on construction
461 https://bugs.webkit.org/show_bug.cgi?id=139791
463 Reviewed by Alexey Proskuryakov.
465 The objects are being constructed, they have not been inserted into the tree yet.
466 There is not chance of finding the owner form at this point,
467 that is done when inserting the node into the tree.
469 * html/HTMLFormControlElement.cpp:
470 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
471 * html/HTMLObjectElement.cpp:
472 (WebCore::HTMLObjectElement::HTMLObjectElement):
474 2014-12-18 Chris Fleizach <cfleizach@apple.com>
476 AX: Recursive crash at WebCore::accessibleNameForNode
477 https://bugs.webkit.org/show_bug.cgi?id=139616
479 Reviewed by Mario Sanchez Prada.
481 An image that uses aria-labelledby to reference its own parent can lead to a recursion crash.
482 There needs to be some information we can pass through these methods to ensure we don't hit this case.
484 Test: accessibility/accessibility-description-crash.html
486 * accessibility/AccessibilityNodeObject.cpp:
487 (WebCore::AccessibilityNodeObject::alternativeText):
488 (WebCore::AccessibilityNodeObject::textUnderElement):
489 (WebCore::accessibleNameForNode):
490 (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
491 * accessibility/AccessibilityObject.h:
492 (WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
494 2014-12-18 Chris Fleizach <cfleizach@apple.com>
496 AX: Heuristic: Avoid exposing an element as clickable if mouse event delegation is handled on an element with any explicit ARIA role, including presentation.
497 https://bugs.webkit.org/show_bug.cgi?id=133613
499 Reviewed by Mario Sanchez Prada.
501 This adds a heuristic to avoid a problem we have where too many objects that say they respond to press actions for accessibility.
502 It results from people installing click handlers on container nodes and then lots of static text objects are "clickable" in the eyes of VoiceOver.
504 What we can do is avoid this determination if the element is presentational.
506 Test: platform/mac/accessibility/press-action-for-presentational-descendants.html
508 * accessibility/AccessibilityObject.cpp:
509 (WebCore::nodeHasPresentationRole):
510 (WebCore::AccessibilityObject::supportsPressAction):
511 * accessibility/AccessibilityObject.h:
512 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
513 (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
515 2014-12-18 Chris Fleizach <cfleizach@apple.com>
517 AX: event.target should sometimes be a descendant element on AXPress-triggered mouse clicks
518 https://bugs.webkit.org/show_bug.cgi?id=135689
520 Reviewed by Mario Sanchez Prada.
522 When trying to find the right sub-node to target, we need to go back up the parent chain to find
523 an Element, in case we land on a Text node for example.
525 Test: accessibility/press-target-uses-text-descendant-node.html
527 * accessibility/AccessibilityObject.cpp:
528 (WebCore::AccessibilityObject::press):
530 2014-12-16 Sam Weinig <sam@webkit.org>
532 Unify the Mac and iOS implementations of FontPlatformData a bit
533 https://bugs.webkit.org/show_bug.cgi?id=139721
535 Reviewed by Anders Carlsson.
537 This is a first pass of unifying the Mac and iOS implementations of FontPlatformData.
539 - Change the storage of the platform font to be CTFontRef across the board. Adds NSFont
540 setter/getter/constructor as a temporary measures during the transition away from NSFont.
541 - Removes duplicate code that only differed by whether the type was NSFont or CTFontRef.
542 - Reduces the number of #ifdefs.
544 * platform/graphics/FontPlatformData.cpp:
545 (WebCore::FontPlatformData::FontPlatformData):
546 (WebCore::FontPlatformData::operator=):
547 (WebCore::FontPlatformData::openTypeTable): Deleted.
548 * platform/graphics/FontPlatformData.h:
549 (WebCore::FontPlatformData::nsFont):
550 (WebCore::FontPlatformData::setNSFont):
551 (WebCore::FontPlatformData::hash):
552 (WebCore::FontPlatformData::operator==):
553 (WebCore::FontPlatformData::isHashTableDeletedValue):
554 (WebCore::toCTFontRef): Deleted.
555 (WebCore::FontPlatformData::font): Deleted.
556 (WebCore::FontPlatformData::roundsGlyphAdvances): Deleted.
557 (WebCore::FontPlatformData::cgFont): Deleted.
558 (WebCore::FontPlatformData::hashTableDeletedFontValue): Deleted.
559 * platform/graphics/SimpleFontData.h:
560 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
561 (WebCore::FontPlatformData::FontPlatformData):
562 (WebCore::FontPlatformData::~FontPlatformData):
563 (WebCore::FontPlatformData::platformDataInit):
564 (WebCore::FontPlatformData::platformDataAssign):
565 (WebCore::FontPlatformData::setFont):
566 (WebCore::FontPlatformData::roundsGlyphAdvances):
567 (WebCore::FontPlatformData::allowsLigatures):
568 (WebCore::FontPlatformData::ctFont):
569 (WebCore::FontPlatformData::openTypeTable):
570 (WebCore::FontPlatformData::loadFont): Deleted.
571 * platform/graphics/mac/FontCacheMac.mm:
572 (WebCore::FontCache::systemFallbackForCharacters):
573 * platform/graphics/mac/FontMac.mm:
574 (WebCore::Font::drawGlyphs):
575 * platform/graphics/mac/SimpleFontDataMac.mm:
576 (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
577 (WebCore::SimpleFontData::platformInit):
578 (WebCore::SimpleFontData::platformCreateScaledFontData):
579 (WebCore::SimpleFontData::containsCharacters):
580 (WebCore::SimpleFontData::determinePitch):
581 (WebCore::SimpleFontData::renderingStyle):
582 (WebCore::SimpleFontData::advanceForColorBitmapFont):
584 2014-12-18 Anders Carlsson <andersca@apple.com>
588 * platform/cocoa/MachSendRight.cpp:
590 2014-12-18 Timothy Horton <timothy_horton@apple.com>
592 Change page preview loading order, and add a TextIndicator
593 https://bugs.webkit.org/show_bug.cgi?id=139793
594 <rdar://problem/19288547>
596 Reviewed by Beth Dakin.
599 * platform/spi/mac/NSPopoverSPI.h:
600 Add an export and some SPI.
602 2014-12-18 Anders Carlsson <andersca@apple.com>
604 Clean up MachSendRight and add a copySendRight member function
605 https://bugs.webkit.org/show_bug.cgi?id=139788
607 Reviewed by Tim Horton.
609 * platform/cocoa/MachSendRight.cpp:
610 (WebCore::retainSendRight):
611 (WebCore::releaseSendRight):
612 Use mach_error_string.
614 (WebCore::MachSendRight::copySendRight):
615 Create a new send right with the given mach port.
617 (WebCore::MachSendRight::leakSendRight):
620 * platform/cocoa/MachSendRight.h:
622 2014-12-18 Joseph Pecoraro <pecoraro@apple.com>
624 Web Inspector: ASSERT seen closing/opening multiple inspectors
625 https://bugs.webkit.org/show_bug.cgi?id=139783
627 Reviewed by Timothy Hatcher.
629 * inspector/InspectorDOMAgent.cpp:
630 (WebCore::InspectorDOMAgent::nodeForObjectId):
632 2014-12-18 Anders Carlsson <andersca@apple.com>
634 Add a MachSendRight class to WebCore and use it in IOSurface
635 https://bugs.webkit.org/show_bug.cgi?id=139787
637 Reviewed by Tim Horton.
640 * WebCore.xcodeproj/project.pbxproj:
641 * platform/cocoa/MachSendRight.cpp: Added.
642 (WebCore::retainSendRight):
643 (WebCore::releaseSendRight):
644 (WebCore::MachSendRight::adopt):
645 (WebCore::MachSendRight::create):
646 (WebCore::MachSendRight::MachSendRight):
647 (WebCore::MachSendRight::~MachSendRight):
648 (WebCore::MachSendRight::operator=):
649 (WebCore::MachSendRight::leakSendRight):
650 * platform/cocoa/MachSendRight.h: Added.
651 * platform/graphics/cocoa/IOSurface.h:
652 * platform/graphics/cocoa/IOSurface.mm:
653 (IOSurface::createSendRight):
654 (IOSurface::createMachPort): Deleted.
656 2014-12-18 Andreas Kling <akling@apple.com>
658 Ref-ify DOMSettableTokenList.
659 <https://webkit.org/b/139785>
661 Reviewed by Chris Dumez.
663 Make DOMSettableTokenList::create() return a Ref, and have its two client
664 elements store it in a Ref instead of a RefPtr (and fix their getter API
665 to return references.)
667 * html/DOMSettableTokenList.cpp:
668 (WebCore::DOMSettableTokenList::create): Deleted.
669 * html/DOMSettableTokenList.h:
670 * html/HTMLLinkElement.cpp:
671 (WebCore::HTMLLinkElement::sizes): Deleted.
672 * html/HTMLLinkElement.h:
673 * html/HTMLOutputElement.cpp:
674 (WebCore::HTMLOutputElement::htmlFor): Deleted.
675 * html/HTMLOutputElement.h:
677 2014-12-18 Andreas Kling <akling@apple.com>
679 Ref-ify ClientRectList.
680 <https://webkit.org/b/139780>
682 Reviewed by Anders Carlsson.
684 Make the ClientRectList::create() helpers return Ref, along with a bunch
685 of other functions that always return non-null ClientRectLists.
687 Also make ClientRectList store a Vector<Ref<ClientRect>> internally since
688 entries in the Vector are never null.
690 * dom/ClientRectList.cpp:
691 (WebCore::ClientRectList::item):
692 * dom/ClientRectList.h:
693 (WebCore::ClientRectList::create):
695 (WebCore::Element::getClientRects):
698 (WebCore::Range::getClientRects):
701 (WebCore::Page::nonFastScrollableRects):
703 * testing/Internals.cpp:
704 (WebCore::Internals::inspectorHighlightRects):
705 (WebCore::Internals::nonFastScrollableRects):
706 * testing/Internals.h:
708 2014-12-18 Andreas Kling <akling@apple.com>
711 <https://webkit.org/b/139777>
713 Reviewed by Anders Carlsson.
715 Make the ClientRect::create() helpers return Ref, along with a bunch
716 of other functions that always return non-null ClientRects.
719 (WebCore::ClientRect::create):
721 (WebCore::Element::getBoundingClientRect):
724 (WebCore::Range::getBoundingClientRect):
726 * html/track/VTTRegion.cpp:
727 (WebCore::VTTRegion::displayLastTextTrackCueBox):
728 * testing/Internals.cpp:
729 (WebCore::Internals::absoluteCaretBounds):
730 (WebCore::Internals::boundingBox):
731 (WebCore::Internals::selectionBounds):
732 * testing/Internals.h:
734 2014-12-18 Chris Dumez <cdumez@apple.com>
736 [iOS] Log navigation types using FeatureCounter API
737 https://bugs.webkit.org/show_bug.cgi?id=139753
739 Reviewed by Darin Adler.
741 Log navigation types using FeatureCounter API.
743 No new tests, no behavior change other than additional feature
746 * loader/FrameLoader.cpp:
747 (WebCore::logNavigationWithFeatureCounter):
748 (WebCore::FrameLoader::loadWithDocumentLoader):
749 * platform/FeatureCounterKeys.h:
751 2014-12-18 Chris Dumez <cdumez@apple.com>
753 Move 'font-weight' CSS property to the new StyleBuilder
754 https://bugs.webkit.org/show_bug.cgi?id=139765
756 Reviewed by Antti Koivisto.
758 Move 'font-weight' CSS property to the new StyleBuilder by using
761 No new tests, no behavior change.
763 * css/CSSPropertyNames.in:
764 * css/DeprecatedStyleBuilder.cpp:
765 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
766 (WebCore::ApplyPropertyFontWeight::applyValue): Deleted.
767 (WebCore::ApplyPropertyFontWeight::createHandler): Deleted.
768 * css/StyleBuilderCustom.h:
769 (WebCore::StyleBuilderCustom::applyInitialFontWeight):
770 (WebCore::StyleBuilderCustom::applyInheritFontWeight):
771 (WebCore::StyleBuilderCustom::applyValueFontWeight):
773 2014-12-18 Grzegorz Czajkowski <g.czajkowski@samsung.com>
775 Internals methods return 0 instead of false when they fail
776 https://bugs.webkit.org/show_bug.cgi?id=139766
778 Reviewed by Darin Adler.
780 Some Internals method explicitly return 0 although
781 they expect boolean value.
783 No new tests, no behavior change.
785 * testing/Internals.cpp:
786 (WebCore::Internals::hasSpellingMarker):
787 (WebCore::Internals::hasAutocorrectedMarker):
788 (WebCore::Internals::isOverwriteModeEnabled):
789 (WebCore::Internals::hasGrammarMarker):
790 Return false instead of 0.
792 2014-12-18 Chris Dumez <cdumez@apple.com>
794 [iOS] Log why cached resources are being revalidated using FeatureCounter API
795 https://bugs.webkit.org/show_bug.cgi?id=139759
796 <rdar://problem/19288177>
798 Reviewed by Antti Koivisto.
800 Log why cached resources are being revalidated using FeatureCounter API.
801 Also log if revalidation is successful or not.
803 No new tests, no behavior change.
805 * loader/SubresourceLoader.cpp:
806 (WebCore::SubresourceLoader::willSendRequest):
807 (WebCore::SubresourceLoader::didReceiveResponse):
808 * loader/cache/CachedImage.cpp:
809 (WebCore::CachedImage::mustRevalidateDueToCacheHeaders):
810 * loader/cache/CachedImage.h:
811 * loader/cache/CachedResource.cpp:
812 (WebCore::CachedResource::failBeforeStarting):
813 (WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
814 * loader/cache/CachedResource.h:
815 (WebCore::CachedResource::loader):
816 * loader/cache/CachedResourceLoader.cpp:
817 (WebCore::CachedResourceLoader::determineRevalidationPolicy):
818 * platform/FeatureCounterKeys.h:
820 2014-12-18 Antti Koivisto <antti@apple.com>
822 Remove alwaysUseBaselineOfPrimaryFont setting
823 https://bugs.webkit.org/show_bug.cgi?id=139770
825 Reviewed by Anders Carlsson.
827 "FIXME: This is unneeded and should be removed."
829 This iOS-only setting has no clients anymore.
832 * rendering/RootInlineBox.cpp:
833 (WebCore::RootInlineBox::ascentAndDescentForBox):
835 2014-12-18 Radu Stavila <stavila@adobe.com>
837 [SVG Masking] Enable the use of <mask> elements for -webkit-mask-image
838 https://bugs.webkit.org/show_bug.cgi?id=139294
840 Reviewed by Simon Fraser.
842 This patch links together all parts required for the functionality which improves
843 the -webkit-mask-image property by allowing it to reference a <mask> element defined
844 in an inline or external SVG document.
845 Support for this new functionality has been added in a previous patch, under issue
846 https://bugs.webkit.org/show_bug.cgi?id=139092. A more detailed description of how
847 the new functionality works can be found in the ChangeLog for that commit.
848 The containsSVGDocument in ScrollView has been removed because it was added in the
849 previous patch but is no longer required.
851 Tests: css3/masking/mask-base64.html
852 css3/masking/mask-multiple-values.html
853 css3/masking/mask-svg-clipped-fragmentId.html
854 css3/masking/mask-svg-fragmentId.html
855 css3/masking/mask-svg-inline-fragmentId.html
856 css3/masking/mask-svg-inline-invalid-fragmentId.html
857 css3/masking/mask-svg-invalid-fragmentId.html
858 css3/masking/mask-svg-no-fragmentId-tiled.html
859 css3/masking/mask-svg-no-fragmentId.html
860 css3/masking/mask-svg-script-entire-svg-to-mask.html
861 css3/masking/mask-svg-script-mask-to-entire-svg.html
862 css3/masking/mask-svg-script-mask-to-none.html
863 css3/masking/mask-svg-script-mask-to-png.html
864 css3/masking/mask-svg-script-none-to-mask.html
865 css3/masking/mask-svg-script-none-to-png.html
866 css3/masking/mask-svg-script-png-to-mask.html
867 css3/masking/mask-svg-script-png-to-none.html
869 * css/CSSComputedStyleDeclaration.cpp:
870 (WebCore::ComputedStyleExtractor::propertyValue):
872 (WebCore::CSSParser::parseFillShorthand):
873 (WebCore::CSSParser::parseFillProperty):
874 (WebCore::CSSParser::parseMaskImage):
877 * css/DeprecatedStyleBuilder.cpp:
878 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
879 * css/StyleResolver.cpp:
880 (WebCore::StyleResolver::adjustStyleForMaskImages):
881 (WebCore::StyleResolver::applyMatchedProperties):
882 (WebCore::StyleResolver::applyProperty):
883 (WebCore::StyleResolver::loadPendingSVGDocuments):
884 (WebCore::StyleResolver::createMaskImageOperations):
885 (WebCore::StyleResolver::loadPendingImages):
886 * css/StyleResolver.h:
887 * page/FrameView.cpp:
888 (WebCore::FrameView::containsSVGDocument): Deleted.
890 * page/animation/CSSPropertyAnimation.cpp:
891 (WebCore::blendFunc):
892 (WebCore::MaskImagePropertyWrapper::MaskImagePropertyWrapper):
893 (WebCore::MaskImagePropertyWrapper::equals):
894 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
895 * platform/ScrollView.h:
896 (WebCore::ScrollView::containsSVGDocument): Deleted.
897 * platform/graphics/MaskImageOperation.cpp:
898 (WebCore::MaskImageOperation::~MaskImageOperation):
899 (WebCore::MaskImageOperation::operator==):
900 * platform/graphics/MaskImageOperation.h:
901 * rendering/RenderBox.cpp:
902 (WebCore::RenderBox::maskClipRect):
903 * rendering/RenderBox.h:
904 * rendering/RenderBoxModelObject.cpp:
905 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
906 (WebCore::RenderBoxModelObject::calculateFillTileSize):
907 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
908 * rendering/RenderElement.cpp:
909 (WebCore::RenderElement::~RenderElement):
910 (WebCore::RenderElement::updateFillImages):
911 * rendering/RenderLayer.cpp:
912 (WebCore::RenderLayer::calculateClipRects):
913 * rendering/RenderLayer.h:
914 * rendering/RenderLayerMaskImageInfo.cpp:
915 (WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo):
916 (WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients):
917 (WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients):
918 * rendering/RenderLayerMaskImageInfo.h:
919 * rendering/style/FillLayer.cpp:
920 (WebCore::FillLayer::hasImage):
921 * rendering/style/FillLayer.h:
922 (WebCore::FillLayer::image):
923 (WebCore::FillLayer::imageOrMaskImage): Deleted.
924 * rendering/style/RenderStyle.cpp:
925 (WebCore::RenderStyle::setMaskImage):
926 * rendering/style/RenderStyle.h:
928 2014-12-18 Antti Koivisto <antti@apple.com>
930 Stop returning GlyphPage from various Font functions
931 https://bugs.webkit.org/show_bug.cgi?id=139627
933 Reviewed by Darin Adler.
937 std::pair<GlyphData, GlyphPage*> glyphDataAndPage*(...)
939 style functions to just return GlyphData only. The GlyphPage value was only used for an obscure SVG fallback case.
941 * platform/graphics/Font.h:
942 (WebCore::Font::glyphDataForCharacter):
943 (WebCore::Font::glyphDataAndPageForCharacter): Deleted.
944 * platform/graphics/FontGlyphs.cpp:
945 (WebCore::glyphDataForCJKCharacterWithoutSyntheticItalic):
946 (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):
947 (WebCore::FontGlyphs::glyphDataForSystemFallback):
948 (WebCore::FontGlyphs::glyphDataForVariant):
949 (WebCore::FontGlyphs::glyphDataForCharacter):
950 (WebCore::glyphDataAndPageForCJKCharacterWithoutSyntheticItalic): Deleted.
951 (WebCore::glyphDataAndPageForNonCJKCharacterWithGlyphOrientation): Deleted.
952 (WebCore::FontGlyphs::glyphDataAndPageForSystemFallback): Deleted.
953 (WebCore::FontGlyphs::glyphDataAndPageForVariant): Deleted.
954 (WebCore::FontGlyphs::glyphDataAndPageForCharacter): Deleted.
955 * platform/graphics/FontGlyphs.h:
956 (WebCore::FontGlyphs::GlyphPagesStateSaver::GlyphPagesStateSaver): Deleted.
957 (WebCore::FontGlyphs::GlyphPagesStateSaver::~GlyphPagesStateSaver): Deleted.
961 * rendering/svg/SVGTextRunRenderingContext.cpp:
962 (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
964 Simplify by not trying to resolve fallbacks in case context sensitive (based on lang attribute etc)
965 glyph selection fails. Instead just fall back to a default font. This behavior is not specified
966 anywhere as far as I can see. (normal non-context sensitive fallbacks will still work fine).
967 This removes the need to hackishly mutate glyph pages.
969 Also fix a bug where we didn't use the specified missing glyph when context sensitive selection failed.
971 2014-12-18 Chris Dumez <cdumez@apple.com>
973 Move 'list-style-image' CSS property to the new StyleBuilder
974 https://bugs.webkit.org/show_bug.cgi?id=139763
976 Reviewed by Antti Koivisto.
978 Move 'list-style-image' CSS property to the new StyleBuilder
979 by reusing an existing Converter helper and renaming it for
982 No new tests, no behavior change.
984 * css/CSSPropertyNames.in:
985 * css/DeprecatedStyleBuilder.cpp:
986 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
987 (WebCore::ApplyPropertyStyleImage::applyValue): Deleted.
988 (WebCore::ApplyPropertyStyleImage::createHandler): Deleted.
989 * css/StyleBuilderConverter.h:
990 (WebCore::StyleBuilderConverter::convertStyleImage):
991 (WebCore::StyleBuilderConverter::convertBorderImageSource): Deleted.
993 2014-12-17 Csaba Osztrogonác <ossy@webkit.org>
996 https://bugs.webkit.org/show_bug.cgi?id=139752
1000 2014-12-17 Andreas Kling <akling@apple.com>
1002 Ref-ify Range::create().
1003 <https://webkit.org/b/139755>
1005 Reviewed by Anders Carlsson.
1008 (WebCore::acceptsEditingFocus):
1010 (WebCore::Element::innerText):
1012 (WebCore::Range::create):
1013 (WebCore::Range::cloneRange):
1014 (WebCore::rangeOfContents):
1016 * editing/AlternativeTextController.cpp:
1017 (WebCore::AlternativeTextController::applyAlternativeTextToRange):
1018 * editing/CompositeEditCommand.cpp:
1019 (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
1020 * editing/VisibleUnits.cpp:
1021 (WebCore::charactersAroundPosition):
1022 * editing/markup.cpp:
1023 (WebCore::StyledMarkupAccumulator::renderedText):
1024 * page/FocusController.cpp:
1025 (WebCore::relinquishesEditingFocus):
1027 2014-12-17 Dan Bernstein <mitz@apple.com>
1029 <rdar://problem/19282508> WebKitLegacy is unusable due to bad dylib identifier
1030 https://bugs.webkit.org/show_bug.cgi?id=139760
1032 Reviewed by Anders Carlsson.
1034 * Configurations/WebCore.xcconfig:
1036 2014-12-17 Anders Carlsson <andersca@apple.com>
1038 Get rid of FrameLoader::defaultObjectContentType
1039 https://bugs.webkit.org/show_bug.cgi?id=139758
1041 Reviewed by Geoffrey Garen.
1043 Move the FrameLoader::defaultObjectContentType implementation to its only caller in WebKit/win.
1045 * loader/FrameLoader.cpp:
1046 (WebCore::FrameLoader::defaultObjectContentType): Deleted.
1047 * loader/FrameLoader.h:
1049 2014-12-17 peavo@outlook.com <peavo@outlook.com>
1051 [Curl] Compile error, setWasCached method has been removed.
1052 https://bugs.webkit.org/show_bug.cgi?id=139737
1054 Reviewed by Alex Christensen.
1056 The ResourceResponseBase::setWasCached() method has been replaced
1057 with ResourceResponseBase::setSource().
1059 * platform/network/curl/CurlCacheEntry.cpp:
1060 (WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
1062 2014-12-17 Chris Dumez <cdumez@apple.com>
1064 [iOS] Make it possible to toggle FeatureCounter support at runtime
1065 https://bugs.webkit.org/show_bug.cgi?id=139688
1066 <rdar://problem/19266254>
1068 Reviewed by Andreas Kling.
1070 Make it possible to toggle FeatureCounter support at runtime by adding
1071 a setting (disabled by default) and moving the API to a new
1072 FeatureCounter class under WebCore/plattorm which only logs if the
1073 setting is enabled. For privacy reasons, FeatureCounter logging is also
1074 disabled for private / ephemeral sessions.
1076 No new tests, no behavior change.
1079 * Configurations/WebCore.xcconfig:
1080 * WebCore.vcxproj/WebCore.vcxproj:
1081 * WebCore.vcxproj/WebCore.vcxproj.filters:
1082 * WebCore.xcodeproj/project.pbxproj:
1083 * history/PageCache.cpp:
1084 (WebCore::logCanCacheFrameDecision):
1085 (WebCore::logCanCachePageDecision):
1087 * platform/FeatureCounter.cpp: Renamed from Source/WTF/wtf/FeatureCounter.cpp.
1088 (WebCore::FeatureCounter::shouldUseForPage):
1089 (WebCore::FeatureCounter::incrementKey):
1090 (WebCore::FeatureCounter::setKey):
1091 * platform/FeatureCounter.h: Renamed from Source/WTF/wtf/FeatureCounter.h.
1092 * platform/FeatureCounterKeys.h:
1093 * platform/ios/FeatureCounter.mm: Renamed from Source/WTF/wtf/ios/FeatureCounter.mm.
1094 (WebCore::FeatureCounter::incrementKey):
1095 (WebCore::FeatureCounter::setKey):
1097 2014-12-17 Anders Carlsson <andersca@apple.com>
1099 Get rid of PluginPackageNone.cpp
1100 https://bugs.webkit.org/show_bug.cgi?id=139735
1102 Reviewed by Andreas Kling.
1105 * PlatformEfl.cmake:
1106 * PlatformGTK.cmake:
1107 * PlatformWin.cmake:
1108 * plugins/PluginPackageNone.cpp: Removed.
1110 2014-12-17 Andreas Kling <akling@apple.com>
1112 Purge PassRefPtr from Frame.
1113 <https://webkit.org/b/139731>
1115 Reviewed by Anders Carlsson.
1117 Remove all use of PassRefPtr from the Frame class, instead using
1118 Ref or RefPtr as appropriate.
1121 * loader/DocumentWriter.cpp:
1122 (WebCore::DocumentWriter::begin):
1124 (WebCore::Frame::create):
1125 (WebCore::Frame::setView):
1126 (WebCore::Frame::setDocument):
1127 (WebCore::Frame::rangeForPoint):
1128 (WebCore::Frame::createView):
1130 * xml/XSLTProcessor.cpp:
1131 (WebCore::XSLTProcessor::createDocumentFromSource):
1133 2014-12-17 Myles C. Maxfield <mmaxfield@apple.com>
1135 Test fix after r177444.
1139 * accessibility/AccessibilitySlider.cpp:
1140 (WebCore::AccessibilitySliderThumb::elementRect):
1142 2014-12-16 Myles C. Maxfield <mmaxfield@apple.com>
1144 Addressing more post-review comments in r177035
1146 * accessibility/AccessibilitySlider.cpp:
1147 (WebCore::AccessibilitySliderThumb::elementRect):
1148 * html/HTMLInputElement.cpp:
1149 (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
1151 2014-12-17 Zan Dobersek <zdobersek@igalia.com>
1153 [TexMap] Sprinkle range-based for-loops where still possible
1154 https://bugs.webkit.org/show_bug.cgi?id=138752
1156 Reviewed by Chris Dumez.
1158 Apply range-based for-loops where possible in the TextureMapper,
1159 TextureMapperGL and TextureMapperTiledBackingStore classes.
1161 Also prettify the loop in SharedGLData destructor and return
1162 nullptr instead of explicitly constructing the empty PassRefPtr
1163 object in TextureMapperTiledBackingStore::texture().
1165 * platform/graphics/texmap/TextureMapper.cpp:
1166 (WebCore::BitmapTexturePool::acquireTexture):
1167 * platform/graphics/texmap/TextureMapperGL.cpp:
1168 (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
1169 (WebCore::TextureMapperGLData::~TextureMapperGLData):
1170 * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
1171 (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
1172 (WebCore::TextureMapperTiledBackingStore::drawBorder):
1173 (WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
1174 (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
1175 (WebCore::TextureMapperTiledBackingStore::updateContents):
1176 (WebCore::TextureMapperTiledBackingStore::texture):
1178 2014-12-17 Radu Stavila <stavila@adobe.com>
1180 The SVGDocument of an SVGImage should not perform any additional actions when the SVGImage is being destroyed
1181 https://bugs.webkit.org/show_bug.cgi?id=139644
1183 Reviewed by Antti Koivisto.
1185 When an SVGImage is destroyed, having its SVGDocument perform style recalc and dispatching events is not only
1186 useless but can also cause problems, such as re-entrancy in StyleResolver::loadPendingResources.
1188 No new tests required, existing tests cover this change.
1191 (WebCore::Document::Document):
1193 (WebCore::Document::isBeingDestroyed):
1194 (WebCore::Document::setIsBeingDestroyed):
1195 * loader/FrameLoader.cpp:
1196 (WebCore::FrameLoader::closeURL):
1197 * svg/graphics/SVGImage.cpp:
1198 (WebCore::SVGImage::~SVGImage):
1200 2014-12-17 Chris Dumez <cdumez@apple.com>
1202 Drop useless 'clipToContents' argument for windowClipRect()
1203 https://bugs.webkit.org/show_bug.cgi?id=139722
1205 Reviewed by Darin Adler.
1207 Drop useless 'clipToContents' argument for windowClipRect(). This
1208 argument is never used.
1210 No new tests, no behavior change.
1212 * page/FrameView.cpp:
1213 (WebCore::FrameView::windowClipRect):
1215 * platform/ScrollView.h:
1217 2014-12-16 Shivakumar JM <shiva.jm@samsung.com>
1219 text node should not be created, On setting document.title to the empty string.
1220 https://bugs.webkit.org/show_bug.cgi?id=139121
1222 Reviewed by Darin Adler.
1224 Do not create text node, On setting document.title to the empty string as in spec.
1225 I have confirmed this matches the behavior of Firefox and Chrome.
1227 Test: fast/dom/Document/document-set-title-no-child.html
1229 * html/HTMLTitleElement.cpp:
1230 (WebCore::HTMLTitleElement::setText):
1232 2014-12-16 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1234 Move WebCore/platform/graphics/surfaces to std::unique_ptr
1235 https://bugs.webkit.org/show_bug.cgi?id=139641
1237 Reviewed by Andreas Kling.
1239 Replace OwnPtr|PassOwnPtr with std::make_unique<>|std::unique_ptr<>.
1241 * platform/graphics/GLContext.cpp:
1242 (WebCore::GLContext::sharingContext):
1243 (WebCore::GLContext::createContextForWindow):
1244 (WebCore::GLContext::createOffscreenContext):
1245 * platform/graphics/GLContext.h:
1246 * platform/graphics/GraphicsContext3DPrivate.cpp:
1247 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
1248 * platform/graphics/GraphicsContext3DPrivate.h:
1249 * platform/graphics/egl/GLContextEGL.cpp:
1250 (WebCore::GLContextEGL::createWindowContext):
1251 (WebCore::GLContextEGL::createPbufferContext):
1252 (WebCore::GLContextEGL::createPixmapContext):
1253 (WebCore::GLContextEGL::createContext):
1254 * platform/graphics/egl/GLContextEGL.h:
1255 * platform/graphics/glx/GLContextGLX.cpp:
1256 (WebCore::GLContextGLX::createWindowContext):
1257 (WebCore::GLContextGLX::createPbufferContext):
1258 (WebCore::GLContextGLX::createPixmapContext):
1259 (WebCore::GLContextGLX::createContext):
1260 * platform/graphics/glx/GLContextGLX.h:
1261 * platform/graphics/surfaces/GLTransportSurface.cpp:
1262 (WebCore::GLTransportSurface::createTransportSurface):
1263 (WebCore::GLTransportSurfaceClient::createTransportSurfaceClient):
1264 * platform/graphics/surfaces/GLTransportSurface.h:
1265 * platform/graphics/surfaces/GraphicsSurface.h:
1266 * platform/graphics/surfaces/GraphicsSurfaceToken.h:
1267 * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
1268 * platform/graphics/surfaces/egl/EGLSurface.cpp:
1269 (WebCore::EGLTransportSurface::createTransportSurface):
1270 (WebCore::EGLTransportSurface::createTransportSurfaceClient):
1271 (WebCore::EGLTransportSurface::EGLTransportSurface):
1272 * platform/graphics/surfaces/egl/EGLSurface.h:
1273 * platform/graphics/surfaces/egl/EGLXSurface.cpp:
1274 (WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient):
1275 * platform/graphics/surfaces/egl/EGLXSurface.h:
1276 * platform/graphics/surfaces/glx/GLXSurface.cpp:
1277 (WebCore::GLXTransportSurface::GLXTransportSurface):
1278 (WebCore::GLXOffScreenSurface::initialize):
1279 * platform/graphics/surfaces/glx/GLXSurface.h:
1281 2014-12-16 Timothy Horton <timothy_horton@apple.com>
1283 Implement and adopt two new TextIndicator presentation animations
1284 https://bugs.webkit.org/show_bug.cgi?id=139715
1285 <rdar://problem/19237945>
1287 Reviewed by Anders Carlsson.
1290 Adjust one symbol and export another.
1292 * page/TextIndicator.cpp:
1293 (WebCore::TextIndicator::createWithSelectionInFrame):
1294 Take a blue-highlight snapshot if we're doing a crossfade without a bounce.
1296 * page/TextIndicator.h:
1297 (WebCore::TextIndicator::presentationTransition):
1298 Add FadeIn and Crossfade transition types.
1300 * page/mac/TextIndicatorWindow.h:
1301 * page/mac/TextIndicatorWindow.mm:
1302 (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
1303 (createBounceAnimation):
1304 (createContentCrossfadeAnimation):
1305 (createShadowFadeAnimation):
1306 (createFadeInAnimation):
1307 (-[WebTextIndicatorView _textIndicatorWantsBounce]):
1308 (-[WebTextIndicatorView _textIndicatorWantsContentCrossfade]):
1309 (-[WebTextIndicatorView _textIndicatorWantsFadeIn]):
1310 Factor out the animation construction.
1312 (-[WebTextIndicatorView _animationDuration]):
1313 Factor out the duration computation.
1315 (-[WebTextIndicatorView present]):
1316 (-[WebTextIndicatorView setAnimationProgress:]):
1317 Implement FadeIn and Crossfade transitions.
1318 They can be driven externally and then continue from where they
1319 left off when the progress reaches 100%.
1320 FadeIn changes the opacity of the whole bubble, Crossfade
1321 crossfades the content (from blue to yellow).
1323 (WebCore::TextIndicatorWindow::TextIndicatorWindow):
1324 (WebCore::TextIndicatorWindow::~TextIndicatorWindow):
1325 Don't immediately destroy the window if it is crossfades or fades in.
1326 Fade it out, instead.
1328 (WebCore::TextIndicatorWindow::setAnimationProgress):
1329 Drive the paused animation manually. If progress hits 100%,
1330 start running it automatically from where it last left off.
1332 (WebCore::TextIndicatorWindow::setTextIndicator):
1333 (WebCore::TextIndicatorWindow::startFadeOut):
1334 (-[WebTextIndicatorView presentWithCompletionHandler:]): Deleted.
1335 (WebCore::TextIndicatorWindow::startFadeOutTimerFired): Deleted.
1336 Remove the completion block from -present.
1338 * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
1341 2014-12-16 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1343 Move WebCore/platform/image-decoders to std::unique_ptr<>
1344 https://bugs.webkit.org/show_bug.cgi?id=139668
1346 Reviewed by Andreas Kling.
1348 As a step to use std::unique_ptr<>, this patch replaces OwnPtr|PassOwnPtr with
1349 std::unique_ptr<> | std::make_unique<>.
1351 * platform/image-decoders/bmp/BMPImageDecoder.cpp:
1352 (WebCore::BMPImageDecoder::setFailed):
1353 (WebCore::BMPImageDecoder::decode):
1354 (WebCore::BMPImageDecoder::decodeHelper):
1355 * platform/image-decoders/bmp/BMPImageDecoder.h:
1356 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1357 (WebCore::GIFImageDecoder::setFailed):
1358 (WebCore::GIFImageDecoder::gifComplete):
1359 (WebCore::GIFImageDecoder::decode):
1360 * platform/image-decoders/gif/GIFImageDecoder.h:
1361 * platform/image-decoders/gif/GIFImageReader.cpp:
1362 (GIFFrameContext::decode):
1363 (GIFImageReader::addFrameIfNecessary):
1364 * platform/image-decoders/gif/GIFImageReader.h:
1365 * platform/image-decoders/ico/ICOImageDecoder.cpp:
1366 (WebCore::ICOImageDecoder::decode):
1367 (WebCore::ICOImageDecoder::decodeAtIndex):
1368 * platform/image-decoders/ico/ICOImageDecoder.h:
1369 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1370 (WebCore::JPEGImageDecoder::setFailed):
1371 (WebCore::JPEGImageDecoder::decode):
1372 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1373 * platform/image-decoders/png/PNGImageDecoder.cpp:
1374 (WebCore::PNGImageDecoder::setFailed):
1375 (WebCore::PNGImageDecoder::decode):
1376 * platform/image-decoders/png/PNGImageDecoder.h:
1378 2014-12-16 Andreas Kling <akling@apple.com>
1380 Use Ref for SecurityOrigin.
1381 <https://webkit.org/b/139710>
1383 Reviewed by Anders Carlsson.
1385 Make SecurityOrigin::create*() return Ref<SecurityOrigin>.
1387 * html/HTMLAnchorElement.cpp:
1388 (WebCore::HTMLAnchorElement::origin):
1389 * loader/DocumentLoadTiming.cpp:
1390 (WebCore::DocumentLoadTiming::addRedirect):
1391 * loader/DocumentLoader.cpp:
1392 (WebCore::DocumentLoader::willSendRequest):
1393 * loader/FrameLoader.cpp:
1394 (WebCore::FrameLoader::commitProvisionalLoad):
1395 * loader/PingLoader.cpp:
1396 (WebCore::PingLoader::sendPing):
1397 * loader/appcache/ApplicationCacheHost.cpp:
1398 (WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
1399 * loader/appcache/ApplicationCacheStorage.cpp:
1400 (WebCore::ApplicationCacheStorage::getOriginsWithCache):
1401 * page/ContentSecurityPolicy.cpp:
1402 (WebCore::stripURLForUseInReport):
1403 * page/DOMWindow.cpp:
1404 (WebCore::DOMWindow::crossDomainAccessErrorMessage):
1405 * page/SecurityOrigin.cpp:
1406 (WebCore::getCachedOrigin):
1407 (WebCore::SecurityOrigin::create):
1408 (WebCore::SecurityOrigin::createUnique):
1409 (WebCore::SecurityOrigin::isolatedCopy):
1410 (WebCore::SecurityOrigin::canRequest):
1411 (WebCore::SecurityOrigin::createFromString):
1412 (WebCore::SecurityOrigin::maybeCreateFromDatabaseIdentifier):
1413 (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
1414 * page/SecurityOrigin.h:
1415 * page/SecurityPolicy.cpp:
1416 (WebCore::SecurityPolicy::isAccessToURLWhiteListed):
1417 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1418 (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin):
1419 * storage/StorageTracker.cpp:
1420 (WebCore::StorageTracker::deleteOriginWithIdentifier):
1421 * workers/DefaultSharedWorkerRepository.cpp:
1422 (WebCore::DefaultSharedWorkerRepository::connectToWorker):
1423 * workers/WorkerThread.cpp:
1424 (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
1426 2014-12-16 Chris Dumez <cdumez@apple.com>
1428 Move 'cursor' CSS property to the new StyleBuilder
1429 https://bugs.webkit.org/show_bug.cgi?id=139660
1431 Reviewed by Benjamin Poulain.
1433 Move 'cursor' CSS property to the new StyleBuilder by using
1436 No new tests, no behavior change.
1438 * css/CSSPropertyNames.in:
1439 * css/DeprecatedStyleBuilder.cpp:
1440 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1441 (WebCore::ApplyPropertyCursor::applyInheritValue): Deleted.
1442 (WebCore::ApplyPropertyCursor::applyInitialValue): Deleted.
1443 (WebCore::ApplyPropertyCursor::applyValue): Deleted.
1444 (WebCore::ApplyPropertyCursor::createHandler): Deleted.
1445 * css/StyleBuilderCustom.h:
1446 (WebCore::StyleBuilderCustom::applyInitialCursor):
1447 (WebCore::StyleBuilderCustom::applyInheritCursor):
1448 (WebCore::StyleBuilderCustom::applyValueCursor):
1450 2014-12-16 Zalan Bujtas <zalan@apple.com>
1452 Subpixel rendering: Animating HTML elements leaves trails when embedded to a subpxiel positioned iframe.
1453 https://bugs.webkit.org/show_bug.cgi?id=139691
1454 rdar://problem/19078958
1456 Reviewed by Simon Fraser.
1458 This patch ensures that repaint rect and actual paint coordinate calculations are in sync.
1460 RenderWidget painting still snaps final coordinates to integral positions. We need to
1461 mimic the same snapping behaviour when the repaint rects are being calculated so that
1462 they are in sync with the final repaint rects. This is a workaround until after
1463 widgets get pushed to device pixel positions.
1465 Test: fast/repaint/hidpi-content-inside-iframe-leaves-trails.html
1467 * rendering/RenderBox.cpp:
1468 (WebCore::RenderBox::computeRectForRepaint):
1469 * rendering/RenderView.cpp:
1470 (WebCore::RenderView::repaintViewRectangle):
1471 * rendering/RenderWidget.cpp:
1472 (WebCore::RenderWidget::paintContents):
1474 2014-12-16 Beth Dakin <bdakin@apple.com>
1476 REGRESSION: Preview popovers obscure the link, look wrong
1477 https://bugs.webkit.org/show_bug.cgi?id=139711
1479 rdar://problem/19271854
1481 Reviewed by Tim Horton.
1484 * WebCore.xcodeproj/project.pbxproj:
1485 * platform/spi/mac/NSPopoverSPI.h: Added.
1487 2014-12-16 Myles C. Maxfield <mmaxfield@apple.com>
1489 [iOS] Cherokee language is drawn as boxes
1490 https://bugs.webkit.org/show_bug.cgi?id=139706
1492 Reviewed by Simon Fraser.
1494 Test: platform/ios-simulator/fast/text/cherokee.html
1496 * platform/graphics/ios/FontCacheIOS.mm:
1497 (WebCore::languageSpecificFallbackFont):
1499 2014-12-16 Enrica Casucci <enrica@apple.com>
1501 Fix iOS builders for 8.0
1502 https://bugs.webkit.org/show_bug.cgi?id=139495
1504 Reviewed by Jer Noble
1507 * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1508 (-[WebVideoFullscreenController enterFullscreen:mode:]):
1509 (-[WebVideoFullscreenController requestHideAndExitFullscreen]):
1510 (-[WebVideoFullscreenController enterFullscreen:]): Deleted.
1511 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1513 2014-12-16 Myles C. Maxfield <mmaxfield@apple.com>
1515 Ruby overhang uses ints instead of floats
1516 https://bugs.webkit.org/show_bug.cgi?id=139624
1518 Reviewed by Dave Hyatt.
1520 Simply change the type.
1522 Updated existing tests.
1524 * rendering/RenderBlockLineLayout.cpp:
1525 (WebCore::RenderBlockFlow::setMarginsForRubyRun):
1526 * rendering/RenderRubyRun.cpp:
1527 (WebCore::RenderRubyRun::getOverhang):
1528 * rendering/RenderRubyRun.h:
1529 * rendering/line/LineWidth.cpp:
1530 (WebCore::LineWidth::applyOverhang):
1532 2014-12-16 Gavin Barraclough <barraclough@apple.com>
1534 Move Mac process suppression from WebCore to WebKit2
1535 https://bugs.webkit.org/show_bug.cgi?id=139705
1537 Reviewed by Geoff Garen.
1539 Currently PageThrottler constructs the PageActivityState, holds a copy of the ViewState,
1540 and an optional UserActivity.
1542 Instead, still construct the PageActivityState but just pass this out via the Page to WebPage.
1543 Logic From PageThrottler::updateUserActivity merged into WebPage::updateUserActivity.
1546 - removed createUserActivity.
1547 * page/ChromeClient.h:
1548 (WebCore::ChromeClient::setPageActivityState):
1549 - added to propagate PageActivityState to WebPage.
1551 (WebCore::Page::Page):
1552 - PageThrottler constructor now takes a Page&.
1553 (WebCore::Page::setViewState):
1554 - no longer necessary to pass this to PageThrottler.
1555 (WebCore::Page::setPageActivityState):
1556 - added to propagate PageActivityState to WebPage.
1557 (WebCore::Page::enablePageThrottler): Deleted.
1558 - PageThrottler no longer has a UserActivity.
1560 (WebCore::Page::pageThrottler):
1561 - added setPageActivityState, removed enablePageThrottler.
1562 * page/PageThrottler.cpp:
1563 (WebCore::PageThrottler::PageThrottler):
1564 - removed m_viewState, added m_page.
1565 (WebCore::PageThrottler::setActivityFlag):
1566 - propagate PageActivityState via Page to WebPage.
1567 (WebCore::PageThrottler::createUserActivity): Deleted.
1568 (WebCore::PageThrottler::updateUserActivity): Deleted.
1569 (WebCore::PageThrottler::setViewState): Deleted.
1570 - removed; PageThrottler no longer has a PageThrottler or UserActivity.
1571 * page/PageThrottler.h:
1572 - removed createUserActivity, setViewState, m_viewState, m_activity; added m_page.
1574 2014-12-16 Jer Noble <jer.noble@apple.com>
1576 Unreviewed build fix after r177375; explicitly cast to NSUInteger.
1578 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1579 (WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions):
1580 (WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions):
1582 2014-12-16 peavo@outlook.com <peavo@outlook.com>
1584 [Win] Compiling WebCore fails because of invalid project file.
1585 https://bugs.webkit.org/show_bug.cgi?id=139686
1587 Reviewed by Alex Christensen.
1589 A WebCore project file contains illegal characters.
1591 * WebCore.vcxproj/WebCore.vcxproj.filters:
1593 2014-12-16 Gavin Barraclough <barraclough@apple.com>
1595 Introduce PageActivityState
1596 https://bugs.webkit.org/show_bug.cgi?id=139687
1598 Reviewed by Anders Carlsson.
1600 Add a bitfield to track each of the activities on the page separately.
1601 Split the hysteresis & counters so we can track these separately.
1603 * page/PageThrottler.cpp:
1604 (WebCore::PageThrottler::PageThrottler):
1605 - initialze new hysteresis, counters; closures call setActivityFlag.
1606 (WebCore::PageThrottler::mediaActivityToken):
1607 (WebCore::PageThrottler::pageLoadActivityToken):
1608 - split m_pageActivityCounter -> m_mediaActivityCounter, m_pageLoadActivityCounter.
1609 (WebCore::PageThrottler::updateUserActivity):
1610 - use m_activityState to check for activity.
1611 (WebCore::PageThrottler::setActivityFlag):
1612 - helper to clear/set a bit in m_activityState, and call updateUserActivity as necessary.
1613 * page/PageThrottler.h:
1614 (WebCore::PageThrottler::didReceiveUserInput):
1615 (WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):
1616 - split m_hysteresis -> m_userInputHysteresis, m_audiblePluginHysteresis
1618 2014-12-16 Myles C. Maxfield <litherum@gmail.com>
1620 Ruby does not preserve expansion opportunities from enclosing context
1621 https://bugs.webkit.org/show_bug.cgi?id=139618
1623 Reviewed by David Hyatt.
1625 There is currently no sharing of expansion opportunity information between
1626 ruby bases and the text surrounding the ruby. This patch adds a bit on
1627 RenderText, m_contentIsKnownToFollow, which affects how expansion
1628 opportunities are handled at paint-time, as well as a bit on RenderRubyBase,
1629 m_isAfterExpansion, which affects how expansions are calculated when laying
1630 out a line. This patch also adds a field to RenderRubyBase which represents
1631 the base's starting position within a ruby. This field is necessary because
1632 an expansion from a line might occur at the very beginning of a ruby base,
1633 so we have to remember some state from expansion time to RenderRubyBase
1636 Added more tests to fast/ruby/ruby-justification.html.
1638 * rendering/InlineBox.h:
1639 (WebCore::InlineBox::setExpansionWithoutGrowing):
1640 (WebCore::InlineBox::expansion):
1641 * rendering/InlineFlowBox.cpp:
1642 (WebCore::InlineFlowBox::removeChild): Keep the bit on InlineTextBox up to
1644 (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection): Set expansion
1645 information in InlineFlowBoxes so the total expansion for a whole line
1646 is held in the RootInlineBox's expansion.
1647 * rendering/InlineTextBox.h:
1648 (WebCore::InlineTextBox::expansionBehavior):
1649 * rendering/RenderBlockFlow.h:
1650 * rendering/RenderBlockLineLayout.cpp:
1651 (WebCore::RenderBlockFlow::updateRubyForJustifiedText):
1652 updateRubyForJustifiedText() had a bunch of problems with it. First of all,
1653 it didn't actually set the InlineBoxes as dirty, so the second layout pass
1654 sometimes wouldn't perform any updates. Secondarily, it didn't take
1655 overhangs into account. Thirdly, it didn't mark the ruby base and text as
1656 needing layout so that subsequent layouts would actually traverse into them.
1657 (WebCore::RenderBlockFlow::computeExpansionForJustifiedText):
1658 (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
1659 This nested if triangle is super nasty, but I'm not sure of a better way to
1661 (WebCore::updateRubyForJustifiedText): Deleted.
1662 (WebCore::computeExpansionForJustifiedText): Deleted.
1663 * rendering/RenderRubyBase.cpp:
1664 (WebCore::RenderRubyBase::RenderRubyBase):
1665 (WebCore::RenderRubyBase::adjustInlineDirectionLineBounds):
1666 * rendering/RenderRubyBase.h:
1667 * rendering/RenderRubyRun.cpp:
1668 (WebCore::RenderRubyRun::layout):
1669 * rendering/RenderText.cpp:
1670 (WebCore::RenderText::RenderText):
1671 * rendering/RenderText.h:
1672 (WebCore::RenderText::contentIsKnownToFollow):
1673 (WebCore::RenderText::setContentIsKnownToFollow):
1675 2014-12-16 Jer Noble <jer.noble@apple.com>
1677 [iOS] Crash in WebKit::WebPageProxy::dispatchViewStateChange() tapping a link from another app while playing a video
1678 https://bugs.webkit.org/show_bug.cgi?id=139550
1680 Reviewed by Anders Carlsson.
1682 The existing "dispatch to WebThread, then release" model is insufficient and still
1683 can result in RefPtr race conditions between the main thread and the web thread.
1684 Make WebVideoFullscreenInterfaceAVKit a thread-safe ref-counted class, which
1685 eliminates the necessity of disptaching back to the web thread before releasing.
1687 * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
1688 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1689 (WebVideoFullscreenInterfaceAVKit::setDuration): Use a strongThis model.
1690 (WebVideoFullscreenInterfaceAVKit::setCurrentTime): Ditto.
1691 (WebVideoFullscreenInterfaceAVKit::setRate): Ditto.
1692 (WebVideoFullscreenInterfaceAVKit::setVideoDimensions): Ditto.
1693 (WebVideoFullscreenInterfaceAVKit::setSeekableRanges): Ditto.
1694 (mediaSelectionOptions): Return a RetainPtr object.
1695 (WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions): Use a strongThis model.
1696 (WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions): Ditto.
1697 (WebVideoFullscreenInterfaceAVKit::setExternalPlayback): Ditto.
1698 (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
1699 (WebVideoFullscreenInterfaceAVKit::enterFullscreen): Ditto.
1700 (WebVideoFullscreenInterfaceAVKit::exitFullscreen): Ditto.
1701 (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): Ditto.
1702 (WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): Added utility
1703 function. Lets us use the implied this pointer rather than an explicit
1705 (WebVideoFullscreenInterfaceAVKit::enterFullscreenOptimized): Ditto.
1706 (WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard): Ditto.
1707 (WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal): Ditto.
1708 (WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Ditto.
1709 (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): Use a strongThis model.
1711 2014-12-16 Ryosuke Niwa <rniwa@webkit.org>
1713 Nested template contents are not cloned by document.importNode
1714 https://bugs.webkit.org/show_bug.cgi?id=137619
1716 Reviewed by Andreas Kling.
1718 The bug was caused by Document.importNode not cloning HTMLTemplateElement's content.
1720 Fixed the bug by sharing code between Document::importNode and Node::cloneNode by
1721 generalizing Node::cloneNodeInternal, added in r177314, by taking the owner document
1722 as an argument. The most of code changes are the result of adding this argument.
1724 Document::importNode is the only function in which the actual logic changes.
1725 Note that the code to import TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE,
1726 PROCESSING_INSTRUCTION_NODE and COMMENT_NODE nodes are identical to that of cloneNode.
1728 This patch removes the call to hasValidNamespaceForElements in ELEMENT_NODE but this
1729 should not introduce an observable behavior change since all instantiated elements
1730 should have a valid namespace in the first place.
1732 Because DOCUMENT_NODE and DOCUMENT_TYPE_NODE cannot be imported and DOCUMENT_TYPE_NODE
1733 can only appear as a direct child of DOCUMENT_NODE, neither nodes nor unimplemented
1734 XPATH_NAMESPACE_NODE and XPATH_NAMESPACE_NODE can appear inside the recursive calls
1735 for ELEMENT_NODE and DOCUMENT_FRAGMENT_NODE nodes.
1737 While importNode behaves differently from cloneNode for ATTRIBUTE_NODE, namely that
1738 it merges all of its child nodes, this behavior isn't present when recursing inside
1739 ELEMENT_NODE and DOCUMENT_FRAGMENT_NODE since we are using cloneDataFromElement.
1741 Thus there should be no observable behavior changes for DOCUMENT_FRAGMENT_NODE and
1742 ELEMENT_NODE nodes either.
1744 Test: fast/dom/HTMLTemplateElement/importNode-nested-templates.html
1747 (WebCore::Attr::cloneNodeInternal):
1749 * dom/CDATASection.cpp:
1750 (WebCore::CDATASection::cloneNodeInternal):
1751 * dom/CDATASection.h:
1753 (WebCore::Comment::cloneNodeInternal):
1755 * dom/ContainerNode.cpp:
1756 (WebCore::ContainerNode::cloneChildNodes):
1758 (WebCore::Document::importNode):
1759 (WebCore::Document::cloneNodeInternal):
1761 * dom/DocumentFragment.cpp:
1762 (WebCore::DocumentFragment::cloneNodeInternal):
1763 * dom/DocumentFragment.h:
1764 * dom/DocumentType.cpp:
1765 (WebCore::DocumentType::cloneNodeInternal):
1766 * dom/DocumentType.h:
1768 (WebCore::Element::cloneNodeInternal):
1769 (WebCore::Element::cloneElementWithChildren):
1770 (WebCore::Element::cloneElementWithoutChildren):
1771 (WebCore::Element::cloneElementWithoutAttributesAndChildren):
1773 * dom/EntityReference.cpp:
1774 (WebCore::EntityReference::cloneNodeInternal):
1775 * dom/EntityReference.h:
1777 (WebCore::Node::cloneNode):
1778 * dom/ProcessingInstruction.cpp:
1779 (WebCore::ProcessingInstruction::cloneNodeInternal):
1780 * dom/ProcessingInstruction.h:
1781 * dom/ShadowRoot.cpp:
1782 (WebCore::ShadowRoot::cloneNodeInternal):
1785 (WebCore::Text::cloneNodeInternal):
1787 * editing/ApplyStyleCommand.cpp:
1788 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
1789 (WebCore::ApplyStyleCommand::applyInlineStyleChange):
1790 * editing/BreakBlockquoteCommand.cpp:
1791 (WebCore::BreakBlockquoteCommand::doApply):
1792 * editing/InsertParagraphSeparatorCommand.cpp:
1793 (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
1794 (WebCore::InsertParagraphSeparatorCommand::doApply):
1795 * editing/ModifySelectionListLevel.cpp:
1796 (WebCore::IncreaseSelectionListLevelCommand::doApply):
1797 * editing/SplitElementCommand.cpp:
1798 (WebCore::SplitElementCommand::doApply):
1799 * editing/markup.cpp:
1800 (WebCore::createFragmentFromText):
1801 * html/HTMLKeygenElement.cpp:
1802 * html/HTMLScriptElement.cpp:
1803 (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren):
1804 * html/HTMLScriptElement.h:
1805 * html/HTMLTemplateElement.cpp:
1806 (WebCore::HTMLTemplateElement::cloneNodeInternal):
1807 * html/HTMLTemplateElement.h:
1808 * html/shadow/SliderThumbElement.cpp:
1809 (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren):
1810 * html/shadow/SliderThumbElement.h:
1811 * html/track/WebVTTElement.cpp:
1812 (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
1813 * html/track/WebVTTElement.h:
1814 * svg/SVGScriptElement.cpp:
1815 (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren):
1816 * svg/SVGScriptElement.h:
1817 * svg/SVGUseElement.cpp:
1818 (WebCore::SVGUseElement::buildShadowTree):
1819 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1821 2014-12-16 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com>
1823 Document.contentType implementation
1824 https://bugs.webkit.org/show_bug.cgi?id=132269
1826 Reviewed by Darin Adler.
1828 Chromium merge from https://codereview.chromium.org/151653004
1830 Tests: fast/dom/document-contentType-DOMParser.html
1831 fast/dom/document-contentType-createDocument.html
1832 fast/dom/document-contentType-data-uri.html
1833 fast/xsl/xslt-contentType.html
1834 http/tests/dom/document-contentType-meta.html
1835 http/tests/dom/document-contentType-xhr.html
1836 http/tests/dom/document-contentType.html
1839 (WebCore::Document::overrideMIMEType):
1840 (WebCore::Document::contentType):
1841 (WebCore::Document::cloneDataFromDocument):
1844 * loader/DocumentLoader.cpp:
1845 (WebCore::DocumentLoader::currentContentType):
1846 * loader/DocumentLoader.h:
1847 * xml/XMLHttpRequest.cpp:
1848 (WebCore::XMLHttpRequest::responseXML):
1849 * xml/XSLTProcessor.cpp:
1850 (WebCore::XSLTProcessor::createDocumentFromSource):
1852 2014-12-16 Anders Carlsson <andersca@apple.com>
1854 Put some common code in StorageNamespaceProvider
1855 https://bugs.webkit.org/show_bug.cgi?id=139682
1857 Reviewed by Tim Horton.
1859 We have code in two places that gets the local storage area from a given document,
1860 choosing either the local storage namespace or the transient local storage namespace.
1861 Move it to StorageNamespaceProvider::localStorageArea.
1863 * bindings/js/ScriptController.cpp:
1864 * inspector/InspectorDOMStorageAgent.cpp:
1865 (WebCore::InspectorDOMStorageAgent::findStorageArea):
1866 * page/DOMWindow.cpp:
1867 (WebCore::DOMWindow::localStorage):
1868 * page/Navigator.cpp:
1869 * storage/StorageNamespaceProvider.cpp:
1870 (WebCore::StorageNamespaceProvider::localStorageArea):
1871 (WebCore::StorageNamespaceProvider::localStorageNamespace):
1872 * storage/StorageNamespaceProvider.h:
1874 2014-12-16 Anders Carlsson <andersca@apple.com>
1876 Add FeatureCounterKeys.h to the Xcode project.
1878 * WebCore.xcodeproj/project.pbxproj:
1880 2014-12-16 Chris Dumez <cdumez@apple.com>
1882 REGRESSION (r163928): Animated GIFs are not resumed when translated into view using -webkit-transform
1883 https://bugs.webkit.org/show_bug.cgi?id=139672
1884 <rdar://problem/19260797>
1886 Reviewed by Antti Koivisto.
1888 After r163928, animated GIFs were not resumed when translated into view
1889 using '-webkit-transform' CSS property.
1891 This broke animated gifs on the mobile version of weibo.com (which is
1892 one of the most popular blogging sites in China) on iPhone. e.g.
1893 http://m.weibo.cn/page/tpl?containerid=1005052150182731_-_WEIBO_SECOND_PROFILE_WEIBO&itemid=&title=全部微博
1895 This patch calls FrameView::resumeVisibleImageAnimationsIncludingSubframes()
1896 after style recalc so that we resume animated images if they become visible
1897 after the style has changed. Doing so after layout wouldn't work because
1898 no layout happens in this case.
1900 Test: fast/images/animated-gif-webkit-transform.html
1903 (WebCore::Document::recalcStyle):
1905 2014-12-16 Sebastian Dröge <sebastian@centricular.com>
1907 [GStreamer] Fix deadlock when shutting down AudioDestination
1908 https://bugs.webkit.org/show_bug.cgi?id=139496
1910 Reviewed by Philippe Normand.
1912 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1913 (webKitWebAudioSrcLoop):
1914 (webKitWebAudioSrcChangeState):
1915 Sometimes we would wait forever for the task to shut down. This
1916 was happening because of a bug in GStreamer that caused joining
1917 a paused task to deadlock.
1919 2014-12-15 Dhi Aurrahman <diorahman@rockybars.com>
1921 Extend :lang()'s selector checker to handle ranges with '*' properly and perform matching within the ASCII range
1922 https://bugs.webkit.org/show_bug.cgi?id=139340
1924 Reviewed by Benjamin Poulain.
1926 Asterisk is considered as a valid subtag of a language range to express wildcard matching
1927 in :lang()'s extended filtering procedure. The matching rules introduced by language
1928 range with '*' is outlined in [1].
1930 The matching of subtags is performed case-insensitively within the ASCII range[2].
1932 [1] www.ietf.org/rfc/rfc4647.txt
1933 [2] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo
1935 Test: fast/selectors/lang-equal-ignoring-case.html
1936 fast/selectors/lang-valid-extended-filtering.html
1938 * css/SelectorCheckerTestFunctions.h:
1939 (WebCore::equalIgnoringCaseWithinASCIIRange): Handle matching case-insensitively within the ASCII range.
1940 (WebCore::containslanguageSubtagMatchingRange):
1941 (WebCore::matchesLangPseudoClass):
1943 2014-12-15 Chris Dumez <cdumez@apple.com>
1945 [iOS] Add feature counting support
1946 https://bugs.webkit.org/show_bug.cgi?id=139652
1947 <rdar://problem/19255690>
1949 Reviewed by Gavin Barraclough.
1951 Use FeatureCounter API to log PageCache failure reasons
1952 as well as its success rate.
1954 No new tests, no behavior change.
1956 * history/PageCache.cpp:
1957 (WebCore::logCanCacheFrameDecision):
1958 (WebCore::logCanCachePageDecision):
1959 (WebCore::PageCache::canCache):
1960 * platform/FeatureCounterKeys.h: Added.
1962 2014-12-15 Beth Dakin <bdakin@apple.com>
1964 Speculative build fix.
1966 * platform/spi/mac/LookupSPI.h:
1968 2014-12-15 Beth Dakin <bdakin@apple.com>
1970 Speculative build fix.
1972 * platform/spi/mac/LookupSPI.h:
1974 2014-12-15 Jer Noble <jer.noble@apple.com>
1976 Switching src of <video> with clipping layer results in empty black square.
1977 https://bugs.webkit.org/show_bug.cgi?id=139650
1979 Reviewed by Simon Fraser.
1981 Test: compositing/video-clip-change-src.html
1983 When the contentsLayer changes after a contentsClippingLayer has already been created, make sure to parent the
1984 new contentsLayer, as updateRects() will only reparent when first creating a contentsClippingLayer.
1986 * platform/graphics/ca/GraphicsLayerCA.cpp:
1987 (WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
1989 2014-12-15 Beth Dakin <bdakin@apple.com>
1991 Make lookup an immediate action instead of an action menu item
1992 https://bugs.webkit.org/show_bug.cgi?id=139661
1994 rdar://problem/19198414
1996 Reviewed by Tim Horton.
1999 * platform/spi/mac/LookupSPI.h:
2001 2014-12-12 Anders Carlsson <andersca@apple.com>
2003 Get rid of the DONT_FINALIZE_ON_MAIN_THREAD #define
2004 https://bugs.webkit.org/show_bug.cgi?id=139613
2006 Reviewed by Sam Weinig.
2011 * WebCore.xcodeproj/project.pbxproj:
2012 Remove -Wno-deprecated-declarations from the WebCoreObjCExtras.mm build flags.
2014 * platform/mac/WebCoreObjCExtras.h:
2015 If OBJC_NO_GC is defined to 1, just make WebCoreObjCFinalizeOnMainThread a no-op inline function.
2017 * platform/mac/WebCoreObjCExtras.mm:
2018 (WebCoreObjCFinalizeOnMainThread):
2019 Move this to the .h file for easier inlining.
2021 (WebCoreObjCScheduleDeallocateOnMainThread):
2024 2014-12-15 Gavin Barraclough <barraclough@apple.com>
2026 Separate counted and hysteresis activities in PageThrottler
2027 https://bugs.webkit.org/show_bug.cgi?id=139657
2029 Reviewed by Sam Weinig.
2031 Currently all activities funnel into a common hysteresis mechanism, the result of
2032 which is combined with the visually idle state, the result of which in turn drives
2033 a UserActivity::Impl.
2035 This is a first refactoring towards moving the UserActivity out to WebKit2. Use
2036 m_hysteresis only of the impulse activities (plugin evaluation, user input), and
2037 flatten the three types of activities (impulse, counted, ViewState) to all directly
2038 control a UserActivity. Switch from a UserActivity::Impl to a UserActivity since
2039 this will provide hysteresis for media activity.
2041 * page/PageThrottler.cpp:
2042 (WebCore::m_pageActivityCounter):
2043 - when the RefCounter changes just call updateUserActivity directly, removeed redundant call to updateUserActivity.
2044 (WebCore::PageThrottler::createUserActivity):
2045 - m_activity is now a UserActivity.
2046 (WebCore::PageThrottler::updateUserActivity):
2047 - previously just checked m_hysteresis for activity; now check m_pageActivityCounter too.
2048 (WebCore::PageThrottler::pageActivityCounterValueDidChange): Deleted.
2049 - no longer needed; when the RefCounter changes just call updateUserActivity directly.
2050 * page/PageThrottler.h:
2051 - removed pageActivityCounterValueDidChange, m_activity is now a UserActivity.
2053 2014-12-15 Commit Queue <commit-queue@webkit.org>
2055 Unreviewed, rolling out r177284.
2056 https://bugs.webkit.org/show_bug.cgi?id=139658
2058 "Breaks API tests and LayoutTests on Yosemite Debug"
2059 (Requested by msaboff on #webkit).
2063 "Make sure range based iteration of Vector<> still receives
2065 https://bugs.webkit.org/show_bug.cgi?id=138821
2066 http://trac.webkit.org/changeset/177284
2068 2014-12-15 Ryosuke Niwa <rniwa@webkit.org>
2070 cloneNode(true) does not clone nested template elements' contents
2071 https://bugs.webkit.org/show_bug.cgi?id=137755
2073 Reviewed by Darin Adler.
2075 The bug was caused by cloneChildNodes not copying template element's content.
2077 Fixed the bug by adding the third behavior (CloneContent) to the polymorphic
2078 cloneNodeInternal, which copies template element's content but not its children,
2079 in addition to the existing CloneSelf (deep=false) and CloneChildren (deep=true).
2081 Test: fast/dom/HTMLTemplateElement/cloneNode-nested-templates.html
2084 (WebCore::Attr::cloneNodeInternal): Renamed from cloneNode.
2086 * dom/CDATASection.cpp:
2087 (WebCore::CDATASection::cloneNodeInternal): Renamed from cloneNode.
2088 * dom/CDATASection.h:
2090 (WebCore::Comment::cloneNodeInternal): Renamed from cloneNode.
2092 * dom/ContainerNode.cpp:
2093 (WebCore::ContainerNode::cloneChildNodes): Calls cloneNode with CloneContent.
2095 (WebCore::Document::cloneNodeInternal): Renamed from cloneNode.
2097 * dom/DocumentFragment.cpp:
2098 (WebCore::DocumentFragment::cloneNodeInternal): Renamed from cloneNode.
2099 * dom/DocumentFragment.h:
2100 * dom/DocumentType.cpp:
2101 (WebCore::DocumentType::cloneNodeInternal): Renamed from cloneNode.
2102 * dom/DocumentType.h:
2104 (WebCore::Element::cloneNodeInternal): Renamed from cloneNode.
2106 * dom/EntityReference.cpp:
2107 (WebCore::EntityReference::cloneNodeInternal): Renamed from cloneNode.
2108 * dom/EntityReference.h:
2110 (WebCore::Node::cloneNode): Added. It calls cloneNodeInternal with CloneSelf or CloneChildren.
2111 * dom/ProcessingInstruction.cpp:
2112 (WebCore::ProcessingInstruction::cloneNodeInternal): Renamed from cloneNode.
2113 * dom/ProcessingInstruction.h:
2114 * dom/ShadowRoot.cpp:
2115 (WebCore::ShadowRoot::cloneNodeInternal): Renamed from cloneNode. Also moved from ShadowRoot.h.
2118 (WebCore::Text::cloneNodeInternal): Renamed from cloneNode.
2120 * html/HTMLTemplateElement.cpp:
2121 (WebCore::HTMLTemplateElement::cloneNodeInternal): Renamed from cloneNode. This is the only
2122 function in which CloneContent results in a different behavior from CloneSelf.
2123 * html/HTMLTemplateElement.h:
2125 2014-12-15 Benjamin Poulain <bpoulain@apple.com>
2127 Unify the various serialization of selector list
2128 https://bugs.webkit.org/show_bug.cgi?id=139606
2130 Reviewed by Andreas Kling.
2132 There were code in various place to build a string from the selectors contained
2135 This patch adds a single function to do that: buildSelectorsText(). All the call sites
2136 were modified to use it.
2138 The serialization of :-webkit-any() gets fixed as a result.
2140 * css/CSSSelector.cpp:
2141 (WebCore::CSSSelector::selectorText):
2142 (WebCore::appendSelectorList): Deleted.
2143 * css/CSSSelectorList.cpp:
2144 (WebCore::CSSSelectorList::selectorsText):
2145 (WebCore::CSSSelectorList::buildSelectorsText):
2146 * css/CSSSelectorList.h:
2147 * css/CSSStyleRule.cpp:
2148 (WebCore::CSSStyleRule::generateSelectorText):
2149 * css/WebKitCSSRegionRule.cpp:
2150 (WebCore::WebKitCSSRegionRule::cssText):
2152 2014-12-15 Antti Koivisto <antti@apple.com>
2154 Try to fix iOS build.
2158 2014-12-15 Javier Fernandez <jfernandez@igalia.com>
2160 Floats Don't Overhang Their Block Formatting Contex
2161 https://bugs.webkit.org/show_bug.cgi?id=139476
2163 Reviewed by David Hyatt.
2165 From Blink r172530 by <robhogan@gmail.com>
2167 Floats Don't Overhang Their Block Formatting Context Per
2168 http://www.w3.org/TR/CSS2/visuren.html#float-position: "References
2169 to [the elements] in the [rules that govern the behaviour of
2170 floats] refer only to other elements in the same block formatting
2171 context as the float."
2173 This means we don't need to look for intruding or overhanging
2174 floats in boxes that establish a new block formatting
2175 context. Even that we don't have a test breaking this rule it
2176 seems we are doing unnecessary work in
2177 rebuildFloatsFromIntruding() so make sure we avoid adding floats
2178 from different block formatting contexts.
2181 fast/block/float/floats-do-not-overhang-from-block-formatting-context.html
2183 * rendering/RenderBlockFlow.cpp:
2184 (WebCore::RenderBlockFlow::addIntrudingFloats):
2186 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com>
2188 Unreviewed build fix after r177301
2190 * html/ColorInputType.cpp:
2191 (WebCore::ColorInputType::elementRectRelativeToRootView):
2193 2014-12-15 Timothy Horton <timothy_horton@apple.com>
2195 Implement Data Detectors immediate actions for WebKit2
2196 https://bugs.webkit.org/show_bug.cgi?id=139617
2197 <rdar://problem/19198539>
2199 Reviewed by Beth Dakin.
2201 * platform/spi/mac/DataDetectorsSPI.h:
2204 2014-12-12 Simon Fraser <simon.fraser@apple.com>
2206 REGRESSION (r168217): Images are cropped out during animation at jetblue.com
2207 https://bugs.webkit.org/show_bug.cgi?id=136410
2208 rdar://problem/18188533
2210 Reviewed by Dean Jackson.
2212 During GraphicsLayer flushing, for tiled layers we can compute a visible rect using
2213 the current state of an animation, which is obtained via the AnimationController.
2214 If that animation was running in a subframe, AnimationController could use a stale
2215 beginAnimationUpdateTime since no-one called its beginAnimationUpdate(). That
2216 resulted in an incorrect computation of the visible rect, resulting in missing tiles.
2218 There are two parts to this fix. First, add an assertion that beginAnimationUpdateTime()
2219 is being called inside an animation update block. This required moving m_beginAnimationUpdateCount
2220 into AnimationControllerPrivate, and changes to endAnimationUpdate().
2222 The second is adding a AnimationUpdateBlock to getAnimatedStyleForRenderer(), which
2223 can be called outside of style resolution. We also need some in other API functions.
2225 Testing revealed that layout can call via layoutOverflowRectForPropagation(), suggesting
2226 that we should have an animation batch inside FrameView::layout(). In addition, a single
2227 resolveStyle/layout should use the same animationBeginTime, so we add a batch to
2228 updateLayoutAndStyleIfNeededRecursive().
2230 Identical to the patch that was rolled out in r177269 with the addition of a
2231 Ref<Frame> protector(m_frame) in AnimationControllerPrivate::animationTimerFired()
2232 that ensures that the AnimationControllerPrivate is kept alive for the scope of
2233 the AnimationPrivateUpdateBlock, when a transitionEnd event destroys an iframe.
2235 No test because it's timing-dependent. Existing tests exercise the new assertion.
2237 * css/CSSComputedStyleDeclaration.cpp:
2238 (WebCore::computeRenderStyleForProperty):
2239 * page/FrameView.cpp:
2240 (WebCore::FrameView::layout):
2241 (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
2242 * page/animation/AnimationController.cpp:
2243 (WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock):
2244 (WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock):
2245 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
2246 (WebCore::AnimationControllerPrivate::animationTimerFired):
2247 (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
2248 (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
2249 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
2250 (WebCore::AnimationControllerPrivate::beginAnimationUpdate):
2251 (WebCore::AnimationControllerPrivate::endAnimationUpdate):
2252 (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
2253 (WebCore::AnimationController::AnimationController):
2254 (WebCore::AnimationController::notifyAnimationStarted):
2255 (WebCore::AnimationController::pauseAnimationAtTime):
2256 (WebCore::AnimationController::pauseTransitionAtTime):
2257 (WebCore::AnimationController::resumeAnimationsForDocument):
2258 (WebCore::AnimationController::startAnimationsIfNotSuspended):
2259 (WebCore::AnimationController::beginAnimationUpdate):
2260 (WebCore::AnimationController::endAnimationUpdate):
2261 * page/animation/AnimationController.h:
2262 * page/animation/AnimationControllerPrivate.h:
2264 2014-12-12 Simon Fraser <simon.fraser@apple.com>
2266 REGRESSION (r168217): Images are cropped out during animation at jetblue.com
2267 https://bugs.webkit.org/show_bug.cgi?id=136410
2269 Reviewed by Dean Jackson.
2271 We were hitting the new assertion under Page::setPageScaleFactor(), which
2272 calls recalcStyle(), so move the AnimationUpdateBlock from updateStyleIfNeeded()
2276 (WebCore::Document::recalcStyle):
2277 (WebCore::Document::updateStyleIfNeeded):
2279 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com>
2281 Addressing post-review comments in r177035
2282 https://bugs.webkit.org/show_bug.cgi?id=139557
2284 Reviewed by Darin Adler.
2286 This patch deletes the helper functions rendererBoundingBox() and rendererAnchorRect() and
2287 migrates callers to using renderers directly.
2289 It also improves the comment in RenderElement.h regarding RenderElement::anchorRect().
2291 No new tests because this is simply refactoring.
2293 * WebCore.exp.in: Delete exported symbol for rendererBoundingBox()
2294 * accessibility/AccessibilitySlider.cpp:
2295 (WebCore::AccessibilitySliderThumb::elementRect): Migrate off rendererBoundingBox()
2296 * dom/ContainerNode.cpp:
2297 (WebCore::rendererAnchorRect): Deleted.
2298 * dom/ContainerNode.h:
2300 (WebCore::rendererBoundingBox): Deleted.
2302 * html/ColorInputType.cpp:
2303 (WebCore::ColorInputType::elementRectRelativeToRootView): Migrate off rendererBoundingBox().
2304 * html/HTMLInputElement.cpp:
2305 (WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto.
2306 * html/ValidationMessage.cpp:
2307 (WebCore::ValidationMessage::buildBubbleTree): Ditto.
2308 * page/FrameView.cpp:
2309 (WebCore::FrameView::scrollElementToRect): Migrate off rendererAnchorRect().
2310 (WebCore::FrameView::scrollToAnchor): Ditto.
2311 * page/SpatialNavigation.cpp:
2312 (WebCore::nodeRectInAbsoluteCoordinates): Migrate off rendererBoundingBox().
2313 * rendering/RenderElement.h:
2315 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com>
2317 Delete Notation because we don't use it
2318 https://bugs.webkit.org/show_bug.cgi?id=139171
2320 Reviewed by Kent Tamura.
2322 No tests because this is un-exposing something that never gets instantiated.
2325 * DerivedSources.cpp:
2326 * DerivedSources.make:
2329 * WebCore.vcxproj/WebCore.vcxproj:
2330 * WebCore.vcxproj/WebCore.vcxproj.filters:
2331 * WebCore.xcodeproj/project.pbxproj:
2332 * bindings/gobject/WebKitDOMNodeFilter.h:
2333 * bindings/gobject/WebKitDOMNodeFilter.symbols:
2334 * bindings/gobject/WebKitDOMPrivate.cpp:
2336 * bindings/gobject/webkitdom.symbols:
2337 * bindings/js/JSNodeCustom.cpp:
2338 (WebCore::createWrapperInline):
2339 * bindings/objc/DOM.mm:
2341 * bindings/objc/DOMCore.h:
2342 * bindings/objc/PublicDOMInterfaces.h:
2343 * dom/DOMAllInOne.cpp:
2345 (WebCore::Document::importNode):
2346 (WebCore::Document::adoptNode):
2347 (WebCore::Document::childTypeAllowed):
2348 (WebCore::Document::canReplaceChild):
2350 (WebCore::Node::dumpStatistics):
2351 (WebCore::Node::isDefaultNamespace):
2352 (WebCore::Node::lookupPrefix):
2353 (WebCore::Node::lookupNamespaceURI):
2354 (WebCore::appendTextContent):
2355 (WebCore::Node::setTextContent):
2359 * dom/NodeFilter.idl:
2360 * dom/Notation.cpp: Removed.
2361 * dom/Notation.h: Removed.
2362 * dom/Notation.idl: Removed.
2364 (WebCore::lengthOfContentsInNode):
2365 (WebCore::Range::processContentsBetweenOffsets):
2366 (WebCore::Range::insertNode):
2367 (WebCore::Range::checkNodeWOffset):
2368 (WebCore::Range::checkNodeBA):
2369 (WebCore::Range::selectNode):
2370 (WebCore::Range::selectNodeContents):
2371 (WebCore::Range::surroundContents):
2372 * editing/MarkupAccumulator.cpp:
2373 (WebCore::MarkupAccumulator::appendStartMarkup):
2374 * xml/XPathUtil.cpp:
2375 (WebCore::XPath::isValidContextNode):
2377 2014-12-15 Gavin Barraclough <barraclough@apple.com>
2379 Change HysteresisActivity to use a lambda
2380 https://bugs.webkit.org/show_bug.cgi?id=139636
2382 Reviewed by Darin Adler.
2384 The current implementation provides notifications via callbacks to a delegate. Using a delegate
2385 with callbacks is limiting a number of ways. The callback names are very ambiguous, the callbacks
2386 must either be on a separate object (more boilerplate), or the callback must be public for
2387 HysteresisActivity to call them, or friends get involved. Without the boilerplate of extra
2388 delegate objects it's hard to scale use of these objects - a single object can't serve as a
2389 delegate for multiple HysteresisActivity members.
2391 Instead, make HysteresisActivity take a lambda to callback on state change. To simplify, changed
2392 HysteresisState to only track Started/Stopped states (removed WillStopPendingTimeout).
2395 - removed exports of deleted functions.
2396 * page/PageThrottler.cpp:
2397 (WebCore::PageThrottler::PageThrottler):
2398 - m_hysteresis lambda calls updateUserActivity.
2399 (WebCore::PageThrottler::pageActivityCounterValueDidChange):
2400 - ASSERT updated due to removal of WillStopPendingTimeout state.
2401 (WebCore::PageThrottler::started): Deleted.
2402 (WebCore::PageThrottler::stopped): Deleted.
2403 - functionality replaced by lambda.
2404 * page/PageThrottler.h:
2405 - HysteresisActivity is no longer templated on delegate type, removed function declarations & friend.
2406 * platform/HysteresisActivity.h:
2407 (WebCore::HysteresisActivity::HysteresisActivity):
2408 - HysteresisActivity takes a lambda, not a delegate.
2409 (WebCore::HysteresisActivity::start):
2410 - delegate call -> callback.
2411 (WebCore::HysteresisActivity::state):
2412 - simplified to remove WillStopPendingTimeout.
2413 (WebCore::HysteresisActivity::hysteresisTimerFired):
2414 - delegate call -> callback.
2415 * platform/UserActivity.cpp:
2416 (WebCore::UserActivity::UserActivity):
2417 - HysteresisActivity lambda calls hysteresisUpdated.
2418 (WebCore::UserActivity::hysteresisUpdated):
2419 (WebCore::UserActivity::started): Deleted.
2420 (WebCore::UserActivity::stopped): Deleted.
2421 - started/stopped -> hysteresisUpdated.
2422 * platform/UserActivity.h:
2423 - started/stopped -> hysteresisUpdated, removed friend.
2425 2014-12-15 Antti Koivisto <antti@apple.com>
2427 WebKit level persistent caching
2428 https://bugs.webkit.org/show_bug.cgi?id=30322
2430 Reviewed by Sam Weinig.
2432 Test: http/tests/cache/disk-cache-validation.html
2435 * inspector/InspectorResourceAgent.cpp:
2436 (WebCore::buildObjectForResourceResponse):
2437 * platform/network/ResourceResponseBase.cpp:
2438 (WebCore::ResourceResponseBase::ResourceResponseBase):
2439 (WebCore::ResourceResponseBase::source):
2440 (WebCore::ResourceResponseBase::setSource):
2441 (WebCore::ResourceResponseBase::wasCached): Deleted.
2442 (WebCore::ResourceResponseBase::setWasCached): Deleted.
2444 Replace wasCached bit with Source enum.
2445 This is useful for testing.
2447 * platform/network/ResourceResponseBase.h:
2448 (WebCore::ResourceResponseBase::containsCertificateInfo):
2449 (WebCore::ResourceResponseBase::encode):
2450 (WebCore::ResourceResponseBase::decode):
2451 * testing/Internals.cpp:
2452 (WebCore::Internals::xhrResponseSource):
2453 (WebCore::Internals::clearMemoryCache):
2454 * testing/Internals.h:
2455 * testing/Internals.idl:
2459 * xml/XMLHttpRequest.h:
2461 2014-12-15 Andreas Kling <akling@apple.com>
2463 Purge PassRefPtr from FocusEvent code.
2464 <https://webkit.org/b/139647>
2466 Reviewed by Anders Carlsson.
2468 Convert FocusEvent-related code from using PassRefPtr to using RefPtr&& instead.
2471 (WebCore::Document::setFocusedElement):
2473 (WebCore::Element::dispatchFocusInEvent):
2474 (WebCore::Element::dispatchFocusOutEvent):
2475 (WebCore::Element::dispatchFocusEvent):
2476 (WebCore::Element::dispatchBlurEvent):
2478 * dom/FocusEvent.cpp:
2479 (WebCore::FocusEvent::FocusEvent):
2481 * html/HTMLFormControlElement.cpp:
2482 (WebCore::HTMLFormControlElement::dispatchBlurEvent):
2483 * html/HTMLFormControlElement.h:
2484 * html/HTMLSelectElement.cpp:
2485 (WebCore::HTMLSelectElement::dispatchFocusEvent):
2486 (WebCore::HTMLSelectElement::dispatchBlurEvent):
2487 * html/HTMLSelectElement.h:
2488 * html/HTMLTextFormControlElement.cpp:
2489 (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
2490 (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
2491 * html/HTMLTextFormControlElement.h:
2492 * page/FocusController.cpp:
2493 (WebCore::dispatchEventsOnWindowAndFocusedElement):
2495 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com>
2497 [iOS] Codepoints not associated with languages are drawn as boxes
2498 https://bugs.webkit.org/show_bug.cgi?id=138906
2500 Reviewed by Darin Adler.
2502 Use SPI CTFontCreateForCharacters(), but only if we don't already know what to do
2503 with the characters.
2505 Test: platform/ios-simulator/fast/text/non-language-font-fallback.html
2507 * platform/graphics/ios/FontCacheIOS.mm:
2508 (WebCore::FontCache::systemFallbackForCharacters):
2509 * platform/spi/cocoa/CoreTextSPI.h:
2511 2014-12-15 Bem Jones-Bey <bjonesbe@adobe.com>
2513 [CSS Shapes] Fix StyleBuilder code to use CSSValueNone to match spec and other code
2514 https://bugs.webkit.org/show_bug.cgi?id=139601
2516 Reviewed by Chris Dumez.
2518 Change the code to properly use CSSValueNone instead of CSSValueAuto.
2519 Asserts have been added to catch similar errors in the future.
2520 In doing this change, it became apparent that there is nothing
2521 special about the shape-outside property that requires custom code, so
2522 it was changed to use a standard converter function.
2524 No change observable via LayoutTests.
2526 * css/CSSPropertyNames.in: Use a converter instead of custom code.
2527 * css/StyleBuilderConverter.h:
2528 (WebCore::isImageShape): Helper function so that isImageSetValue can
2529 be properly guarded.
2530 (WebCore::StyleBuilderConverter::convertShapeValue): Format as a
2531 converter instead of custom code.
2532 * css/StyleBuilderCustom.h:
2533 (WebCore::StyleBuilderCustom::applyValueWebkitShapeOutside): Deleted.
2535 2014-12-15 Oliver Hunt <oliver@apple.com>
2537 Make sure range based iteration of Vector<> still receives bounds checking
2538 https://bugs.webkit.org/show_bug.cgi?id=138821
2540 Reviewed by Mark Lam.
2542 Update to deal with different iterator type.
2544 * bindings/js/SerializedScriptValue.cpp:
2545 (WebCore::CloneDeserializer::deserializeString):
2546 * editing/TextIterator.cpp:
2547 (WebCore::SearchBuffer::isBadMatch):
2548 * page/mac/ServicesOverlayController.mm:
2549 (WebCore::ServicesOverlayController::buildSelectionHighlight):
2550 * platform/graphics/SegmentedFontData.cpp:
2551 (WebCore::SegmentedFontData::fontDataForCharacter):
2552 (WebCore::SegmentedFontData::containsCharacter):
2553 (WebCore::SegmentedFontData::isLoading):
2554 * platform/graphics/WOFFFileFormat.cpp:
2555 (WebCore::convertWOFFToSfnt):
2556 * platform/graphics/cairo/GradientCairo.cpp:
2557 (WebCore::Gradient::platformGradient):
2558 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2559 (WebCore::GIFImageDecoder::clearFrameBufferCache):
2560 * rendering/RenderBox.cpp:
2561 (WebCore::RenderBox::paintFillLayers):
2562 * rendering/style/GridResolvedPosition.cpp:
2563 (WebCore::firstNamedGridLineBeforePosition):
2564 (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
2565 * svg/SVGFontElement.cpp:
2566 (WebCore::kerningForPairOfStringsAndGlyphs):
2567 * svg/SVGPathByteStream.h:
2568 (WebCore::SVGPathByteStream::append):
2569 * xml/XPathNodeSet.h:
2570 (WebCore::XPath::NodeSet::begin):
2571 (WebCore::XPath::NodeSet::end):
2573 2014-12-15 Chris Dumez <cdumez@apple.com>
2575 Move '-webkit-text-decoration-skip' to the new StyleBuilder
2576 https://bugs.webkit.org/show_bug.cgi?id=139633
2578 Reviewed by Darin Adler.
2580 Move '-webkit-text-decoration-skip' to the new StyleBuilder by
2581 introducing a new TextDecorationSkip converter.
2583 No new tests, no behavior change.
2585 * css/CSSPropertyNames.in:
2586 * css/DeprecatedStyleBuilder.cpp:
2587 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2588 (WebCore::valueToDecorationSkip): Deleted.
2589 (WebCore::ApplyPropertyTextDecorationSkip::applyValue): Deleted.
2590 (WebCore::ApplyPropertyTextDecorationSkip::createHandler): Deleted.
2591 * css/StyleBuilderConverter.h:
2592 (WebCore::StyleBuilderConverter::valueToDecorationSkip):
2593 (WebCore::StyleBuilderConverter::convertTextDecorationSkip):
2595 2014-12-15 Bartlomiej Gajda <b.gajda@samsung.com>
2597 [MSE] Prevent SourceBuffer monitoring algorithm from triggering a HAVE_NOTHING to HAVE_METADATA transition.
2598 https://bugs.webkit.org/show_bug.cgi?id=139444
2600 Reviewed by Jer Noble.
2602 In case of 2 SourceBuffers, there can be transition to HaveMetadata from monitorSourceBuffers,
2603 even though second SourceBuffer did not receive init segment - we can't query for it's metadata
2604 such as width/height (if second one was video), so we shouldn't fire the event.
2605 W3 Bug reference : https://www.w3.org/Bugs/Public/show_bug.cgi?id=27542
2607 Test: media/media-source/media-source-loadedmetada-with-two-sourcebuffers.html
2609 * Modules/mediasource/MediaSource.cpp:
2610 (WebCore::MediaSource::monitorSourceBuffers):
2611 * Modules/mediasource/SourceBuffer.h:
2612 * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
2613 (WebCore::mimeTypeCache):
2615 2014-12-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2617 Move WebCore/platform/text to std::unique_ptr
2618 https://bugs.webkit.org/show_bug.cgi?id=139395
2620 Reviewed by Darin Adler.
2622 As a step to use std::unique_ptr<>, this patch replaces OwnPtr|PassOwnPtr with
2623 std::unique_ptr<> | std::make_unique<>.
2626 * platform/text/LineBreakIteratorPoolICU.h:
2627 (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
2628 (WebCore::LineBreakIteratorPool::create): Deleted.
2629 * platform/text/LocaleICU.cpp:
2630 (WebCore::Locale::create):
2631 (WebCore::LocaleICU::createLabelVector):
2632 (WebCore::createFallbackMonthLabels):
2633 (WebCore::createFallbackAMPMLabels):
2634 (WebCore::LocaleICU::initializeDateTimeFormat):
2635 (WebCore::LocaleICU::shortMonthLabels):
2636 (WebCore::LocaleICU::create): Deleted.
2637 (WebCore::LocaleICU::standAloneMonthLabels): Deleted.
2638 (WebCore::LocaleICU::shortStandAloneMonthLabels): Deleted.
2639 * platform/text/LocaleICU.h:
2640 * platform/text/LocaleNone.cpp:
2641 (WebCore::Locale::create):
2642 * platform/text/PlatformLocale.h:
2643 (WebCore::Locale::createDefault):
2644 * platform/text/TextCodecLatin1.cpp:
2645 * platform/text/TextCodecUTF16.cpp:
2646 * platform/text/TextEncoding.cpp:
2647 * platform/text/mac/LocaleMac.h:
2648 * platform/text/mac/LocaleMac.mm:
2649 (WebCore::Locale::create):
2650 (WebCore::LocaleMac::create):
2651 * platform/text/mac/TextCodecMac.cpp:
2652 * platform/text/win/LocaleWin.cpp:
2653 (WebCore::Locale::create):
2654 (WebCore::LocaleWin::create):
2655 * platform/text/win/LocaleWin.h:
2656 * platform/text/win/TextCodecWin.cpp:
2657 (WebCore::newTextCodecWin):
2659 2014-12-15 Xavier Claessens <xavier.claessens@collabora.com>
2661 [GStreamer] the webkitwebsrc element can stale
2662 https://bugs.webkit.org/show_bug.cgi?id=138425
2664 Reviewed by Philippe Normand.
2666 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2667 (removeTimeoutSources):
2668 (webKitWebSrcStart):
2669 (webKitWebSrcChangeState):
2671 2014-12-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2673 [GTK] Remove GamepadDeviceGtk::create()
2674 https://bugs.webkit.org/show_bug.cgi?id=139637
2676 Reviewed by Carlos Garcia Campos.
2678 std::make_unique<> can replace GamepadDeviceGtk::create() factory function.
2680 * platform/gtk/GamepadsGtk.cpp: Add "explicit" to GamepadsGtk constructor.
2681 (WebCore::GamepadsGtk::registerDevice):
2682 (WebCore::GamepadDeviceGtk::create): Deleted.
2684 2014-12-15 Chris Dumez <cdumez@apple.com>
2686 Move 'counter-increment' / 'counter-reset' to the new StyleBuilder
2687 https://bugs.webkit.org/show_bug.cgi?id=139635
2689 Reviewed by Antti Koivisto.
2691 Move 'counter-increment' / 'counter-reset' to the new StyleBuilder by
2694 No new tests, no behavior change.
2696 * css/CSSPropertyNames.in:
2697 * css/DeprecatedStyleBuilder.cpp:
2698 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2699 (WebCore::ApplyPropertyCounter::emptyFunction): Deleted.
2700 (WebCore::ApplyPropertyCounter::applyInheritValue): Deleted.
2701 (WebCore::ApplyPropertyCounter::applyValue): Deleted.
2702 (WebCore::ApplyPropertyCounter::createHandler): Deleted.
2703 * css/StyleBuilderCustom.h:
2704 (WebCore::StyleBuilderCustom::applyInitialCounterIncrement):
2705 (WebCore::StyleBuilderCustom::applyInitialCounterReset):
2706 (WebCore::StyleBuilderCustom::applyInheritCounter):
2707 (WebCore::StyleBuilderCustom::applyValueCounter):
2708 (WebCore::StyleBuilderCustom::applyInheritCounterIncrement):
2709 (WebCore::StyleBuilderCustom::applyValueCounterIncrement):
2710 (WebCore::StyleBuilderCustom::applyInheritCounterReset):
2711 (WebCore::StyleBuilderCustom::applyValueCounterReset):
2713 2014-12-14 Commit Queue <commit-queue@webkit.org>
2715 Unreviewed, rolling out r177238 and r177244.
2716 https://bugs.webkit.org/show_bug.cgi?id=139632
2718 Introduced memory corruption (Requested by ap on #webkit).
2720 Reverted changesets:
2722 "REGRESSION (r168217): Images are cropped out during animation
2724 https://bugs.webkit.org/show_bug.cgi?id=136410
2725 http://trac.webkit.org/changeset/177238
2727 https://bugs.webkit.org/show_bug.cgi?id=139596
2728 http://trac.webkit.org/changeset/177244
2730 2014-12-14 Commit Queue <commit-queue@webkit.org>
2732 Unreviewed, rolling out r177223 and r177226.
2733 https://bugs.webkit.org/show_bug.cgi?id=139631
2735 Multiple tests are flakily asserting in
2736 StyleResolver::loadPendingResources (Requested by ap_ on
2739 Reverted changesets:
2741 "[SVG Masking] Enable the use of <mask> elements for -webkit-
2743 https://bugs.webkit.org/show_bug.cgi?id=139294
2744 http://trac.webkit.org/changeset/177223
2746 "animations/cross-fade-webkit-mask-image.html is flaky"
2747 https://bugs.webkit.org/show_bug.cgi?id=139590
2748 http://trac.webkit.org/changeset/177226
2750 2014-12-14 Andreas Kling <akling@apple.com>
2752 Event construction helpers should return Ref instead of PassRefPtr.
2753 <https://webkit.org/b/139625>
2755 Reviewed by Antti Koivisto.
2757 Change all the FooEvent::create() construction helpers to return Ref<FooEvent>
2758 instead of PassRefPtr<FooEvent>.
2760 This allows the compiler to omit null checks at each call site, since we know
2761 that these functions always return valid objects.
2763 * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
2764 (WebCore::WebKitPlaybackTargetAvailabilityEvent::create):
2765 * Modules/encryptedmedia/MediaKeyMessageEvent.h:
2766 (WebCore::MediaKeyMessageEvent::create):
2767 * Modules/encryptedmedia/MediaKeyNeededEvent.h:
2768 (WebCore::MediaKeyNeededEvent::create):
2769 * Modules/gamepad/GamepadEvent.h:
2770 (WebCore::GamepadEvent::create):
2771 * Modules/indexeddb/IDBVersionChangeEvent.h:
2772 (WebCore::IDBVersionChangeEvent::create):
2773 * Modules/indieui/UIRequestEvent.cpp:
2774 (WebCore::UIRequestEvent::create):
2775 * Modules/indieui/UIRequestEvent.h:
2776 * Modules/mediastream/MediaStreamEvent.cpp:
2777 (WebCore::MediaStreamEvent::create):
2778 * Modules/mediastream/MediaStreamEvent.h:
2779 * Modules/mediastream/MediaStreamTrackEvent.cpp:
2780 (WebCore::MediaStreamTrackEvent::create):
2781 * Modules/mediastream/MediaStreamTrackEvent.h:
2782 * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
2783 (WebCore::RTCDTMFToneChangeEvent::create):
2784 * Modules/mediastream/RTCDTMFToneChangeEvent.h:
2785 * Modules/mediastream/RTCDataChannelEvent.cpp:
2786 (WebCore::RTCDataChannelEvent::create):
2787 * Modules/mediastream/RTCDataChannelEvent.h:
2788 * Modules/mediastream/RTCIceCandidateEvent.cpp:
2789 (WebCore::RTCIceCandidateEvent::create):
2790 * Modules/mediastream/RTCIceCandidateEvent.h:
2791 * Modules/speech/SpeechSynthesisEvent.cpp:
2792 (WebCore::SpeechSynthesisEvent::create):
2793 * Modules/speech/SpeechSynthesisEvent.h:
2794 * Modules/webaudio/AudioProcessingEvent.cpp:
2795 (WebCore::AudioProcessingEvent::create):
2796 * Modules/webaudio/AudioProcessingEvent.h:
2797 * Modules/webaudio/OfflineAudioCompletionEvent.cpp:
2798 (WebCore::OfflineAudioCompletionEvent::create):
2799 * Modules/webaudio/OfflineAudioCompletionEvent.h:
2800 * Modules/websockets/CloseEvent.h:
2801 (WebCore::CloseEvent::create):
2802 * dom/AnimationEvent.h:
2803 * dom/AutocompleteErrorEvent.h:
2804 * dom/BeforeLoadEvent.h:
2805 * dom/BeforeTextInsertedEvent.h:
2806 * dom/BeforeUnloadEvent.h:
2807 * dom/ClipboardEvent.h:
2808 * dom/CompositionEvent.h:
2809 * dom/CustomEvent.h:
2810 * dom/DeviceMotionEvent.h:
2811 * dom/DeviceOrientationEvent.h:
2814 (WebCore::Event::create):
2816 * dom/HashChangeEvent.h:
2817 * dom/KeyboardEvent.h:
2818 * dom/MessageEvent.h:
2819 * dom/MouseEvent.cpp:
2820 (WebCore::MouseEvent::create):
2821 (WebCore::SimulatedMouseEvent::create):
2823 (WebCore::MouseEvent::create):
2824 * dom/MutationEvent.h:
2825 * dom/OverflowEvent.h:
2826 * dom/PageTransitionEvent.h:
2827 * dom/PopStateEvent.cpp:
2828 (WebCore::PopStateEvent::create):
2829 * dom/PopStateEvent.h:
2830 * dom/ProgressEvent.h:
2831 (WebCore::ProgressEvent::create):
2832 * dom/TextEvent.cpp:
2833 (WebCore::TextEvent::create):
2834 (WebCore::TextEvent::createForPlainTextPaste):
2835 (WebCore::TextEvent::createForFragmentPaste):
2836 (WebCore::TextEvent::createForDrop):
2837 (WebCore::TextEvent::createForDictation):
2840 * dom/TransitionEvent.h:
2842 (WebCore::UIEvent::create):
2843 * dom/WebKitAnimationEvent.h:
2844 * dom/WebKitTransitionEvent.h:
2846 * html/MediaKeyEvent.h:
2847 * html/canvas/WebGLContextEvent.h:
2848 * html/track/TrackEvent.h:
2849 * storage/StorageEvent.cpp:
2850 (WebCore::StorageEvent::create):
2851 * storage/StorageEvent.h:
2852 * svg/SVGZoomEvent.h:
2853 (WebCore::SVGZoomEvent::create):
2854 * xml/XMLHttpRequestProgressEvent.h:
2855 (WebCore::XMLHttpRequestProgressEvent::create):
2857 2014-12-14 Ryosuke Niwa <rniwa@webkit.org>
2859 REGRESSION(r160182): Fragment parser doesn't close a form element with a close tag
2860 https://bugs.webkit.org/show_bug.cgi?id=139561
2862 Reviewed by Darin Adler.
2864 The bug was caused by us not setting the form pointer in insertHTMLFormElement.
2865 Since we already avoid associating a form inside HTMLConstructionSite::createHTMLElement,
2866 we didn't need this code at all.
2868 Fixed the bug by partially reverting r160182.
2870 Test: fast/dom/dom-parse-close-form.html
2872 * html/parser/HTMLConstructionSite.cpp:
2873 (WebCore::HTMLConstructionSite::insertHTMLFormElement):
2874 (WebCore::HTMLConstructionSite::insideTemplateElement): Deleted.
2875 * html/parser/HTMLConstructionSite.h:
2877 2014-12-14 Andreas Kling <akling@apple.com>
2879 Fix build even more. Not a strong performance here.
2881 * platform/graphics/Font.cpp:
2882 (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry):
2883 (WebCore::retrieveOrAddCachedFontGlyphs):
2885 2014-12-14 Andreas Kling <akling@apple.com>
2889 * css/CSSFunctionValue.cpp:
2890 (WebCore::CSSFunctionValue::CSSFunctionValue):
2891 * css/CSSFunctionValue.h:
2893 2014-12-14 Andreas Kling <akling@apple.com>
2895 Minor follow-up tweaks suggested by Darin on bug 139587.
2897 * css/CSSFunctionValue.h:
2898 (WebCore::CSSFunctionValue::create):
2899 * platform/graphics/Font.cpp:
2900 (WebCore::retrieveOrAddCachedFontGlyphs):
2901 (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): Deleted.
2902 * rendering/RenderScrollbarPart.h:
2904 2014-12-14 Andreas Kling <akling@apple.com>
2906 Replace PassRef with Ref/Ref&& across the board.
2907 <https://webkit.org/b/139587>
2909 Reviewed by Darin Adler.
2911 * Modules/battery/BatteryManager.cpp:
2912 (WebCore::BatteryManager::create):
2913 * Modules/battery/BatteryManager.h:
2914 * Modules/battery/BatteryStatus.cpp:
2915 (WebCore::BatteryStatus::create):
2916 * Modules/battery/BatteryStatus.h:
2917 * Modules/gamepad/GamepadButton.h:
2918 (WebCore::GamepadButton::create):
2919 * Modules/gamepad/NavigatorGamepad.cpp:
2920 (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):
2921 * Modules/gamepad/NavigatorGamepad.h:
2922 * Modules/gamepad/deprecated/GamepadList.h:
2923 (WebCore::GamepadList::create):
2924 * Modules/geolocation/Geolocation.cpp:
2925 (WebCore::Geolocation::create):
2926 * Modules/geolocation/Geolocation.h:
2927 (WebCore::Geolocation::GeoNotifier::create):
2928 * Modules/mediasource/MediaSource.cpp:
2929 (WebCore::MediaSource::setPrivateAndOpen):
2930 * Modules/mediasource/MediaSource.h:
2931 * Modules/mediasource/SourceBuffer.cpp:
2932 (WebCore::SourceBuffer::create):
2933 (WebCore::SourceBuffer::SourceBuffer):
2934 * Modules/mediasource/SourceBuffer.h:
2935 * Modules/mediastream/UserMediaClient.h:
2936 * Modules/mediastream/UserMediaController.h:
2937 (WebCore::UserMediaController::requestPermission):
2938 * Modules/notifications/Notification.cpp:
2939 (WebCore::Notification::create):
2940 * Modules/notifications/Notification.h:
2941 * Modules/notifications/NotificationCenter.cpp:
2942 (WebCore::NotificationCenter::create):
2943 * Modules/notifications/NotificationCenter.h:
2944 * Modules/plugins/PluginReplacement.h:
2945 * Modules/plugins/QuickTimePluginReplacement.h:
2946 * Modules/plugins/QuickTimePluginReplacement.mm:
2947 (WebCore::QuickTimePluginReplacement::createElementRenderer):
2948 * Modules/plugins/YouTubePluginReplacement.cpp:
2949 (WebCore::YouTubePluginReplacement::createElementRenderer):
2950 * Modules/plugins/YouTubePluginReplacement.h:
2951 * Modules/proximity/DeviceProximityEvent.h:
2952 (WebCore::DeviceProximityEvent::create):
2954 * css/BasicShapeFunctions.cpp:
2955 (WebCore::valueForBasicShape):
2956 (WebCore::basicShapeForValue):
2957 * css/BasicShapeFunctions.h:
2958 * css/CSSAspectRatioValue.h:
2959 (WebCore::CSSAspectRatioValue::create):
2960 * css/CSSBorderImage.cpp:
2961 (WebCore::createBorderImageValue):
2962 * css/CSSBorderImage.h:
2963 * css/CSSBorderImageSliceValue.h:
2964 (WebCore::CSSBorderImageSliceValue::create):
2965 * css/CSSCalculationValue.cpp:
2966 (WebCore::determineCategory):
2967 * css/CSSCalculationValue.h:
2968 (WebCore::CSSCalcValue::CSSCalcValue):
2969 (WebCore::CSSCalcValue::createCalculationValue):
2970 * css/CSSCanvasValue.h:
2971 (WebCore::CSSCanvasValue::create):
2972 * css/CSSComputedStyleDeclaration.cpp:
2973 (WebCore::valueForImageSliceSide):
2974 (WebCore::valueForNinePieceImageSlice):
2975 (WebCore::valueForNinePieceImageQuad):
2976 (WebCore::valueForNinePieceImageRepeat):
2977 (WebCore::valueForNinePieceImage):
2978 (WebCore::zoomAdjustedPixelValue):
2979 (WebCore::zoomAdjustedNumberValue):
2980 (WebCore::zoomAdjustedPixelValueForLength):
2981 (WebCore::valueForReflection):
2982 (WebCore::createPositionListForLayer):
2983 (WebCore::percentageOrZoomAdjustedValue):
2984 (WebCore::autoOrZoomAdjustedValue):
2985 (WebCore::getBorderRadiusCornerValues):
2986 (WebCore::getBorderRadiusCornerValue):
2987 (WebCore::getBorderRadiusShorthandValue):
2988 (WebCore::matrixTransformValue):
2989 (WebCore::computedTransform):
2990 (WebCore::adjustLengthForZoom):
2991 (WebCore::ComputedStyleExtractor::valueForShadow):
2992 (WebCore::ComputedStyleExtractor::valueForFilter):
2993 (WebCore::specifiedValueForGridTrackBreadth):
2994 (WebCore::specifiedValueForGridTrackSize):
2995 (WebCore::valueForGridTrackList):
2996 (WebCore::valueForGridPosition):
2997 (WebCore::createTransitionPropertyValue):
2998 (WebCore::getTransitionPropertyValue):
2999 (WebCore::scrollSnapDestination):
3000 (WebCore::scrollSnapPoints):
3001 (WebCore::scrollSnapCoordinates):
3002 (WebCore::getDelayValue):
3003 (WebCore::getDurationValue):
3004 (WebCore::createTimingFunctionValue):
3005 (WebCore::getTimingFunctionValue):
3006 (WebCore::createLineBoxContainValue):
3007 (WebCore::valueForFamily):
3008 (WebCore::renderTextDecorationFlagsToCSSValue):
3009 (WebCore::renderTextDecorationStyleFlagsToCSSValue):
3010 (WebCore::renderTextDecorationSkipFlagsToCSSValue):
3011 (WebCore::renderEmphasisPositionFlagsToCSSValue):
3012 (WebCore::fillRepeatToCSSValue):
3013 (WebCore::fillSourceTypeToCSSValue):
3014 (WebCore::fillSizeToCSSValue):
3015 (WebCore::altTextToCSSValue):
3016 (WebCore::contentToCSSValue):
3017 (WebCore::fontFamilyFromStyle):
3018 (WebCore::lineHeightFromStyle):
3019 (WebCore::fontSizeFromStyle):
3020 (WebCore::fontStyleFromStyle):
3021 (WebCore::fontVariantFromStyle):
3022 (WebCore::fontWeightFromStyle):
3023 (WebCore::CSSComputedStyleDeclaration::copyProperties):
3024 (WebCore::shapePropertyValue):
3025 (WebCore::ComputedStyleExtractor::copyProperties):
3026 (WebCore::ComputedStyleExtractor::copyPropertiesInSet):
3027 * css/CSSComputedStyleDeclaration.h:
3028 * css/CSSCrossfadeValue.h:
3029 (WebCore::CSSCrossfadeValue::create):
3030 * css/CSSCursorImageValue.cpp:
3031 (WebCore::CSSCursorImageValue::CSSCursorImageValue):
3032 * css/CSSCursorImageValue.h:
3033 (WebCore::CSSCursorImageValue::create):
3034 * css/CSSFilterImageValue.h:
3035 (WebCore::CSSFilterImageValue::create):
3036 * css/CSSFontFaceSrcValue.h:
3037 (WebCore::CSSFontFaceSrcValue::create):
3038 (WebCore::CSSFontFaceSrcValue::createLocal):
3039 * css/CSSFontFeatureValue.h:
3040 (WebCore::CSSFontFeatureValue::create):
3041 * css/CSSFontValue.h:
3042 (WebCore::CSSFontValue::create):
3043 * css/CSSFunctionValue.h:
3044 (WebCore::CSSFunctionValue::create):
3045 * css/CSSGradientValue.h:
3046 (WebCore::CSSLinearGradientValue::create):
3047 (WebCore::CSSLinearGradientValue::clone):
3048 (WebCore::CSSRadialGradientValue::create):
3049 (WebCore::CSSRadialGradientValue::clone):
3050 * css/CSSGridTemplateAreasValue.h:
3051 (WebCore::CSSGridTemplateAreasValue::create):
3052 * css/CSSImageSetValue.h:
3053 (WebCore::CSSImageSetValue::create):
3054 * css/CSSImageValue.h:
3055 (WebCore::CSSImageValue::create):
3056 * css/CSSInheritedValue.h:
3057 (WebCore::CSSInheritedValue::create):
3058 * css/CSSInitialValue.h:
3059 (WebCore::CSSInitialValue::createExplicit):
3060 (WebCore::CSSInitialValue::createImplicit):
3061 * css/CSSKeyframeRule.cpp:
3062 (WebCore::StyleKeyframe::StyleKeyframe):
3063 * css/CSSKeyframeRule.h:
3064 (WebCore::StyleKeyframe::create):
3065 * css/CSSKeyframesRule.h:
3066 (WebCore::StyleRuleKeyframes::create):
3067 (WebCore::StyleRuleKeyframes::copy):
3068 * css/CSSLineBoxContainValue.h:
3069 (WebCore::CSSLineBoxContainValue::create):
3070 * css/CSSParser.cpp:
3071 (WebCore::createPrimitiveValuePair):
3072 (WebCore::CSSParser::parseInlineStyleDeclaration):
3073 (WebCore::CSSParser::parseDeclaration):
3074 (WebCore::CSSParser::createStyleProperties):
3075 (WebCore::CSSParser::createPrimitiveNumericValue):
3076 (WebCore::CSSParser::createPrimitiveStringValue):
3077 (WebCore::CSSParser::addFillValue):
3078 (WebCore::CSSParser::addAnimationValue):
3080 * css/CSSPrimitiveValue.cpp:
3081 (WebCore::CSSPrimitiveValue::formatNumberValue):
3082 * css/CSSPrimitiveValue.h:
3083 (WebCore::CSSPrimitiveValue::createIdentifier):
3084 (WebCore::CSSPrimitiveValue::createParserOperator):
3085 (WebCore::CSSPrimitiveValue::createColor):
3086 (WebCore::CSSPrimitiveValue::create):
3087 (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk):
3088 * css/CSSReflectValue.h:
3089 (WebCore::CSSReflectValue::create):
3090 * css/CSSShadowValue.h:
3091 (WebCore::CSSShadowValue::create):
3092 * css/CSSStyleDeclaration.h:
3093 * css/CSSStyleSheet.cpp:
3094 (WebCore::CSSStyleSheet::create):
3095 (WebCore::CSSStyleSheet::createInline):
3096 (WebCore::CSSStyleSheet::CSSStyleSheet):
3097 * css/CSSStyleSheet.h:
3098 * css/CSSTimingFunctionValue.h:
3099 (WebCore::CSSCubicBezierTimingFunctionValue::create):
3100 (WebCore::CSSStepsTimingFunctionValue::create):
3101 * css/CSSUnicodeRangeValue.h:
3102 (WebCore::CSSUnicodeRangeValue::create):
3104 (WebCore::TextCloneCSSValue::create):
3105 * css/CSSValueList.h:
3106 (WebCore::CSSValueList::createCommaSeparated):
3107 (WebCore::CSSValueList::createSpaceSeparated):
3108 (WebCore::CSSValueList::createSlashSeparated):
3109 (WebCore::CSSValueList::createFromParserValueList):
3110 (WebCore::CSSValueList::append):
3111 (WebCore::CSSValueList::prepend):
3112 * css/CSSValuePool.cpp:
3113 (WebCore::CSSValuePool::createIdentifierValue):
3114 (WebCore::CSSValuePool::createColorValue):
3115 (WebCore::CSSValuePool::createValue):
3116 (WebCore::CSSValuePool::createFontFamilyValue):
3117 * css/CSSValuePool.h:
3118 (WebCore::CSSValuePool::createInheritedValue):
3119 (WebCore::CSSValuePool::createImplicitInitialValue):
3120 (WebCore::CSSValuePool::createExplicitInitialValue):
3121 (WebCore::CSSValuePool::createValue):
3122 * css/PropertySetCSSStyleDeclaration.cpp:
3123 (WebCore::PropertySetCSSStyleDeclaration::copyProperties):
3124 * css/PropertySetCSSStyleDeclaration.h:
3125 * css/StyleProperties.cpp:
3126 (WebCore::ImmutableStyleProperties::create):
3127 (WebCore::StyleProperties::immutableCopyIfNeeded):
3128 (WebCore::StyleProperties::copyBlockProperties):
3129 (WebCore::StyleProperties::mutableCopy):
3130 (WebCore::StyleProperties::copyPropertiesInSet):
3131 (WebCore::MutableStyleProperties::create):
3132 * css/StyleProperties.h:
3133 * css/StyleResolver.cpp:
3134 (WebCore::StyleResolver::State::setStyle):
3135 (WebCore::StyleResolver::styleForElement):
3136 (WebCore::StyleResolver::styleForKeyframe):
3137 (WebCore::StyleResolver::styleForPage):
3138 (WebCore::StyleResolver::defaultStyleForElement):
3139 * css/StyleResolver.h:
3140 (WebCore::StyleResolver::State::takeStyle):
3141 (WebCore::StyleResolver::State::setParentStyle):
3142 * css/StyleRule.cpp:
3143 (WebCore::StyleRuleBase::copy):
3144 (WebCore::StyleRule::StyleRule):
3145 (WebCore::StyleRule::create):
3146 (WebCore::StyleRulePage::StyleRulePage):
3147 (WebCore::StyleRuleFontFace::StyleRuleFontFace):
3148 (WebCore::StyleRuleGroup::wrapperInsertRule):
3149 (WebCore::StyleRuleViewport::StyleRuleViewport):
3151 (WebCore::StyleRule::create):
3152 (WebCore::StyleRule::copy):
3153 (WebCore::StyleRuleFontFace::create):
3154 (WebCore::StyleRuleFontFace::copy):
3155 (WebCore::StyleRulePage::create):
3156 (WebCore::StyleRulePage::copy):
3157 (WebCore::StyleRuleMedia::create):
3158 (WebCore::StyleRuleMedia::copy):
3159 (WebCore::StyleRuleSupports::create):
3160 (WebCore::StyleRuleSupports::copy):
3161 (WebCore::StyleRuleRegion::create):
3162 (WebCore::StyleRuleRegion::copy):
3163 (WebCore::StyleRuleViewport::create):
3164 (WebCore::StyleRuleViewport::copy):
3165 * css/StyleRuleImport.cpp:
3166 (WebCore::StyleRuleImport::create):
3167 * css/StyleRuleImport.h:
3168 * css/StyleSheetContents.h:
3169 (WebCore::StyleSheetContents::create):
3170 (WebCore::StyleSheetContents::copy):
3171 * css/WebKitCSSFilterValue.h:
3172 (WebCore::WebKitCSSFilterValue::create):
3173 * css/WebKitCSSResourceValue.h:
3174 (WebCore::WebKitCSSResourceValue::create):
3175 * css/WebKitCSSTransformValue.h:
3176 (WebCore::WebKitCSSTransformValue::create):
3177 * dom/ChildNodeList.h:
3178 * dom/ClassNodeList.cpp:
3179 (WebCore::ClassNodeList::create):
3180 * dom/ClassNodeList.h:
3182 (WebCore::Document::styleForElementIgnoringPendingStylesheets):
3184 * dom/DocumentSharedObjectPool.cpp:
3185 (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
3186 * dom/DocumentSharedObjectPool.h:
3187 * dom/DocumentStyleSheetCollection.cpp:
3188 (WebCore::DocumentStyleSheetCollection::addAuthorSheet):
3189 (WebCore::DocumentStyleSheetCollection::addUserSheet):
3190 * dom/DocumentStyleSheetCollection.h:
3192 (WebCore::Element::createElementRenderer):
3194 * dom/ElementData.cpp:
3195 (WebCore::ShareableElementData::createWithAttributes):
3196 (WebCore::UniqueElementData::create):
3197 (WebCore::ElementData::makeUniqueCopy):
3198 (WebCore::UniqueElementData::makeShareableCopy):
3199 * dom/ElementData.h:
3200 * dom/ElementRareData.h:
3201 (WebCore::ElementRareData::setComputedStyle):
3202 * dom/NameNodeList.h:
3203 * dom/NamedFlowCollection.cpp:
3204 (WebCore::NamedFlowCollection::ensureFlowWithName):
3205 * dom/NamedFlowCollection.h:
3206 * dom/NodeRareData.h:
3207 (WebCore::NodeListsNodeData::ensureChildNodeList):
3208 (WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
3209 (WebCore::NodeListsNodeData::addCacheWithAtomicName):
3210 (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
3211 (WebCore::NodeListsNodeData::addCachedCollection):
3212 * dom/PseudoElement.cpp:
3213 (WebCore::PseudoElement::didRecalcStyle):
3214 * dom/QualifiedName.h:
3215 (WebCore::QualifiedName::QualifiedNameImpl::create):
3216 * dom/TagNodeList.h:
3217 * html/BaseButtonInputType.cpp:
3218 (WebCore::BaseButtonInputType::createInputRenderer):
3219 * html/BaseButtonInputType.h:
3220 * html/FileInputType.cpp:
3221 (WebCore::FileInputType::createInputRenderer):
3222 * html/FileInputType.h:
3223 * html/HTMLAllCollection.cpp:
3224 (WebCore::HTMLAllCollection::create):
3225 * html/HTMLAllCollection.h:
3226 * html/HTMLAppletElement.cpp:
3227 (WebCore::HTMLAppletElement::createElementRenderer):
3228 * html/HTMLAppletElement.h:
3229 * html/HTMLBRElement.cpp:
3230 (WebCore::HTMLBRElement::createElementRenderer):
3231 * html/HTMLBRElement.h:
3232 * html/HTMLButtonElement.cpp:
3233 (WebCore::HTMLButtonElement::createElementRenderer):
3234 * html/HTMLButtonElement.h:
3235 * html/HTMLCanvasElement.cpp:
3236 (WebCore::HTMLCanvasElement::createElementRenderer):
3237 * html/HTMLCanvasElement.h:
3238 * html/HTMLCollection.cpp:
3239 (WebCore::HTMLCollection::create):
3240 * html/HTMLCollection.h:
3241 * html/HTMLDetailsElement.cpp:
3242 (WebCore::HTMLDetailsElement::createElementRenderer):
3243 * html/HTMLDetailsElement.h:
3244 * html/HTMLElement.cpp:
3245 (WebCore::HTMLElement::createElementRenderer):
3246 * html/HTMLElement.h:
3247 * html/HTMLFieldSetElement.cpp:
3248 (WebCore::HTMLFieldSetElement::createElementRenderer):
3249 * html/HTMLFieldSetElement.h:
3250 * html/HTMLFormControlsCollection.cpp:
3251 (WebCore::HTMLFormControlsCollection::create):
3252 * html/HTMLFormControlsCollection.h:
3253 * html/HTMLFrameElement.cpp:
3254 (WebCore::HTMLFrameElement::createElementRenderer):
3255 * html/HTMLFrameElement.h:
3256 * html/HTMLFrameSetElement.cpp:
3257 (WebCore::HTMLFrameSetElement::createElementRenderer):
3258 * html/HTMLFrameSetElement.h:
3259 * html/HTMLIFrameElement.cpp:
3260 (WebCore::HTMLIFrameElement::createElementRenderer):
3261 * html/HTMLIFrameElement.h:
3262 * html/HTMLImageElement.cpp:
3263 (WebCore::HTMLImageElement::createElementRenderer):
3264 * html/HTMLImageElement.h:
3265 * html/HTMLInputElement.cpp:
3266 (WebCore::HTMLInputElement::createElementRenderer):
3267 * html/HTMLInputElement.h:
3268 * html/HTMLLinkElement.cpp:
3269 (WebCore::HTMLLinkElement::setCSSStyleSheet):
3270 * html/HTMLMediaElement.cpp:
3271 (WebCore::HTMLMediaElement::parseAttribute):
3272 * html/HTMLMediaElement.h:
3273 * html/HTMLMeterElement.cpp:
3274 (WebCore::HTMLMeterElement::createElementRenderer):
3275 * html/HTMLMeterElement.h:
3276 * html/HTMLNameCollection.h:
3277 * html/HTMLOptionsCollection.cpp:
3278 (WebCore::HTMLOptionsCollection::create):
3279 * html/HTMLOptionsCollection.h:
3280 * html/HTMLPlugInElement.cpp:
3281 (WebCore::HTMLPlugInElement::createElementRenderer):
3282 * html/HTMLPlugInElement.h:
3283 * html/HTMLPlugInImageElement.cpp:
3284 (WebCore::HTMLPlugInImageElement::createElementRenderer):
3285 * html/HTMLPlugInImageElement.h:
3286 * html/HTMLProgressElement.cpp:
3287 (WebCore::HTMLProgressElement::createElementRenderer):
3288 * html/HTMLProgressElement.h:
3289 * html/HTMLSelectElement.cpp:
3290 (WebCore::HTMLSelectElement::createElementRenderer):
3291 * html/HTMLSelectElement.h:
3292 * html/HTMLSummaryElement.cpp:
3293 (WebCore::HTMLSummaryElement::createElementRenderer):
3294 * html/HTMLSummaryElement.h:
3295 * html/HTMLTableRowsCollection.cpp:
3296 (WebCore::HTMLTableRowsCollection::create):
3297 * html/HTMLTableRowsCollection.h:
3298 * html/HTMLTextAreaElement.cpp:
3299 (WebCore::HTMLTextAreaElement::createElementRenderer):
3300 * html/HTMLTextAreaElement.h:
3301 * html/HTMLVideoElement.cpp:
3302 (WebCore::HTMLVideoElement::createElementRenderer):
3303 * html/HTMLVideoElement.h:
3304 * html/HTMLWBRElement.cpp:
3305 (WebCore::HTMLWBRElement::createElementRenderer):
3306 * html/HTMLWBRElement.h:
3307 * html/HiddenInputType.cpp:
3308 (WebCore::HiddenInputType::createInputRenderer):
3309 * html/HiddenInputType.h:
3310 * html/ImageInputType.cpp:
3311 (WebCore::ImageInputType::createInputRenderer):
3312 * html/ImageInputType.h:
3313 * html/InputType.cpp:
3314 (WebCore::InputType::createInputRenderer):
3316 * html/LabelsNodeList.h:
3317 * html/RadioNodeList.h:
3318 * html/RangeInputType.cpp:
3319 (WebCore::RangeInputType::createInputRenderer):
3320 * html/RangeInputType.h:
3321 * html/SearchInputType.cpp:
3322 (WebCore::SearchInputType::createInputRenderer):
3323 * html/SearchInputType.h:
3324 * html/TextFieldInputType.cpp:
3325 (WebCore::TextFieldInputType::createInputRenderer):
3326 * html/TextFieldInputType.h:
3327 * html/shadow/DetailsMarkerControl.cpp:
3328 (WebCore::DetailsMarkerControl::createElementRenderer):
3329 * html/shadow/DetailsMarkerControl.h:
3330 * html/shadow/MediaControlElements.cpp:
3331 (WebCore::MediaControlTimelineContainerElement::createElementRenderer):
3332 (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer):
3333 (WebCore::MediaControlTextTrackContainerElement::createElementRenderer):
3334 * html/shadow/MediaControlElements.h:
3335 * html/shadow/MeterShadowElement.cpp:
3336 (WebCore::MeterInnerElement::createElementRenderer):
3337 * html/shadow/MeterShadowElement.h:
3338 * html/shadow/ProgressShadowElement.cpp:
3339 (WebCore::ProgressInnerElement::createElementRenderer):
3340 * html/shadow/ProgressShadowElement.h:
3341 * html/shadow/SliderThumbElement.cpp:
3342 (WebCore::RenderSliderThumb::RenderSliderThumb):
3343 (WebCore::SliderThumbElement::createElementRenderer):
3344 (WebCore::SliderContainerElement::createElementRenderer):
3345 * html/shadow/SliderThumbElement.h:
3346 * html/shadow/TextControlInnerElements.cpp:
3347 (WebCore::TextControlInnerContainer::createElementRenderer):
3348 (WebCore::TextControlInnerTextElement::createElementRenderer):
3349 * html/shadow/TextControlInnerElements.h:
3350 * html/shadow/mac/ImageControlsButtonElementMac.cpp:
3351 (WebCore::RenderImageControlsButton::RenderImageControlsButton):
3352 (WebCore::ImageControlsButtonElementMac::createElementRenderer):
3353 * html/shadow/mac/ImageControlsButtonElementMac.h:
3354 * html/shadow/mac/ImageControlsRootElementMac.cpp:
3355 (WebCore::RenderImageControls::RenderImageControls):
3356 (WebCore::ImageControlsRootElementMac::createElementRenderer):
3357 * html/shadow/mac/ImageControlsRootElementMac.h:
3358 * html/track/VTTCue.cpp:
3359 (WebCore::VTTCueBox::createElementRenderer):
3360 * html/track/VTTCue.h:
3361 * loader/cache/CachedCSSStyleSheet.cpp:
3362 (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
3363 * loader/cache/CachedCSSStyleSheet.h:
3364 * loader/cache/CachedResourceLoader.h:
3365 (WebCore::CachedResourceLoader::create):
3366 * mathml/MathMLInlineContainerElement.cpp:
3367 (WebCore::MathMLInlineContainerElement::createElementRenderer):
3368 * mathml/MathMLInlineContainerElement.h:
3369 * mathml/MathMLMathElement.cpp:
3370 (WebCore::MathMLMathElement::createElementRenderer):
3371 * mathml/MathMLMathElement.h:
3372 * mathml/MathMLMencloseElement.cpp:
3373 (WebCore::MathMLMencloseElement::createElementRenderer):
3374 * mathml/MathMLMencloseElement.h:
3375 * mathml/MathMLSelectElement.cpp:
3376 (WebCore::MathMLSelectElement::createElementRenderer):
3377 * mathml/MathMLSelectElement.h:
3378 * mathml/MathMLTextElement.cpp:
3379 (WebCore::MathMLTextElement::createElementRenderer):
3380 * mathml/MathMLTextElement.h:
3382 (WebCore::Page::setStorageNamespaceProvider):
3383 (WebCore::Page::setVisitedLinkStore):
3385 * page/UserMessageHandler.h:
3386 (WebCore::UserMessageHandler::create):
3387 * page/UserMessageHandlersNamespace.h:
3388 (WebCore::UserMessageHandlersNamespace::create):
3389 * page/animation/AnimationController.cpp:
3390 (WebCore::AnimationControllerPrivate::addElementChangeToDispatch):
3391 (WebCore::AnimationController::updateAnimations):
3392 * page/animation/AnimationController.h:
3393 * page/animation/AnimationControllerPrivate.h:
3394 * page/animation/CompositeAnimation.cpp:
3395 (WebCore::CompositeAnimation::animate):
3396 * page/animation/CompositeAnimation.h:
3397 * platform/CalculationValue.cpp:
3398 (WebCore::CalculationValue::create):
3399 * platform/CalculationValue.h:
3400 * platform/Length.cpp:
3401 (WebCore::CalculationValueMap::insert):
3402 (WebCore::Length::Length):
3403 * platform/Length.h:
3404 * platform/graphics/Font.cpp:
3405 (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry):
3406 (WebCore::retrieveOrAddCachedFontGlyphs):
3407 * platform/graphics/FontGlyphs.h:
3408 (WebCore::FontGlyphs::create):
3409 (WebCore::FontGlyphs::createForPlatformFont):
3410 * platform/graphics/Gradient.h:
3411 (WebCore::Gradient::create):
3412 * platform/graphics/GraphicsContext.cpp:
3413 (WebCore::GraphicsContext::setStrokePattern):
3414 (WebCore::GraphicsContext::setFillPattern):
3415 (WebCore::GraphicsContext::setStrokeGradient):
3416 (WebCore::GraphicsContext::setFillGradient):
3417 * platform/graphics/GraphicsContext.h:
3418 * platform/graphics/MediaSourcePrivateClient.h:
3419 * platform/graphics/Pattern.cpp:
3420 (WebCore::Pattern::create):
3421 * platform/graphics/Pattern.h:
3422 * platform/mac/SerializedPlatformRepresentationMac.h:
3423 * platform/mac/SerializedPlatformRepresentationMac.mm:
3424 (WebCore::SerializedPlatformRepresentationMac::create):
3425 * platform/mock/UserMediaClientMock.h:
3426 (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier):
3427 * rendering/ClipPathOperation.h:
3428 * rendering/RenderBlock.cpp:
3429 (WebCore::RenderBlock::RenderBlock):
3430 * rendering/RenderBlock.h:
3431 * rendering/RenderBlockFlow.cpp:
3432 (WebCore::RenderBlockFlow::RenderBlockFlow):
3433 * rendering/RenderBlockFlow.h:
3434 * rendering/RenderBox.cpp:
3435 (WebCore::RenderBox::RenderBox):
3436 * rendering/RenderBox.h:
3437 * rendering/RenderBoxModelObject.cpp:
3438 (WebCore::RenderBoxModelObject::RenderBoxModelObject):
3439 * rendering/RenderBoxModelObject.h:
3440 * rendering/RenderButton.cpp:
3441 (WebCore::RenderButton::RenderButton):
3442 * rendering/RenderButton.h:
3443 * rendering/RenderDeprecatedFlexibleBox.cpp:
3444 (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
3445 * rendering/RenderDeprecatedFlexibleBox.h:
3446 * rendering/RenderDetailsMarker.cpp:
3447 (WebCore::RenderDetailsMarker::RenderDetailsMarker):
3448 * rendering/RenderDetailsMarker.h:
3449 * rendering/RenderElement.cpp:
3450 (WebCore::RenderElement::RenderElement):
3451 (WebCore::RenderElement::createFor):
3452 (WebCore::RenderElement::setStyle):
3453 * rendering/RenderElement.h:
3454 (WebCore::RenderElement::setStyleInternal):
3455 (WebCore::RenderElement::setAnimatableStyle):
3456 * rendering/RenderEmbeddedObject.cpp:
3457 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
3458 (WebCore::RenderEmbeddedObject::createForApplet):
3459 * rendering/RenderEmbeddedObject.h:
3460 * rendering/RenderFieldset.cpp:
3461 (WebCore::RenderFieldset::RenderFieldset):
3462 * rendering/RenderFieldset.h:
3463 * rendering/RenderFileUploadControl.cpp:
3464 (WebCore::RenderFileUploadControl::RenderFileUploadControl):
3465 * rendering/RenderFileUploadControl.h:
3466 * rendering/RenderFlexibleBox.cpp:
3467 (WebCore::RenderFlexibleBox::RenderFlexibleBox):
3468 * rendering/RenderFlexibleBox.h:
3469 * rendering/RenderFlowThread.cpp:
3470 (WebCore::RenderFlowThread::RenderFlowThread):
3471 (WebCore::RenderFlowThread::createFlowThreadStyle):
3472 * rendering/RenderFlowThread.h:
3473 * rendering/RenderFrame.cpp:
3474 (WebCore::RenderFrame::RenderFrame):
3475 * rendering/RenderFrame.h:
3476 * rendering/RenderFrameBase.cpp:
3477 (WebCore::RenderFrameBase::RenderFrameBase):
3478 * rendering/RenderFrameBase.h:
3479 * rendering/RenderFrameSet.cpp:
3480 (WebCore::RenderFrameSet::RenderFrameSet):
3481 * rendering/RenderFrameSet.h:
3482 * rendering/RenderFullScreen.cpp:
3483 (WebCore::RenderFullScreen::RenderFullScreen):
3484 (WebCore::createFullScreenStyle):
3485 (WebCore::RenderFullScreen::createPlaceholder):
3486 * rendering/RenderFullScreen.h:
3487 * rendering/RenderGrid.cpp:
3488 (WebCore::RenderGrid::RenderGrid):
3489 * rendering/RenderGrid.h:
3490 * rendering/RenderHTMLCanvas.cpp: