1 2014-09-10 Timothy Horton <timothy_horton@apple.com>
5 * platform/network/ResourceHandle.h:
6 * platform/network/mac/ResourceHandleMac.mm:
8 2014-09-09 Myles C. Maxfield <mmaxfield@apple.com> <litherum@gmail.com>
10 Delete class SavedDrawingStateForMask
11 https://bugs.webkit.org/show_bug.cgi?id=136498
13 Reviewed by Darin Adler.
15 This class is left over from when text-decoration-skip: ink used
16 GraphicsContext masking.
18 No new tests because there is no behavior change.
20 * rendering/InlineTextBox.cpp:
21 (WebCore::InlineTextBox::applyShadowToGraphicsContext):
22 * rendering/InlineTextBox.h:
23 * rendering/TextPainter.cpp:
24 (WebCore::TextPainter::TextPainter):
25 (WebCore::paintTextWithShadows):
26 (WebCore::TextPainter::paintText):
27 * rendering/TextPainter.h:
28 (WebCore::SavedDrawingStateForMask::SavedDrawingStateForMask): Deleted.
29 * rendering/svg/SVGInlineTextBox.cpp:
30 (WebCore::SVGInlineTextBox::paintTextWithShadows):
32 2014-09-10 Tim Horton <timothy_horton@apple.com>
34 Call setCollectsTimingData only once, and before making any {CF,NS}URLConnections
35 https://bugs.webkit.org/show_bug.cgi?id=136731
36 <rdar://problem/18252844>
38 Reviewed by Simon Fraser.
40 * platform/network/cf/ResourceHandleCFNet.cpp:
41 (WebCore::ResourceHandle::start):
42 Move setCollectsTimingData to before createCFURLConnection, so the first connection
43 has timing data associated with it.
45 * platform/network/mac/ResourceHandleMac.mm:
46 (WebCore::ResourceHandle::createNSURLConnection):
47 Move setCollectsTimingData to before we create our NSURLConnection, so the first connection
48 has timing data associated with it.
49 Use setCollectsTimingData instead of the NSURLConnection SPI directly.
51 (WebCore::ResourceHandle::setCollectsTimingData):
52 Only call _setCollectsTimingData once.
54 2014-09-10 Enrica Casucci <enrica@apple.com>
56 Remove iOS-only -webkit-composition-fill-color CSS property.
57 https://bugs.webkit.org/show_bug.cgi?id=136728
58 rdar://problem/10439154
60 Reviewed by Tim Horton.
62 This property is no longer used on iOS.
64 * css/CSSComputedStyleDeclaration.cpp:
65 (WebCore::ComputedStyleExtractor::propertyValue):
67 (WebCore::CSSParser::parseValue):
68 * css/CSSPropertyNames.in:
69 * css/StyleResolver.cpp:
70 (WebCore::StyleResolver::applyProperty):
71 * editing/EditingStyle.cpp:
72 * platform/graphics/Color.h:
73 * rendering/InlineTextBox.cpp:
74 (WebCore::InlineTextBox::paintCompositionBackground):
75 * rendering/style/RenderStyle.h:
76 * rendering/style/StyleRareInheritedData.cpp:
77 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
78 (WebCore::StyleRareInheritedData::operator==):
79 * rendering/style/StyleRareInheritedData.h:
81 2014-09-10 Tim Horton <timothy_horton@apple.com>
83 Remove ImageSource::ShouldSkipMetadata
84 https://bugs.webkit.org/show_bug.cgi?id=136713
86 Reviewed by Pratik Solanki.
88 * platform/graphics/ImageSource.h:
89 * platform/graphics/cg/ImageSourceCG.cpp:
90 (WebCore::createImageSourceOptions):
91 (WebCore::imageSourceOptions):
92 (WebCore::ImageSource::frameSizeAtIndex):
93 (WebCore::ImageSource::createFrameAtIndex):
94 (WebCore::ImageSource::frameDurationAtIndex):
95 Remove ShouldSkipMetadata and users. Nobody ever uses DoNotSkipMetadata.
97 2014-09-10 Beth Dakin <bdakin@apple.com>
99 https://bugs.webkit.org/show_bug.cgi?id=136650
100 Rubber-banding in the DOM view of the WebInspector is really jumpy
102 rdar://problem/18166043
104 Reviewed by Darin Adler.
106 This patch implements the ScrollableArea virtual function isRubberBandInProgress()
107 for RenderLayer, and then uses that to determine whether to clamp the scroll
108 position in updateScrollInfoAfterLayout().
109 * rendering/RenderLayer.cpp:
110 (WebCore::RenderLayer::isRubberBandInProgress):
111 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
112 * rendering/RenderLayer.h:
114 2014-09-10 Tim Horton <timothy_horton@apple.com>
116 Remove a workaround in frameIsCompleteAtIndex for a problem that was fixed in Lion
117 https://bugs.webkit.org/show_bug.cgi?id=136652
119 Reviewed by Dan Bernstein.
121 * platform/graphics/cg/ImageSourceCG.cpp:
122 (WebCore::ImageSource::frameIsCompleteAtIndex):
123 ImageIO returns the right thing now.
125 2014-09-10 Myles C. Maxfield <mmaxfield@apple.com>
127 Laying out a TextRun using an SVG font is O(n^2)
128 https://bugs.webkit.org/show_bug.cgi?id=136584
130 Reviewed by Darin Adler.
132 Addressing post-commit review from Darin.
136 * platform/graphics/Font.h:
137 (WebCore::Font::treatAsSpace): Un-inline.
138 (WebCore::Font::treatAsZeroWidthSpace): Ditto.
139 (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Ditto.
140 * svg/SVGFontData.cpp:
141 (WebCore::computeNormalizedSpaces): Avoid unnecessary copy.
143 2014-09-10 peavo@outlook.com <peavo@outlook.com>
145 [Curl] Optimization; avoid reallocating string many times.
146 https://bugs.webkit.org/show_bug.cgi?id=136704
148 Reviewed by Alex Christensen.
150 Adding individual characters to a string is inefficient, the string will be reallocated each time.
152 * platform/network/curl/CookieJarCurl.cpp:
153 (WebCore::readCurlCookieToken):
155 2014-09-10 peavo@outlook.com <peavo@outlook.com>
157 [Curl] Compile error, CertificateInfo.h is not found.
158 https://bugs.webkit.org/show_bug.cgi?id=136703
160 Reviewed by Alex Christensen.
162 Curl also needs to implement the CertificateInfo class.
164 * platform/network/curl/CertificateInfo.h: Added.
165 (WebCore::CertificateInfo::CertificateInfo):
167 2014-09-10 Simon Fraser <simon.fraser@apple.com>
169 Clean up some ENABLE(PICTURE_SIZES) stuff, don't change function signatures inside #ifdefs
170 https://bugs.webkit.org/show_bug.cgi?id=136654
172 Reviewed by Darin Adler.
174 Adding parameters inside an #ifdef makes for unreadable code, so remove some
175 #if ENABLE(PICTURE_SIZES) related to the preload scanner and always pass the arguments.
176 Reduced the argument count on some functions by just passing a Document&.
178 Also fix a couple of uses of #if ENABLE_PICTURE_SIZES.
180 * html/HTMLImageElement.h:
181 * html/parser/HTMLDocumentParser.cpp:
182 (WebCore::HTMLDocumentParser::pumpTokenizer):
183 (WebCore::HTMLDocumentParser::insert):
184 (WebCore::HTMLDocumentParser::append):
185 (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
186 * html/parser/HTMLPreloadScanner.cpp:
187 (WebCore::TokenPreloadScanner::scan):
188 (WebCore::HTMLPreloadScanner::scan):
189 * html/parser/HTMLPreloadScanner.h:
190 * html/parser/HTMLSrcsetParser.cpp:
191 (WebCore::pickBestImageCandidate):
192 (WebCore::bestFitSourceForImageAttributes):
193 * html/parser/HTMLSrcsetParser.h:
195 2014-09-10 Chris Fleizach <cfleizach@apple.com>
197 AX: aria-labelledby is not honoring sub-node text
198 https://bugs.webkit.org/show_bug.cgi?id=136689
200 Reviewed by Mario Sanchez Prada.
202 Test: accessibility/aria-labelledby-with-descendants.html
204 When aria-labelledby retrieves the textUnderElements it needs to consider
205 all sub-children, including focusable content.
207 * accessibility/AccessibilityNodeObject.cpp:
208 (WebCore::accessibleNameForNode):
210 2014-09-10 Gyuyoung Kim <gyuyoung.kim@samsung.com>
212 Use toDocument instead of static_cast<Document*>
213 https://bugs.webkit.org/show_bug.cgi?id=136694
215 Reviewed by Andy Estes.
217 Clean up static_cast<Document*>.
219 * Modules/mediasource/SourceBuffer.cpp:
220 (WebCore::SourceBuffer::document):
221 * Modules/webaudio/AudioContext.cpp:
222 (WebCore::AudioContext::document):
223 * bindings/gobject/WebKitDOMPrivate.cpp:
225 * dom/ScriptExecutionContext.cpp:
226 (WebCore::ScriptExecutionContext::dispatchErrorEvent): Add a line to remove .get().
227 * workers/DefaultSharedWorkerRepository.cpp:
228 (WebCore::SharedWorkerProxy::addToWorkerDocuments):
229 * workers/WorkerMessagingProxy.cpp:
230 (WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
231 * xml/XMLHttpRequest.cpp:
232 (WebCore::XMLHttpRequest::document):
233 (WebCore::XMLHttpRequest::open):
235 2014-09-10 Yusuke Suzuki <utatane.tea@gmail.com>
237 Merge CheckingContexts from SelectorCompiler and SelectorChecker
238 https://bugs.webkit.org/show_bug.cgi?id=135255
240 Reviewed by Benjamin Poulain.
242 In this patch, we merge SelectorChecker::SelectorCheckingContext and SelectorCompiler::CheckingContext.
243 We expose only SelectorChecker::CheckingContext. That is the same to the old SelectorCompiler::CheckingContext.
245 In SelectorChecker.cpp, we define SelectorChecker::CheckingContextWithStatus and use it internally.
246 And we move VisitedMatchType from SelectorChecker.h to SelectorChecker.cpp.
248 VisitedMatchType is also explicitly used by SelectorCheckerFastPath. However, SelectorCheckerFastPath is now
249 used only from SelectorQuery (Style resolution algorithm no longer uses it: r171059).
250 In this patch, we remove SelectorCheckerFastPath since the major cases are covered by CSS JIT.
251 In `RightMostWithIdMatch`, `Element#matches` and multiple selectors `querySelector('a, b')` cases,
252 CSS JIT is not used. So dropping fast path affects them. But 1) these cases are rare or 2) the target node
253 is typically only one since nodes are filtered before matching. So it doesn't have performance regression.
255 And now since CheckingContextWithStatus is the derived class of CheckingContext, we can use
256 the same test functions; template parameter is not necessary. It reduces code size.
259 * WebCore.xcodeproj/project.pbxproj:
260 * css/CSSAllInOne.cpp:
261 * css/ElementRuleCollector.cpp:
262 (WebCore::ElementRuleCollector::ruleMatches):
263 * css/SelectorChecker.cpp:
264 (WebCore::SelectorChecker::CheckingContextWithStatus::CheckingContextWithStatus):
265 (WebCore::SelectorChecker::match):
266 (WebCore::checkingContextForParent):
267 (WebCore::SelectorChecker::matchRecursively):
268 (WebCore::canMatchHoverOrActiveInQuirksMode):
269 (WebCore::SelectorChecker::checkOne):
270 (WebCore::SelectorChecker::checkScrollbarPseudoClass):
271 * css/SelectorChecker.h:
272 (WebCore::SelectorChecker::CheckingContext::CheckingContext):
273 (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Deleted.
274 * css/SelectorCheckerFastPath.cpp: Removed.
275 * css/SelectorCheckerFastPath.h: Removed.
276 * css/SelectorCheckerTestFunctions.h:
277 (WebCore::scrollbarMatchesEnabledPseudoClass):
278 (WebCore::scrollbarMatchesDisabledPseudoClass):
279 (WebCore::scrollbarMatchesHoverPseudoClass):
280 (WebCore::scrollbarMatchesActivePseudoClass):
281 (WebCore::scrollbarMatchesHorizontalPseudoClass):
282 (WebCore::scrollbarMatchesVerticalPseudoClass):
283 (WebCore::scrollbarMatchesDecrementPseudoClass):
284 (WebCore::scrollbarMatchesIncrementPseudoClass):
285 (WebCore::scrollbarMatchesStartPseudoClass):
286 (WebCore::scrollbarMatchesEndPseudoClass):
287 (WebCore::scrollbarMatchesDoubleButtonPseudoClass):
288 (WebCore::scrollbarMatchesSingleButtonPseudoClass):
289 (WebCore::scrollbarMatchesNoButtonPseudoClass):
290 (WebCore::scrollbarMatchesCornerPresentPseudoClass):
291 * css/StyleResolver.h:
292 (WebCore::checkRegionSelector):
293 * cssjit/SelectorCompiler.cpp:
294 (WebCore::SelectorCompiler::SelectorFragment::appendUnoptimizedPseudoClassWithContext):
295 (WebCore::SelectorCompiler::addScrollbarPseudoClassType):
296 (WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
297 (WebCore::SelectorCompiler::SelectorCodeGenerator::branchOnResolvingModeWithCheckingContext):
298 (WebCore::SelectorCompiler::elementIsActiveForStyleResolution):
299 (WebCore::SelectorCompiler::setElementStyleFromContextIsAffectedByEmptyAndUpdateRenderStyleIfNecessary):
300 (WebCore::SelectorCompiler::elementIsHoveredForStyleResolution):
301 (WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
302 (WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
303 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateRequestedPseudoElementEqualsToSelectorPseudoElement):
304 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsScopeRoot):
305 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateMarkPseudoStyleForPseudoElement):
306 * cssjit/SelectorCompiler.h:
307 (WebCore::SelectorCompiler::CheckingContext::CheckingContext): Deleted.
308 * dom/SelectorQuery.cpp:
309 (WebCore::SelectorDataList::SelectorDataList):
310 (WebCore::SelectorDataList::selectorMatches):
311 (WebCore::SelectorDataList::executeCompiledSelectorCheckerWithCheckingContext):
312 (WebCore::isCompiledSelector):
313 (WebCore::SelectorDataList::compileSelector):
314 (WebCore::SelectorDataList::execute):
315 * dom/SelectorQuery.h:
316 (WebCore::SelectorDataList::SelectorData::SelectorData):
318 2014-09-09 Jer Noble <jer.noble@apple.com>
320 [MSE] http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html failing after r173318
321 https://bugs.webkit.org/show_bug.cgi?id=136676
323 Reviewed by Eric Carlson.
325 Revert the inadvertant conditional change introduced in r173318.
327 * Modules/mediasource/MediaSource.cpp:
328 (WebCore::MediaSource::setDurationInternal):
330 2014-09-09 Roger Fong <roger_fong@apple.com>
332 Unreviewed build fix for Windows.
334 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
335 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
336 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
338 2014-09-09 Dan Bernstein <mitz@apple.com>
340 FrameLoader::prepareForHistoryNavigation is unused
341 https://bugs.webkit.org/show_bug.cgi?id=136683
343 Reviewed by Tim Horton.
345 * loader/FrameLoader.cpp:
346 (WebCore::FrameLoader::prepareForHistoryNavigation): Deleted.
347 * loader/FrameLoader.h: Removed the declaration.
349 2014-09-09 Manuel Rego Casasnovas <rego@igalia.com>
351 [CSS Grid Layout] Ignore ::first-letter pseudo-element
352 https://bugs.webkit.org/show_bug.cgi?id=136625
354 Reviewed by Darin Adler.
356 According to the spec the ::first-letter pseudo-element do not apply to
357 grid containers (neither to flexboxes).
359 Fixed issue in RenderBlock::getFirstLetter() that applies to both grids
360 and flexboxes. Basically if the grid's or flexbox's container was
361 defining the ::first-line pseudo-element and the grid or flexbox itself
362 too, the value from the grid or flexbox was being applied to the items.
363 Added the proper check to avoid this.
365 Added two new tests for grid and modified one flexbox test to cover the
366 issue explained above.
368 Tests: css3/flexbox/flexbox-ignore-container-firstLetter.html
369 fast/css-grid-layout/grid-container-ignore-first-letter.html
370 fast/css-grid-layout/grid-item-first-letter-valid.html
372 * rendering/RenderBlock.cpp:
373 (WebCore::isRenderBlockFlowOrRenderButton): New method refactoring
374 similar calls through the source code.
375 (WebCore::RenderBlock::firstLineBlock): Use
376 isRenderBlockFlowOrRenderButton().
377 (WebCore::findFirstLetterBlock): Modify it to use
378 isRenderBlockFlowOrRenderButton() in order to include grids and not only
380 (WebCore::RenderBlock::getFirstLetter): Use
381 isRenderBlockFlowOrRenderButton().
382 (WebCore::RenderBlock::updateFirstLetter): Early return if
383 firstLetterContainer is null (in the case of flexboxes or grids).
385 2014-09-09 Benjamin Poulain <benjamin@webkit.org>
387 Add support for :read-write/:read-only matching editable content
388 https://bugs.webkit.org/show_bug.cgi?id=136668
390 Reviewed by Antti Koivisto.
392 This is the second part of the update of :read-write/:read-only to the latest spec
393 (http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selectors).
395 The selectors :read-write/:read-only should match elements that are editable. The exact definition is:
396 "elements that are editing hosts or editable and are neither input elements nor textarea elements".
398 Matching that definition is really easy. It was done by updating HTMLElement's matchesReadWritePseudoClass()
399 to consider both contentEditable and designMode.
401 The tricky part is making that efficient in all cases. Matching contentEditable is horribly inefficient
402 compared to the other primitives. We don't want to execute that for every element.
404 Since matchesReadWritePseudoClass() was used by the theming code, that code was adjusted to
405 -Avoid calling that on regular HTMLElement, limiting the query to <input> and <textarea> where it is fast.
406 -Avoid the call entirely when possible.
408 Tests: fast/css/read-only-read-write-contenteditable-basics.html
409 fast/css/read-only-read-write-designmode-basics.html
410 fast/css/read-only-read-write-webkit-user-modify.html
411 fast/selectors/read-only-read-write-contenteditable-basics.html
412 fast/selectors/read-only-read-write-contenteditable-svg-foreignObject.html
413 fast/selectors/read-only-read-write-designmode-basics.html
414 fast/selectors/read-only-read-write-style-update.html
416 * html/HTMLElement.cpp:
417 (WebCore::contentEditableType):
418 This code is a generalization of the code that was in HTMLElement::contentEditable().
419 It is used by both matchesReadWritePseudoClass() and contentEditable() to determine
420 a valid state from the value of contentEditable.
422 (WebCore::HTMLElement::matchesReadWritePseudoClass):
423 Per the definition of editable content, we first check if the current element is an editing host,
424 if not we look for an editing host. If there are none, test for designMode.
426 (WebCore::HTMLElement::contentEditable):
428 (WebCore::RenderTheme::isReadOnlyControl):
429 The old definition would only match <input> and <textarea>. The code was updated to keep the same
430 behavior after matchesReadWritePseudoClass() is udpated. This avoids the performance problem of calling
431 matchesReadWritePseudoClass() on regular HTMLElement.
433 * platform/ControlStates.h:
434 ReadOnlyState was only used by ThemeMac for convertControlStatesToThemeDrawState().
435 In turn, convertControlStatesToThemeDrawState() was only used for painting
436 "-webkit-inner-spin-button". Buttons are not read-write to begin with.
437 The whole code looks like legacy from styling of input elements and was removed.
439 Removing ReadOnlyState removes the expensive part of extractControlStatesForRenderer().
441 * html/HTMLElement.h:
442 * html/HTMLFormControlElement.cpp:
443 (WebCore::HTMLFormControlElement::readOnlyAttributeChanged):
444 * platform/mac/ThemeMac.mm:
445 (WebCore::convertControlStatesToThemeDrawState):
446 * rendering/RenderTheme.cpp:
447 (WebCore::RenderTheme::extractControlStatesForRenderer):
449 2014-09-09 Jer Noble <jer.noble@apple.com>
451 [MSE] media/media-source tests broken after r173318
452 https://bugs.webkit.org/show_bug.cgi?id=136675
454 Reviewed by Eric Carlson.
456 Fixes the following tests:
457 http/tests/media/media-source/mediasource-play.html
458 http/tests/media/media-source/mediasource-remove.html
459 media/media-source/media-source-monitor-source-buffers.html
460 media/media-source/media-source-overlapping-append-buffered.html
462 In r173318, a for loop was converted to a C++11 loop, but in so doing, left
463 pre-initialized, empty values in the beginning of returned Vector, which caused
464 the calling algorithm to miscalculate the amount of data buffered by the media
467 * Modules/mediasource/MediaSource.cpp:
468 (WebCore::MediaSource::activeRanges):
470 2014-09-09 Takeshi Kurosawa <taken.spc@gmail.com>
472 AX: HTML5 landmark (and related) elements should not be ignored.
473 https://bugs.webkit.org/show_bug.cgi?id=135116
475 Reviewed by Chris Fleizach.
477 Make sure following element should not be ignored in computeAccessibilityIsIgnored
478 - header, aside, address, main, nav, article, section
481 Tests: platform/mac/accessibility/descriptionlist-not-ignored.html
482 platform/mac/accessibility/landmark-not-ignored.html
484 * accessibility/AccessibilityRenderObject.cpp:
485 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
487 2014-09-08 Sergio Villar Senin <svillar@igalia.com>
489 [CSS Grid Layout] RenderGrid methods should take RenderBox references
490 https://bugs.webkit.org/show_bug.cgi?id=136630
492 Reviewed by Darin Adler.
494 RenderGrid has several methods that take pointers to RenderBox
495 instances but the body of those methods assumes that the objects
496 will never be NULL. We should replace them by references.
498 * rendering/RenderGrid.cpp:
499 (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
500 (WebCore::RenderGrid::logicalContentHeightForChild):
501 (WebCore::RenderGrid::minContentForChild):
502 (WebCore::RenderGrid::maxContentForChild):
503 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
504 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
505 (WebCore::RenderGrid::insertItemIntoGrid):
506 (WebCore::RenderGrid::placeItemsOnGrid):
507 (WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid):
508 (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
509 (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
510 (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
511 (WebCore::RenderGrid::layoutGridItems):
512 (WebCore::RenderGrid::cachedGridCoordinate):
513 (WebCore::RenderGrid::gridAreaBreadthForChild):
514 (WebCore::RenderGrid::findChildLogicalPosition):
515 * rendering/RenderGrid.h:
517 2014-09-09 Antti Koivisto <antti@apple.com>
519 Remove unnecessary assert that is getting hit in some scenarios.
521 * platform/network/ResourceResponseBase.cpp:
522 (WebCore::ResourceResponseBase::certificateInfo):
524 2014-09-09 Antti Koivisto <antti@apple.com>
526 Try to fix windows build.
528 * platform/network/cf/ResourceResponseCFNet.cpp:
529 (WebCore::ResourceResponse::platformCertificateInfo):
531 2014-09-08 Mihnea Ovidenie <mihnea@adobe.com>
533 [CSSRegions]Incorrect layout for multicol element transformed into region
534 https://bugs.webkit.org/show_bug.cgi?id=136459
536 Reviewed by David Hyatt.
538 Until we will support the multicolumn region functionality, a multicolumn element
539 that also has flow-from style is not transformed into a region (https://bugs.webkit.org/show_bug.cgi?id=135153).
540 However, when a multicolumn element with flow-from style dynamically loses
541 its multicolumn style while keeping the flow-from style, we have to transform
542 the element into a region by detaching and attaching the associated DOM node,
543 in the same way we are proceeding when an element receives a different flow-from style.
545 Test: fast/regions/multicol/nested-multicol-into-region-dynamic.html
547 * style/StyleResolveTree.cpp:
548 (WebCore::Style::determineChange):
550 2014-09-08 Antti Koivisto <antti@apple.com>
552 Pass certificate info as part of ResourceResponse
553 https://bugs.webkit.org/show_bug.cgi?id=136611
555 Reviewed by Darin Adler.
557 The current way of passing certificate info separately from ResourceResponse and then jamming it back
558 is complex and confusing. This patch makes it a true part of the ResourceResponse.
560 With this patch we also only create and pass the certificate info object for the main resource. It is
561 a big and complex object and we never look into it for any other resource type.
564 * platform/network/ResourceResponseBase.cpp:
565 (WebCore::ResourceResponseBase::ResourceResponseBase):
567 Mark initialized for synthetic responses, unitialized for those backed by a platform request.
569 (WebCore::ResourceResponseBase::initializeCertificateInfo):
571 Calling this pulls the certificate info out from the platform type.
572 It shoud only be used for resources that need it.
574 (WebCore::ResourceResponseBase::certificateInfo):
575 * platform/network/ResourceResponseBase.h:
576 (WebCore::ResourceResponseBase::platformCertificateInfo):
577 (WebCore::ResourceResponseBase::platformSuggestedFileName):
578 (WebCore::ResourceResponseBase::encode):
579 (WebCore::ResourceResponseBase::decode):
581 Encode and decode certificate info if it is present.
583 * platform/network/cf/ResourceResponse.h:
584 * platform/network/mac/CertificateInfo.h:
585 * platform/network/mac/CertificateInfoMac.mm:
586 (WebCore::CertificateInfo::CertificateInfo):
587 * platform/network/mac/ResourceResponseMac.mm:
588 (WebCore::ResourceResponse::platformCertificateInfo):
589 (WebCore::ResourceResponse::setCertificateChain): Deleted.
590 (WebCore::ResourceResponse::certificateChain): Deleted.
591 * platform/network/soup/ResourceResponse.h:
592 * platform/network/soup/ResourceResponseSoup.cpp:
593 (WebCore::ResourceResponse::platformCertificateInfo):
595 2014-09-09 Mihnea Ovidenie <mihnea@adobe.com>
597 [CSSRegions] Use C++11 range-based loops in FlowThreadController
598 https://bugs.webkit.org/show_bug.cgi?id=136634
600 Reviewed by Andrei Bucur.
602 No new tests as no new functionality was introduced.
604 * rendering/FlowThreadController.cpp:
605 (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
606 (WebCore::FlowThreadController::styleDidChange):
607 (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
608 (WebCore::FlowThreadController::updateFlowThreadsChainIfNecessary):
609 (WebCore::FlowThreadController::updateFlowThreadsNeedingLayout):
610 (WebCore::FlowThreadController::updateFlowThreadsNeedingTwoStepLayout):
611 (WebCore::FlowThreadController::resetFlowThreadsWithAutoHeightRegions):
612 (WebCore::FlowThreadController::updateFlowThreadsIntoMeasureContentPhase):
613 (WebCore::FlowThreadController::updateFlowThreadsLayerToRegionMappingsIfNeeded):
614 (WebCore::FlowThreadController::updateNamedFlowsLayerListsIfNeeded):
615 (WebCore::FlowThreadController::collectFixedPositionedLayers):
616 (WebCore::FlowThreadController::isAutoLogicalHeightRegionsCountConsistent):
618 2014-09-08 Simon Fraser <simon.fraser@apple.com>
620 Minor refactor in CSSComputedStyleDeclaration
621 https://bugs.webkit.org/show_bug.cgi?id=136664
623 Reviewed by Darin Adler.
625 The "if (length.isPercentNotCalculated()) createValue() else zoomAdjustedPixelValue()"
626 pattern occurred a number of times here, so factor into percentageOrZoomAdjustedValue().
628 * css/CSSComputedStyleDeclaration.cpp:
629 (WebCore::positionOffsetValue): l -> length
630 (WebCore::percentageOrZoomAdjustedValue):
631 (WebCore::getBorderRadiusCornerValues):
632 (WebCore::getBorderRadiusCornerValue):
633 (WebCore::scrollSnapDestination):
634 (WebCore::scrollSnapPoints):
635 (WebCore::scrollSnapCoordinates):
637 2014-09-08 Alexey Proskuryakov <ap@apple.com>
639 Application Cache Storage: failed to execute statement "DELETE FROM CacheGroups" error "no such table: CacheGroups"
640 https://bugs.webkit.org/show_bug.cgi?id=136647
642 Reviewed by Darin Adler.
644 * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::verifySchemaVersion):
645 Don't try to delete the tables if we can't expect to have them yet.
647 2014-09-08 Myles C. Maxfield <mmaxfield@apple.com>
649 REGRESSION (r172153): Text drawn with wrong color when second text shadow has zero offset and blur (breaks buttons at aws.amazon.com)
650 https://bugs.webkit.org/show_bug.cgi?id=136612
652 Reviewed by Darin Adler.
654 r172153 was fundamentally broken, and would restore graphics contexts that had never been saved. This patch
655 reimplements r172153 by using "continue" to skip loop iterations instead of changing the internal logic of
658 In addition, I have refactored InlineTextBox::applyShadowToGraphicsContext() to take an extra boolean
659 reference as an out parameter in order to make it obvious it if saved a graphics context that needs
660 to be restored. This should make it less likely to make these kinds of mistakes in the future.
662 Test: fast/text/empty-shadow-with-color.html
664 * rendering/InlineTextBox.cpp:
665 (WebCore::InlineTextBox::applyShadowToGraphicsContext): Add bool reference out param.
666 * rendering/InlineTextBox.h: Ditto.
667 * rendering/TextPainter.cpp:
668 (WebCore::isEmptyShadow): Change logic to not skip loop iterations on a null shadow.
669 (WebCore::paintTextWithShadows): Use continue to skip loop iterations for empty shadows. In addition,
670 use the out param in InlineTextBox::applyShadowToGraphicsContext().
671 * rendering/svg/SVGInlineTextBox.cpp:
672 (WebCore::SVGInlineTextBox::paintTextWithShadows): Update for new sigurature of
673 InlineTextBox::applyShadowToGraphicsContext().
675 2014-09-08 Commit Queue <commit-queue@webkit.org>
677 Unreviewed, rolling out r173402.
678 https://bugs.webkit.org/show_bug.cgi?id=136649
680 Breaking buildw with error "unable to restore file position to
681 0x00000c60 for section __DWARF.__debug_info (errno = 9)"
682 (Requested by mlam_ on #webkit).
686 "Move CallFrame and Register inlines functions out of
688 https://bugs.webkit.org/show_bug.cgi?id=136579
689 http://trac.webkit.org/changeset/173402
691 2014-09-05 Mark Lam <mark.lam@apple.com>
693 Move CallFrame and Register inlines functions out of JSScope.h.
694 <https://webkit.org/b/136579>
696 Reviewed by Geoffrey Garen.
700 Added #include of the appropriate *Inlines.h files. Unlike in
701 JavaScriptCore, I #include'd the specific needed *Inlines.h instead of
702 JSCInlines.h. This is done to minimize the need for WebCore to be
703 rebuilt when JSC changes are introduced.
705 * ForwardingHeaders/interpreter/RegisterInlines.h: Added.
706 * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
707 * bindings/js/JSAudioTrackCustom.cpp:
708 * bindings/js/JSBiquadFilterNodeCustom.cpp:
709 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
710 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
711 * bindings/js/JSCommandLineAPIHostCustom.cpp:
712 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
713 * bindings/js/JSDOMBinding.h:
714 * bindings/js/JSDOMStringListCustom.cpp:
715 * bindings/js/JSDOMWindowBase.cpp:
716 * bindings/js/JSDOMWindowShell.cpp:
717 * bindings/js/JSDocumentCustom.cpp:
718 * bindings/js/JSHTMLDocumentCustom.cpp:
719 * bindings/js/JSOscillatorNodeCustom.cpp:
720 * bindings/js/JSPannerNodeCustom.cpp:
721 * bindings/js/JSPopStateEventCustom.cpp:
722 * dom/TreeWalker.cpp:
723 * html/HTMLPlugInImageElement.cpp:
724 * inspector/CommandLineAPIModule.cpp:
725 * inspector/InspectorController.cpp:
727 2014-09-08 Dean Jackson <dino@apple.com>
729 Separate the Apple media controls module from other ports
730 https://bugs.webkit.org/show_bug.cgi?id=136644
731 rdar://problem/18270969
733 Reviewed by Eric Carlson.
735 Make a mediaControlsBase.{js|css} that acts as the base
736 class for the EFL and GTK ports (they were using mediaControlsApple).
737 Over time, the Apple-specific controls may use more of the
740 * Modules/mediacontrols/mediaControlsBase.css: Added.
741 * Modules/mediacontrols/mediaControlsBase.js: Added.
744 * platform/efl/RenderThemeEfl.cpp:
745 (WebCore::RenderThemeEfl::mediaControlsStyleSheet): Load Base rather than Apple.
746 (WebCore::RenderThemeEfl::mediaControlsScript): Ditto.
747 * rendering/RenderThemeGtk.cpp:
748 (WebCore::RenderThemeGtk::mediaControlsScript): Ditto.
750 2014-09-08 Jochen Eisinger <jochen@chromium.org>
752 Always update the referrer header in CachedResource
753 https://bugs.webkit.org/show_bug.cgi?id=136642
755 Reviewed by Alexey Proskuryakov.
757 If a request already includes a referrer header, and the document has
758 a non-default referrer policy, it is possible that we have to modify
761 * loader/cache/CachedResource.cpp:
762 (WebCore::CachedResource::addAdditionalRequestHeaders):
764 2014-09-08 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
767 https://bugs.webkit.org/show_bug.cgi?id=136571
769 Reviewed by Darin Adler.
771 No new tests required, no new functionality.
774 * Configurations/FeatureDefines.xcconfig:
775 * DerivedSources.make:
776 * dom/DOMImplementation.cpp:
777 (WebCore::isSupportedSVG10Feature):
778 (WebCore::isSupportedSVG11Feature):
779 * platform/graphics/cpu/arm/filters/FEBlendNEON.h:
780 * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
781 * platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h:
782 * platform/graphics/cpu/arm/filters/NEONHelpers.h:
783 * platform/graphics/filters/DistantLightSource.cpp:
784 * platform/graphics/filters/DistantLightSource.h:
785 * platform/graphics/filters/FEBlend.cpp:
786 * platform/graphics/filters/FEBlend.h:
787 * platform/graphics/filters/FEColorMatrix.cpp:
788 * platform/graphics/filters/FEColorMatrix.h:
789 * platform/graphics/filters/FEComponentTransfer.cpp:
790 * platform/graphics/filters/FEComponentTransfer.h:
791 * platform/graphics/filters/FEComposite.cpp:
792 * platform/graphics/filters/FEComposite.h:
793 * platform/graphics/filters/FEConvolveMatrix.cpp:
794 * platform/graphics/filters/FEConvolveMatrix.h:
795 * platform/graphics/filters/FEDiffuseLighting.cpp:
796 * platform/graphics/filters/FEDiffuseLighting.h:
797 * platform/graphics/filters/FEDisplacementMap.cpp:
798 * platform/graphics/filters/FEDisplacementMap.h:
799 * platform/graphics/filters/FEDropShadow.cpp:
800 * platform/graphics/filters/FEDropShadow.h:
801 * platform/graphics/filters/FEFlood.cpp:
802 * platform/graphics/filters/FEFlood.h:
803 * platform/graphics/filters/FEGaussianBlur.cpp:
804 * platform/graphics/filters/FEGaussianBlur.h:
805 * platform/graphics/filters/FELighting.cpp:
806 * platform/graphics/filters/FELighting.h:
807 * platform/graphics/filters/FEMerge.cpp:
808 * platform/graphics/filters/FEMerge.h:
809 * platform/graphics/filters/FEMorphology.cpp:
810 * platform/graphics/filters/FEMorphology.h:
811 * platform/graphics/filters/FEOffset.cpp:
812 * platform/graphics/filters/FEOffset.h:
813 * platform/graphics/filters/FESpecularLighting.cpp:
814 * platform/graphics/filters/FESpecularLighting.h:
815 * platform/graphics/filters/FETile.cpp:
816 * platform/graphics/filters/FETile.h:
817 * platform/graphics/filters/FETurbulence.cpp:
818 * platform/graphics/filters/FETurbulence.h:
819 * platform/graphics/filters/Filter.h:
820 * platform/graphics/filters/FilterEffect.cpp:
821 * platform/graphics/filters/FilterEffect.h:
822 * platform/graphics/filters/LightSource.h:
823 * platform/graphics/filters/PointLightSource.cpp:
824 * platform/graphics/filters/PointLightSource.h:
825 * platform/graphics/filters/SourceAlpha.cpp:
826 * platform/graphics/filters/SourceAlpha.h:
827 * platform/graphics/filters/SourceGraphic.cpp:
828 * platform/graphics/filters/SourceGraphic.h:
829 * platform/graphics/filters/SpotLightSource.cpp:
830 * platform/graphics/filters/SpotLightSource.h:
831 * rendering/svg/RenderSVGResource.cpp:
832 (WebCore::removeFromCacheAndInvalidateDependencies):
833 * rendering/svg/RenderSVGResourceFilter.cpp:
834 * rendering/svg/RenderSVGResourceFilter.h:
835 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
836 * rendering/svg/RenderSVGResourceFilterPrimitive.h:
837 * rendering/svg/RenderSVGRoot.cpp:
838 * rendering/svg/SVGRenderSupport.cpp:
839 (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
840 * rendering/svg/SVGRenderTreeAsText.cpp:
841 (WebCore::writeSVGResourceContainer):
842 (WebCore::writeResources):
843 * rendering/svg/SVGRenderingContext.cpp:
844 (WebCore::SVGRenderingContext::~SVGRenderingContext):
845 (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
846 * rendering/svg/SVGRenderingContext.h:
847 (WebCore::SVGRenderingContext::SVGRenderingContext):
848 * rendering/svg/SVGResources.cpp:
849 (WebCore::targetReferenceFromResource):
850 (WebCore::SVGResources::buildCachedResources):
851 (WebCore::SVGResources::removeClientFromCache):
852 (WebCore::SVGResources::resourceDestroyed):
853 (WebCore::SVGResources::buildSetOfResources):
854 (WebCore::SVGResources::resetFilter):
855 (WebCore::SVGResources::dump):
856 * rendering/svg/SVGResources.h:
857 (WebCore::SVGResources::filter):
858 (WebCore::SVGResources::ClipperFilterMaskerData::ClipperFilterMaskerData):
859 * rendering/svg/SVGResourcesCycleSolver.cpp:
860 (WebCore::SVGResourcesCycleSolver::breakCycle):
861 * svg/SVGAnimatedEnumeration.cpp:
862 (WebCore::enumerationValueForTargetAttribute):
863 * svg/SVGComponentTransferFunctionElement.cpp:
864 * svg/SVGComponentTransferFunctionElement.h:
865 * svg/SVGComponentTransferFunctionElement.idl:
866 * svg/SVGFEBlendElement.cpp:
867 * svg/SVGFEBlendElement.h:
868 * svg/SVGFEBlendElement.idl:
869 * svg/SVGFEColorMatrixElement.cpp:
870 * svg/SVGFEColorMatrixElement.h:
871 * svg/SVGFEColorMatrixElement.idl:
872 * svg/SVGFEComponentTransferElement.cpp:
873 * svg/SVGFEComponentTransferElement.h:
874 * svg/SVGFEComponentTransferElement.idl:
875 * svg/SVGFECompositeElement.cpp:
876 * svg/SVGFECompositeElement.h:
877 * svg/SVGFECompositeElement.idl:
878 * svg/SVGFEConvolveMatrixElement.cpp:
879 * svg/SVGFEConvolveMatrixElement.h:
880 * svg/SVGFEConvolveMatrixElement.idl:
881 * svg/SVGFEDiffuseLightingElement.cpp:
882 * svg/SVGFEDiffuseLightingElement.h:
883 * svg/SVGFEDiffuseLightingElement.idl:
884 * svg/SVGFEDisplacementMapElement.cpp:
885 * svg/SVGFEDisplacementMapElement.h:
886 * svg/SVGFEDisplacementMapElement.idl:
887 * svg/SVGFEDistantLightElement.cpp:
888 * svg/SVGFEDistantLightElement.h:
889 * svg/SVGFEDistantLightElement.idl:
890 * svg/SVGFEDropShadowElement.cpp:
891 * svg/SVGFEDropShadowElement.h:
892 * svg/SVGFEDropShadowElement.idl:
893 * svg/SVGFEFloodElement.cpp:
894 * svg/SVGFEFloodElement.h:
895 * svg/SVGFEFloodElement.idl:
896 * svg/SVGFEFuncAElement.cpp:
897 * svg/SVGFEFuncAElement.h:
898 * svg/SVGFEFuncAElement.idl:
899 * svg/SVGFEFuncBElement.cpp:
900 * svg/SVGFEFuncBElement.h:
901 * svg/SVGFEFuncBElement.idl:
902 * svg/SVGFEFuncGElement.cpp:
903 * svg/SVGFEFuncGElement.h:
904 * svg/SVGFEFuncGElement.idl:
905 * svg/SVGFEFuncRElement.cpp:
906 * svg/SVGFEFuncRElement.h:
907 * svg/SVGFEFuncRElement.idl:
908 * svg/SVGFEGaussianBlurElement.cpp:
909 * svg/SVGFEGaussianBlurElement.h:
910 * svg/SVGFEGaussianBlurElement.idl:
911 * svg/SVGFEImageElement.cpp:
912 * svg/SVGFEImageElement.h:
913 * svg/SVGFEImageElement.idl:
914 * svg/SVGFELightElement.cpp:
915 * svg/SVGFELightElement.h:
916 * svg/SVGFEMergeElement.cpp:
917 * svg/SVGFEMergeElement.h:
918 * svg/SVGFEMergeElement.idl:
919 * svg/SVGFEMergeNodeElement.cpp:
920 * svg/SVGFEMergeNodeElement.h:
921 * svg/SVGFEMergeNodeElement.idl:
922 * svg/SVGFEMorphologyElement.cpp:
923 * svg/SVGFEMorphologyElement.h:
924 * svg/SVGFEMorphologyElement.idl:
925 * svg/SVGFEOffsetElement.cpp:
926 * svg/SVGFEOffsetElement.h:
927 * svg/SVGFEOffsetElement.idl:
928 * svg/SVGFEPointLightElement.cpp:
929 * svg/SVGFEPointLightElement.h:
930 * svg/SVGFEPointLightElement.idl:
931 * svg/SVGFESpecularLightingElement.cpp:
932 * svg/SVGFESpecularLightingElement.h:
933 * svg/SVGFESpecularLightingElement.idl:
934 * svg/SVGFESpotLightElement.cpp:
935 * svg/SVGFESpotLightElement.h:
936 * svg/SVGFESpotLightElement.idl:
937 * svg/SVGFETileElement.cpp:
938 * svg/SVGFETileElement.h:
939 * svg/SVGFETileElement.idl:
940 * svg/SVGFETurbulenceElement.cpp:
941 * svg/SVGFETurbulenceElement.h:
942 * svg/SVGFETurbulenceElement.idl:
943 * svg/SVGFilterElement.cpp:
944 * svg/SVGFilterElement.h:
945 * svg/SVGFilterElement.idl:
946 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
947 * svg/SVGFilterPrimitiveStandardAttributes.h:
948 * svg/graphics/filters/SVGFEImage.cpp:
949 * svg/graphics/filters/SVGFEImage.h:
950 * svg/graphics/filters/SVGFilter.cpp:
951 * svg/graphics/filters/SVGFilter.h:
952 * svg/graphics/filters/SVGFilterBuilder.cpp:
953 * svg/graphics/filters/SVGFilterBuilder.h:
956 2014-09-08 Simon Fraser <simon.fraser@apple.com>
958 Use enum class for the RunPostLayoutTasks enum
959 https://bugs.webkit.org/show_bug.cgi?id=136640
961 Reviewed by Dean Jackson.
963 Use enum class for RunPostLayoutTasks fixing callers. Add an explanatory comment,
964 and add some spacing.
967 (WebCore::Document::updateLayoutIgnorePendingStylesheets):
969 * html/HTMLAppletElement.cpp:
970 (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
971 * html/HTMLEmbedElement.cpp:
972 (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
973 * html/HTMLObjectElement.cpp:
974 (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
975 * testing/Internals.cpp:
976 (WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
978 2014-09-08 peavo@outlook.com <peavo@outlook.com>
980 [WinCairo] Compile error.
981 https://bugs.webkit.org/show_bug.cgi?id=136633
983 Reviewed by Darin Adler.
985 Enum name has already been defined.
987 * platform/audio/AudioHardwareListener.h:
989 2014-09-08 Tim Horton <timothy_horton@apple.com>
991 Remove some unused code in ImageSourceCG
992 https://bugs.webkit.org/show_bug.cgi?id=136638
994 Reviewed by Dan Bernstein.
996 * platform/graphics/cg/ImageSourceCG.cpp:
997 (WebCore::ImageSource::setData):
998 Remove this code. Firstly, it's in a USE(CG) && !PLATFORM(COCOA) && !PLATFORM(WIN)
999 block, and that's simply not a thing. Secondly, the referenced bug was fixed in Lion.
1001 2014-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1003 Introduce CSS_RULE_TYPE_CASTS, and use it
1004 https://bugs.webkit.org/show_bug.cgi?id=136628
1006 Reviewed by Darin Adler.
1008 As a step to use toFoo, this patch introduces toCSSFooRule(). This will help to detect
1009 wrong type cast. Additionally some missing type casts are clean up as well.
1011 No new tests, no behavior changes.
1013 * bindings/gobject/WebKitDOMPrivate.cpp:
1015 * css/CSSFontSelector.cpp:
1016 (WebCore::CSSFontSelector::addFontFaceRule):
1017 * css/CSSImportRule.h:
1018 * css/CSSMediaRule.h:
1019 * css/CSSParser.cpp:
1020 (WebCore::CSSParser::parseGridTemplateRowsAndAreas):
1022 * css/CSSStyleRule.h:
1023 * css/CSSSupportsRule.h:
1024 * css/InspectorCSSOMWrappers.cpp:
1025 (WebCore::InspectorCSSOMWrappers::collect):
1026 * css/WebKitCSSRegionRule.h:
1027 * inspector/InspectorCSSAgent.cpp:
1028 (WebCore::InspectorCSSAgent::asCSSStyleRule):
1029 (WebCore::InspectorCSSAgent::collectStyleSheets):
1030 * inspector/InspectorStyleSheet.cpp:
1031 (WebCore::asCSSRuleList):
1032 (WebCore::fillMediaListChain):
1033 * page/PageSerializer.cpp:
1034 (WebCore::PageSerializer::serializeCSSStyleSheet):
1036 2014-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1038 [EFL[WK2] MiniBrowser comes to crash on debug mode
1039 https://bugs.webkit.org/show_bug.cgi?id=136617
1041 Reviewed by Csaba Osztrogonác.
1043 Fix wrong ASSERTION use in applyCursorFromEcoreX().
1045 * platform/efl/EflScreenUtilities.cpp: Change ASSERT(!window) with *ASSERT(window)*
1046 (WebCore::applyCursorFromEcoreX):
1048 2014-09-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1050 Introduce toBasicShapeFoo() instead of static_cast<BasicShapeFoo*>
1051 https://bugs.webkit.org/show_bug.cgi?id=136609
1053 Reviewed by Darin Adler.
1055 To use BasicShapeFoo() helps to detect wrong type casting and improve code readability.
1057 No new tests, no behavior changes.
1059 * css/BasicShapeFunctions.cpp:
1060 (WebCore::valueForBasicShape):
1061 * rendering/shapes/Shape.cpp:
1062 (WebCore::Shape::createShape):
1063 * rendering/style/BasicShapes.cpp:
1064 (WebCore::BasicShape::canBlend):
1065 (WebCore::BasicShapeCircle::blend):
1066 (WebCore::BasicShapeEllipse::blend):
1067 (WebCore::BasicShapePolygon::blend):
1068 (WebCore::BasicShapeInset::blend):
1069 * rendering/style/BasicShapes.h:
1071 2014-09-06 Jer Noble <jer.noble@apple.com>
1073 [Fullscreen] Add a site-specific hack to work around "flash on exit" behavior of YouTube.com.
1074 https://bugs.webkit.org/show_bug.cgi?id=136604
1076 Reviewed by Eric Carlson.
1078 YouTube.com will cause a "flash" of the full screen sized <video> element upon exiting full
1079 screen because the "fullscreenchange" event is fired asynchronously after the exit animation
1080 completes. Only YouTube sites and embeds, add a site-specific-quirk which runs the "fullscreenchange"
1081 event synchronously at the end of the exit animation. This causes YouTube's video resizing logic
1082 to run during the period of time where we've disabled screen updates, instead of immediately
1086 (WebCore::Document::webkitDidExitFullScreenForElement):
1088 2014-09-06 Darin Adler <darin@apple.com>
1090 Make updates suggested by new version of Xcode
1091 https://bugs.webkit.org/show_bug.cgi?id=136603
1093 Reviewed by Mark Rowe.
1095 * Configurations/Base.xcconfig: Added COMBINE_HIDPI_IMAGES and
1096 ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.
1098 * WebCore.xcodeproj/project.pbxproj: Let Xcode remove an orphaned item from the file,
1099 and also updated LastUpgradeCheck.
1101 * html/HTMLMediaElement.cpp:
1102 (WebCore::HTMLMediaElement::updateTextTrackDisplay): Use #if/#else/#endif instead of
1103 using #if/return/#endif and leaving code unreachable.
1104 (WebCore::HTMLMediaElement::configureMediaControls): Ditto.
1105 (WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.
1106 * html/canvas/WebGLDrawBuffers.cpp:
1107 (WebCore::WebGLDrawBuffers::supported): Ditto.
1109 2014-09-06 Brian J. Burg <burg@cs.washington.edu>
1111 Web Inspector: convert DockSide to an enum class
1112 https://bugs.webkit.org/show_bug.cgi?id=136601
1114 Reviewed by Timothy Hatcher.
1116 * inspector/InspectorFrontendClient.h:
1117 * inspector/InspectorFrontendClientLocal.cpp:
1118 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
1119 (WebCore::InspectorFrontendClientLocal::requestSetDockSide):
1120 (WebCore::InspectorFrontendClientLocal::canAttachWindow):
1121 (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
1122 * inspector/InspectorFrontendHost.cpp:
1123 (WebCore::InspectorFrontendHost::requestSetDockSide):
1125 2014-09-06 Antti Koivisto <antti@apple.com>
1127 Serialize ResourceResponses using WebKit types
1128 https://bugs.webkit.org/show_bug.cgi?id=136545
1130 Fix the failing webarchive tests.
1132 * platform/network/mac/ResourceResponseMac.mm:
1133 (WebCore::ResourceResponse::initNSURLResponse): Map empty text encoding name to nil NSString.
1135 2014-09-06 peavo@outlook.com <peavo@outlook.com>
1137 [WinCairo][Curl] fileExists() incorrectly claims folder does not exist.
1138 https://bugs.webkit.org/show_bug.cgi?id=136598
1140 Reviewed by Alex Christensen.
1142 The fileExists() function will always return false on Windows,
1143 if the filename parameter ends with a slash or backslash.
1145 * platform/network/curl/CurlCacheManager.cpp:
1146 (WebCore::CurlCacheManager::setCacheDirectory): Add slash after call to fileExists().
1148 2014-09-06 David Kilzer <ddkilzer@apple.com>
1150 New clang warns about boolean checks for |this| pointer in RenderObject debug methods
1151 <http://webkit.org/b/136599>
1153 Reviewed by Zalan Bujtas.
1155 Ignores the following static analyzer warnings:
1157 Source/WebCore/rendering/RenderObject.cpp:1465:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]
1160 Source/WebCore/rendering/RenderObject.cpp:1584:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]
1164 * rendering/RenderObject.cpp:
1165 (WebCore::RenderObject::showRenderObject):
1166 (WebCore::RenderObject::showRenderSubTreeAndMark):
1167 Add "#pragma clang" preprocessor macros to ignore this warning
1168 since the code is only compiled for Debug builds. Also add a
1169 pragma for the pragma so older clangs don't complain about an
1172 2014-09-06 Antti Koivisto <antti@apple.com>
1174 Serialize ResourceResponses using WebKit types
1175 https://bugs.webkit.org/show_bug.cgi?id=136545
1177 Reviewed by Alexey Proskuryakov.
1179 Serialization is faster and we can mostly avoid having NSURLResponses in web process.
1182 * platform/network/ResourceLoadTiming.h:
1183 (WebCore::ResourceLoadTiming::encode):
1184 (WebCore::ResourceLoadTiming::decode):
1185 * platform/network/ResourceResponseBase.h:
1186 (WebCore::ResourceResponseBase::encode):
1187 (WebCore::ResourceResponseBase::decode):
1189 Serialize from the WebCore data instead of serializing NSURLResponse.
1191 * platform/network/cf/ResourceResponseCFNet.cpp:
1192 (WebCore::ResourceResponse::cfURLResponse):
1194 Synthesize CFURLResponse by creating NSURLResponse on Cocoa platforms so we don't need copy code.
1195 This has negligible performance impact, NSURLResponse is just a wrapper around CFURLResponse.
1197 * platform/network/mac/ResourceResponseMac.mm:
1198 (WebCore::ResourceResponse::nsURLResponse):
1199 (WebCore::ResourceResponse::setCertificateChain):
1201 Avoid unnecessary NSURLRequest instantiation in debug builds.
1203 2014-09-06 David Kilzer <ddkilzer@apple.com>
1205 HTMLElement.cpp does not compile with new clang
1206 <http://webkit.org/b/136600>
1208 Reviewed by Chris Fleizach.
1210 Fixes the following static analyzer warning:
1212 Source/WebCore/html/HTMLElement.cpp:545:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]
1213 if (!this || !parentNode())
1216 * html/HTMLElement.cpp:
1217 (WebCore::HTMLElement::setOuterText): Remove "!this" check added
1218 in r75738. It would only cover up real bugs, and isn't even hit
1221 2014-09-06 Ryuan Choi <ryuan.choi@gmail.com>
1223 [EFL] Drop evas object cursor support
1224 https://bugs.webkit.org/show_bug.cgi?id=136324
1226 Reviewed by Gyuyoung Kim.
1228 Removed evas object cursor because there are some bugs.
1229 ewebkit will only support ecore_x_cursor because ewebkit is available with X, now.
1231 * platform/efl/DefaultTheme/CMakeLists.txt: Removed cursor related code.
1232 * platform/efl/DefaultTheme/default.edc: Ditto.
1233 * platform/efl/DefaultTheme/widget/cursor/cursor.edc: Removed.
1234 * platform/efl/EflScreenUtilities.cpp:
1235 (WebCore::getEcoreCursor):
1236 (WebCore::applyCursorFromEcoreX): Renamed applyFallbackCursor.
1237 (WebCore::createCustomCursor): Added to make custom cursor.
1238 (WebCore::applyFallbackCursor): Deleted.
1239 * platform/efl/EflScreenUtilities.h:
1241 2014-09-05 Commit Queue <commit-queue@webkit.org>
1243 Unreviewed, rolling out r173340 and r173342.
1244 https://bugs.webkit.org/show_bug.cgi?id=136596
1246 Broke many tests (Requested by ap on #webkit).
1248 Reverted changesets:
1250 "Remove PLATFORM(IOS) from WebCore/editing (Part 3)."
1251 https://bugs.webkit.org/show_bug.cgi?id=136474
1252 http://trac.webkit.org/changeset/173340
1254 "Build fix after r173340."
1255 http://trac.webkit.org/changeset/173342
1257 2014-09-05 Joseph Pecoraro <pecoraro@apple.com>
1259 Use WTFString::split(char) in more places
1260 https://bugs.webkit.org/show_bug.cgi?id=136543
1262 Reviewed by Sam Weinig.
1264 * inspector/InspectorDOMAgent.cpp:
1265 (WebCore::InspectorDOMAgent::nodeForPath):
1266 * mathml/MathMLMencloseElement.cpp:
1267 (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
1268 * page/PerformanceResourceTiming.cpp:
1269 (WebCore::passesTimingAllowCheck):
1270 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1271 (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
1272 * platform/graphics/opengl/GLPlatformContext.cpp:
1273 (WebCore::parseExtensions):
1274 * platform/gtk/PasteboardHelper.cpp:
1275 (WebCore::PasteboardHelper::fillDataObjectFromDropData):
1276 * platform/network/curl/CurlCacheEntry.cpp:
1277 (WebCore::CurlCacheEntry::loadResponseHeaders):
1278 * platform/network/curl/CurlCacheManager.cpp:
1279 (WebCore::CurlCacheManager::loadIndex):
1281 2014-09-05 Myles C. Maxfield <mmaxfield@apple.com>
1283 Laying out a TextRun using an SVG font is O(n^2)
1284 https://bugs.webkit.org/show_bug.cgi?id=136584
1286 Reviewed by Andreas Kling.
1288 Caching the version of the run with normalized spaces leads to a 5x speedup on the
1289 performance test this patch adds.
1291 Note that SVGFontData::applySVGGlyphSelection() is still unnecesarrily O(n), so more
1292 work can be done here. In particular, the call to collectGlyphsForString() can likely
1295 No new correctness tests because there is no behavior change.
1296 Performance Test: SVG/SVG-Text.html
1298 * platform/graphics/Font.h:
1299 (WebCore::Font::treatAsSpace): Make inline.
1300 (WebCore::Font::treatAsZeroWidthSpace): Ditto.
1301 (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Ditto.
1302 * platform/graphics/SimpleFontData.h: Add String cache argument.
1303 * platform/graphics/TextRun.h: Move member variables around for better packing.
1304 (WebCore::TextRun::TextRun): Ditto.
1305 * platform/graphics/WidthIterator.cpp: Add String cache argument.
1306 (WebCore::WidthIterator::glyphDataForCharacter): Ditto.
1307 (WebCore::WidthIterator::advanceInternal): Create String cache and pass it to
1308 glyphDataForCharacter.
1309 * platform/graphics/WidthIterator.h: Add String cache argument.
1310 * rendering/svg/SVGTextRunRenderingContext.cpp: Ditto.
1311 (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Ditto.
1312 * rendering/svg/SVGTextRunRenderingContext.h: Ditto.
1313 * svg/SVGFontData.cpp:
1314 (WebCore::SVGFontData::applySVGGlyphSelection): Call computeNormalizedSpaces
1315 to consult with the cache.
1316 (WebCore::computeNormalizedSpaces): Compute cached String value.
1317 * svg/SVGFontData.h: Add String cache argument.
1319 2014-09-05 David Kilzer <ddkilzer@apple.com>
1321 REGRESSION (r169407): Calls to RenderStyle::getRoundedBorderFor() in computeRoundedRectForBoxShape() still include RenderView pointer
1322 <http://webkit.org/b/136591>
1323 <rdar://problem/18143731>
1325 Reviewed by Simon Fraser.
1327 In r169407, the RenderView* argument was removed from
1328 RenderStyle::getRoundedBorderFor(). This argument was not
1329 removed from these calls in computeRoundedRectForBoxShape(), but
1330 because getRoundedBorderFor() always returned a reference, and
1331 because the default for the next argument was true, there was no
1332 actual change in behavior from this bug.
1334 No new tests since there is no change in behavior.
1336 * rendering/shapes/BoxShape.cpp:
1337 (WebCore::computeRoundedRectForBoxShape): Remove RenderView*
1338 arguments from calls to getRoundedBorderFor().
1340 2014-09-05 Tim Horton <timothy_horton@apple.com>
1342 [iOS] Work around bug 136593 by disabling the PDFDocumentImage live resize optimization there
1343 https://bugs.webkit.org/show_bug.cgi?id=136594
1344 rdar://problem/17457013
1346 Reviewed by Simon Fraser.
1348 * platform/graphics/cg/PDFDocumentImage.cpp:
1349 (WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
1350 Disable the optimization on iOS, because bug 136593 rears its head
1351 most often on iOS because it is more common to have contexts that always
1352 use low-quality image interpolation on that platform.
1354 2014-09-05 Tim Horton <timothy_horton@apple.com>
1356 Doing a navigation on a non-opaque WKWebView can result in an empty layer tree
1357 https://bugs.webkit.org/show_bug.cgi?id=136590
1358 <rdar://problem/18234000>
1360 Reviewed by Simon Fraser.
1362 * page/FrameView.cpp:
1363 (WebCore::FrameView::setTransparent):
1364 Avoid scheduling a compositing layer update if the RenderView isn't the
1365 one associated with this FrameView. This can happen during a navigation,
1366 before the new Document (and RenderView) is swapped in. This is particularly
1367 bad in the case of setTransparent because it is called from Frame::createView,
1368 which is right in the middle of that transition window. If we let the compositing
1369 layer update go ahead, it can end up detaching the new Document's layer tree,
1370 and we have no mechanism that would cause it to reattach.
1372 2014-09-05 Enrica Casucci <enrica@apple.com>
1374 Remove PLATFORM(IOS) from WebCore/editing (Part 3).
1375 https://bugs.webkit.org/show_bug.cgi?id=136474
1377 Reviewed by Benjamin Poulain.
1379 This patch removes the use of PLATFORM(IOS) from TextAffinity.h
1380 and removes the assumption that EAffinity values match NSSelectionAffinity
1381 values. It also removes the includes in TextAffinity.h, creating the need to
1382 include explicitly the files when necessary. It also removes the unnecessary
1383 use of platform specific types, replacing them with WebCore types.
1385 * editing/TextAffinity.h:
1388 * editing/cocoa/HTMLConverter.mm:
1389 * page/mac/WebCoreFrameView.h:
1390 * platform/ios/ScrollViewIOS.mm:
1391 (WebCore::ScrollView::platformSetScrollPosition):
1392 (WebCore::ScrollView::platformSetScrollOrigin):
1393 * platform/ios/wak/WAKScrollView.mm:
1394 (-[WAKScrollView setScrollOrigin:updatePositionAtAll:immediately:]):
1395 (-[WAKScrollView scrollOrigin]):
1397 2014-09-05 Jer Noble <jer.noble@apple.com>
1399 Unreviewed GTK build fix; include StringPrintStream to pull in toString().
1401 * html/HTMLMediaElement.h:
1403 2014-09-05 Brady Eidson <beidson@apple.com>
1405 Allow pages with unload handlers in the page cache
1406 <rdar://problem/11084669> and https://bugs.webkit.org/show_bug.cgi?id=136535
1408 Reviewed by Oliver Hunt.
1410 This will match what iOS has been doing for some time.
1412 Updated tests for new behavior.
1414 * history/PageCache.cpp:
1415 (WebCore::logCanCacheFrameDecision):
1416 (WebCore::PageCache::canCachePageContainingThisFrame):
1418 2014-09-05 Carlos Alberto Lopez Perez <clopez@igalia.com>
1420 [SOUP] Implement ResourceResponse::platformSuggestedFilename() when USE(SOUP) is enabled.
1421 https://bugs.webkit.org/show_bug.cgi?id=136562
1423 Reviewed by Martin Robinson.
1425 No new tests, this makes existing tests pass.
1427 * platform/network/soup/ResourceResponseSoup.cpp:
1428 (WebCore::ResourceResponse::platformSuggestedFilename):
1429 Implement ResourceResponse::platformSuggestedFilename() for SOUP after r173272, r173301 and r173305.
1431 2014-09-05 peavo@outlook.com <peavo@outlook.com>
1433 [Curl] Compile error.
1434 https://bugs.webkit.org/show_bug.cgi?id=136574
1436 Reviewed by Alex Christensen.
1438 The ResourceResponse::setSuggestedFilename method is no longer available.
1440 * platform/network/curl/CurlCacheEntry.cpp:
1441 (WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
1442 * platform/network/curl/CurlDownload.cpp:
1443 (WebCore::CurlDownload::didReceiveHeader):
1444 * platform/network/curl/MultipartHandle.cpp:
1445 (WebCore::MultipartHandle::didReceiveResponse):
1446 * platform/network/curl/ResourceHandleManager.cpp:
1447 (WebCore::headerCallback):
1448 * platform/network/curl/ResourceResponse.h:
1449 (WebCore::ResourceResponse::platformSuggestedFilename):
1451 2014-09-05 Benjamin Poulain <benjamin@webkit.org>
1453 Update the current matching of :read-only and :read-write to the latest spec
1454 https://bugs.webkit.org/show_bug.cgi?id=136566
1456 Reviewed by Antti Koivisto.
1458 WebKit's implementation of :read-only and :read-write dated from 2008 and
1459 it was based on the web form spec (http://www.w3.org/TR/web-forms-2/).
1460 That spec is very dead now.
1462 There are new definitions of :read-only and :read-write in three specs:
1463 -the HTML living spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selector-read-only
1464 -Selectors level 4: http://dev.w3.org/csswg/selectors4/#rw-pseudos
1465 -CSS 3 UI: http://www.w3.org/TR/css3-ui/
1467 All the definitions say about the same thing. The definitions of Selector Level 4 and
1468 CSS 3 UI are very vague and poorly worded. I used the HTML when something was ambiguous.
1470 In the new definitions, :read-only and :read-write are opposite. It is no longer possible to
1471 match both selector simultaneously for the same element.
1472 Consequently, I got rid of Element:matchesReadOnlyPseudoClass(). Matching :read-only is now equivalent
1473 to :not(:read-write).
1475 The existing definition of :read-write was matching the spec so I could reuse that.
1477 There is one more part to the new spec that is not addressed here: the pseudo class :read-write should
1478 now also match arbitrary editable HTMLElement (e.g. an element with contenteditable). This will be fixed
1481 Tests: fast/css/read-only-read-write-input-basics.html
1482 fast/css/read-only-read-write-textarea-basics.html
1483 fast/selectors/read-only-read-write-input-basics.html
1484 fast/selectors/read-only-read-write-input-in-fieldset.html
1485 fast/selectors/read-only-read-write-textarea-basics.html
1486 fast/selectors/read-only-read-write-textarea-in-fieldset.html
1488 * css/SelectorCheckerTestFunctions.h:
1489 (WebCore::matchesReadOnlyPseudoClass):
1491 (WebCore::Element::matchesReadOnlyPseudoClass): Deleted.
1493 * html/HTMLInputElement.cpp:
1494 (WebCore::HTMLInputElement::matchesReadOnlyPseudoClass): Deleted.
1495 * html/HTMLInputElement.h:
1496 * html/HTMLTextAreaElement.cpp:
1497 (WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass): Deleted.
1498 * html/HTMLTextAreaElement.h:
1499 * html/shadow/SliderThumbElement.cpp:
1500 (WebCore::SliderThumbElement::matchesReadOnlyPseudoClass): Deleted.
1501 * html/shadow/SliderThumbElement.h:
1502 * html/shadow/SpinButtonElement.cpp:
1503 (WebCore::SpinButtonElement::matchesReadOnlyPseudoClass): Deleted.
1504 * html/shadow/SpinButtonElement.h:
1505 * rendering/RenderTheme.cpp:
1506 (WebCore::RenderTheme::isReadOnlyControl):
1508 2014-09-05 Andreas Kling <akling@apple.com>
1510 CTTE: SVGResourcesCache should only allow RenderElements.
1511 <https://webkit.org/b/136578>
1513 Only RenderElement subclasses can use SVG resources.
1514 Codify this by making SVGResourcesCache::m_cache keyed on RenderElement.
1516 Reviewed by Antti Koivisto.
1518 * rendering/svg/RenderSVGContainer.cpp:
1519 (WebCore::RenderSVGContainer::selfWillPaint):
1520 * rendering/svg/RenderSVGImage.cpp:
1521 (WebCore::RenderSVGImage::imageChanged):
1522 * rendering/svg/RenderSVGResource.cpp:
1523 (WebCore::requestPaintingResource):
1524 (WebCore::removeFromCacheAndInvalidateDependencies):
1525 * rendering/svg/RenderSVGResourceClipper.cpp:
1526 (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1527 * rendering/svg/RenderSVGRoot.cpp:
1528 (WebCore::RenderSVGRoot::paintReplaced):
1529 * rendering/svg/RenderSVGShape.cpp:
1530 (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
1531 (WebCore::RenderSVGShape::markerRect):
1532 (WebCore::RenderSVGShape::drawMarkers):
1533 * rendering/svg/SVGRenderSupport.cpp:
1534 (WebCore::invalidateResourcesOfChildren):
1535 (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
1536 (WebCore::SVGRenderSupport::filtersForceContainerLayout):
1537 (WebCore::SVGRenderSupport::pointInClippingArea):
1538 * rendering/svg/SVGRenderingContext.cpp:
1539 (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
1540 * rendering/svg/SVGResourcesCache.cpp:
1541 (WebCore::resourcesCacheFromRenderer):
1542 (WebCore::SVGResourcesCache::cachedResourcesForRenderer):
1543 (WebCore::SVGResourcesCache::clientLayoutChanged):
1544 (WebCore::SVGResourcesCache::clientDestroyed):
1545 (WebCore::SVGResourcesCache::resourceDestroyed):
1546 (WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Deleted.
1547 * rendering/svg/SVGResourcesCache.h:
1548 * rendering/svg/SVGResourcesCycleSolver.cpp:
1549 (WebCore::SVGResourcesCycleSolver::resourceContainsCycles):
1551 2014-09-05 Simon Fraser <simon.fraser@apple.com>
1553 IDB version changed events should have a valid eventType()
1554 https://bugs.webkit.org/show_bug.cgi?id=136583
1556 Reviewed by Brady Eidson.
1558 IDBDatabase::dispatchEvent() asserts that the event type is versionchangeEvent,
1559 but the version changed event created with an empty event type. Correct this.
1561 * Modules/indexeddb/IDBDatabase.cpp:
1562 (WebCore::IDBDatabase::onVersionChange):
1564 2014-09-05 Simon Fraser <simon.fraser@apple.com>
1566 Remove some PLATFORM(IOS) code in Color.h/cpp
1567 https://bugs.webkit.org/show_bug.cgi?id=136582
1569 Reviewed by Dan Bates.
1571 Remove Color::tap which is unused, and remove createCGColorWithDeviceWhite()
1572 which was only called in one file in WebKit.
1575 * platform/graphics/Color.h:
1576 * platform/graphics/cg/ColorCG.cpp:
1577 (WebCore::createCGColorWithDeviceWhite): Deleted.
1579 2014-09-05 Beth Dakin <bdakin@apple.com>
1581 ScrollablArea::handleWheelEvent() should return early if the ScrollableArea is not
1583 https://bugs.webkit.org/show_bug.cgi?id=136558
1585 Reviewed by Simon Fraser.
1587 This patch requires adding a new virtual function to ScrollableArea called
1588 isScrollableOrRubberbandable(). Unfortunately, there is already a virtual function
1589 of that name that exists on RenderLayerModelObject, which is only problematic
1590 because RenderListBox inherits from both RenderLayerModelObject and
1591 ScrollableArea. This patch resolves that conflict in the simplest way, by re-
1592 naming the RenderLayerModelObject version of the function to
1593 isScrollableOrRubberbandableBox(). It’s a little unfortunate, but simpler than the
1594 other solutions I came up with.
1596 New ScrollableArea virtual function.
1597 * page/FrameView.cpp:
1598 (WebCore::FrameView::isScrollableOrRubberbandable):
1601 The point of the whole patch! Return early if you can’t scroll or rubber band.
1602 * platform/ScrollableArea.cpp:
1603 (WebCore::ScrollableArea::handleWheelEvent):
1605 New ScrollableArea virtual function.
1606 * platform/ScrollableArea.h:
1607 * platform/win/PopupMenuWin.h:
1610 * rendering/RenderBox.cpp:
1611 (WebCore::RenderBox::isScrollableOrRubberbandableBox):
1612 (WebCore::RenderBox::isScrollableOrRubberbandable): Deleted.
1613 * rendering/RenderBox.h:
1615 Implement new ScrollableArea virtual function, and adapt to the re-name.
1616 * rendering/RenderLayer.cpp:
1617 (WebCore::RenderLayer::isScrollableOrRubberbandable):
1618 (WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
1619 * rendering/RenderLayer.h:
1622 * rendering/RenderLayerModelObject.h:
1623 (WebCore::RenderLayerModelObject::isScrollableOrRubberbandableBox):
1624 (WebCore::RenderLayerModelObject::isScrollableOrRubberbandable): Deleted.
1626 Implement ScrollableArea virtual function.
1627 * rendering/RenderListBox.cpp:
1628 (WebCore::RenderListBox::isScrollableOrRubberbandable):
1629 * rendering/RenderListBox.h:
1632 * rendering/RenderView.cpp:
1633 (WebCore::RenderView::isScrollableOrRubberbandableBox):
1634 (WebCore::RenderView::isScrollableOrRubberbandable): Deleted.
1635 * rendering/RenderView.h:
1637 2014-06-06 Jer Noble <jer.noble@apple.com>
1639 Refactoring: make MediaTime the primary time type for audiovisual times.
1640 https://bugs.webkit.org/show_bug.cgi?id=133579
1642 Reviewed by Eric Carlson.
1644 In order to limit the number of floating-point rounding errors for media systems which
1645 can make use of rational time objects.
1647 Add some convenience methods to convert between QTTime and MediaTime.
1648 * platform/graphics/mac/MediaTimeQTKit.h: Added.
1649 * platform/graphics/mac/MediaTimeQTKit.mm: Added.
1650 (WebCore::toMediaTime):
1651 (WebCore::toQTTime):
1653 Rename MediaTimeMac -> MediaTimeAVFoundation:
1654 * platform/graphics/avfoundation/MediaTimeAVFoundation.cpp: Renamed from Source/WebCore/platform/mac/MediaTimeMac.cpp.
1655 (WebCore::toMediaTime):
1656 (WebCore::toCMTime):
1657 * platform/graphics/avfoundation/MediaTimeAVFoundation.h: Renamed from Source/WebCore/platform/mac/MediaTimeMac.h.
1659 Use MediaTime instead of double:
1660 * Modules/mediasource/MediaSource.cpp:
1661 (WebCore::MediaSource::duration):
1662 (WebCore::MediaSource::currentTime):
1663 (WebCore::MediaSource::buffered):
1664 (WebCore::MediaSource::setDuration):
1665 (WebCore::MediaSource::activeRanges):
1666 * Modules/mediasource/MediaSource.h:
1667 * Modules/mediasource/SourceBuffer.cpp:
1668 (WebCore::SourceBuffer::remove):
1669 (WebCore::SourceBuffer::removeCodedFrames):
1670 (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
1671 (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
1672 (WebCore::SourceBuffer::hasCurrentTime):
1673 (WebCore::SourceBuffer::hasFutureTime):
1674 (WebCore::SourceBuffer::canPlayThrough):
1675 * WebCore.xcodeproj/project.pbxproj:
1676 * bindings/js/JSDataCueCustom.cpp:
1677 (WebCore::JSDataCueConstructor::constructJSDataCue):
1678 * html/HTMLMediaElement.cpp:
1679 (WebCore::HTMLMediaElement::HTMLMediaElement):
1680 (WebCore::HTMLMediaElement::parseAttribute):
1681 * html/HTMLMediaElement.h:
1682 (WebCore::ValueToString<MediaTime>::string):
1683 * html/MediaFragmentURIParser.cpp:
1684 (WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
1685 (WebCore::MediaFragmentURIParser::startTime):
1686 (WebCore::MediaFragmentURIParser::endTime):
1687 (WebCore::MediaFragmentURIParser::parseTimeFragment):
1688 (WebCore::MediaFragmentURIParser::parseNPTFragment):
1689 (WebCore::MediaFragmentURIParser::parseNPTTime):
1690 (WebCore::MediaFragmentURIParser::invalidTimeValue): Deleted.
1691 * html/MediaFragmentURIParser.h:
1692 * html/TimeRanges.h:
1693 (WebCore::TimeRanges::ranges):
1694 * html/track/DataCue.cpp:
1695 (WebCore::DataCue::DataCue):
1696 * html/track/DataCue.h:
1697 (WebCore::DataCue::create):
1698 * html/track/InbandDataTextTrack.cpp:
1699 (WebCore::InbandDataTextTrack::addDataCue):
1700 (WebCore::InbandDataTextTrack::updateDataCue):
1701 (WebCore::InbandDataTextTrack::removeDataCue):
1702 * html/track/InbandDataTextTrack.h:
1703 * html/track/InbandGenericTextTrack.cpp:
1704 (WebCore::InbandGenericTextTrack::updateCueFromCueData):
1705 (WebCore::InbandGenericTextTrack::addGenericCue):
1706 (WebCore::InbandGenericTextTrack::removeGenericCue):
1707 * html/track/InbandTextTrack.cpp:
1708 (WebCore::InbandTextTrack::startTimeVariance):
1709 * html/track/InbandTextTrack.h:
1710 * html/track/InbandWebVTTTextTrack.cpp:
1711 (WebCore::InbandWebVTTTextTrack::newCuesParsed):
1712 * html/track/TextTrack.cpp:
1713 (WebCore::TextTrack::addCue):
1714 (WebCore::TextTrack::hasCue):
1715 * html/track/TextTrack.h:
1716 (WebCore::TextTrack::startTimeVariance):
1717 * html/track/TextTrackCue.cpp:
1718 (WebCore::TextTrackCue::create):
1719 (WebCore::TextTrackCue::TextTrackCue):
1720 (WebCore::TextTrackCue::setStartTime):
1721 (WebCore::TextTrackCue::setEndTime):
1722 (WebCore::TextTrackCue::hasEquivalentStartTime):
1723 * html/track/TextTrackCue.h:
1724 (WebCore::TextTrackCue::startTime):
1725 (WebCore::TextTrackCue::endTime):
1726 * html/track/TextTrackCueGeneric.cpp:
1727 (WebCore::TextTrackCueGeneric::TextTrackCueGeneric):
1728 * html/track/TextTrackCueGeneric.h:
1729 * html/track/TextTrackCueList.cpp:
1730 (WebCore::TextTrackCueList::add):
1731 * html/track/VTTCue.cpp:
1732 (WebCore::VTTCue::VTTCue):
1733 (WebCore::VTTCue::markFutureAndPastNodes):
1734 (WebCore::VTTCue::updateDisplayTree):
1735 * html/track/VTTCue.h:
1736 (WebCore::VTTCue::create):
1737 * html/track/WebVTTParser.cpp:
1738 (WebCore::WebVTTParser::WebVTTParser):
1739 (WebCore::WebVTTParser::resetCueValues):
1740 (WebCore::WebVTTParser::collectTimeStamp):
1741 (WebCore::WebVTTTreeBuilder::constructTreeFromToken):
1742 * html/track/WebVTTParser.h:
1743 (WebCore::WebVTTCueData::startTime):
1744 (WebCore::WebVTTCueData::setStartTime):
1745 (WebCore::WebVTTCueData::endTime):
1746 (WebCore::WebVTTCueData::setEndTime):
1747 (WebCore::WebVTTCueData::WebVTTCueData): Deleted.
1748 * platform/graphics/InbandTextTrackPrivateClient.h:
1749 (WebCore::GenericCueData::startTime):
1750 (WebCore::GenericCueData::setStartTime):
1751 (WebCore::GenericCueData::endTime):
1752 (WebCore::GenericCueData::setEndTime):
1753 (WebCore::GenericCueData::GenericCueData):
1754 * platform/graphics/MediaPlayer.cpp:
1755 (WebCore::MediaPlayer::duration):
1756 (WebCore::MediaPlayer::startTime):
1757 (WebCore::MediaPlayer::initialTime):
1758 (WebCore::MediaPlayer::currentTime):
1759 (WebCore::MediaPlayer::seekWithTolerance):
1760 (WebCore::MediaPlayer::seek):
1761 (WebCore::MediaPlayer::maxTimeSeekable):
1762 (WebCore::MediaPlayer::minTimeSeekable):
1763 (WebCore::MediaPlayer::mediaTimeForTimeValue):
1764 (WebCore::MediaPlayer::totalFrameDelay):
1765 * platform/graphics/MediaPlayer.h:
1766 * platform/graphics/MediaPlayerPrivate.h:
1767 (WebCore::MediaPlayerPrivateInterface::durationMediaTime):
1768 (WebCore::MediaPlayerPrivateInterface::currentMediaTime):
1769 (WebCore::MediaPlayerPrivateInterface::seek):
1770 (WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
1771 (WebCore::MediaPlayerPrivateInterface::startTime):
1772 (WebCore::MediaPlayerPrivateInterface::initialTime):
1773 (WebCore::MediaPlayerPrivateInterface::seekable):
1774 (WebCore::MediaPlayerPrivateInterface::maxMediaTimeSeekable):
1775 (WebCore::MediaPlayerPrivateInterface::minMediaTimeSeekable):
1776 (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue):
1777 (WebCore::MediaPlayerPrivateInterface::totalFrameDelay):
1778 (WebCore::MediaPlayerPrivateInterface::startTimeDouble): Deleted.
1779 (WebCore::MediaPlayerPrivateInterface::maxTimeSeekableDouble): Deleted.
1780 (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValueDouble): Deleted.
1781 * platform/graphics/MediaSourcePrivateClient.h:
1782 * platform/graphics/TrackPrivateBase.h:
1783 (WebCore::TrackPrivateBase::startTimeVariance):
1784 * platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:
1785 (WebCore::InbandMetadataTextTrackPrivateAVF::InbandMetadataTextTrackPrivateAVF):
1786 (WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):
1787 (WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
1788 (WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):
1789 * platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:
1790 (WebCore::IncompleteMetaDataCue::IncompleteMetaDataCue):
1791 (WebCore::IncompleteMetaDataCue::startTime):
1792 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1793 (WebCore::InbandTextTrackPrivateAVF::processCue):
1794 (WebCore::InbandTextTrackPrivateAVF::resetCueValues):
1795 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
1796 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1797 (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
1798 (WebCore::MediaPlayerPrivateAVFoundation::durationMediaTime):
1799 (WebCore::MediaPlayerPrivateAVFoundation::seek):
1800 (WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance):
1801 (WebCore::MediaPlayerPrivateAVFoundation::maxMediaTimeSeekable):
1802 (WebCore::MediaPlayerPrivateAVFoundation::minMediaTimeSeekable):
1803 (WebCore::MediaPlayerPrivateAVFoundation::maxTimeLoaded):
1804 (WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress):
1805 (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
1806 (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
1807 (WebCore::MediaPlayerPrivateAVFoundation::seekableTimeRangesChanged):
1808 (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
1809 (WebCore::MediaPlayerPrivateAVFoundation::didEnd):
1810 (WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration):
1811 (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
1812 (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost):
1813 (WebCore::MediaPlayerPrivateAVFoundation::duration): Deleted.
1814 (WebCore::MediaPlayerPrivateAVFoundation::maxTimeSeekableDouble): Deleted.
1815 (WebCore::MediaPlayerPrivateAVFoundation::minTimeSeekable): Deleted.
1816 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1817 (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification):
1818 (WebCore::MediaPlayerPrivateAVFoundation::Notification::time):
1819 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1820 (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
1821 (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
1822 (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
1823 (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
1824 (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
1825 (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
1826 (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
1827 (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
1828 (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
1829 (WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
1830 (WebCore::AVFWrapper::seekToTime): Deleted.
1831 (WebCore::LegibleOutputData::LegibleOutputData): Deleted.
1832 (WebCore::AVFWrapper::createImageForTimeInRect): Deleted.
1833 (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
1834 (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
1835 (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
1836 (WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
1837 (WebCore::AVFWrapper::seekToTime): Deleted.
1838 (WebCore::LegibleOutputData::LegibleOutputData): Deleted.
1839 (WebCore::AVFWrapper::createImageForTimeInRect): Deleted.
1840 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1841 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1842 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
1843 (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
1844 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
1845 (WebCore::MediaPlayerPrivateAVFoundationObjC::currentMediaTime):
1846 (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
1847 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
1848 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
1849 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded):
1850 (WebCore::MediaPlayerPrivateAVFoundationObjC::mediaTimeForTimeValue):
1851 (WebCore::MediaPlayerPrivateAVFoundationObjC::processCue):
1852 (WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
1853 (WebCore::MediaPlayerPrivateAVFoundationObjC::durationDidChange):
1854 (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
1855 (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
1856 (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Deleted.
1857 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
1858 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1859 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationMediaTime):
1860 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTime):
1861 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
1862 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
1863 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
1864 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
1865 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxMediaTimeSeekable):
1866 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minMediaTimeSeekable):
1867 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):
1868 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble): Deleted.
1869 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble): Deleted.
1870 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble): Deleted.
1871 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble): Deleted.
1872 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable): Deleted.
1873 * platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
1874 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
1875 * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
1876 (WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):
1877 * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
1878 (WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):
1879 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1880 (WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
1881 (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
1882 (WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
1883 (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
1884 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1885 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1886 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1887 (WebCore::maxValueForTimeRanges):
1888 (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
1889 (WebCore::MediaPlayerPrivateQTKit::durationMediaTime):
1890 (WebCore::MediaPlayerPrivateQTKit::currentMediaTime):
1891 (WebCore::MediaPlayerPrivateQTKit::seek):
1892 (WebCore::MediaPlayerPrivateQTKit::doSeek):
1893 (WebCore::MediaPlayerPrivateQTKit::cancelSeek):
1894 (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
1895 (WebCore::MediaPlayerPrivateQTKit::seeking):
1896 (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
1897 (WebCore::MediaPlayerPrivateQTKit::buffered):
1898 (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
1899 (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
1900 (WebCore::MediaPlayerPrivateQTKit::didLoadingProgress):
1901 (WebCore::MediaPlayerPrivateQTKit::updateStates):
1902 (WebCore::MediaPlayerPrivateQTKit::timeChanged):
1903 (WebCore::MediaPlayerPrivateQTKit::didEnd):
1904 (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
1905 (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
1906 (WebCore::MediaPlayerPrivateQTKit::createQTTime): Deleted.
1907 (WebCore::MediaPlayerPrivateQTKit::duration): Deleted.
1908 (WebCore::MediaPlayerPrivateQTKit::currentTime): Deleted.
1909 (WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable): Deleted.
1910 (WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded): Deleted.
1911 (WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue): Deleted.
1912 * platform/mac/PlatformClockCM.mm:
1913 * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
1914 (WebCore::MockMediaPlayerMediaSource::maxMediaTimeSeekable):
1915 (WebCore::MockMediaPlayerMediaSource::currentMediaTime):
1916 (WebCore::MockMediaPlayerMediaSource::durationMediaTime):
1917 (WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
1918 (WebCore::MockMediaPlayerMediaSource::totalFrameDelay):
1919 (WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble): Deleted.
1920 (WebCore::MockMediaPlayerMediaSource::currentTimeDouble): Deleted.
1921 (WebCore::MockMediaPlayerMediaSource::durationDouble): Deleted.
1922 * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
1923 * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
1924 (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):
1925 * platform/mock/mediasource/MockMediaSourcePrivate.h:
1926 * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
1927 (WebCore::MockSourceBufferPrivate::enqueueSample):
1929 2014-09-05 Antti Koivisto <antti@apple.com>
1931 REGRESSION(r173272): Two blob tests failing on WK1
1932 https://bugs.webkit.org/show_bug.cgi?id=136573
1934 Reviewed by Alexey Proskuryakov.
1936 http/tests/fileapi/blob-url-in-subframe.html
1937 http/tests/security/mixedContent/blob-url-in-iframe.html
1939 * platform/network/BlobResourceHandle.cpp:
1940 (WebCore::BlobResourceHandle::notifyResponseOnSuccess):
1942 No need to set this twice.
1944 * platform/network/mac/ResourceResponseMac.mm:
1945 (WebCore::ResourceResponse::initNSURLResponse):
1947 Also test that it is an HTTP URL before using NSHTTPURLResponse. Blobs create non-HTTP URLs with status codes.
1948 Pass the accidentally lost expected content length.
1950 2014-09-05 Zalan Bujtas <zalan@apple.com>
1952 Move computeInlinePreferredLogicalWidths() from RenderBlock to RenderBlockFlow
1953 https://bugs.webkit.org/show_bug.cgi?id=136461
1955 Reviewed by Darin Adler.
1957 This patch enables us to go from const_cast<RenderBlockFlow*>(this)->computeInlinePreferredLogicalWidths()
1958 to computeInlinePreferredLogicalWidths().
1960 Covered by existing tests.
1962 * rendering/RenderBlock.cpp:
1963 (WebCore::InlineMinMaxIterator::endOfInline): Deleted.
1964 (WebCore::InlineMinMaxIterator::next): Deleted.
1965 (WebCore::getBPMWidth): Deleted.
1966 (WebCore::getBorderPaddingMargin): Deleted.
1967 (WebCore::stripTrailingSpace): Deleted.
1968 (WebCore::preferredWidth): Deleted.
1969 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): Deleted.
1970 * rendering/RenderBlock.h:
1971 * rendering/RenderBlockFlow.cpp:
1972 (WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):
1973 (WebCore::InlineMinMaxIterator::initial): The (parent == current) condition was used as 'initial' state before.
1974 and in order to make computeInlinePreferredLogicalWidths const, InlineMinMaxIterator() needs to take const RenderObject*.
1975 (WebCore::InlineMinMaxIterator::next):
1976 (WebCore::getBPMWidth):
1977 (WebCore::getBorderPaddingMargin):
1978 (WebCore::stripTrailingSpace):
1979 (WebCore::preferredWidth):
1980 (WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):
1981 * rendering/RenderBlockFlow.h:
1983 2014-09-04 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1985 Unreviewed, build fix for EFL and GTK ports since r173272.
1987 * platform/network/soup/ResourceResponseSoup.cpp:
1988 (WebCore::ResourceResponse::updateFromSoupMessageHeaders):
1990 2014-09-04 Pratik Solanki <psolanki@apple.com>
1992 Unreviewed. Speculative build fix. Add platformSuggestedFilename() to all the ResourceResponse header files.
1994 * platform/network/curl/ResourceResponse.h:
1995 (WebCore::ResourceResponse::platformSuggestedFilename):
1996 * platform/network/soup/ResourceResponse.h:
1997 * platform/network/win/ResourceResponse.h:
1998 (WebCore::ResourceResponse::platformSuggestedFilename):
2000 2014-09-04 Pratik Solanki <psolanki@apple.com>
2002 Unreviewed. Another speculative build fix after r173272. Add a stub implementation for
2003 ResourceResponse::platformSuggestedFilename(). Filed bug 136562 for proper fix.
2005 * platform/network/soup/ResourceResponseSoup.cpp:
2006 (ResourceResponse::platformSuggestedFilename):
2008 2014-09-04 Pratik Solanki <psolanki@apple.com>
2010 Unreviewed. Speculative EFL and GTK build fix after r173272. Remove the filename argument
2011 from the various ResourceResponse constructors.
2013 * platform/network/curl/ResourceResponse.h:
2014 (WebCore::ResourceResponse::ResourceResponse):
2015 * platform/network/soup/ResourceResponse.h:
2016 (WebCore::ResourceResponse::ResourceResponse):
2017 * platform/network/win/ResourceResponse.h:
2018 (WebCore::ResourceResponse::ResourceResponse):
2020 2014-09-04 Simon Fraser <simon.fraser@apple.com>
2022 border-radius should not force layer backing store
2023 https://bugs.webkit.org/show_bug.cgi?id=136555
2025 Reviewed by Dean Jackson.
2027 Border-radius is not a reason to allocate backing store; it's not relevant unless
2028 we also have a border or background, and hasBoxDecorations() already checks for that.
2030 With that gone, we can now use renderer.hasBoxDecorations() (which also checks for
2031 a background), but it doesn't check for outlines, so do that in addition.
2033 Test: compositing/backing/border-radius-no-backing.html
2035 * rendering/RenderLayer.cpp:
2036 (WebCore::RenderLayer::calculateClipRects):
2038 2014-09-04 Simon Fraser <simon.fraser@apple.com>
2040 CSS filter on a compositing layer should not cause unncessary backing store allocation
2041 https://bugs.webkit.org/show_bug.cgi?id=136557
2043 Reviewed by Dean Jackson.
2045 Remove the style.hasFilter() check from hasBoxDecorations(), since filters aren't
2046 a box decoration. This allows creation of simple container layers with composited filters.
2048 Test: compositing/backing/filter-no-backing.html
2050 * rendering/RenderLayer.cpp:
2051 (WebCore::RenderLayer::calculateClipRects):
2053 2014-09-04 Simon Fraser <simon.fraser@apple.com>
2055 Improve the logic for compositing backing store avoidance
2056 https://bugs.webkit.org/show_bug.cgi?id=136556
2058 Reviewed by Dean Jackson.
2060 Avoid backing store allocation in more cases by improving the logic that detects
2061 whether a RenderLayer has any painted, non-layer descendent renderers.
2063 Rename RenderLayer::hasNonEmptyChildRenderers() to hasPaintingNonLayerDescendants(),
2064 and make it recur 3 levels deep, walking child lists of up to 20 siblings looking
2065 for renderers that paint anything. Any renderer with box decorations paints;
2066 replaced elements paint, and non-whitespace text nodes paint. We can avoid
2067 making backing store when whitespace nodes are present only when user-select is none,
2068 since we have to ensure that there's backing store to paint the selection into.
2070 Tests: compositing/backing/inline-block-no-backing.html
2071 compositing/backing/whitespace-nodes-no-backing.html
2073 * rendering/RenderLayer.cpp:
2074 (WebCore::RenderLayer::hasNonEmptyChildRenderers): Call the recursive hasPaintingNonLayerDescendants().
2075 (WebCore::RenderLayer::hasBoxDecorationsOrBackground):
2076 (WebCore::RenderLayer::isVisuallyNonEmpty): Do the cheap tests first. Use isRenderReplaced()
2077 rather than isReplaced(), since the latter includes inline-blocks.
2078 * rendering/RenderLayerBacking.cpp:
2079 (WebCore::RenderLayerBacking::updateConfiguration): Don't run the isSimpleContainerCompositingLayer()
2080 logic in the root layer, since it always wants backing store.
2081 (WebCore::RenderLayerBacking::updateAfterDescendents): Ditto.
2082 (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): isReplaced() includes
2083 inline-block, so use isRenderReplaced() instead.
2085 2014-09-04 Daniel Bates <dabates@apple.com>
2087 [iOS] Fix the iOS build after <http://trac.webkit.org/changeset/173258>
2088 (https://bugs.webkit.org/show_bug.cgi?id=136494)
2090 Use ENABLE_TOUCH_EVENT instead of ENABLE(TOUCH_EVENT) as the latter isn't available
2091 to some clients of this private header.
2093 * platform/ios/wak/WAKResponder.h:
2095 2014-09-04 Roger Fong <roger_fong@apple.com>
2097 Increase number of maximum active WebGL contexts.
2098 https://bugs.webkit.org/show_bug.cgi?id=136551.
2099 <rdar://problem/18236425>
2101 Reviewed by Brent Fulgham.
2103 Test covered by Khronos conformance test:
2104 webgl/1.0.2/conformance/context/context-creation-and-destruction.html
2106 * platform/graphics/mac/GraphicsContext3DMac.mm:
2108 2014-09-04 Roger Fong <roger_fong@apple.com>
2110 Clicking on a select element should never hide the popup menu.
2111 https://bugs.webkit.org/show_bug.cgi?id=136548.
2112 <rdar://problem/10215926>
2114 Reviewed by Simon Fraser.
2116 * html/HTMLSelectElement.cpp:
2117 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2118 Never call hidePopup as a result of a click on a select element.
2119 The only way you can properly hide a popup is to click again or lose focus on the popup itself.
2121 2014-09-04 Enrica Casucci <enrica@apple.com>
2123 Remove PLATFORM(IOS) from WebCore/editing (Part 2).
2124 https://bugs.webkit.org/show_bug.cgi?id=136474
2126 Reviewed by Tim Horton.
2128 Removing some more PLATFORM(IOS) from the editing code.
2129 Most of these changes are fixes that were made for IOS but never merged
2132 * editing/ApplyStyleCommand.cpp:
2133 (WebCore::ApplyStyleCommand::applyBlockStyle):
2134 * editing/ReplaceSelectionCommand.cpp:
2135 (WebCore::ReplaceSelectionCommand::doApply):
2136 * editing/VisibleSelection.cpp:
2137 (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
2138 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
2139 * editing/VisibleUnits.cpp:
2140 (WebCore::startOfDocument):
2141 (WebCore::endOfDocument):
2142 * editing/ios/EditorIOS.mm: No need for platform guard, this file is not built for Mac.
2144 2014-09-03 Andy Estes <aestes@apple.com>
2146 [Cocoa] Some WebKitLegacy headers migrated from WebCore incorrectly contain WEBCORE_EXPORT
2147 https://bugs.webkit.org/show_bug.cgi?id=136521
2149 Reviewed by Anders Carlsson.
2151 * platform/ios/wak/WebCoreThread.h: Stopped defining WEBCORE_EXPORT.
2153 2014-09-03 David Hyatt <hyatt@apple.com>
2155 Initial letters should clear one another.
2156 https://bugs.webkit.org/show_bug.cgi?id=136514
2158 Reviewed by Simon Fraser.
2160 Added fast/css-generated-content/initial-letter-clearance.html.
2162 * rendering/RenderBlockFlow.cpp:
2163 (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
2164 Compute the required clearance and add it both to the block's logical height
2165 and to the logical top offset of the float.
2167 (WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom):
2168 * rendering/RenderBlockFlow.h:
2169 A new method for determining the lowest floating initial letter.
2171 2014-09-04 Joseph Pecoraro <pecoraro@apple.com>
2173 Use WTFString::find(char) in more places
2174 https://bugs.webkit.org/show_bug.cgi?id=136541
2176 Reviewed by Daniel Bates.
2178 * Modules/plugins/YouTubePluginReplacement.cpp:
2179 (WebCore::queryKeysAndValues):
2180 * html/HTMLEmbedElement.cpp:
2181 (WebCore::HTMLEmbedElement::parseAttribute):
2182 * html/HTMLObjectElement.cpp:
2183 (WebCore::HTMLObjectElement::parametersForPlugin):
2184 * html/parser/XSSAuditor.cpp:
2185 (WebCore::XSSAuditor::decodedSnippetForAttribute):
2186 * page/UserContentURLPattern.cpp:
2187 (WebCore::UserContentURLPattern::parse):
2189 2014-09-04 Antti Koivisto <antti@apple.com>
2191 Try to fix iOS build.
2193 * loader/FrameLoader.cpp:
2194 (WebCore::FrameLoader::initForSynthesizedDocument):
2196 2014-09-04 Maciej Stachowiak <mjs@apple.com>
2198 Remove WebCoreSystemInterface glue for otherwise unused WKSI calls
2199 https://bugs.webkit.org/show_bug.cgi?id=136527
2201 Reviewed by Alexey Proskuryakov.
2205 * platform/ios/WebCoreSystemInterfaceIOS.mm:
2206 * platform/mac/WebCoreSystemInterface.h:
2207 * platform/mac/WebCoreSystemInterface.mm:
2209 2014-09-04 Beth Dakin <bdakin@apple.com>
2211 REGRESSION (r172832): Poor 2-finger scrolling performance at theverge.com articles
2213 https://bugs.webkit.org/show_bug.cgi?id=136433
2215 rdar://problem/18193942
2217 Reviewed by Tim Horton.
2219 We should ensure that we are only setting scroll elasticity for layers that return
2220 true for scrollsOverflow(). When overflow:scroll is set on the root element, we
2221 wound up setting the ScrollElasticity for the root, which messed up with the
2222 special way that the root is meant to scroll. Even though overflow:scroll has been
2223 set on the root, scrollsOverflow() is still false because we knew not to set
2224 hasOverflowClip() since it’s the root, which is why this check works.
2225 * rendering/RenderLayer.cpp:
2226 (WebCore::RenderLayer::setHasHorizontalScrollbar):
2227 (WebCore::RenderLayer::setHasVerticalScrollbar):
2229 Really, we should have never even called RenderLayer::setHasVerticalScrollbar or
2230 RenderLayer::setHasHorizontalScrollbar since it’s wrong to be creating a scrollbar
2231 on RenderLayer for the root. We should make sure, in addition to the other
2232 requirements consulted, that the renderer has an overflow clip before we create
2234 (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
2236 2014-09-04 Antti Koivisto <antti@apple.com>
2238 Remove ResourceResponse::m_suggestedFilename
2239 https://bugs.webkit.org/show_bug.cgi?id=136534
2241 Reviewed by Alexey Proskuryakov.
2243 This will simplify things.
2246 * loader/DocumentLoader.cpp:
2247 (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
2248 (WebCore::DocumentLoader::maybeLoadEmpty):
2249 * loader/FrameLoader.cpp:
2250 (WebCore::FrameLoader::willLoadMediaElementURL):
2251 * loader/appcache/ApplicationCacheStorage.cpp:
2252 (WebCore::ApplicationCacheStorage::loadCache):
2253 * loader/archive/ArchiveResource.cpp:
2254 (WebCore::ArchiveResource::create):
2255 * platform/network/BlobResourceHandle.cpp:
2256 (WebCore::BlobResourceHandle::notifyResponseOnSuccess):
2257 (WebCore::BlobResourceHandle::notifyResponseOnError):
2258 * platform/network/ResourceResponseBase.cpp:
2259 (WebCore::ResourceResponseBase::ResourceResponseBase):
2260 (WebCore::ResourceResponseBase::adopt):
2261 (WebCore::ResourceResponseBase::copyData):
2262 (WebCore::ResourceResponseBase::suggestedFilename):
2263 (WebCore::ResourceResponseBase::httpStatusText):
2264 (WebCore::ResourceResponseBase::setHTTPStatusText):
2265 (WebCore::ResourceResponseBase::httpHeaderField):
2266 (WebCore::ResourceResponseBase::setHTTPHeaderField):
2267 (WebCore::ResourceResponseBase::addHTTPHeaderField):
2268 (WebCore::ResourceResponseBase::httpHeaderFields):
2269 (WebCore::ResourceResponseBase::isAttachment):
2270 (WebCore::ResourceResponseBase::wasCached):
2271 (WebCore::ResourceResponseBase::connectionReused):
2272 (WebCore::ResourceResponseBase::setConnectionReused):
2273 (WebCore::ResourceResponseBase::connectionID):
2274 (WebCore::ResourceResponseBase::setConnectionID):
2276 Remove AllFields initialization. It was only used to get m_suggestedFilename.
2277 Rename CommonAndUncommonFields to AllFields
2279 (WebCore::ResourceResponseBase::setSuggestedFilename): Deleted.
2283 * platform/network/ResourceResponseBase.h:
2284 (WebCore::ResourceResponseBase::platformSuggestedFileName):
2286 Get the suggested filename from the platform class on-demand.
2288 * platform/network/cf/ResourceResponse.h:
2289 (WebCore::ResourceResponse::ResourceResponse):
2291 Remove never-used file name constructor parameter.
2293 * platform/network/cf/ResourceResponseCFNet.cpp:
2294 (WebCore::ResourceResponse::platformLazyInit):
2295 * platform/network/mac/ResourceResponseMac.mm:
2296 (WebCore::ResourceResponse::initNSURLResponse):
2298 Synthesize HTTP response properly so it can hold Content-Disposition for file name (and other headers).
2300 (WebCore::ResourceResponse::platformLazyInit):
2302 Don't pull the suggested filename anymore.
2304 (WebCore::ResourceResponse::platformSuggestedFilename):
2306 Get the suggested name from the (possibly synthetic) NSURLRequest.
2308 2014-09-04 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
2310 Remove CSS_FILTERS flag
2311 https://bugs.webkit.org/show_bug.cgi?id=136529
2313 Reviewed by Dirk Schulze.
2315 No new tests, no behaviour changed.
2317 * Configurations/FeatureDefines.xcconfig:
2318 * DerivedSources.cpp:
2320 * bindings/js/JSCSSValueCustom.cpp:
2322 * bindings/objc/DOMCSS.mm:
2324 * css/CSSComputedStyleDeclaration.cpp:
2325 (WebCore::ComputedStyleExtractor::valueForFilter):
2326 (WebCore::isLayoutDependent):
2327 (WebCore::ComputedStyleExtractor::propertyValue):
2328 * css/CSSComputedStyleDeclaration.h:
2329 * css/CSSFilterImageValue.cpp:
2330 * css/CSSFilterImageValue.h:
2331 * css/CSSImageGeneratorValue.cpp:
2332 (WebCore::CSSImageGeneratorValue::image):
2333 (WebCore::CSSImageGeneratorValue::isFixedSize):
2334 (WebCore::CSSImageGeneratorValue::fixedSize):
2335 (WebCore::CSSImageGeneratorValue::isPending):
2336 (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
2337 (WebCore::CSSImageGeneratorValue::loadSubimages):
2338 * css/CSSParser.cpp:
2339 (WebCore::CSSParser::parseValue):
2340 (WebCore::CSSParser::parseGeneratedImage):
2341 (WebCore::CSSParser::parseFilterImage):
2342 (WebCore::CSSParser::parseFilter):
2344 * css/CSSPropertyNames.in:
2346 (WebCore::CSSValue::hasFailedOrCanceledSubresources):
2347 (WebCore::CSSValue::equals):
2348 (WebCore::CSSValue::cssText):
2349 (WebCore::CSSValue::destroy):
2350 (WebCore::CSSValue::cloneForCSSOM):
2352 * css/StyleResolver.cpp:
2353 (WebCore::StyleResolver::State::clear):
2354 (WebCore::StyleResolver::applyProperty):
2355 (WebCore::StyleResolver::generatedOrPendingFromValue):
2356 (WebCore::StyleResolver::loadPendingResources):
2357 * css/StyleResolver.h:
2358 * css/WebKitCSSFilterValue.cpp:
2359 * css/WebKitCSSFilterValue.h:
2360 * css/WebKitCSSFilterValue.idl:
2361 * loader/cache/CachedSVGDocumentReference.cpp:
2362 * loader/cache/CachedSVGDocumentReference.h:
2363 * page/FrameView.cpp:
2364 (WebCore::FrameView::scrollContentsFastPath):
2365 * page/animation/AnimationBase.cpp:
2366 (WebCore::AnimationBase::AnimationBase):
2367 * page/animation/AnimationBase.h:
2368 * page/animation/CSSPropertyAnimation.cpp:
2369 (WebCore::blendFilter):
2370 (WebCore::blendFunc):
2371 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
2372 * page/animation/ImplicitAnimation.cpp:
2373 (WebCore::ImplicitAnimation::reset):
2374 (WebCore::ImplicitAnimation::checkForMatchingFilterFunctionLists):
2375 * page/animation/ImplicitAnimation.h:
2376 * page/animation/KeyframeAnimation.cpp:
2377 (WebCore::KeyframeAnimation::KeyframeAnimation):
2378 (WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists):
2379 * page/animation/KeyframeAnimation.h:
2380 * platform/graphics/GraphicsLayer.cpp:
2381 (WebCore::GraphicsLayer::validateFilterOperations):
2382 * platform/graphics/GraphicsLayer.h:
2383 * platform/graphics/GraphicsLayerAnimation.cpp:
2384 (WebCore::applyFilterAnimation):
2385 (WebCore::GraphicsLayerAnimation::applyInternal):
2386 * platform/graphics/GraphicsLayerAnimation.h:
2387 * platform/graphics/IntRectExtent.h:
2388 * platform/graphics/ca/GraphicsLayerCA.cpp:
2389 (WebCore::propertyIdToString):
2390 (WebCore::supportsAcceleratedFilterAnimations):
2391 (WebCore::GraphicsLayerCA::filtersCanBeComposited):
2392 (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
2393 (WebCore::GraphicsLayerCA::setFilters):
2394 (WebCore::GraphicsLayerCA::addAnimation):
2395 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
2396 (WebCore::GraphicsLayerCA::updateFilters):
2397 (WebCore::GraphicsLayerCA::ensureStructuralLayer):
2398 (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
2399 (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
2400 * platform/graphics/ca/GraphicsLayerCA.h:
2401 * platform/graphics/ca/PlatformCAAnimation.h:
2402 * platform/graphics/ca/PlatformCAFilters.h:
2403 * platform/graphics/ca/PlatformCALayer.h:
2404 * platform/graphics/ca/mac/PlatformCAAnimationMac.h:
2405 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2406 (PlatformCAAnimationMac::setFromValue):
2407 (PlatformCAAnimationMac::setToValue):
2408 (PlatformCAAnimationMac::setValues):
2409 * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
2410 (PlatformCAFilters::animatedFilterPropertyName):
2411 * platform/graphics/ca/mac/PlatformCALayerMac.h:
2412 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2413 (PlatformCALayerMac::clone):
2414 (PlatformCALayerMac::filtersCanBeComposited):
2415 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2416 (PlatformCAAnimationWin::setFromValue):
2417 (PlatformCAAnimationWin::setToValue):
2418 (PlatformCAAnimationWin::setValues):
2419 * platform/graphics/ca/win/PlatformCAAnimationWin.h:
2420 * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
2421 (PlatformCAFilters::animatedFilterPropertyName):
2422 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2423 (PlatformCALayerWin::clone):
2424 * platform/graphics/ca/win/PlatformCALayerWin.h:
2425 * platform/graphics/filters/FilterOperation.cpp:
2426 * platform/graphics/filters/FilterOperation.h:
2427 * platform/graphics/filters/FilterOperations.cpp:
2428 * platform/graphics/filters/FilterOperations.h:
2429 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2430 (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
2431 (WebCore::GraphicsLayerTextureMapper::setFilters):
2432 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2433 * platform/graphics/texmap/TextureMapper.h:
2434 * platform/graphics/texmap/TextureMapperGL.cpp:
2435 (WebCore::TextureMapperGLData::TextureMapperGLData):
2436 (WebCore::prepareFilterProgram):
2437 (WebCore::TextureMapperGL::drawTexture):
2438 (WebCore::BitmapTextureGL::applyFilters):
2439 * platform/graphics/texmap/TextureMapperGL.h:
2440 * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
2441 (WebCore::BitmapTextureImageBuffer::applyFilters):
2442 * platform/graphics/texmap/TextureMapperImageBuffer.h:
2443 * platform/graphics/texmap/TextureMapperLayer.cpp:
2444 (WebCore::TextureMapperLayer::setAnimatedFilters):
2445 (WebCore::TextureMapperLayer::computeOverlapRegions):
2446 (WebCore::TextureMapperLayer::paintIntoSurface):
2447 (WebCore::TextureMapperLayer::setFilters):
2448 (WebCore::TextureMapperLayer::syncAnimations):
2449 * platform/graphics/texmap/TextureMapperLayer.h:
2450 (WebCore::TextureMapperLayer::hasFilters):
2451 * platform/graphics/texmap/TextureMapperShaderProgram.h:
2452 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2453 (WebCore::CoordinatedGraphicsLayer::didChangeFilters):
2454 (WebCore::CoordinatedGraphicsLayer::setFilters):
2455 (WebCore::CoordinatedGraphicsLayer::syncFilters):
2456 (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
2457 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2458 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2459 (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
2460 (WebCore::CoordinatedGraphicsScene::setLayerState):
2461 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2462 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
2463 * rendering/FilterEffectRenderer.cpp:
2464 * rendering/FilterEffectRenderer.h:
2465 * rendering/RenderElement.cpp:
2466 (WebCore::RenderElement::adjustStyleDifference):
2467 * rendering/RenderElement.h:
2468 (WebCore::RenderElement::hasFilter): Deleted.
2469 * rendering/RenderLayer.cpp:
2470 (WebCore::RenderLayer::RenderLayer):
2471 (WebCore::RenderLayer::~RenderLayer):
2472 (WebCore::transparencyClipBox):
2473 (WebCore::RenderLayer::paintLayerContents):
2474 (WebCore::RenderLayer::calculateClipRects):
2475 * rendering/RenderLayer.h:
2476 * rendering/RenderLayerBacking.cpp:
2477 (WebCore::RenderLayerBacking::RenderLayerBacking):
2478 (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2479 (WebCore::RenderLayerBacking::updateFilters):
2480 (WebCore::RenderLayerBacking::updateGeometry):
2481 (WebCore::RenderLayerBacking::startAnimation):
2482 (WebCore::RenderLayerBacking::startTransition):
2483 (WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
2484 (WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):
2485 * rendering/RenderLayerBacking.h:
2486 * rendering/RenderLayerCompositor.cpp:
2487 (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
2488 (WebCore::RenderLayerCompositor::requiresCompositingForFilters):
2489 * rendering/RenderLayerFilterInfo.cpp:
2490 * rendering/RenderLayerFilterInfo.h:
2491 * rendering/RenderLayerModelObject.cpp:
2492 (WebCore::RenderLayerModelObject::styleWillChange):
2493 * rendering/RenderObject.cpp:
2494 (WebCore::RenderObject::containerForRepaint):
2495 (WebCore::RenderObject::repaintUsingContainer):
2496 * rendering/RenderView.cpp:
2497 (WebCore::RenderView::RenderView):
2498 * rendering/RenderView.h:
2499 * rendering/style/RenderStyle.cpp:
2500 (WebCore::RenderStyle::changeRequiresLayout):
2501 (WebCore::RenderStyle::changeRequiresLayerRepaint):
2502 * rendering/style/RenderStyle.h:
2503 * rendering/style/StyleFilterData.cpp:
2504 * rendering/style/StyleFilterData.h:
2505 * rendering/style/StyleRareNonInheritedData.cpp:
2506 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2507 (WebCore::StyleRareNonInheritedData::operator==):
2508 (WebCore::StyleRareNonInheritedData::hasFilters):
2509 * rendering/style/StyleRareNonInheritedData.h:
2510 * rendering/svg/RenderSVGResourceContainer.cpp:
2511 (WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
2513 2014-09-04 Pratik Solanki <psolanki@apple.com>
2515 Remove iOS specific disk image cache
2516 https://bugs.webkit.org/show_bug.cgi?id=136517
2518 Reviewed by Antti Koivisto.
2520 Disk image cache code unnecessarily complicates SharedBuffer implementation. We can remove
2521 this now since we don't enable it in WebKit2 on iOS.
2524 * WebCore.xcodeproj/project.pbxproj:
2525 * loader/ResourceBuffer.cpp:
2526 (WebCore::ResourceBuffer::isUsingDiskImageCache): Deleted.
2527 * loader/ResourceBuffer.h:
2528 * loader/cache/CachedImage.cpp:
2529 (WebCore::CachedImage::canUseDiskImageCache): Deleted.
2530 (WebCore::CachedImage::useDiskImageCache): Deleted.
2531 * loader/cache/CachedImage.h:
2532 * loader/cache/CachedResource.cpp:
2533 (WebCore::CachedResource::isUsingDiskImageCache): Deleted.
2534 * loader/cache/CachedResource.h:
2535 (WebCore::CachedResource::canUseDiskImageCache): Deleted.
2536 (WebCore::CachedResource::useDiskImageCache): Deleted.
2537 * loader/cache/MemoryCache.cpp:
2538 (WebCore::MemoryCache::TypeStatistic::addResource):
2539 (WebCore::MemoryCache::dumpStats):
2540 (WebCore::MemoryCache::dumpLRULists):
2541 (WebCore::MemoryCache::flushCachedImagesToDisk): Deleted.
2542 * loader/cache/MemoryCache.h:
2543 (WebCore::MemoryCache::TypeStatistic::TypeStatistic):
2544 * loader/ios/DiskImageCacheClientIOS.h: Removed.
2545 * loader/ios/DiskImageCacheIOS.h: Removed.
2546 * loader/ios/DiskImageCacheIOS.mm: Removed.
2547 * platform/Logging.h:
2548 * platform/SharedBuffer.cpp:
2549 (WebCore::SharedBuffer::SharedBuffer):
2550 (WebCore::SharedBuffer::~SharedBuffer):
2551 (WebCore::SharedBuffer::data):
2552 (WebCore::SharedBuffer::append):
2553 (WebCore::SharedBuffer::buffer):
2554 (WebCore::SharedBuffer::getSomeData):
2555 (WebCore::SharedBuffer::isAllowedToBeMemoryMapped): Deleted.
2556 (WebCore::SharedBuffer::allowToBeMemoryMapped): Deleted.
2557 (WebCore::SharedBuffer::failedMemoryMap): Deleted.
2558 (WebCore::SharedBuffer::markAsMemoryMapped): Deleted.
2559 (WebCore::SharedBuffer::memoryMappedNotificationCallbackData): Deleted.
2560 (WebCore::SharedBuffer::memoryMappedNotificationCallback): Deleted.
2561 (WebCore::SharedBuffer::setMemoryMappedNotificationCallback): Deleted.
2562 * platform/SharedBuffer.h:
2563 (WebCore::SharedBuffer::isMemoryMapped): Deleted.
2564 * platform/cf/SharedBufferCF.cpp:
2565 (WebCore::SharedBuffer::SharedBuffer):
2566 * platform/mac/SharedBufferMac.mm:
2567 (-[WebCoreSharedBufferData length]):
2568 (-[WebCoreSharedBufferData bytes]):
2569 (WebCore::SharedBuffer::createCFData):
2570 (-[WebCoreSharedBufferData initWithMemoryMappedSharedBuffer:]): Deleted.
2572 2014-09-04 Brian J. Burg <burg@cs.washington.edu>
2574 LegacyProfiler: ProfileNodes should be used more like structs
2575 https://bugs.webkit.org/show_bug.cgi?id=136381
2577 Reviewed by Timothy Hatcher.
2579 * inspector/ScriptProfileNode.idl: Remove an unused property.
2581 2014-09-04 Renato Nagy <rnagy@inf.u-szeged.hu>
2583 Remove Qt cruft: MIMESniffing.cpp and MIMESniffing.h
2584 https://bugs.webkit.org/show_bug.cgi?id=136528
2586 Reviewed by Alexey Proskuryakov.
2588 * platform/network/MIMESniffing.cpp: Removed.
2589 * platform/network/MIMESniffing.h: Removed.
2591 2014-09-04 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2593 Introduce CSS_BASIC_SHAPES_TYPE_CASTS, and use it
2594 https://bugs.webkit.org/show_bug.cgi?id=136403
2596 Reviewed by Daniel Bates.
2598 toCSSBasicShapeFoo() will help to detect wrong type casting. So this patch generates it, and use it
2599 instead of static_cast<const CSSBasicShapeFoo*>().
2601 No new tests no behavior changes.
2603 * css/BasicShapeFunctions.cpp:
2604 (WebCore::basicShapeForValue):
2605 * css/CSSBasicShapes.cpp:
2606 (WebCore::CSSBasicShapeCircle::equals):
2607 (WebCore::CSSBasicShapeEllipse::equals):
2608 (WebCore::CSSBasicShapePolygon::equals):
2609 (WebCore::CSSBasicShapeInset::equals):
2610 * css/CSSBasicShapes.h:
2612 2014-09-04 Daniel Bates <dabates@apple.com>
2614 [iOS] Make iOS build when ENABLE_TOUCH_EVENT and ENABLE_IOS_TOUCH_EVENTS disabled
2615 https://bugs.webkit.org/show_bug.cgi?id=136494
2617 Reviewed by Andy Estes.
2619 * WebCore.exp.in: Add ENABLE(IOS_TOUCH_EVENTS) and ENABLE(TOUCH_EVENTS) guards. Also, sort this file using
2620 the script Tools/Scripts/sort-export-file.
2621 * bindings/js/JSDocumentCustom.cpp: Add ENABLE(TOUCH_EVENTS)-guard around headers JSTouch.h and JSTouchList.h.
2622 * page/ios/WebEventRegion.mm: Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS) since this
2623 code is specific to the iOS touch machinery.
2624 * page/scrolling/ScrollingCoordinator.cpp: Add ENABLE(IOS_TOUCH_EVENTS) and ENABLE(TOUCH_EVENTS) guards.
2625 (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS).
2626 * platform/ios/ScrollAnimatorIOS.h: Add ENABLE(TOUCH_EVENTS) guard.
2627 * platform/ios/ScrollAnimatorIOS.mm:
2628 (WebCore::ScrollAnimatorIOS::ScrollAnimatorIOS): Ditto.
2629 * platform/ios/wak/WAKResponder.h: Ditto.
2630 * rendering/RenderLayer.cpp:
2631 (WebCore::RenderLayer::RenderLayer): Add ENABLE(IOS_TOUCH_EVENTS) guard.
2632 (WebCore::RenderLayer::~RenderLayer): Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS) since this
2633 code is specific to the iOS touch machinery.
2634 * rendering/RenderLayer.h: Add ENABLE(IOS_TOUCH_EVENTS) guard.
2636 2014-09-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
2638 REGRESSION(r173240) [GTK] Debug build broken.
2640 Unreviewed build fix after r173240.
2642 * dom/EventListenerMap.h: Add missing include.
2644 2014-09-04 Dan Bernstein <mitz@apple.com>
2646 Get rid of HIGH_DPI_CANVAS leftovers
2647 https://bugs.webkit.org/show_bug.cgi?id=136491
2649 Reviewed by Benjamin Poulain.
2651 * html/HTMLCanvasElement.cpp:
2652 (WebCore::HTMLCanvasElement::HTMLCanvasElement): Removed m_deviceScaleFactor initializer.
2653 (WebCore::HTMLCanvasElement::reset): Removed checking if the scale factor has changed and
2654 updating m_deviceScaleFactor.
2655 (WebCore::HTMLCanvasElement::convertLogicalToDevice): Removed scaling by the device scale
2657 (WebCore::HTMLCanvasElement::convertDeviceToLogical): Ditto.
2658 (WebCore::HTMLCanvasElement::createImageBuffer): Replaced m_deviceScaleFactor with a literal
2660 (WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Deleted.
2661 * html/HTMLCanvasElement.h: Removed m_deviceScaleFactor member variable and its getter.
2663 * html/canvas/CanvasRenderingContext2D.cpp:
2664 (WebCore::CanvasRenderingContext2D::putImageData): Removed scaling by the device scale
2666 * html/canvas/CanvasRenderingContext2D.h:
2667 (WebCore::CanvasRenderingContext2D::webkitBackingStorePixelRatio): Changed to return 1.
2669 * html/canvas/WebGLRenderingContext.cpp:
2670 (WebCore::WebGLRenderingContext::texImage2D): Replaced deviceScaleFactor() with 1.
2671 (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
2673 2014-09-03 Youenn Fablet <youenn.fablet@crf.canon.fr>
2675 XMLHttpRequest always defaults Content-Type to application/xml, while it should depend on data type
2676 https://bugs.webkit.org/show_bug.cgi?id=11049
2678 Reviewed by Darin Adler.
2680 Updated default mime type when sending text (changed from application/xml to text/plain;charset=UTF-8)
2681 Updated default mime type when sending document (set to application/xml;charset=UTF-8 for XML documents and text/html;charset=UTF-8 for HTML documents)
2683 Test: http/tests/xmlhttprequest/post-content-type-document.html
2685 * xml/XMLHttpRequest.cpp:
2686 (WebCore::XMLHttpRequest::send): updating default Content-Type valuess.
2688 2014-09-02 Brian J. Burg <burg@cs.washington.edu>
2690 Web Inspector: fix prefixes for subclasses of JSC::ConsoleClient
2691 https://bugs.webkit.org/show_bug.cgi?id=136476
2693 Reviewed by Timothy Hatcher.
2695 No new tests. No behavior changed.
2700 * WebCore.vcxproj/WebCore.vcxproj:
2701 * WebCore.vcxproj/WebCore.vcxproj.filters:
2702 * WebCore.xcodeproj/project.pbxproj:
2703 * bindings/js/JSCustomXPathNSResolver.cpp:
2704 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2705 * bindings/js/ScriptCachedFrameData.cpp:
2706 (WebCore::ScriptCachedFrameData::restore):
2707 * bindings/js/ScriptController.cpp:
2708 (WebCore::ScriptController::clearWindowShell):
2709 (WebCore::ScriptController::initScript):
2710 * css/CSSParser.cpp:
2711 (WebCore::CSSParser::logError):
2713 (WebCore::Document::addConsoleMessage):
2714 (WebCore::Document::addMessage):
2715 * inspector/PageDebuggerAgent.cpp:
2716 (WebCore::PageDebuggerAgent::muteConsole):
2717 (WebCore::PageDebuggerAgent::unmuteConsole):
2718 (WebCore::PageDebuggerAgent::breakpointActionLog):
2719 * inspector/PageRuntimeAgent.cpp:
2720 (WebCore::PageRuntimeAgent::muteConsole):
2721 (WebCore::PageRuntimeAgent::unmuteConsole):
2722 * page/DOMWindow.cpp:
2723 (WebCore::DOMWindow::console):
2724 (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
2725 (WebCore::DOMWindow::close):
2726 (WebCore::DOMWindow::printErrorMessage):
2727 (WebCore::DOMWindow::pageConsole): Deleted.
2730 (WebCore::Page::Page):
2732 * page/PageConsoleClient.cpp: Renamed from Source/WebCore/page/PageConsole.cpp.
2733 * page/PageConsoleClient.h: Renamed from Source/WebCore/page/PageConsole.h.
2734 * testing/Internals.cpp:
2735 (WebCore::Internals::consoleProfiles):
2736 * testing/Internals.h:
2737 * xml/XSLStyleSheetLibxslt.cpp:
2738 (WebCore::XSLStyleSheet::parseString):
2739 * xml/XSLTProcessorLibxslt.cpp:
2740 (WebCore::XSLTProcessor::parseErrorFunc):
2741 (WebCore::docLoaderFunc):
2743 2014-09-03 Maciej Stachowiak <mjs@apple.com>
2745 Fix a few leftovers from removing MIME-related WKSI usage
2746 https://bugs.webkit.org/show_bug.cgi?id=136513
2748 Reviewed by Alexey Proskuryakov.
2752 * platform/ios/WebCoreSystemInterfaceIOS.mm:
2753 * platform/mac/WebCoreSystemInterface.mm:
2755 2014-09-03 Myles C. Maxfield <mmaxfield@apple.com>
2757 Text caret changes to color of text in Mail and Notes
2758 https://bugs.webkit.org/show_bug.cgi?id=135904
2760 Reviewed by Simon Fraser.
2762 Consult with the background color of spans inside editable divs to determine what color
2763 the caret should be.
2765 Test: editing/caret/color-span-inside-editable.html
2767 * editing/FrameSelection.cpp:
2768 (WebCore::CaretBase::paintCaret):
2770 2014-09-03 Tim Horton <timothy_horton@apple.com>
2772 Fix the iOS build after r173230
2776 2014-09-03 Myles C. Maxfield <mmaxfield@apple.com>
2778 Remove unnecessary function from TextPainter
2779 https://bugs.webkit.org/show_bug.cgi?id=136497
2781 Reviewed by Simon Fraser.
2783 Function is never called.
2785 No new tests because there is no behavior change.
2787 * rendering/TextPainter.cpp:
2788 (WebCore::TextPainter::paintTextInContext): Deleted.
2789 * rendering/TextPainter.h:
2791 2014-09-03 Anders Carlsson <andersca@apple.com>
2793 Don't use DEPRECATED_DEFINE_STATIC_LOCAL for mutexes
2794 https://bugs.webkit.org/show_bug.cgi?id=136510
2796 Reviewed by Andreas Kling.
2798 Mutexes are intended to be used from multiple threads, and DEPRECATED_DEFINE_STATIC_LOCAL is not thread safe.
2800 * bindings/objc/DOMInternal.mm:
2805 Use LazyNeverDestroyed + std::call_once, and switch the mutex over to an std::mutex.
2807 * dom/EventListenerMap.cpp:
2808 (WebCore::EventListenerMap::assertNoActiveIterators):
2809 (WebCore::EventListenerIterator::EventListenerIterator):
2810 (WebCore::EventListenerIterator::~EventListenerIterator):
2811 (WebCore::activeIteratorCountMutex):
2812 (WebCore::EventListenerMap::EventListenerMap): Deleted.
2813 * dom/EventListenerMap.h:
2814 Use an std::atomic<int> instead of a mutex here.
2816 2014-09-03 Enrica Casucci <enrica@apple.com>
2818 Remove PLATFORM(IOS) from WebCore/editing (Part 1).
2819 https://bugs.webkit.org/show_bug.cgi?id=136474
2821 Reviewed by Tim Horton.
2823 This is the first part of the work to remove PLATFORM(IOS) everywhere
2824 in the editing code.
2827 (WebCore::Range::create): Adding create function that takes VisiblePosition.
2829 * editing/CompositeEditCommand.cpp:
2830 (WebCore::CompositeEditCommand::apply):
2831 (WebCore::CompositeEditCommand::inputText):
2832 * editing/CompositeEditCommand.h:
2833 * editing/DeleteButton.h: No need for the platform guard since it is already under
2835 * editing/DeleteButtonController.cpp:
2836 (WebCore::DeleteButtonController::enable):
2837 (WebCore::DeleteButtonController::disable):
2838 * editing/EditAction.h:
2839 * editing/EditCommand.h:
2840 (WebCore::EditCommand::isInsertTextCommand):
2841 * editing/Editor.cpp:
2842 (WebCore::ClearTextCommand::CreateAndApply):
2844 * editing/EditorCommand.cpp:
2845 (WebCore::executeClearText):
2846 (WebCore::enabledCopy):
2847 (WebCore::enabledCut):
2848 (WebCore::enabledClearText):
2849 (WebCore::createCommandMap):
2850 * editing/FrameSelection.cpp:
2851 (WebCore::FrameSelection::modifyExtendingRight):
2852 (WebCore::FrameSelection::modifyExtendingForward):
2853 (WebCore::FrameSelection::modifyMovingRight):
2854 (WebCore::FrameSelection::modifyMovingForward):
2855 (WebCore::FrameSelection::modifyExtendingLeft):
2856 (WebCore::FrameSelection::modifyExtendingBackward):
2857 (WebCore::FrameSelection::modifyMovingLeft):
2858 (WebCore::FrameSelection::modifyMovingBackward):
2859 * editing/InsertTextCommand.h:
2860 * editing/TextCheckingHelper.cpp:
2861 * editing/TextGranularity.h:
2862 * editing/VisiblePosition.h:
2863 (WebCore::operator>=):
2864 * editing/VisibleSelection.cpp:
2865 (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
2866 * editing/VisibleUnits.cpp:
2867 * editing/VisibleUnits.h:
2869 2014-09-03 Anders Carlsson <andersca@apple.com>
2871 Get rid of some uses of OwnPtr
2872 https://bugs.webkit.org/show_bug.cgi?id=136503
2874 Reviewed by Sam Weinig.
2876 * dom/ElementRareData.cpp:
2877 * dom/ElementRareData.h:
2878 (WebCore::ElementRareData::create): Deleted.
2879 * dom/MutationObserverRegistration.cpp:
2880 (WebCore::MutationObserverRegistration::create): Deleted.
2881 * dom/MutationObserverRegistration.h:
2883 (WebCore::Node::materializeRareData):
2884 (WebCore::Node::didMoveToNewDocument):
2885 (WebCore::eventTargetDataMap):
2886 (WebCore::Node::eventTargetData):
2887 (WebCore::Node::ensureEventTargetData):
2888 (WebCore::Node::mutationObserverRegistry):
2889 (WebCore::Node::registerMutationObserver):
2890 (WebCore::Node::unregisterMutationObserver):
2891 (WebCore::Node::notifyMutationObserversNodeWillDetach):
2893 * dom/NodeRareData.h:
2894 (WebCore::NodeListsNodeData::NodeListsNodeData):
2895 (WebCore::NodeRareData::NodeRareData):
2896 (WebCore::NodeRareData::clearNodeLists):
2897 (WebCore::NodeRareData::ensureNodeLists):
2898 (WebCore::NodeRareData::ensureMutationObserverData):
2899 (WebCore::NodeListsNodeData::create): Deleted.
2900 (WebCore::NodeMutationObserverData::create): Deleted.
2901 (WebCore::NodeRareData::create): Deleted.
2903 2014-09-02 Maciej Stachowiak <mjs@apple.com>
2905 Clean up naming for and slightly refactor legacy video fullscreen support
2906 https://bugs.webkit.org/show_bug.cgi?id=136446
2908 Reviewed by Jer Noble.
2911 supportsFullscreenForNode(Node*) --> supportsVideoFullscreen()
2912 enterFullscreenForNode(Node*) --> enterVideoFullscreenForVideoElement(HTMLVideoElement*)
2913 exitFullscreenForNode(Node*) --> exitVideoFullscreen()
2915 The old versions had unnecessary parameters, did not clearly distinguish their purpose
2916 from enterFullscreenForElement and friends, and wrongly claimed generality to all Nodes.
2917 Also changed many other places to use HTMLVideoElement* instead of Node* or
2918 HTMLMediaElement* when they were in fact only used for video elements and would only
2921 The implications of this include a bunch of renaming in some iOS fullscreen code.
2923 * html/HTMLMediaElement.cpp:
2924 (WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_isFullscreen flag to
2925 m_isInVideoFullscreen, since it only covers the case of legacy video fullscreen,
2926 not element fullscreen.
2927 (WebCore::HTMLMediaElement::stop): ditto
2928 (WebCore::HTMLMediaElement::requiresTextTrackRepresentation): ditto
2929 (WebCore::HTMLMediaElement::isFullscreen): ditto
2930 (WebCore::HTMLMediaElement::enterFullscreen): Rename m_isFullscreen flag to
2931 m_isInVideoFullscreen. Hoist video element check here from all supportsFullscrenForNode
2932 clients. Adjust for relevant ChromeClient refactorings.
2933 (WebCore::HTMLMediaElement::enterFullscreen): ditto above
2934 * html/HTMLMediaElement.h:
2935 * html/HTMLVideoElement.cpp:
2936 (WebCore::HTMLVideoElement::supportsFullscreen): Adjust for relevant ChromeClient
2938 * page/ChromeClient.h:
2939 (WebCore::ChromeClient::supportsVideoFullscreen): Renamed from
2940 supportsFullscreenForNode, and removed Node* parameter.
2941 (WebCore::ChromeClient::enterVideoFullscreenForVideoElement): Renamed from
2942 enterFulscreenForNode and changed Node* parameter to HTMLVideoElement*.
2943 (WebCore::ChromeClient::exitVideoFullscreen): Renamed from
2944 exitFullscreenForNode, and removed Node* parameter.
2945 * platform/ios/WebVideoFullscreenControllerAVKit.h:
2946 * platform/ios/WebVideoFullscreenControllerAVKit.mm:
2947 (-[WebVideoFullscreenController videoElement]): Renamed from mediaElement;
2948 return a video element and not just a media element.
2949 (-[WebVideoFullscreenController dealloc]): Renamed _mediaElement data member
2950 to _videoElement and changed type accordingly.
2951 (-[WebVideoFullscreenController setVideoElement:]): Renamed from setMediaElement:
2952 and adjust parameter type accordingly.
2953 (-[WebVideoFullscreenController enterFullscreen:]): Video elements, not media
2955 (-[WebVideoFullscreenController exitFullscreen]): ditto
2956 (-[WebVideoFullscreenController didCleanupFullscreen]): ditto
2957 * platform/ios/WebVideoFullscreenInterface.h:
2958 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Remove gratuitous HTMLMEdiaElement.h include
2959 and fix declarations accordingly.
2960 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Include WTFString.h
2961 * platform/ios/WebVideoFullscreenModelVideoElement.h: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenModelMediaElement.h.
2962 * platform/ios/WebVideoFullscreenModelVideoElement.mm: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenModelMediaElement.mm.
2963 (WebVideoFullscreenModelVideoElement) Renamed from WebVideoFullscreenModelMediaElement
2964 (WebVideoFullscreenModelVideoElement::setVideoElement): Renamed from setMediaElement and
2965 change param type accordingly. Also no need to check for actual videoness of the element.
2966 (WebVideoFullscreenModelVideoElement::updateForEventName): Rename data member from m_mediaElement
2967 to m_videoElement and change type accordingly.
2968 (WebVideoFullscreenModelVideoElement::setVideoFullscreenLayer): ditto
2969 (WebVideoFullscreenModelVideoElement::play): ditto
2970 (WebVideoFullscreenModelVideoElement::pause): ditto
2971 (WebVideoFullscreenModelVideoElement::togglePlayState): ditto
2972 (WebVideoFullscreenModelVideoElement::beginScrubbing): ditto
2973 (WebVideoFullscreenModelVideoElement::endScrubbing): ditto
2974 (WebVideoFullscreenModelVideoElement::seekToTime): ditto
2975 (WebVideoFullscreenModelVideoElement::fastSeek): ditto
2976 (WebVideoFullscreenModelVideoElement::beginScanningForward): ditto
2977 (WebVideoFullscreenModelVideoElement::beginScanningBackward): ditto
2978 (WebVideoFullscreenModelVideoElement::endScanning): ditto
2979 (WebVideoFullscreenModelVideoElement::requestExitFullscreen): ditto
2980 (WebVideoFullscreenModelVideoElement::setVideoLayerFrame): ditto
2981 (WebVideoFullscreenModelVideoElement::setVideoLayerGravity): ditto
2982 (WebVideoFullscreenModelVideoElement::updateLegibleOptions): ditto
2983 * platform/mac/WebVideoFullscreenController.h:
2984 * platform/mac/WebVideoFullscreenController.mm:
2985 (-[WebVideoFullscreenController videoElement]): Renamed from mediaElement
2986 and update return type accordingly.
2987 (-[WebVideoFullscreenController setVideoElement:]): Renamed from
2988 setMediaElement and update return type accordingly.
2989 (-[WebVideoFullscreenController videoElementRect]): Renamed
2990 from mediaElementRect.
2991 (-[WebVideoFullscreenController enterFullscreen:]): Update for
2993 (-[WebVideoFullscreenController exitFullscreen]): ditto
2994 (-[WebVideoFullscreenController updatePowerAssertions]): Rename
2995 member from _mediaElement to _videoElement
2996 (-[WebVideoFullscreenController _requestExit]): ditto
2997 * WebCore.exp.in: Adjust for function and class renames.
2998 * WebCore.xcodeproj/project.pbxproj: Adjust for file renames.
3000 2014-09-03 Benjamin Poulain <benjamin@webkit.org>
3002 Fix style invalidation of elements with multiple siblings dependencies
3003 https://bugs.webkit.org/show_bug.cgi?id=136472
3005 Reviewed by Andreas Kling.
3007 Previously, style invalidation of siblings was driven by a pair of flags:
3008 -ChildrenAffectedByDirectAdjacentRules.
3009 -ChildrenAffectedByForwardPositionalRules.
3011 When ChildrenAffectedByDirectAdjacentRules was set, the element after an element
3012 with "needsStyleRecalc" was also recomputed. While this work for pair of elements:
3014 It does not work for more than that. For example, with
3016 When the state of <a> changes, the style of <b> was updated, which is useless. The style
3017 of <c> was untouched, which is incorrect.
3019 When ChildrenAffectedByForwardPositionalRules, all elements after one with "needsStyleRecalc"
3020 were invalidated. While more correct, it caused avalanche of style recalc and was not a very
3021 useful "optimization".
3024 To fix the correctness issues (e.g. "a + b + c"), I could have gone two ways:
3025 1) Invalidate the parent of a, b, c. The children would always get a correct style
3026 when their parent's style would be resolved.
3027 2) Create invalidation relations to enforce that the right siblings are invalidated.
3029 I have decided for a weak version of (2). The reason is that most DOM trees are very
3030 shallow while being very wide. Invalidating the parent generally causes massive style
3033 To keep things simple for now, there is no explicit dependency list between siblings.
3034 Instead, each element has a pair of flag:
3035 1) The element's style depends on the state of a previous sibling.
3036 2) The element's state affects following siblings.
3038 With the notation "<-" for (1), "->" for (2), the selector "a + b + c" create this kind
3044 When <a> is invalidated, the style resolver will go through the chain of dependent elements
3045 and invalidate any element that can be affected by a prior invalidation, here <c>.
3047 Overlaps are possible. For example with the two selector, "a + b + c", "b ~ d"
3048 the marking would be
3053 A change in <a> would invalidate both <c> and <d>. This is overkill, but the end result
3054 is correct and it is a net improvement over the previous flags.
3057 As usual, the CSS JIT makes an effort at compile time to reduce tree marking. SelectorChecker
3058 marks everything as usual.
3060 Tests: fast/css/direct-adjacent-style-update-optimization.html
3061 fast/css/indirect-adjacent-style-update-optimization.html
3062 fast/css/non-matching-adjacent-style-update.html
3063 fast/selectors/first-of-type-direct-adjacent-style-update.html
3064 fast/selectors/first-of-type-sibling-style-update.html
3065 fast/selectors/id-direct-adjacent-style-update.html
3066 fast/selectors/id-sibling-style-update.html
3067 fast/selectors/nth-child-as-first-simple-selector-style-update.html
3068 fast/selectors/nth-child-direct-adjacent-style-update.html
3069 fast/selectors/nth-child-style-update.html
3071 * css/SelectorChecker.cpp:
3072 (WebCore::isFirstOfType):
3073 (WebCore::countElementsBefore):
3074 (WebCore::countElementsOfTypeBefore):
3075 Counting selectors are not unlike adjacent combinators, they are handled the exact same way.
3076 For example a :nth-child(4) would generate somewhat similar marking as
3077 :first-child + * + * + *
3079 Everything prior to the element with the counter affects the style of the element.
3081 (WebCore::hasScrollbarPseudoElement):
3082 The assertion was incorrect. You can get an scrollbar pseudo ID on an element without scrollbar.
3083 It will never match, but such case is possible.
3085 (WebCore::SelectorChecker::matchRecursively):
3086 (WebCore::SelectorChecker::checkOne):
3087 * css/StyleResolver.cpp:
3088 (WebCore::StyleResolver::canShareStyleWithElement):
3089 Previously, any subtree affected by sibling selectors were unshareable. That was done by checking
3090 for Element::hasFlagsSetDuringStylingOfChildren().
3092 Now that sibling relation are local, they no longer prevent sharing of all children. Instead, we can
3093 test locally for subgroup with sibling relations.
3095 * cssjit/SelectorCompiler.cpp:
3096 (WebCore::SelectorCompiler::isAdjacentRelation):
3097 (WebCore::SelectorCompiler::shouldMarkStyleIsAffectedByPreviousSibling):
3098 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
3099 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
3100 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
3101 (WebCore::SelectorCompiler::SelectorCodeGenerator::markElementIfResolvingStyle):
3102 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
3103 (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle): Deleted.
3105 (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
3107 (WebCore::checkForSiblingStyleChanges):
3108 (WebCore::Element::hasFlagsSetDuringStylingOfChildren):
3109 (WebCore::Element::setChildrenAffectedByForwardPositionalRules): Deleted.
3110 (WebCore::Element::rareDataChildrenAffectedByForwardPositionalRules): Deleted.
3112 (WebCore::Element::affectsNextSiblingElementStyle):
3113 (WebCore::Element::setAffectsNextSiblingElementStyle):
3114 (WebCore::Element::setStyleIsAffectedByPreviousSibling):
3115 (WebCore::Element::childrenAffectedByPositionalRules): Deleted.
3116 (WebCore::Element::childrenAffectedByDirectAdjacentRules): Deleted.
3117 (WebCore::Element::childrenAffectedByForwardPositionalRules): Deleted.
3118 (WebCore::Element::setChildrenAffectedByDirectAdjacentRules): Deleted.
3119 (WebCore::Element::setChildrenAffectedByForwardPositionalRules): Deleted.
3120 * dom/ElementRareData.h:
3121 (WebCore::ElementRareData::ElementRareData):
3122 (WebCore::ElementRareData::resetDynamicRestyleObservations):
3123 (WebCore::ElementRareData::childrenAffectedByForwardPositionalRules): Deleted.
3124 (WebCore::ElementRareData::setChildrenAffectedByForwardPositionalRules): Deleted.
3126 (WebCore::Node::styleIsAffectedByPreviousSibling):
3127 (WebCore::Node::flagAffectsNextSiblingElementStyle):
3128 (WebCore::Node::flagStyleIsAffectedByPreviousSibling):
3129 (WebCore::Node::flagChildrenAffectedByDirectAdjacentRulesFlag): Deleted.
3130 * html/HTMLElement.h:
3131 (WebCore::HTMLElement::isHTMLUnknownElement):
3132 * html/HTMLUnknownElement.h:
3133 * style/StyleResolveTree.cpp:
3134 (WebCore::Style::resetStyleForNonRenderedDescendants):
3135 (WebCore::Style::resolveTree):
3137 2014-09-03 Simon Fraser <simon.fraser@apple.com>
3139 Dump SimpleLineLayout info in showRenderTree() output
3140 https://bugs.webkit.org/show_bug.cgi?id=136489
3142 Reviewed by Zalan Bujtas.
3144 Include info about SimpleLineLayout to showRenderTree() output.
3146 Also show RenderText length, and truncate the RenderText contents
3147 to 80 chars (since the string is replicated in inline boxes or simple line layout output).
3149 * rendering/RenderBlockFlow.cpp:
3150 (WebCore::RenderBlockFlow::showLineTreeAndMark):
3151 * rendering/RenderObject.cpp:
3152 (WebCore::RenderObject::showRenderObject):
3153 * rendering/SimpleLineLayoutFunctions.cpp:
3154 (WebCore::SimpleLineLayout::printPrefix):
3155 (WebCore::SimpleLineLayout::showLineTreeForFlow):
3156 * rendering/SimpleLineLayoutFunctions.h:
3158 2014-09-03 Tim Horton <timothy_horton@apple.com>
3160 iOS build fix after r173217
3162 * platform/graphics/ios/FontServicesIOS.h:
3163 (WebCore::FontServicesIOS::capHeight):
3164 * platform/graphics/ios/FontServicesIOS.mm:
3165 (WebCore::FontServicesIOS::FontServicesIOS):
3166 This fixes the build, but I don't know if it's completely correct.
3168 2014-09-03 Anders Carlsson <andersca@apple.com>
3170 Get rid of DOMImplementationFront
3171 https://bugs.webkit.org/show_bug.cgi?id=136495
3173 Reviewed by Andreas Kling.
3175 DOMImplementationFront was used in a workaround for a GCC bug, and since we're building with clang
3176 on Mac this is no longer an issue.
3178 * WebCore.xcodeproj/project.pbxproj:
3179 * bindings/objc/DOMImplementationFront.cpp: Removed.
3180 * bindings/objc/DOMImplementationFront.h: Removed.
3183 * bindings/objc/DOMUtility.mm:
3184 (JSC::createDOMWrapper):
3185 Remove call to implementationFront.
3187 * bindings/scripts/CodeGeneratorObjC.pm:
3189 Remove DOMImplementation special case
3191 (AddIncludesForType):
3195 Use the class header name in the #import in the internal header.
3197 (GenerateImplementation):
3198 Remove DOMImplementation special case.
3200 2014-09-03 Brent Fulgham <bfulgham@apple.com>
3202 [Win] Improper release of unretained AVCFAssetResourceLoaderRef
3203 https://bugs.webkit.org/show_bug.cgi?id=136493
3204 <rdar://problem/18112559>
3206 Reviewed by Eric Carlson.
3208 Don't bother wrapping the return value of AVCFURLAssetGetResourceLoader in a
3209 RetainPtr. We don't hold onto this value or want to control its lifetime; we just
3210 want to pass it to the AVCFAssetResourceLoaderSetCallbacks function.
3212 Use of the RetainPtr created a double-release and crash.
3214 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3215 (WebCore::AVFWrapper::createAssetForURL):
3217 2014-09-03 David Hyatt <hyatt@apple.com>
3219 Add support for the initial-letter CSS property to first-letter
3220 https://bugs.webkit.org/show_bug.cgi?id=136484
3222 Reviewed by Dean Jackson.
3224 New tests in fast/css-generated-content/initial-letter-*.html
3226 This patch add support for the CSS initial-letter property, enabling
3227 better drop caps support in WebKit. Letters size to a specified number of
3228 paragraph lines, and align to the cap-height of the first line and the baseline
3231 * css/CSSComputedStyleDeclaration.cpp:
3232 (WebCore::ComputedStyleExtractor::propertyValue):
3233 Add -webkit-initial-letter to the list.
3235 * css/CSSLineBoxContainValue.cpp:
3236 (WebCore::CSSLineBoxContainValue::customCSSText):
3237 * css/CSSLineBoxContainValue.h:
3238 Add support for a new value of line-box-contain, initial-letter, that causes
3239 lines to use cap-height above the baseline and the glyph bounds below the
3242 * css/CSSParser.cpp:
3243 (WebCore::CSSParser::parseValue):
3244 Add support for parsing of initial-letter.
3246 (WebCore::CSSParser::parseLineBoxContain):
3247 Add the new line-box-contain value for first-letters with initial-letter set.
3249 * css/CSSPropertyNames.in:
3250 Add the new initial-letter property.
3252 * css/CSSValueKeywords.in:
3253 Add the new initial-letter line-box-contain value.
3255 * css/StyleResolver.cpp:
3256 (WebCore::StyleResolver::applyProperty):
3257 Map initial-letter into the RenderStyle.
3259 * platform/graphics/FontMetrics.h:
3260 (WebCore::FontMetrics::hasCapHeight):
3261 (WebCore::FontMetrics::floatCapHeight):
3262 (WebCore::FontMetrics::setCapHeight):
3263 (WebCore::FontMetrics::capHeight):
3264 * platform/graphics/ios/SimpleFontDataIOS.mm:
3265 (WebCore::SimpleFontData::platformInit):
3266 * platform/graphics/mac/SimpleFontDataMac.mm:
3267 (WebCore::SimpleFontData::platformInit):
3268 Add support for cap-height to the font system. iOS and Mac have been patched.
3269 Other platforms will need to add support for cap-height to get this feature.
3270 hasCapHeight() will return false for unsupported platforms for graceful
3273 * rendering/RenderBlock.cpp:
3274 (WebCore::styleForFirstLetter):
3275 Modified to check for initialLetterDrop/Height and to adjust the style
3276 accordingly (e.g., to apply float when needed).
3278 * rendering/RenderBlockFlow.cpp:
3279 (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
3280 Code to adjust the float's position and margin to do cap-height alignment
3283 * rendering/RenderBlockFlow.h:
3284 Remove the const from computeLogicalLocationForFloat, since the margin of the
3285 float can now be modified dynamically for sunken first-letters.
3287 * rendering/RootInlineBox.cpp:
3288 (WebCore::RootInlineBox::ascentAndDescentForBox):
3289 Add support for initial-letter line-box-contain value.
3291 * rendering/RootInlineBox.h:
3292 Add the includeInitialLetterForBox method to support the new line-box-contain value.
3294 * rendering/style/RenderStyle.cpp:
3295 (WebCore::RenderStyle::changeRequiresLayout):
3296 * rendering/style/RenderStyle.h:
3297 * rendering/style/StyleRareNonInheritedData.cpp:
3298 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3299 (WebCore::StyleRareNonInheritedData::operator==):
3300 * rendering/style/StyleRareNonInheritedData.h:
3301 Normal maintenance stuff for addition of a new CSS property (making sure it is diffed
3302 properly for layout changes and copied on assignment, etc.)
3304 2014-09-03 Brent Fulgham <bfulgham@apple.com>
3306 [Win] Prevent double-release on AVCFURLAssetRef
3307 https://bugs.webkit.org/show_bug.cgi?id=136492
3308 <rdar://problem/18206746>
3310 Reviewed by Eric Carlson.
3312 The AVFWrapper::setAsset method needs to retain the passed argument, since it
3313 originates from AVCFPlayerItemGetAsset, which does not increment the
3314 reference count of its return value as expected by Cocoa Get/Create/Copy
3317 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3318 (WebCore::AVFWrapper::setAsset): Retain the passed argument.
3320 2014-09-03 Dan Bernstein <mitz@apple.com>
3322 Get rid of HIGH_DPI_CANVAS leftovers
3323 https://bugs.webkit.org/show_bug.cgi?id=136491
3325 Reviewed by Benjamin Poulain.
3327 * Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS
3328 and removed it from FEATURE_DEFINES.
3329 * html/HTMLCanvasElement.cpp:
3330 (WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Removed #if ENABLE(HIGH_DPI_CANVAS)
3333 2014-09-03 Joseph Pecoraro <pecoraro@apple.com>
3335 Use StringBuilder append(char) and appendLiteral in more places
3336 https://bugs.webkit.org/show_bug.cgi?id=136470
3338 Reviewed by Andreas Kling.
3340 * Modules/indexeddb/IDBKeyData.cpp:
3341 (WebCore::IDBKeyData::loggingString):
3342 * Modules/websockets/WebSocket.cpp:
3343 (WebCore::encodeProtocolString):
3344 * Modules/websockets/WebSocketExtensionDispatcher.cpp:
3345 (WebCore::WebSocketExtensionDispatcher::createHeaderValue):
3346 (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
3347 * Modules/websockets/WebSocketHandshake.cpp:
3348 (WebCore::WebSocketHandshake::clientLocation):
3349 (WebCore::WebSocketHandshake::clientHandshakeMessage):
3350 * css/CSSCalculationValue.cpp:
3351 (WebCore::buildCssText):
3352 * css/CSSComputedStyleDeclaration.cpp:
3353 (WebCore::CSSComputedStyleDeclaration::cssText):
3354 * css/CSSMediaRule.cpp:
3355 (WebCore::CSSMediaRule::cssText):
3356 * css/CSSSelectorList.cpp:
3357 (WebCore::CSSSelectorList::selectorsText):
3358 * css/CSSSupportsRule.cpp:
3359 (WebCore::CSSSupportsRule::cssText):
3360 * css/MediaQuery.cpp:
3361 (WebCore::MediaQuery::serialize):
3362 * editing/MarkupAccumulator.cpp:
3363 (WebCore::MarkupAccumulator::generateUniquePrefix):
3364 * editing/markup.cpp:
3365 (WebCore::urlToMarkup):
3366 * fileapi/FileReaderLoader.cpp:
3367 (WebCore::FileReaderLoader::convertToDataURL):
3368 * html/EmailInputType.cpp:
3369 (WebCore::EmailInputType::sanitizeValue):
3370 * html/FormController.cpp:
3371 (WebCore::recordFormStructure):
3372 * html/parser/XSSAuditorDelegate.cpp:
3373 (WebCore::buildConsoleError):
3374 * html/track/WebVTTParser.cpp:
3375 (WebCore::WebVTTParser::collectCueText):
3376 * mathml/MathMLMencloseElement.cpp:
3377 (WebCore::MathMLMencloseElement::longDivLeftPadding):
3378 * page/PageSerializer.cpp:
3379 (WebCore::SerializerMarkupAccumulator::appendElement):
3380 * page/SecurityOrigin.cpp:
3381 (WebCore::SecurityOrigin::toRawString):
3382 * page/scrolling/ScrollingCoordinator.cpp:
3383 (WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):
3384 * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
3385 (WebCore::logThreadedScrollingMode):
3386 * platform/PODInterval.h:
3387 (WebCore::PODInterval::toString):
3388 * platform/PODRedBlackTree.h:
3389 (WebCore::PODRedBlackTree::dumpFromNode):
3390 * platform/UUID.cpp:
3391 (WebCore::createCanonicalUUIDString):
3392 * platform/network/ProxyServer.cpp:
3393 (WebCore::appendProxyServerString):
3394 (WebCore::toString):
3395 * platform/text/DateTimeFormat.cpp:
3396 (WebCore::DateTimeFormat::quoteAndAppendLiteral):
3397 * platform/text/PlatformLocale.cpp:
3398 (WebCore::DateTimeStringBuilder::zeroPadString):
3399 (WebCore::Locale::convertFromLocalizedNumber):
3400 * platform/text/TextStream.cpp:
3401 (WebCore::TextStream::operator<<):
3402 * rendering/RenderListMarker.cpp:
3403 (WebCore::listMarkerText):
3404 * testing/Internals.cpp:
3405 (WebCore::Internals::parserMetaData):
3406 (WebCore::Internals::getCurrentCursorInfo):
3408 2014-09-03 Bear Travis <betravis@adobe.com>
3410 [CSS Font Loading] Enable Page Caching
3411 https://bugs.webkit.org/show_bug.cgi?id=136044
3413 Reviewed by Andreas Kling.
3415 Modifying FontLoader to track fonts loaded via the loadFont
3416 method as well as via CSS rules. Fonts loaded via loadFont are
3417 tracked in m_numLoadingFromJS, while fonts loaded via CSS rules
3418 are tracked in m_numLoadingFromCSS. The page is cacheable when no
3419 fonts are currently loading.
3421 Added fast/css/fontloader-page-cache.html
3423 * css/FontLoader.cpp:
3424 (WebCore::LoadFontCallback::create): Modified to take and store
3425 the number of fonts it will be loading.
3426 (WebCore::LoadFontCallback::createFromParams): Ditto.
3427 (WebCore::LoadFontCallback::familyCount): Getter for number of
3428 fonts loaded via this callback.
3429 (WebCore::LoadFontCallback::LoadFontCallback):
3430 (WebCore::LoadFontCallback::notifyLoaded): Callback the FontLoader
3431 to let it update its count when all the fonts have finished loading.
3432 (WebCore::FontLoader::loadFontDone): Ditto.
3433 (WebCore::FontLoader::FontLoader):
3434 (WebCore::FontLoader::beginFontLoading): Track the number of fonts
3436 (WebCore::FontLoader::fontLoaded): Ditto.
3437 (WebCore::FontLoader::loadError): Ditto.
3438 (WebCore::FontLoader::loadFont):
3440 (WebCore::FontLoader::loading):