Fix the build.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-09-10  Timothy Horton  <timothy_horton@apple.com>
2
3         Fix the build.
4
5         * platform/network/ResourceHandle.h:
6         * platform/network/mac/ResourceHandleMac.mm:
7
8 2014-09-09  Myles C. Maxfield <mmaxfield@apple.com>  <litherum@gmail.com>
9
10         Delete class SavedDrawingStateForMask
11         https://bugs.webkit.org/show_bug.cgi?id=136498
12
13         Reviewed by Darin Adler.
14
15         This class is left over from when text-decoration-skip: ink used
16         GraphicsContext masking.
17
18         No new tests because there is no behavior change.
19
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):
31
32 2014-09-10  Tim Horton  <timothy_horton@apple.com>
33
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>
37
38         Reviewed by Simon Fraser.
39
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.
44
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.
50
51         (WebCore::ResourceHandle::setCollectsTimingData):
52         Only call _setCollectsTimingData once.
53
54 2014-09-10  Enrica Casucci  <enrica@apple.com>
55
56         Remove iOS-only -webkit-composition-fill-color CSS property.
57         https://bugs.webkit.org/show_bug.cgi?id=136728
58         rdar://problem/10439154
59
60         Reviewed by Tim Horton.
61
62         This property is no longer used on iOS.
63
64         * css/CSSComputedStyleDeclaration.cpp:
65         (WebCore::ComputedStyleExtractor::propertyValue):
66         * css/CSSParser.cpp:
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:
80
81 2014-09-10  Tim Horton  <timothy_horton@apple.com>
82
83         Remove ImageSource::ShouldSkipMetadata
84         https://bugs.webkit.org/show_bug.cgi?id=136713
85
86         Reviewed by Pratik Solanki.
87
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.
96
97 2014-09-10  Beth Dakin  <bdakin@apple.com>
98
99         https://bugs.webkit.org/show_bug.cgi?id=136650
100         Rubber-banding in the DOM view of the WebInspector is really jumpy
101         -and corresponding-
102         rdar://problem/18166043
103
104         Reviewed by Darin Adler.
105
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:
113
114 2014-09-10  Tim Horton  <timothy_horton@apple.com>
115
116         Remove a workaround in frameIsCompleteAtIndex for a problem that was fixed in Lion
117         https://bugs.webkit.org/show_bug.cgi?id=136652
118
119         Reviewed by Dan Bernstein.
120
121         * platform/graphics/cg/ImageSourceCG.cpp:
122         (WebCore::ImageSource::frameIsCompleteAtIndex):
123         ImageIO returns the right thing now.
124
125 2014-09-10  Myles C. Maxfield  <mmaxfield@apple.com>
126
127         Laying out a TextRun using an SVG font is O(n^2)
128         https://bugs.webkit.org/show_bug.cgi?id=136584
129
130         Reviewed by Darin Adler.
131
132         Addressing post-commit review from Darin.
133
134         No new tests.
135
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.
142
143 2014-09-10  peavo@outlook.com  <peavo@outlook.com>
144
145         [Curl] Optimization; avoid reallocating string many times.
146         https://bugs.webkit.org/show_bug.cgi?id=136704
147
148         Reviewed by Alex Christensen.
149
150         Adding individual characters to a string is inefficient, the string will be reallocated each time.
151
152         * platform/network/curl/CookieJarCurl.cpp:
153         (WebCore::readCurlCookieToken):
154
155 2014-09-10  peavo@outlook.com  <peavo@outlook.com>
156
157         [Curl] Compile error, CertificateInfo.h is not found.
158         https://bugs.webkit.org/show_bug.cgi?id=136703
159
160         Reviewed by Alex Christensen.
161
162         Curl also needs to implement the CertificateInfo class.
163
164         * platform/network/curl/CertificateInfo.h: Added.
165         (WebCore::CertificateInfo::CertificateInfo):
166
167 2014-09-10  Simon Fraser  <simon.fraser@apple.com>
168
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
171
172         Reviewed by Darin Adler.
173
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&. 
177         
178         Also fix a couple of uses of #if ENABLE_PICTURE_SIZES.
179
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:
194
195 2014-09-10  Chris Fleizach  <cfleizach@apple.com>
196
197         AX: aria-labelledby is not honoring sub-node text
198         https://bugs.webkit.org/show_bug.cgi?id=136689
199
200         Reviewed by Mario Sanchez Prada.
201
202         Test: accessibility/aria-labelledby-with-descendants.html
203
204         When aria-labelledby retrieves the textUnderElements it needs to consider
205         all sub-children, including focusable content.
206
207         * accessibility/AccessibilityNodeObject.cpp:
208         (WebCore::accessibleNameForNode):
209
210 2014-09-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
211
212         Use toDocument instead of static_cast<Document*>
213         https://bugs.webkit.org/show_bug.cgi?id=136694
214
215         Reviewed by Andy Estes.
216
217         Clean up static_cast<Document*>.
218
219         * Modules/mediasource/SourceBuffer.cpp:
220         (WebCore::SourceBuffer::document):
221         * Modules/webaudio/AudioContext.cpp:
222         (WebCore::AudioContext::document):
223         * bindings/gobject/WebKitDOMPrivate.cpp:
224         (WebKit::wrap):
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):
234
235 2014-09-10  Yusuke Suzuki  <utatane.tea@gmail.com>
236
237         Merge CheckingContexts from SelectorCompiler and SelectorChecker
238         https://bugs.webkit.org/show_bug.cgi?id=135255
239
240         Reviewed by Benjamin Poulain.
241
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.
244
245         In SelectorChecker.cpp, we define SelectorChecker::CheckingContextWithStatus and use it internally.
246         And we move VisitedMatchType from SelectorChecker.h to SelectorChecker.cpp.
247
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.
254
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.
257
258         * CMakeLists.txt:
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):
317
318 2014-09-09  Jer Noble  <jer.noble@apple.com>
319
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
322
323         Reviewed by Eric Carlson.
324
325         Revert the inadvertant conditional change introduced in r173318.
326
327         * Modules/mediasource/MediaSource.cpp:
328         (WebCore::MediaSource::setDurationInternal):
329
330 2014-09-09  Roger Fong  <roger_fong@apple.com>
331
332         Unreviewed build fix for Windows.
333
334         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
335         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
336         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
337
338 2014-09-09  Dan Bernstein  <mitz@apple.com>
339
340         FrameLoader::prepareForHistoryNavigation is unused
341         https://bugs.webkit.org/show_bug.cgi?id=136683
342
343         Reviewed by Tim Horton.
344
345         * loader/FrameLoader.cpp:
346         (WebCore::FrameLoader::prepareForHistoryNavigation): Deleted.
347         * loader/FrameLoader.h: Removed the declaration.
348
349 2014-09-09  Manuel Rego Casasnovas  <rego@igalia.com>
350
351         [CSS Grid Layout] Ignore ::first-letter pseudo-element
352         https://bugs.webkit.org/show_bug.cgi?id=136625
353
354         Reviewed by Darin Adler.
355
356         According to the spec the ::first-letter pseudo-element do not apply to
357         grid containers (neither to flexboxes).
358
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.
364
365         Added two new tests for grid and modified one flexbox test to cover the
366         issue explained above.
367
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
371
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
379         check flexboxes.
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).
384
385 2014-09-09  Benjamin Poulain  <benjamin@webkit.org>
386
387         Add support for :read-write/:read-only matching editable content
388         https://bugs.webkit.org/show_bug.cgi?id=136668
389
390         Reviewed by Antti Koivisto.
391
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).
394
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".
397
398         Matching that definition is really easy. It was done by updating HTMLElement's matchesReadWritePseudoClass()
399         to consider both contentEditable and designMode.
400
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.
403
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.
407
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
415
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.
421
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.
425
426         (WebCore::HTMLElement::contentEditable):
427
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.
432
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.
438
439         Removing ReadOnlyState removes the expensive part of extractControlStatesForRenderer().
440
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):
448
449 2014-09-09  Jer Noble  <jer.noble@apple.com>
450
451         [MSE] media/media-source tests broken after r173318
452         https://bugs.webkit.org/show_bug.cgi?id=136675
453
454         Reviewed by Eric Carlson.
455
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   
461
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
465         source.
466
467         * Modules/mediasource/MediaSource.cpp:
468         (WebCore::MediaSource::activeRanges):
469
470 2014-09-09  Takeshi Kurosawa  <taken.spc@gmail.com>
471
472         AX: HTML5 landmark (and related) elements should not be ignored.
473         https://bugs.webkit.org/show_bug.cgi?id=135116
474
475         Reviewed by Chris Fleizach.
476
477         Make sure following element should not be ignored in computeAccessibilityIsIgnored
478         - header, aside, address, main, nav, article, section
479         - dt, dd
480
481         Tests: platform/mac/accessibility/descriptionlist-not-ignored.html
482                platform/mac/accessibility/landmark-not-ignored.html
483
484         * accessibility/AccessibilityRenderObject.cpp:
485         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
486
487 2014-09-08  Sergio Villar Senin  <svillar@igalia.com>
488
489         [CSS Grid Layout] RenderGrid methods should take RenderBox references
490         https://bugs.webkit.org/show_bug.cgi?id=136630
491
492         Reviewed by Darin Adler.
493
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.
497
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:
516
517 2014-09-09  Antti Koivisto  <antti@apple.com>
518
519         Remove unnecessary assert that is getting hit in some scenarios.
520
521         * platform/network/ResourceResponseBase.cpp:
522         (WebCore::ResourceResponseBase::certificateInfo):
523
524 2014-09-09  Antti Koivisto  <antti@apple.com>
525
526         Try to fix windows build.
527
528         * platform/network/cf/ResourceResponseCFNet.cpp:
529         (WebCore::ResourceResponse::platformCertificateInfo):
530
531 2014-09-08  Mihnea Ovidenie  <mihnea@adobe.com>
532
533         [CSSRegions]Incorrect layout for multicol element transformed into region
534         https://bugs.webkit.org/show_bug.cgi?id=136459
535
536         Reviewed by David Hyatt.
537
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.
544
545         Test: fast/regions/multicol/nested-multicol-into-region-dynamic.html
546
547         * style/StyleResolveTree.cpp:
548         (WebCore::Style::determineChange):
549
550 2014-09-08  Antti Koivisto  <antti@apple.com>
551
552         Pass certificate info as part of ResourceResponse
553         https://bugs.webkit.org/show_bug.cgi?id=136611
554
555         Reviewed by Darin Adler.
556
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.
559
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.
562
563         * WebCore.exp.in:
564         * platform/network/ResourceResponseBase.cpp:
565         (WebCore::ResourceResponseBase::ResourceResponseBase):
566
567             Mark initialized for synthetic responses, unitialized for those backed by a platform request.
568
569         (WebCore::ResourceResponseBase::initializeCertificateInfo):
570
571             Calling this pulls the certificate info out from the platform type.
572             It shoud only be used for resources that need it.
573
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):
580
581             Encode and decode certificate info if it is present.
582
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):
594
595 2014-09-09  Mihnea Ovidenie  <mihnea@adobe.com>
596
597         [CSSRegions] Use C++11 range-based loops in FlowThreadController
598         https://bugs.webkit.org/show_bug.cgi?id=136634
599
600         Reviewed by Andrei Bucur.
601
602         No new tests as no new functionality was introduced.
603
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):
617
618 2014-09-08  Simon Fraser  <simon.fraser@apple.com>
619
620         Minor refactor in CSSComputedStyleDeclaration
621         https://bugs.webkit.org/show_bug.cgi?id=136664
622
623         Reviewed by Darin Adler.
624
625         The "if (length.isPercentNotCalculated()) createValue() else zoomAdjustedPixelValue()"
626         pattern occurred a number of times here, so factor into percentageOrZoomAdjustedValue().
627
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):
636
637 2014-09-08  Alexey Proskuryakov  <ap@apple.com>
638
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
641
642         Reviewed by Darin Adler.
643
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.
646
647 2014-09-08  Myles C. Maxfield  <mmaxfield@apple.com>
648
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
651
652         Reviewed by Darin Adler.
653
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
656         the loop.
657
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.
661
662         Test: fast/text/empty-shadow-with-color.html
663
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().
674
675 2014-09-08  Commit Queue  <commit-queue@webkit.org>
676
677         Unreviewed, rolling out r173402.
678         https://bugs.webkit.org/show_bug.cgi?id=136649
679
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).
683
684         Reverted changeset:
685
686         "Move CallFrame and Register inlines functions out of
687         JSScope.h."
688         https://bugs.webkit.org/show_bug.cgi?id=136579
689         http://trac.webkit.org/changeset/173402
690
691 2014-09-05  Mark Lam  <mark.lam@apple.com>
692
693         Move CallFrame and Register inlines functions out of JSScope.h.
694         <https://webkit.org/b/136579>
695
696         Reviewed by Geoffrey Garen.
697
698         No new tests.
699
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.
704
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:
726
727 2014-09-08  Dean Jackson  <dino@apple.com>
728
729         Separate the Apple media controls module from other ports
730         https://bugs.webkit.org/show_bug.cgi?id=136644
731         rdar://problem/18270969
732
733         Reviewed by Eric Carlson.
734
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
738         Base class.
739
740         * Modules/mediacontrols/mediaControlsBase.css: Added.
741         * Modules/mediacontrols/mediaControlsBase.js: Added.
742         * PlatformEfl.cmake:
743         * PlatformGTK.cmake:
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.
749
750 2014-09-08  Jochen Eisinger  <jochen@chromium.org>
751
752         Always update the referrer header in CachedResource
753         https://bugs.webkit.org/show_bug.cgi?id=136642
754
755         Reviewed by Alexey Proskuryakov.
756
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
759         the referrer header.
760
761         * loader/cache/CachedResource.cpp:
762         (WebCore::CachedResource::addAdditionalRequestHeaders):
763
764 2014-09-08  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
765
766         Remove FILTERS flag
767         https://bugs.webkit.org/show_bug.cgi?id=136571
768
769         Reviewed by Darin Adler.
770
771         No new tests required, no new functionality.
772
773         * CMakeLists.txt:
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:
954         * svg/svgtags.in:
955
956 2014-09-08  Simon Fraser  <simon.fraser@apple.com>
957
958         Use enum class for the RunPostLayoutTasks enum
959         https://bugs.webkit.org/show_bug.cgi?id=136640
960
961         Reviewed by Dean Jackson.
962
963         Use enum class for RunPostLayoutTasks fixing callers. Add an explanatory comment,
964         and add some spacing.
965
966         * dom/Document.cpp:
967         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
968         * dom/Document.h:
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):
977
978 2014-09-08  peavo@outlook.com  <peavo@outlook.com>
979
980         [WinCairo] Compile error.
981         https://bugs.webkit.org/show_bug.cgi?id=136633
982
983         Reviewed by Darin Adler.
984
985         Enum name has already been defined.
986
987         * platform/audio/AudioHardwareListener.h:
988
989 2014-09-08  Tim Horton  <timothy_horton@apple.com>
990
991         Remove some unused code in ImageSourceCG
992         https://bugs.webkit.org/show_bug.cgi?id=136638
993
994         Reviewed by Dan Bernstein.
995
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.
1000
1001 2014-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1002
1003         Introduce CSS_RULE_TYPE_CASTS, and use it
1004         https://bugs.webkit.org/show_bug.cgi?id=136628
1005
1006         Reviewed by Darin Adler.
1007
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.
1010
1011         No new tests, no behavior changes.
1012
1013         * bindings/gobject/WebKitDOMPrivate.cpp:
1014         (WebKit::wrap):
1015         * css/CSSFontSelector.cpp:
1016         (WebCore::CSSFontSelector::addFontFaceRule):
1017         * css/CSSImportRule.h:
1018         * css/CSSMediaRule.h:
1019         * css/CSSParser.cpp:
1020         (WebCore::CSSParser::parseGridTemplateRowsAndAreas):
1021         * css/CSSRule.h:
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):
1035
1036 2014-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1037
1038         [EFL[WK2] MiniBrowser comes to crash on debug mode
1039         https://bugs.webkit.org/show_bug.cgi?id=136617
1040
1041         Reviewed by Csaba Osztrogonác.
1042
1043         Fix wrong ASSERTION use in applyCursorFromEcoreX().
1044
1045         * platform/efl/EflScreenUtilities.cpp: Change ASSERT(!window) with *ASSERT(window)*
1046         (WebCore::applyCursorFromEcoreX):
1047
1048 2014-09-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1049
1050         Introduce toBasicShapeFoo() instead of static_cast<BasicShapeFoo*>
1051         https://bugs.webkit.org/show_bug.cgi?id=136609
1052
1053         Reviewed by Darin Adler.
1054
1055         To use BasicShapeFoo() helps to detect wrong type casting and improve code readability.
1056
1057         No new tests, no behavior changes.
1058
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:
1070
1071 2014-09-06  Jer Noble  <jer.noble@apple.com>
1072
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
1075
1076         Reviewed by Eric Carlson.
1077
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
1083         after.
1084
1085         * dom/Document.cpp:
1086         (WebCore::Document::webkitDidExitFullScreenForElement):
1087
1088 2014-09-06  Darin Adler  <darin@apple.com>
1089
1090         Make updates suggested by new version of Xcode
1091         https://bugs.webkit.org/show_bug.cgi?id=136603
1092
1093         Reviewed by Mark Rowe.
1094
1095         * Configurations/Base.xcconfig: Added COMBINE_HIDPI_IMAGES and
1096         ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.
1097
1098         * WebCore.xcodeproj/project.pbxproj: Let Xcode remove an orphaned item from the file,
1099         and also updated LastUpgradeCheck.
1100
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.
1108
1109 2014-09-06  Brian J. Burg  <burg@cs.washington.edu>
1110
1111         Web Inspector: convert DockSide to an enum class
1112         https://bugs.webkit.org/show_bug.cgi?id=136601
1113
1114         Reviewed by Timothy Hatcher.
1115
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):
1124
1125 2014-09-06  Antti Koivisto  <antti@apple.com>
1126
1127         Serialize ResourceResponses using WebKit types
1128         https://bugs.webkit.org/show_bug.cgi?id=136545
1129
1130         Fix the failing webarchive tests.
1131
1132         * platform/network/mac/ResourceResponseMac.mm:
1133         (WebCore::ResourceResponse::initNSURLResponse): Map empty text encoding name to nil NSString.
1134
1135 2014-09-06  peavo@outlook.com  <peavo@outlook.com>
1136
1137         [WinCairo][Curl] fileExists() incorrectly claims folder does not exist.
1138         https://bugs.webkit.org/show_bug.cgi?id=136598
1139
1140         Reviewed by Alex Christensen.
1141
1142         The fileExists() function will always return false on Windows,
1143         if the filename parameter ends with a slash or backslash.
1144
1145         * platform/network/curl/CurlCacheManager.cpp:
1146         (WebCore::CurlCacheManager::setCacheDirectory): Add slash after call to fileExists().
1147
1148 2014-09-06  David Kilzer  <ddkilzer@apple.com>
1149
1150         New clang warns about boolean checks for |this| pointer in RenderObject debug methods
1151         <http://webkit.org/b/136599>
1152
1153         Reviewed by Zalan Bujtas.
1154
1155         Ignores the following static analyzer warnings:
1156
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]
1158                 if (!this) {
1159                     ~^~~~
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]
1161                 if (!this)
1162                     ~^~~~
1163
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
1170         unkonwn pragma.
1171
1172 2014-09-06  Antti Koivisto  <antti@apple.com>
1173
1174         Serialize ResourceResponses using WebKit types
1175         https://bugs.webkit.org/show_bug.cgi?id=136545
1176
1177         Reviewed by Alexey Proskuryakov.
1178
1179         Serialization is faster and we can mostly avoid having NSURLResponses in web process.
1180
1181         * WebCore.exp.in:
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):
1188
1189             Serialize from the WebCore data instead of serializing NSURLResponse.
1190
1191         * platform/network/cf/ResourceResponseCFNet.cpp:
1192         (WebCore::ResourceResponse::cfURLResponse):
1193
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.
1196
1197         * platform/network/mac/ResourceResponseMac.mm:
1198         (WebCore::ResourceResponse::nsURLResponse):
1199         (WebCore::ResourceResponse::setCertificateChain):
1200
1201             Avoid unnecessary NSURLRequest instantiation in debug builds.
1202
1203 2014-09-06  David Kilzer  <ddkilzer@apple.com>
1204
1205         HTMLElement.cpp does not compile with new clang
1206         <http://webkit.org/b/136600>
1207
1208         Reviewed by Chris Fleizach.
1209
1210         Fixes the following static analyzer warning:
1211
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())
1214                     ~^~~~
1215
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
1219         in layout tests.
1220
1221 2014-09-06  Ryuan Choi  <ryuan.choi@gmail.com>
1222
1223         [EFL] Drop evas object cursor support
1224         https://bugs.webkit.org/show_bug.cgi?id=136324
1225
1226         Reviewed by Gyuyoung Kim.
1227
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.
1230
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:
1240
1241 2014-09-05  Commit Queue  <commit-queue@webkit.org>
1242
1243         Unreviewed, rolling out r173340 and r173342.
1244         https://bugs.webkit.org/show_bug.cgi?id=136596
1245
1246         Broke many tests (Requested by ap on #webkit).
1247
1248         Reverted changesets:
1249
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
1253
1254         "Build fix after r173340."
1255         http://trac.webkit.org/changeset/173342
1256
1257 2014-09-05  Joseph Pecoraro  <pecoraro@apple.com>
1258
1259         Use WTFString::split(char) in more places
1260         https://bugs.webkit.org/show_bug.cgi?id=136543
1261
1262         Reviewed by Sam Weinig.
1263
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):
1280
1281 2014-09-05  Myles C. Maxfield  <mmaxfield@apple.com>
1282
1283         Laying out a TextRun using an SVG font is O(n^2)
1284         https://bugs.webkit.org/show_bug.cgi?id=136584
1285
1286         Reviewed by Andreas Kling.
1287
1288         Caching the version of the run with normalized spaces leads to a 5x speedup on the
1289         performance test this patch adds.
1290
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
1293         be sped up.
1294
1295         No new correctness tests because there is no behavior change.
1296         Performance Test: SVG/SVG-Text.html
1297
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.
1318
1319 2014-09-05  David Kilzer  <ddkilzer@apple.com>
1320
1321         REGRESSION (r169407): Calls to RenderStyle::getRoundedBorderFor() in computeRoundedRectForBoxShape() still include RenderView pointer
1322         <http://webkit.org/b/136591>
1323         <rdar://problem/18143731>
1324
1325         Reviewed by Simon Fraser.
1326
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.
1333
1334         No new tests since there is no change in behavior.
1335
1336         * rendering/shapes/BoxShape.cpp:
1337         (WebCore::computeRoundedRectForBoxShape): Remove RenderView*
1338         arguments from calls to getRoundedBorderFor().
1339
1340 2014-09-05  Tim Horton  <timothy_horton@apple.com>
1341
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
1345
1346         Reviewed by Simon Fraser.
1347
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.
1353
1354 2014-09-05  Tim Horton  <timothy_horton@apple.com>
1355
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>
1359
1360         Reviewed by Simon Fraser.
1361
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.
1371
1372 2014-09-05  Enrica Casucci  <enrica@apple.com>
1373
1374         Remove PLATFORM(IOS) from WebCore/editing (Part 3).
1375         https://bugs.webkit.org/show_bug.cgi?id=136474
1376
1377         Reviewed by Benjamin Poulain.
1378
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.
1384
1385         * editing/TextAffinity.h:
1386         (kit): Deleted.
1387         (core): Deleted.
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]):
1396
1397 2014-09-05  Jer Noble  <jer.noble@apple.com>
1398
1399         Unreviewed GTK build fix; include StringPrintStream to pull in toString().
1400
1401         * html/HTMLMediaElement.h:
1402
1403 2014-09-05  Brady Eidson  <beidson@apple.com>
1404
1405         Allow pages with unload handlers in the page cache
1406         <rdar://problem/11084669> and https://bugs.webkit.org/show_bug.cgi?id=136535
1407
1408         Reviewed by Oliver Hunt.
1409
1410         This will match what iOS has been doing for some time.
1411
1412         Updated tests for new behavior.
1413
1414         * history/PageCache.cpp:
1415         (WebCore::logCanCacheFrameDecision):
1416         (WebCore::PageCache::canCachePageContainingThisFrame):
1417
1418 2014-09-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1419
1420         [SOUP] Implement ResourceResponse::platformSuggestedFilename() when USE(SOUP) is enabled.
1421         https://bugs.webkit.org/show_bug.cgi?id=136562
1422
1423         Reviewed by Martin Robinson.
1424
1425         No new tests, this makes existing tests pass.
1426
1427         * platform/network/soup/ResourceResponseSoup.cpp:
1428         (WebCore::ResourceResponse::platformSuggestedFilename):
1429         Implement ResourceResponse::platformSuggestedFilename() for SOUP after r173272, r173301 and r173305.
1430
1431 2014-09-05  peavo@outlook.com  <peavo@outlook.com>
1432
1433         [Curl] Compile error.
1434         https://bugs.webkit.org/show_bug.cgi?id=136574
1435
1436         Reviewed by Alex Christensen.
1437
1438         The ResourceResponse::setSuggestedFilename method is no longer available.
1439
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):
1450
1451 2014-09-05  Benjamin Poulain  <benjamin@webkit.org>
1452
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
1455
1456         Reviewed by Antti Koivisto.
1457
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.
1461
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/
1466
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.
1469
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).
1474
1475         The existing definition of :read-write was matching the spec so I could reuse that.
1476
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
1479         in a follow up.
1480
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
1487
1488         * css/SelectorCheckerTestFunctions.h:
1489         (WebCore::matchesReadOnlyPseudoClass):
1490         * dom/Element.cpp:
1491         (WebCore::Element::matchesReadOnlyPseudoClass): Deleted.
1492         * dom/Element.h:
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):
1507
1508 2014-09-05  Andreas Kling  <akling@apple.com>
1509
1510         CTTE: SVGResourcesCache should only allow RenderElements.
1511         <https://webkit.org/b/136578>
1512
1513         Only RenderElement subclasses can use SVG resources.
1514         Codify this by making SVGResourcesCache::m_cache keyed on RenderElement.
1515
1516         Reviewed by Antti Koivisto.
1517
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):
1550
1551 2014-09-05  Simon Fraser  <simon.fraser@apple.com>
1552
1553         IDB version changed events should have a valid eventType()
1554         https://bugs.webkit.org/show_bug.cgi?id=136583
1555
1556         Reviewed by Brady Eidson.
1557
1558         IDBDatabase::dispatchEvent() asserts that the event type is versionchangeEvent,
1559         but the version changed event created with an empty event type. Correct this.
1560
1561         * Modules/indexeddb/IDBDatabase.cpp:
1562         (WebCore::IDBDatabase::onVersionChange):
1563
1564 2014-09-05  Simon Fraser  <simon.fraser@apple.com>
1565
1566         Remove some PLATFORM(IOS) code in Color.h/cpp
1567         https://bugs.webkit.org/show_bug.cgi?id=136582
1568
1569         Reviewed by Dan Bates.
1570
1571         Remove Color::tap which is unused, and remove createCGColorWithDeviceWhite()
1572         which was only called in one file in WebKit.
1573
1574         * WebCore.exp.in:
1575         * platform/graphics/Color.h:
1576         * platform/graphics/cg/ColorCG.cpp:
1577         (WebCore::createCGColorWithDeviceWhite): Deleted.
1578
1579 2014-09-05  Beth Dakin  <bdakin@apple.com>
1580
1581         ScrollablArea::handleWheelEvent() should return early if the ScrollableArea is not 
1582         actually scrollable
1583         https://bugs.webkit.org/show_bug.cgi?id=136558
1584
1585         Reviewed by Simon Fraser.
1586
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.
1595
1596         New ScrollableArea virtual function.
1597         * page/FrameView.cpp:
1598         (WebCore::FrameView::isScrollableOrRubberbandable):
1599         * page/FrameView.h:
1600
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):
1604
1605         New ScrollableArea virtual function.
1606         * platform/ScrollableArea.h:
1607         * platform/win/PopupMenuWin.h:
1608
1609         Re-name.
1610         * rendering/RenderBox.cpp:
1611         (WebCore::RenderBox::isScrollableOrRubberbandableBox):
1612         (WebCore::RenderBox::isScrollableOrRubberbandable): Deleted.
1613         * rendering/RenderBox.h:
1614
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:
1620
1621         Re-name.
1622         * rendering/RenderLayerModelObject.h:
1623         (WebCore::RenderLayerModelObject::isScrollableOrRubberbandableBox):
1624         (WebCore::RenderLayerModelObject::isScrollableOrRubberbandable): Deleted.
1625
1626         Implement ScrollableArea virtual function.
1627         * rendering/RenderListBox.cpp:
1628         (WebCore::RenderListBox::isScrollableOrRubberbandable):
1629         * rendering/RenderListBox.h:
1630
1631         Re-name.
1632         * rendering/RenderView.cpp:
1633         (WebCore::RenderView::isScrollableOrRubberbandableBox):
1634         (WebCore::RenderView::isScrollableOrRubberbandable): Deleted.
1635         * rendering/RenderView.h:
1636
1637 2014-06-06  Jer Noble  <jer.noble@apple.com>
1638
1639         Refactoring: make MediaTime the primary time type for audiovisual times.
1640         https://bugs.webkit.org/show_bug.cgi?id=133579
1641
1642         Reviewed by Eric Carlson.
1643
1644         In order to limit the number of floating-point rounding errors for media systems which
1645         can make use of rational time objects.
1646
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):
1652
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.
1658
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):
1928
1929 2014-09-05  Antti Koivisto  <antti@apple.com>
1930
1931         REGRESSION(r173272): Two blob tests failing on WK1
1932         https://bugs.webkit.org/show_bug.cgi?id=136573
1933
1934         Reviewed by Alexey Proskuryakov.
1935
1936         http/tests/fileapi/blob-url-in-subframe.html
1937         http/tests/security/mixedContent/blob-url-in-iframe.html
1938
1939         * platform/network/BlobResourceHandle.cpp:
1940         (WebCore::BlobResourceHandle::notifyResponseOnSuccess):
1941
1942             No need to set this twice.
1943
1944         * platform/network/mac/ResourceResponseMac.mm:
1945         (WebCore::ResourceResponse::initNSURLResponse):
1946
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.
1949
1950 2014-09-05  Zalan Bujtas  <zalan@apple.com>
1951
1952         Move computeInlinePreferredLogicalWidths() from RenderBlock to RenderBlockFlow
1953         https://bugs.webkit.org/show_bug.cgi?id=136461
1954
1955         Reviewed by Darin Adler.
1956
1957         This patch enables us to go from const_cast<RenderBlockFlow*>(this)->computeInlinePreferredLogicalWidths()
1958         to computeInlinePreferredLogicalWidths().
1959
1960         Covered by existing tests.
1961
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:
1982
1983 2014-09-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1984
1985         Unreviewed, build fix for EFL and GTK ports since r173272.
1986
1987         * platform/network/soup/ResourceResponseSoup.cpp:
1988         (WebCore::ResourceResponse::updateFromSoupMessageHeaders):
1989
1990 2014-09-04  Pratik Solanki  <psolanki@apple.com>
1991
1992         Unreviewed. Speculative build fix. Add platformSuggestedFilename() to all the ResourceResponse header files.
1993
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):
1999
2000 2014-09-04  Pratik Solanki  <psolanki@apple.com>
2001
2002         Unreviewed. Another speculative build fix after r173272. Add a stub implementation for
2003         ResourceResponse::platformSuggestedFilename(). Filed bug 136562 for proper fix.
2004
2005         * platform/network/soup/ResourceResponseSoup.cpp:
2006         (ResourceResponse::platformSuggestedFilename):
2007
2008 2014-09-04  Pratik Solanki  <psolanki@apple.com>
2009
2010         Unreviewed. Speculative EFL and GTK build fix after r173272. Remove the filename argument
2011         from the various ResourceResponse constructors.
2012
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):
2019
2020 2014-09-04  Simon Fraser  <simon.fraser@apple.com>
2021
2022         border-radius should not force layer backing store
2023         https://bugs.webkit.org/show_bug.cgi?id=136555
2024
2025         Reviewed by Dean Jackson.
2026         
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.
2029         
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.
2032
2033         Test: compositing/backing/border-radius-no-backing.html
2034
2035         * rendering/RenderLayer.cpp:
2036         (WebCore::RenderLayer::calculateClipRects):
2037
2038 2014-09-04  Simon Fraser  <simon.fraser@apple.com>
2039
2040         CSS filter on a compositing layer should not cause unncessary backing store allocation
2041         https://bugs.webkit.org/show_bug.cgi?id=136557
2042
2043         Reviewed by Dean Jackson.
2044         
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.
2047
2048         Test: compositing/backing/filter-no-backing.html
2049
2050         * rendering/RenderLayer.cpp:
2051         (WebCore::RenderLayer::calculateClipRects):
2052
2053 2014-09-04  Simon Fraser  <simon.fraser@apple.com>
2054
2055         Improve the logic for compositing backing store avoidance
2056         https://bugs.webkit.org/show_bug.cgi?id=136556
2057
2058         Reviewed by Dean Jackson.
2059         
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.
2062         
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.
2069
2070         Tests: compositing/backing/inline-block-no-backing.html
2071                compositing/backing/whitespace-nodes-no-backing.html
2072
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.
2084
2085 2014-09-04  Daniel Bates  <dabates@apple.com>
2086
2087         [iOS] Fix the iOS build after <http://trac.webkit.org/changeset/173258>
2088         (https://bugs.webkit.org/show_bug.cgi?id=136494)
2089
2090         Use ENABLE_TOUCH_EVENT instead of ENABLE(TOUCH_EVENT) as the latter isn't available
2091         to some clients of this private header.
2092
2093         * platform/ios/wak/WAKResponder.h:
2094
2095 2014-09-04  Roger Fong  <roger_fong@apple.com>
2096
2097         Increase number of maximum active WebGL contexts.
2098         https://bugs.webkit.org/show_bug.cgi?id=136551.
2099         <rdar://problem/18236425>
2100
2101         Reviewed by Brent Fulgham.
2102
2103         Test covered by Khronos conformance test:
2104         webgl/1.0.2/conformance/context/context-creation-and-destruction.html
2105
2106         * platform/graphics/mac/GraphicsContext3DMac.mm:
2107
2108 2014-09-04  Roger Fong  <roger_fong@apple.com>
2109
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>
2113
2114         Reviewed by Simon Fraser.
2115
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.
2120
2121 2014-09-04  Enrica Casucci  <enrica@apple.com>
2122
2123         Remove PLATFORM(IOS) from WebCore/editing (Part 2).
2124         https://bugs.webkit.org/show_bug.cgi?id=136474
2125
2126         Reviewed by Tim Horton.
2127
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
2130         to OpenSource.
2131
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.
2143
2144 2014-09-03  Andy Estes  <aestes@apple.com>
2145
2146         [Cocoa] Some WebKitLegacy headers migrated from WebCore incorrectly contain WEBCORE_EXPORT
2147         https://bugs.webkit.org/show_bug.cgi?id=136521
2148
2149         Reviewed by Anders Carlsson.
2150
2151         * platform/ios/wak/WebCoreThread.h: Stopped defining WEBCORE_EXPORT.
2152
2153 2014-09-03  David Hyatt  <hyatt@apple.com>
2154
2155         Initial letters should clear one another.
2156         https://bugs.webkit.org/show_bug.cgi?id=136514
2157
2158         Reviewed by Simon Fraser.
2159
2160         Added fast/css-generated-content/initial-letter-clearance.html.
2161
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.
2166
2167         (WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom):
2168         * rendering/RenderBlockFlow.h:
2169         A new method for determining the lowest floating initial letter.
2170
2171 2014-09-04  Joseph Pecoraro  <pecoraro@apple.com>
2172
2173         Use WTFString::find(char) in more places
2174         https://bugs.webkit.org/show_bug.cgi?id=136541
2175
2176         Reviewed by Daniel Bates.
2177
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):
2188
2189 2014-09-04  Antti Koivisto  <antti@apple.com>
2190
2191         Try to fix iOS build.
2192
2193         * loader/FrameLoader.cpp:
2194         (WebCore::FrameLoader::initForSynthesizedDocument):
2195
2196 2014-09-04  Maciej Stachowiak  <mjs@apple.com>
2197
2198         Remove WebCoreSystemInterface glue for otherwise unused WKSI calls
2199         https://bugs.webkit.org/show_bug.cgi?id=136527
2200
2201         Reviewed by Alexey Proskuryakov.
2202
2203         * WebCore.exp.in:
2204         * WebCore.order:
2205         * platform/ios/WebCoreSystemInterfaceIOS.mm:
2206         * platform/mac/WebCoreSystemInterface.h:
2207         * platform/mac/WebCoreSystemInterface.mm:
2208
2209 2014-09-04  Beth Dakin  <bdakin@apple.com>
2210
2211         REGRESSION (r172832): Poor 2-finger scrolling performance at theverge.com articles 
2212         (all tiles repaint)
2213         https://bugs.webkit.org/show_bug.cgi?id=136433
2214         -and corresponding-
2215         rdar://problem/18193942
2216
2217         Reviewed by Tim Horton.
2218
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):
2228
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 
2233         the scrollbars.
2234         (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
2235
2236 2014-09-04  Antti Koivisto  <antti@apple.com>
2237
2238         Remove ResourceResponse::m_suggestedFilename
2239         https://bugs.webkit.org/show_bug.cgi?id=136534
2240
2241         Reviewed by Alexey Proskuryakov.
2242
2243         This will simplify things.
2244
2245         * WebCore.exp.in:
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):
2275
2276             Remove AllFields initialization. It was only used to get m_suggestedFilename.
2277             Rename CommonAndUncommonFields to AllFields
2278
2279         (WebCore::ResourceResponseBase::setSuggestedFilename): Deleted.
2280
2281             No more setter.
2282
2283         * platform/network/ResourceResponseBase.h:
2284         (WebCore::ResourceResponseBase::platformSuggestedFileName):
2285
2286             Get the suggested filename from the platform class on-demand.
2287
2288         * platform/network/cf/ResourceResponse.h:
2289         (WebCore::ResourceResponse::ResourceResponse):
2290
2291             Remove never-used file name constructor parameter.
2292
2293         * platform/network/cf/ResourceResponseCFNet.cpp:
2294         (WebCore::ResourceResponse::platformLazyInit):
2295         * platform/network/mac/ResourceResponseMac.mm:
2296         (WebCore::ResourceResponse::initNSURLResponse):
2297
2298             Synthesize HTTP response properly so it can hold Content-Disposition for file name (and other headers).
2299
2300         (WebCore::ResourceResponse::platformLazyInit):
2301
2302             Don't pull the suggested filename anymore.
2303
2304         (WebCore::ResourceResponse::platformSuggestedFilename):
2305
2306             Get the suggested name from the (possibly synthetic) NSURLRequest.
2307
2308 2014-09-04  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
2309
2310         Remove CSS_FILTERS flag
2311         https://bugs.webkit.org/show_bug.cgi?id=136529
2312
2313         Reviewed by Dirk Schulze.
2314
2315         No new tests, no behaviour changed.
2316
2317         * Configurations/FeatureDefines.xcconfig:
2318         * DerivedSources.cpp:
2319         * WebCore.exp.in:
2320         * bindings/js/JSCSSValueCustom.cpp:
2321         (WebCore::toJS):
2322         * bindings/objc/DOMCSS.mm:
2323         (kitClass):
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):
2343         * css/CSSParser.h:
2344         * css/CSSPropertyNames.in:
2345         * css/CSSValue.cpp:
2346         (WebCore::CSSValue::hasFailedOrCanceledSubresources):
2347         (WebCore::CSSValue::equals):
2348         (WebCore::CSSValue::cssText):
2349         (WebCore::CSSValue::destroy):
2350         (WebCore::CSSValue::cloneForCSSOM):
2351         * css/CSSValue.h:
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):
2512
2513 2014-09-04  Pratik Solanki  <psolanki@apple.com>
2514
2515         Remove iOS specific disk image cache
2516         https://bugs.webkit.org/show_bug.cgi?id=136517
2517
2518         Reviewed by Antti Koivisto.
2519
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.
2522
2523         * WebCore.exp.in:
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.
2571
2572 2014-09-04  Brian J. Burg  <burg@cs.washington.edu>
2573
2574         LegacyProfiler: ProfileNodes should be used more like structs
2575         https://bugs.webkit.org/show_bug.cgi?id=136381
2576
2577         Reviewed by Timothy Hatcher.
2578
2579         * inspector/ScriptProfileNode.idl: Remove an unused property.
2580
2581 2014-09-04  Renato Nagy  <rnagy@inf.u-szeged.hu>
2582
2583         Remove Qt cruft: MIMESniffing.cpp and MIMESniffing.h
2584         https://bugs.webkit.org/show_bug.cgi?id=136528
2585
2586         Reviewed by Alexey Proskuryakov.
2587
2588         * platform/network/MIMESniffing.cpp: Removed.
2589         * platform/network/MIMESniffing.h: Removed.
2590
2591 2014-09-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2592
2593         Introduce CSS_BASIC_SHAPES_TYPE_CASTS, and use it
2594         https://bugs.webkit.org/show_bug.cgi?id=136403
2595
2596         Reviewed by Daniel Bates.
2597
2598         toCSSBasicShapeFoo() will help to detect wrong type casting. So this patch generates it, and use it
2599         instead of static_cast<const CSSBasicShapeFoo*>().
2600
2601         No new tests no behavior changes.
2602
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:
2611
2612 2014-09-04  Daniel Bates  <dabates@apple.com>
2613
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
2616
2617         Reviewed by Andy Estes.
2618
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.
2635
2636 2014-09-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2637
2638         REGRESSION(r173240) [GTK] Debug build broken.
2639
2640         Unreviewed build fix after r173240.
2641
2642         * dom/EventListenerMap.h: Add missing include.
2643
2644 2014-09-04  Dan Bernstein  <mitz@apple.com>
2645
2646         Get rid of HIGH_DPI_CANVAS leftovers
2647         https://bugs.webkit.org/show_bug.cgi?id=136491
2648
2649         Reviewed by Benjamin Poulain.
2650
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
2656         factor.
2657         (WebCore::HTMLCanvasElement::convertDeviceToLogical): Ditto.
2658         (WebCore::HTMLCanvasElement::createImageBuffer): Replaced m_deviceScaleFactor with a literal
2659         1.
2660         (WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Deleted.
2661         * html/HTMLCanvasElement.h: Removed m_deviceScaleFactor member variable and its getter.
2662
2663         * html/canvas/CanvasRenderingContext2D.cpp:
2664         (WebCore::CanvasRenderingContext2D::putImageData): Removed scaling by the device scale
2665         factor.
2666         * html/canvas/CanvasRenderingContext2D.h:
2667         (WebCore::CanvasRenderingContext2D::webkitBackingStorePixelRatio): Changed to return 1.
2668
2669         * html/canvas/WebGLRenderingContext.cpp:
2670         (WebCore::WebGLRenderingContext::texImage2D): Replaced deviceScaleFactor() with 1.
2671         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
2672
2673 2014-09-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2674
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
2677
2678         Reviewed by Darin Adler.
2679
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)
2682
2683         Test: http/tests/xmlhttprequest/post-content-type-document.html
2684
2685         * xml/XMLHttpRequest.cpp:
2686         (WebCore::XMLHttpRequest::send): updating default Content-Type valuess.
2687
2688 2014-09-02  Brian J. Burg  <burg@cs.washington.edu>
2689
2690         Web Inspector: fix prefixes for subclasses of JSC::ConsoleClient
2691         https://bugs.webkit.org/show_bug.cgi?id=136476
2692
2693         Reviewed by Timothy Hatcher.
2694
2695         No new tests. No behavior changed.
2696
2697         * CMakeLists.txt:
2698         * WebCore.exp.in:
2699         * WebCore.order:
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):
2712         * dom/Document.cpp:
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.
2728         * page/DOMWindow.h:
2729         * page/Page.cpp:
2730         (WebCore::Page::Page):
2731         * page/Page.h:
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):
2742
2743 2014-09-03  Maciej Stachowiak  <mjs@apple.com>
2744
2745         Fix a few leftovers from removing MIME-related WKSI usage
2746         https://bugs.webkit.org/show_bug.cgi?id=136513
2747
2748         Reviewed by Alexey Proskuryakov.
2749
2750         * WebCore.exp.in:
2751         * WebCore.order:
2752         * platform/ios/WebCoreSystemInterfaceIOS.mm:
2753         * platform/mac/WebCoreSystemInterface.mm:
2754
2755 2014-09-03  Myles C. Maxfield  <mmaxfield@apple.com>
2756
2757         Text caret changes to color of text in Mail and Notes
2758         https://bugs.webkit.org/show_bug.cgi?id=135904
2759
2760         Reviewed by Simon Fraser.
2761
2762         Consult with the background color of spans inside editable divs to determine what color
2763         the caret should be.
2764
2765         Test: editing/caret/color-span-inside-editable.html
2766
2767         * editing/FrameSelection.cpp:
2768         (WebCore::CaretBase::paintCaret):
2769
2770 2014-09-03  Tim Horton  <timothy_horton@apple.com>
2771
2772         Fix the iOS build after r173230
2773
2774         * WebCore.exp.in:
2775
2776 2014-09-03  Myles C. Maxfield  <mmaxfield@apple.com>
2777
2778         Remove unnecessary function from TextPainter
2779         https://bugs.webkit.org/show_bug.cgi?id=136497
2780
2781         Reviewed by Simon Fraser.
2782
2783         Function is never called.
2784
2785         No new tests because there is no behavior change.
2786
2787         * rendering/TextPainter.cpp:
2788         (WebCore::TextPainter::paintTextInContext): Deleted.
2789         * rendering/TextPainter.h:
2790
2791 2014-09-03  Anders Carlsson  <andersca@apple.com>
2792
2793         Don't use DEPRECATED_DEFINE_STATIC_LOCAL for mutexes
2794         https://bugs.webkit.org/show_bug.cgi?id=136510
2795
2796         Reviewed by Andreas Kling.
2797
2798         Mutexes are intended to be used from multiple threads, and DEPRECATED_DEFINE_STATIC_LOCAL is not thread safe.
2799
2800         * bindings/objc/DOMInternal.mm:
2801         (wrapperCacheLock):
2802         (getDOMWrapper):
2803         (addDOMWrapper):
2804         (removeDOMWrapper):
2805         Use LazyNeverDestroyed + std::call_once, and switch the mutex over to an std::mutex.
2806
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.
2815
2816 2014-09-03  Enrica Casucci  <enrica@apple.com>
2817
2818         Remove PLATFORM(IOS) from WebCore/editing (Part 1).
2819         https://bugs.webkit.org/show_bug.cgi?id=136474
2820
2821         Reviewed by Tim Horton.
2822
2823         This is the first part of the work to remove PLATFORM(IOS) everywhere
2824         in the editing code.
2825
2826         * dom/Range.cpp:
2827         (WebCore::Range::create): Adding create function that takes VisiblePosition.
2828         * dom/Range.h:
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
2834         DELETION_UI
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):
2843         * editing/Editor.h:
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:
2868
2869 2014-09-03  Anders Carlsson  <andersca@apple.com>
2870
2871         Get rid of some uses of OwnPtr
2872         https://bugs.webkit.org/show_bug.cgi?id=136503
2873
2874         Reviewed by Sam Weinig.
2875
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:
2882         * dom/Node.cpp:
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):
2892         * dom/Node.h:
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.
2902
2903 2014-09-02  Maciej Stachowiak  <mjs@apple.com>
2904
2905         Clean up naming for and slightly refactor legacy video fullscreen support
2906         https://bugs.webkit.org/show_bug.cgi?id=136446
2907
2908         Reviewed by Jer Noble.
2909
2910         Key changes:
2911         supportsFullscreenForNode(Node*) --> supportsVideoFullscreen()
2912         enterFullscreenForNode(Node*) --> enterVideoFullscreenForVideoElement(HTMLVideoElement*)
2913         exitFullscreenForNode(Node*) --> exitVideoFullscreen()
2914         
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
2919         work for such.
2920
2921         The implications of this include a bunch of renaming in some iOS fullscreen code.
2922
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 
2937         refactorings.
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
2954         elements.
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
2992         rename.
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.
2999
3000 2014-09-03  Benjamin Poulain  <benjamin@webkit.org>
3001
3002         Fix style invalidation of elements with multiple siblings dependencies
3003         https://bugs.webkit.org/show_bug.cgi?id=136472
3004
3005         Reviewed by Andreas Kling.
3006
3007         Previously, style invalidation of siblings was driven by a pair of flags:
3008         -ChildrenAffectedByDirectAdjacentRules.
3009         -ChildrenAffectedByForwardPositionalRules.
3010
3011         When ChildrenAffectedByDirectAdjacentRules was set, the element after an element
3012         with "needsStyleRecalc" was also recomputed. While this work for pair of elements:
3013             a + b
3014         It does not work for more than that. For example, with
3015             a.propery + b + c
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.
3018
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".
3022
3023  
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.
3028
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
3031         recalculation.
3032
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.
3037
3038         With the notation "<-" for (1), "->" for (2), the selector "a + b + c" create this kind
3039         of marking:
3040             a  +  b  +  c
3041             ->    ->
3042                        <-
3043
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>.
3046
3047         Overlaps are possible. For example with the two selector, "a + b + c", "b ~ d"
3048         the marking would be
3049             a  +  b  +  c  +  d
3050             ->    ->    ->
3051                        <-    <-
3052
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.
3055
3056
3057         As usual, the CSS JIT makes an effort at compile time to reduce tree marking. SelectorChecker
3058         marks everything as usual.
3059
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
3070
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 + * + * + *
3078
3079         Everything prior to the element with the counter affects the style of the element.
3080
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.
3084
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().
3091
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.
3094
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.
3104         * dom/Document.cpp:
3105         (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
3106         * dom/Element.cpp:
3107         (WebCore::checkForSiblingStyleChanges):
3108         (WebCore::Element::hasFlagsSetDuringStylingOfChildren):
3109         (WebCore::Element::setChildrenAffectedByForwardPositionalRules): Deleted.
3110         (WebCore::Element::rareDataChildrenAffectedByForwardPositionalRules): Deleted.
3111         * dom/Element.h:
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.
3125         * dom/Node.h:
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):
3136
3137 2014-09-03  Simon Fraser  <simon.fraser@apple.com>
3138
3139         Dump SimpleLineLayout info in showRenderTree() output
3140         https://bugs.webkit.org/show_bug.cgi?id=136489
3141
3142         Reviewed by Zalan Bujtas.
3143         
3144         Include info about SimpleLineLayout to showRenderTree() output.
3145         
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).
3148
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:
3157
3158 2014-09-03  Tim Horton  <timothy_horton@apple.com>
3159
3160         iOS build fix after r173217 
3161
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.
3167
3168 2014-09-03  Anders Carlsson  <andersca@apple.com>
3169
3170         Get rid of DOMImplementationFront
3171         https://bugs.webkit.org/show_bug.cgi?id=136495
3172
3173         Reviewed by Andreas Kling.
3174
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.
3177
3178         * WebCore.xcodeproj/project.pbxproj:
3179         * bindings/objc/DOMImplementationFront.cpp: Removed.
3180         * bindings/objc/DOMImplementationFront.h: Removed.
3181         Remove files.
3182
3183         * bindings/objc/DOMUtility.mm:
3184         (JSC::createDOMWrapper):
3185         Remove call to implementationFront.
3186
3187         * bindings/scripts/CodeGeneratorObjC.pm:
3188         (GetImplClassName):
3189         Remove DOMImplementation special case
3190
3191         (AddIncludesForType):
3192         Ditto.
3193
3194         (GenerateHeader):
3195         Use the class header name in the #import in the internal header.
3196
3197         (GenerateImplementation):
3198         Remove DOMImplementation special case.
3199
3200 2014-09-03  Brent Fulgham  <bfulgham@apple.com>
3201
3202         [Win] Improper release of unretained AVCFAssetResourceLoaderRef
3203         https://bugs.webkit.org/show_bug.cgi?id=136493
3204         <rdar://problem/18112559>
3205
3206         Reviewed by Eric Carlson.
3207
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.
3211
3212         Use of the RetainPtr created a double-release and crash.
3213
3214         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3215         (WebCore::AVFWrapper::createAssetForURL): 
3216
3217 2014-09-03  David Hyatt  <hyatt@apple.com>
3218
3219         Add support for the initial-letter CSS property to first-letter
3220         https://bugs.webkit.org/show_bug.cgi?id=136484
3221
3222         Reviewed by Dean Jackson.
3223         
3224         New tests in fast/css-generated-content/initial-letter-*.html
3225
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
3229         of the last line.
3230
3231         * css/CSSComputedStyleDeclaration.cpp:
3232         (WebCore::ComputedStyleExtractor::propertyValue):
3233         Add -webkit-initial-letter to the list.
3234
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
3240         baseline.
3241
3242         * css/CSSParser.cpp:
3243         (WebCore::CSSParser::parseValue):
3244         Add support for parsing of initial-letter.
3245
3246         (WebCore::CSSParser::parseLineBoxContain):
3247         Add the new line-box-contain value for first-letters with initial-letter set.
3248
3249         * css/CSSPropertyNames.in:
3250         Add the new initial-letter property.
3251
3252         * css/CSSValueKeywords.in:
3253         Add the new initial-letter line-box-contain value.
3254
3255         * css/StyleResolver.cpp:
3256         (WebCore::StyleResolver::applyProperty):
3257         Map initial-letter into the RenderStyle.
3258
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
3271         degradation.
3272
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).
3277
3278         * rendering/RenderBlockFlow.cpp:
3279         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
3280         Code to adjust the float's position and margin to do cap-height alignment
3281         and sunken letters.
3282
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.
3286
3287         * rendering/RootInlineBox.cpp:
3288         (WebCore::RootInlineBox::ascentAndDescentForBox):
3289         Add support for initial-letter line-box-contain value.
3290
3291         * rendering/RootInlineBox.h:
3292         Add the includeInitialLetterForBox method to support the new line-box-contain value.
3293
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.)
3303
3304 2014-09-03  Brent Fulgham  <bfulgham@apple.com>
3305
3306         [Win] Prevent double-release on AVCFURLAssetRef
3307         https://bugs.webkit.org/show_bug.cgi?id=136492
3308         <rdar://problem/18206746>
3309
3310         Reviewed by Eric Carlson.
3311
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
3315         semantics.
3316
3317         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3318         (WebCore::AVFWrapper::setAsset): Retain the passed argument.
3319
3320 2014-09-03  Dan Bernstein  <mitz@apple.com>
3321
3322         Get rid of HIGH_DPI_CANVAS leftovers
3323         https://bugs.webkit.org/show_bug.cgi?id=136491
3324
3325         Reviewed by Benjamin Poulain.
3326
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)
3331         code.
3332
3333 2014-09-03  Joseph Pecoraro  <pecoraro@apple.com>
3334
3335         Use StringBuilder append(char) and appendLiteral in more places
3336         https://bugs.webkit.org/show_bug.cgi?id=136470
3337
3338         Reviewed by Andreas Kling.
3339
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):
3407
3408 2014-09-03  Bear Travis  <betravis@adobe.com>
3409
3410         [CSS Font Loading] Enable Page Caching
3411         https://bugs.webkit.org/show_bug.cgi?id=136044
3412
3413         Reviewed by Andreas Kling.
3414
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.
3420
3421         Added fast/css/fontloader-page-cache.html
3422
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
3435         loading.
3436         (WebCore::FontLoader::fontLoaded): Ditto.
3437         (WebCore::FontLoader::loadError): Ditto.
3438         (WebCore::FontLoader::loadFont):
3439         * css/FontLoader.h:
3440         (WebCore::FontLoader::loading):