4cd14cbc2ddf1f57cde06506c4c69ed79556b05f
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-09-06  Ryuan Choi  <ryuan.choi@gmail.com>
2
3         [EFL] Drop evas object cursor support
4         https://bugs.webkit.org/show_bug.cgi?id=136324
5
6         Reviewed by Gyuyoung Kim.
7
8         Removed evas object cursor because there are some bugs.
9         ewebkit will only support ecore_x_cursor because ewebkit is available with X, now.
10
11         * platform/efl/DefaultTheme/CMakeLists.txt: Removed cursor related code.
12         * platform/efl/DefaultTheme/default.edc: Ditto.
13         * platform/efl/DefaultTheme/widget/cursor/cursor.edc: Removed.
14         * platform/efl/EflScreenUtilities.cpp:
15         (WebCore::getEcoreCursor):
16         (WebCore::applyCursorFromEcoreX): Renamed applyFallbackCursor.
17         (WebCore::createCustomCursor): Added to make custom cursor.
18         (WebCore::applyFallbackCursor): Deleted.
19         * platform/efl/EflScreenUtilities.h:
20
21 2014-09-05  Commit Queue  <commit-queue@webkit.org>
22
23         Unreviewed, rolling out r173340 and r173342.
24         https://bugs.webkit.org/show_bug.cgi?id=136596
25
26         Broke many tests (Requested by ap on #webkit).
27
28         Reverted changesets:
29
30         "Remove PLATFORM(IOS) from WebCore/editing (Part 3)."
31         https://bugs.webkit.org/show_bug.cgi?id=136474
32         http://trac.webkit.org/changeset/173340
33
34         "Build fix after r173340."
35         http://trac.webkit.org/changeset/173342
36
37 2014-09-05  Joseph Pecoraro  <pecoraro@apple.com>
38
39         Use WTFString::split(char) in more places
40         https://bugs.webkit.org/show_bug.cgi?id=136543
41
42         Reviewed by Sam Weinig.
43
44         * inspector/InspectorDOMAgent.cpp:
45         (WebCore::InspectorDOMAgent::nodeForPath):
46         * mathml/MathMLMencloseElement.cpp:
47         (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
48         * page/PerformanceResourceTiming.cpp:
49         (WebCore::passesTimingAllowCheck):
50         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
51         (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
52         * platform/graphics/opengl/GLPlatformContext.cpp:
53         (WebCore::parseExtensions):
54         * platform/gtk/PasteboardHelper.cpp:
55         (WebCore::PasteboardHelper::fillDataObjectFromDropData):
56         * platform/network/curl/CurlCacheEntry.cpp:
57         (WebCore::CurlCacheEntry::loadResponseHeaders):
58         * platform/network/curl/CurlCacheManager.cpp:
59         (WebCore::CurlCacheManager::loadIndex):
60
61 2014-09-05  Myles C. Maxfield  <mmaxfield@apple.com>
62
63         Laying out a TextRun using an SVG font is O(n^2)
64         https://bugs.webkit.org/show_bug.cgi?id=136584
65
66         Reviewed by Andreas Kling.
67
68         Caching the version of the run with normalized spaces leads to a 5x speedup on the
69         performance test this patch adds.
70
71         Note that SVGFontData::applySVGGlyphSelection() is still unnecesarrily O(n), so more
72         work can be done here. In particular, the call to collectGlyphsForString() can likely
73         be sped up.
74
75         No new correctness tests because there is no behavior change.
76         Performance Test: SVG/SVG-Text.html
77
78         * platform/graphics/Font.h:
79         (WebCore::Font::treatAsSpace): Make inline.
80         (WebCore::Font::treatAsZeroWidthSpace): Ditto.
81         (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Ditto.
82         * platform/graphics/SimpleFontData.h: Add String cache argument.
83         * platform/graphics/TextRun.h: Move member variables around for better packing.
84         (WebCore::TextRun::TextRun): Ditto.
85         * platform/graphics/WidthIterator.cpp: Add String cache argument.
86         (WebCore::WidthIterator::glyphDataForCharacter): Ditto.
87         (WebCore::WidthIterator::advanceInternal): Create String cache and pass it to
88         glyphDataForCharacter.
89         * platform/graphics/WidthIterator.h: Add String cache argument.
90         * rendering/svg/SVGTextRunRenderingContext.cpp: Ditto.
91         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Ditto.
92         * rendering/svg/SVGTextRunRenderingContext.h: Ditto.
93         * svg/SVGFontData.cpp:
94         (WebCore::SVGFontData::applySVGGlyphSelection): Call computeNormalizedSpaces
95         to consult with the cache.
96         (WebCore::computeNormalizedSpaces): Compute cached String value.
97         * svg/SVGFontData.h: Add String cache argument.
98
99 2014-09-05  David Kilzer  <ddkilzer@apple.com>
100
101         REGRESSION (r169407): Calls to RenderStyle::getRoundedBorderFor() in computeRoundedRectForBoxShape() still include RenderView pointer
102         <http://webkit.org/b/136591>
103         <rdar://problem/18143731>
104
105         Reviewed by Simon Fraser.
106
107         In r169407, the RenderView* argument was removed from
108         RenderStyle::getRoundedBorderFor().  This argument was not
109         removed from these calls in computeRoundedRectForBoxShape(), but
110         because getRoundedBorderFor() always returned a reference, and
111         because the default for the next argument was true, there was no
112         actual change in behavior from this bug.
113
114         No new tests since there is no change in behavior.
115
116         * rendering/shapes/BoxShape.cpp:
117         (WebCore::computeRoundedRectForBoxShape): Remove RenderView*
118         arguments from calls to getRoundedBorderFor().
119
120 2014-09-05  Tim Horton  <timothy_horton@apple.com>
121
122         [iOS] Work around bug 136593 by disabling the PDFDocumentImage live resize optimization there
123         https://bugs.webkit.org/show_bug.cgi?id=136594
124         rdar://problem/17457013
125
126         Reviewed by Simon Fraser.
127
128         * platform/graphics/cg/PDFDocumentImage.cpp:
129         (WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
130         Disable the optimization on iOS, because bug 136593 rears its head
131         most often on iOS because it is more common to have contexts that always
132         use low-quality image interpolation on that platform.
133
134 2014-09-05  Tim Horton  <timothy_horton@apple.com>
135
136         Doing a navigation on a non-opaque WKWebView can result in an empty layer tree
137         https://bugs.webkit.org/show_bug.cgi?id=136590
138         <rdar://problem/18234000>
139
140         Reviewed by Simon Fraser.
141
142         * page/FrameView.cpp:
143         (WebCore::FrameView::setTransparent):
144         Avoid scheduling a compositing layer update if the RenderView isn't the
145         one associated with this FrameView. This can happen during a navigation,
146         before the new Document (and RenderView) is swapped in. This is particularly
147         bad in the case of setTransparent because it is called from Frame::createView,
148         which is right in the middle of that transition window. If we let the compositing
149         layer update go ahead, it can end up detaching the new Document's layer tree,
150         and we have no mechanism that would cause it to reattach.
151
152 2014-09-05  Enrica Casucci  <enrica@apple.com>
153
154         Remove PLATFORM(IOS) from WebCore/editing (Part 3).
155         https://bugs.webkit.org/show_bug.cgi?id=136474
156
157         Reviewed by Benjamin Poulain.
158
159         This patch removes the use of PLATFORM(IOS) from TextAffinity.h
160         and removes the assumption that EAffinity values match NSSelectionAffinity
161         values. It also removes the includes in TextAffinity.h, creating the need to
162         include explicitly the files when necessary. It also removes the unnecessary
163         use of platform specific types, replacing them with WebCore types.
164
165         * editing/TextAffinity.h:
166         (kit): Deleted.
167         (core): Deleted.
168         * editing/cocoa/HTMLConverter.mm:
169         * page/mac/WebCoreFrameView.h:
170         * platform/ios/ScrollViewIOS.mm:
171         (WebCore::ScrollView::platformSetScrollPosition):
172         (WebCore::ScrollView::platformSetScrollOrigin):
173         * platform/ios/wak/WAKScrollView.mm:
174         (-[WAKScrollView setScrollOrigin:updatePositionAtAll:immediately:]):
175         (-[WAKScrollView scrollOrigin]):
176
177 2014-09-05  Jer Noble  <jer.noble@apple.com>
178
179         Unreviewed GTK build fix; include StringPrintStream to pull in toString().
180
181         * html/HTMLMediaElement.h:
182
183 2014-09-05  Brady Eidson  <beidson@apple.com>
184
185         Allow pages with unload handlers in the page cache
186         <rdar://problem/11084669> and https://bugs.webkit.org/show_bug.cgi?id=136535
187
188         Reviewed by Oliver Hunt.
189
190         This will match what iOS has been doing for some time.
191
192         Updated tests for new behavior.
193
194         * history/PageCache.cpp:
195         (WebCore::logCanCacheFrameDecision):
196         (WebCore::PageCache::canCachePageContainingThisFrame):
197
198 2014-09-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>
199
200         [SOUP] Implement ResourceResponse::platformSuggestedFilename() when USE(SOUP) is enabled.
201         https://bugs.webkit.org/show_bug.cgi?id=136562
202
203         Reviewed by Martin Robinson.
204
205         No new tests, this makes existing tests pass.
206
207         * platform/network/soup/ResourceResponseSoup.cpp:
208         (WebCore::ResourceResponse::platformSuggestedFilename):
209         Implement ResourceResponse::platformSuggestedFilename() for SOUP after r173272, r173301 and r173305.
210
211 2014-09-05  peavo@outlook.com  <peavo@outlook.com>
212
213         [Curl] Compile error.
214         https://bugs.webkit.org/show_bug.cgi?id=136574
215
216         Reviewed by Alex Christensen.
217
218         The ResourceResponse::setSuggestedFilename method is no longer available.
219
220         * platform/network/curl/CurlCacheEntry.cpp:
221         (WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
222         * platform/network/curl/CurlDownload.cpp:
223         (WebCore::CurlDownload::didReceiveHeader):
224         * platform/network/curl/MultipartHandle.cpp:
225         (WebCore::MultipartHandle::didReceiveResponse):
226         * platform/network/curl/ResourceHandleManager.cpp:
227         (WebCore::headerCallback):
228         * platform/network/curl/ResourceResponse.h:
229         (WebCore::ResourceResponse::platformSuggestedFilename):
230
231 2014-09-05  Benjamin Poulain  <benjamin@webkit.org>
232
233         Update the current matching of :read-only and :read-write to the latest spec
234         https://bugs.webkit.org/show_bug.cgi?id=136566
235
236         Reviewed by Antti Koivisto.
237
238         WebKit's implementation of :read-only and :read-write dated from 2008 and
239         it was based on the web form spec (http://www.w3.org/TR/web-forms-2/).
240         That spec is very dead now.
241
242         There are new definitions of :read-only and :read-write in three specs:
243         -the HTML living spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selector-read-only
244         -Selectors level 4: http://dev.w3.org/csswg/selectors4/#rw-pseudos
245         -CSS 3 UI: http://www.w3.org/TR/css3-ui/
246
247         All the definitions say about the same thing. The definitions of Selector Level 4 and
248         CSS 3 UI are very vague and poorly worded. I used the HTML when something was ambiguous.
249
250         In the new definitions, :read-only and :read-write are opposite. It is no longer possible to
251         match both selector simultaneously for the same element.
252         Consequently, I got rid of Element:matchesReadOnlyPseudoClass(). Matching :read-only is now equivalent
253         to :not(:read-write).
254
255         The existing definition of :read-write was matching the spec so I could reuse that.
256
257         There is one more part to the new spec that is not addressed here: the pseudo class :read-write should
258         now also match arbitrary editable HTMLElement (e.g. an element with contenteditable). This will be fixed
259         in a follow up.
260
261         Tests: fast/css/read-only-read-write-input-basics.html
262                fast/css/read-only-read-write-textarea-basics.html
263                fast/selectors/read-only-read-write-input-basics.html
264                fast/selectors/read-only-read-write-input-in-fieldset.html
265                fast/selectors/read-only-read-write-textarea-basics.html
266                fast/selectors/read-only-read-write-textarea-in-fieldset.html
267
268         * css/SelectorCheckerTestFunctions.h:
269         (WebCore::matchesReadOnlyPseudoClass):
270         * dom/Element.cpp:
271         (WebCore::Element::matchesReadOnlyPseudoClass): Deleted.
272         * dom/Element.h:
273         * html/HTMLInputElement.cpp:
274         (WebCore::HTMLInputElement::matchesReadOnlyPseudoClass): Deleted.
275         * html/HTMLInputElement.h:
276         * html/HTMLTextAreaElement.cpp:
277         (WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass): Deleted.
278         * html/HTMLTextAreaElement.h:
279         * html/shadow/SliderThumbElement.cpp:
280         (WebCore::SliderThumbElement::matchesReadOnlyPseudoClass): Deleted.
281         * html/shadow/SliderThumbElement.h:
282         * html/shadow/SpinButtonElement.cpp:
283         (WebCore::SpinButtonElement::matchesReadOnlyPseudoClass): Deleted.
284         * html/shadow/SpinButtonElement.h:
285         * rendering/RenderTheme.cpp:
286         (WebCore::RenderTheme::isReadOnlyControl):
287
288 2014-09-05  Andreas Kling  <akling@apple.com>
289
290         CTTE: SVGResourcesCache should only allow RenderElements.
291         <https://webkit.org/b/136578>
292
293         Only RenderElement subclasses can use SVG resources.
294         Codify this by making SVGResourcesCache::m_cache keyed on RenderElement.
295
296         Reviewed by Antti Koivisto.
297
298         * rendering/svg/RenderSVGContainer.cpp:
299         (WebCore::RenderSVGContainer::selfWillPaint):
300         * rendering/svg/RenderSVGImage.cpp:
301         (WebCore::RenderSVGImage::imageChanged):
302         * rendering/svg/RenderSVGResource.cpp:
303         (WebCore::requestPaintingResource):
304         (WebCore::removeFromCacheAndInvalidateDependencies):
305         * rendering/svg/RenderSVGResourceClipper.cpp:
306         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
307         * rendering/svg/RenderSVGRoot.cpp:
308         (WebCore::RenderSVGRoot::paintReplaced):
309         * rendering/svg/RenderSVGShape.cpp:
310         (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
311         (WebCore::RenderSVGShape::markerRect):
312         (WebCore::RenderSVGShape::drawMarkers):
313         * rendering/svg/SVGRenderSupport.cpp:
314         (WebCore::invalidateResourcesOfChildren):
315         (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
316         (WebCore::SVGRenderSupport::filtersForceContainerLayout):
317         (WebCore::SVGRenderSupport::pointInClippingArea):
318         * rendering/svg/SVGRenderingContext.cpp:
319         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
320         * rendering/svg/SVGResourcesCache.cpp:
321         (WebCore::resourcesCacheFromRenderer):
322         (WebCore::SVGResourcesCache::cachedResourcesForRenderer):
323         (WebCore::SVGResourcesCache::clientLayoutChanged):
324         (WebCore::SVGResourcesCache::clientDestroyed):
325         (WebCore::SVGResourcesCache::resourceDestroyed):
326         (WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Deleted.
327         * rendering/svg/SVGResourcesCache.h:
328         * rendering/svg/SVGResourcesCycleSolver.cpp:
329         (WebCore::SVGResourcesCycleSolver::resourceContainsCycles):
330
331 2014-09-05  Simon Fraser  <simon.fraser@apple.com>
332
333         IDB version changed events should have a valid eventType()
334         https://bugs.webkit.org/show_bug.cgi?id=136583
335
336         Reviewed by Brady Eidson.
337
338         IDBDatabase::dispatchEvent() asserts that the event type is versionchangeEvent,
339         but the version changed event created with an empty event type. Correct this.
340
341         * Modules/indexeddb/IDBDatabase.cpp:
342         (WebCore::IDBDatabase::onVersionChange):
343
344 2014-09-05  Simon Fraser  <simon.fraser@apple.com>
345
346         Remove some PLATFORM(IOS) code in Color.h/cpp
347         https://bugs.webkit.org/show_bug.cgi?id=136582
348
349         Reviewed by Dan Bates.
350
351         Remove Color::tap which is unused, and remove createCGColorWithDeviceWhite()
352         which was only called in one file in WebKit.
353
354         * WebCore.exp.in:
355         * platform/graphics/Color.h:
356         * platform/graphics/cg/ColorCG.cpp:
357         (WebCore::createCGColorWithDeviceWhite): Deleted.
358
359 2014-09-05  Beth Dakin  <bdakin@apple.com>
360
361         ScrollablArea::handleWheelEvent() should return early if the ScrollableArea is not 
362         actually scrollable
363         https://bugs.webkit.org/show_bug.cgi?id=136558
364
365         Reviewed by Simon Fraser.
366
367         This patch requires adding a new virtual function to ScrollableArea called 
368         isScrollableOrRubberbandable(). Unfortunately, there is already a virtual function 
369         of that name that exists on RenderLayerModelObject, which is only problematic 
370         because RenderListBox inherits from both RenderLayerModelObject and 
371         ScrollableArea. This patch resolves that conflict in the simplest way, by re-
372         naming the RenderLayerModelObject version of the function to 
373         isScrollableOrRubberbandableBox(). It’s a little unfortunate, but simpler than the 
374         other solutions I came up with.
375
376         New ScrollableArea virtual function.
377         * page/FrameView.cpp:
378         (WebCore::FrameView::isScrollableOrRubberbandable):
379         * page/FrameView.h:
380
381         The point of the whole patch! Return early if you can’t scroll or rubber band.
382         * platform/ScrollableArea.cpp:
383         (WebCore::ScrollableArea::handleWheelEvent):
384
385         New ScrollableArea virtual function.
386         * platform/ScrollableArea.h:
387         * platform/win/PopupMenuWin.h:
388
389         Re-name.
390         * rendering/RenderBox.cpp:
391         (WebCore::RenderBox::isScrollableOrRubberbandableBox):
392         (WebCore::RenderBox::isScrollableOrRubberbandable): Deleted.
393         * rendering/RenderBox.h:
394
395         Implement new ScrollableArea virtual function, and adapt to the re-name.
396         * rendering/RenderLayer.cpp:
397         (WebCore::RenderLayer::isScrollableOrRubberbandable):
398         (WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
399         * rendering/RenderLayer.h:
400
401         Re-name.
402         * rendering/RenderLayerModelObject.h:
403         (WebCore::RenderLayerModelObject::isScrollableOrRubberbandableBox):
404         (WebCore::RenderLayerModelObject::isScrollableOrRubberbandable): Deleted.
405
406         Implement ScrollableArea virtual function.
407         * rendering/RenderListBox.cpp:
408         (WebCore::RenderListBox::isScrollableOrRubberbandable):
409         * rendering/RenderListBox.h:
410
411         Re-name.
412         * rendering/RenderView.cpp:
413         (WebCore::RenderView::isScrollableOrRubberbandableBox):
414         (WebCore::RenderView::isScrollableOrRubberbandable): Deleted.
415         * rendering/RenderView.h:
416
417 2014-06-06  Jer Noble  <jer.noble@apple.com>
418
419         Refactoring: make MediaTime the primary time type for audiovisual times.
420         https://bugs.webkit.org/show_bug.cgi?id=133579
421
422         Reviewed by Eric Carlson.
423
424         In order to limit the number of floating-point rounding errors for media systems which
425         can make use of rational time objects.
426
427         Add some convenience methods to convert between QTTime and MediaTime.
428         * platform/graphics/mac/MediaTimeQTKit.h: Added.
429         * platform/graphics/mac/MediaTimeQTKit.mm: Added.
430         (WebCore::toMediaTime):
431         (WebCore::toQTTime):
432
433         Rename MediaTimeMac -> MediaTimeAVFoundation:
434         * platform/graphics/avfoundation/MediaTimeAVFoundation.cpp: Renamed from Source/WebCore/platform/mac/MediaTimeMac.cpp.
435         (WebCore::toMediaTime):
436         (WebCore::toCMTime):
437         * platform/graphics/avfoundation/MediaTimeAVFoundation.h: Renamed from Source/WebCore/platform/mac/MediaTimeMac.h.
438
439         Use MediaTime instead of double:
440         * Modules/mediasource/MediaSource.cpp:
441         (WebCore::MediaSource::duration):
442         (WebCore::MediaSource::currentTime):
443         (WebCore::MediaSource::buffered):
444         (WebCore::MediaSource::setDuration):
445         (WebCore::MediaSource::activeRanges):
446         * Modules/mediasource/MediaSource.h:
447         * Modules/mediasource/SourceBuffer.cpp:
448         (WebCore::SourceBuffer::remove):
449         (WebCore::SourceBuffer::removeCodedFrames):
450         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
451         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
452         (WebCore::SourceBuffer::hasCurrentTime):
453         (WebCore::SourceBuffer::hasFutureTime):
454         (WebCore::SourceBuffer::canPlayThrough):
455         * WebCore.xcodeproj/project.pbxproj:
456         * bindings/js/JSDataCueCustom.cpp:
457         (WebCore::JSDataCueConstructor::constructJSDataCue):
458         * html/HTMLMediaElement.cpp:
459         (WebCore::HTMLMediaElement::HTMLMediaElement):
460         (WebCore::HTMLMediaElement::parseAttribute):
461         * html/HTMLMediaElement.h:
462         (WebCore::ValueToString<MediaTime>::string):
463         * html/MediaFragmentURIParser.cpp:
464         (WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
465         (WebCore::MediaFragmentURIParser::startTime):
466         (WebCore::MediaFragmentURIParser::endTime):
467         (WebCore::MediaFragmentURIParser::parseTimeFragment):
468         (WebCore::MediaFragmentURIParser::parseNPTFragment):
469         (WebCore::MediaFragmentURIParser::parseNPTTime):
470         (WebCore::MediaFragmentURIParser::invalidTimeValue): Deleted.
471         * html/MediaFragmentURIParser.h:
472         * html/TimeRanges.h:
473         (WebCore::TimeRanges::ranges):
474         * html/track/DataCue.cpp:
475         (WebCore::DataCue::DataCue):
476         * html/track/DataCue.h:
477         (WebCore::DataCue::create):
478         * html/track/InbandDataTextTrack.cpp:
479         (WebCore::InbandDataTextTrack::addDataCue):
480         (WebCore::InbandDataTextTrack::updateDataCue):
481         (WebCore::InbandDataTextTrack::removeDataCue):
482         * html/track/InbandDataTextTrack.h:
483         * html/track/InbandGenericTextTrack.cpp:
484         (WebCore::InbandGenericTextTrack::updateCueFromCueData):
485         (WebCore::InbandGenericTextTrack::addGenericCue):
486         (WebCore::InbandGenericTextTrack::removeGenericCue):
487         * html/track/InbandTextTrack.cpp:
488         (WebCore::InbandTextTrack::startTimeVariance):
489         * html/track/InbandTextTrack.h:
490         * html/track/InbandWebVTTTextTrack.cpp:
491         (WebCore::InbandWebVTTTextTrack::newCuesParsed):
492         * html/track/TextTrack.cpp:
493         (WebCore::TextTrack::addCue):
494         (WebCore::TextTrack::hasCue):
495         * html/track/TextTrack.h:
496         (WebCore::TextTrack::startTimeVariance):
497         * html/track/TextTrackCue.cpp:
498         (WebCore::TextTrackCue::create):
499         (WebCore::TextTrackCue::TextTrackCue):
500         (WebCore::TextTrackCue::setStartTime):
501         (WebCore::TextTrackCue::setEndTime):
502         (WebCore::TextTrackCue::hasEquivalentStartTime):
503         * html/track/TextTrackCue.h:
504         (WebCore::TextTrackCue::startTime):
505         (WebCore::TextTrackCue::endTime):
506         * html/track/TextTrackCueGeneric.cpp:
507         (WebCore::TextTrackCueGeneric::TextTrackCueGeneric):
508         * html/track/TextTrackCueGeneric.h:
509         * html/track/TextTrackCueList.cpp:
510         (WebCore::TextTrackCueList::add):
511         * html/track/VTTCue.cpp:
512         (WebCore::VTTCue::VTTCue):
513         (WebCore::VTTCue::markFutureAndPastNodes):
514         (WebCore::VTTCue::updateDisplayTree):
515         * html/track/VTTCue.h:
516         (WebCore::VTTCue::create):
517         * html/track/WebVTTParser.cpp:
518         (WebCore::WebVTTParser::WebVTTParser):
519         (WebCore::WebVTTParser::resetCueValues):
520         (WebCore::WebVTTParser::collectTimeStamp):
521         (WebCore::WebVTTTreeBuilder::constructTreeFromToken):
522         * html/track/WebVTTParser.h:
523         (WebCore::WebVTTCueData::startTime):
524         (WebCore::WebVTTCueData::setStartTime):
525         (WebCore::WebVTTCueData::endTime):
526         (WebCore::WebVTTCueData::setEndTime):
527         (WebCore::WebVTTCueData::WebVTTCueData): Deleted.
528         * platform/graphics/InbandTextTrackPrivateClient.h:
529         (WebCore::GenericCueData::startTime):
530         (WebCore::GenericCueData::setStartTime):
531         (WebCore::GenericCueData::endTime):
532         (WebCore::GenericCueData::setEndTime):
533         (WebCore::GenericCueData::GenericCueData):
534         * platform/graphics/MediaPlayer.cpp:
535         (WebCore::MediaPlayer::duration):
536         (WebCore::MediaPlayer::startTime):
537         (WebCore::MediaPlayer::initialTime):
538         (WebCore::MediaPlayer::currentTime):
539         (WebCore::MediaPlayer::seekWithTolerance):
540         (WebCore::MediaPlayer::seek):
541         (WebCore::MediaPlayer::maxTimeSeekable):
542         (WebCore::MediaPlayer::minTimeSeekable):
543         (WebCore::MediaPlayer::mediaTimeForTimeValue):
544         (WebCore::MediaPlayer::totalFrameDelay):
545         * platform/graphics/MediaPlayer.h:
546         * platform/graphics/MediaPlayerPrivate.h:
547         (WebCore::MediaPlayerPrivateInterface::durationMediaTime):
548         (WebCore::MediaPlayerPrivateInterface::currentMediaTime):
549         (WebCore::MediaPlayerPrivateInterface::seek):
550         (WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
551         (WebCore::MediaPlayerPrivateInterface::startTime):
552         (WebCore::MediaPlayerPrivateInterface::initialTime):
553         (WebCore::MediaPlayerPrivateInterface::seekable):
554         (WebCore::MediaPlayerPrivateInterface::maxMediaTimeSeekable):
555         (WebCore::MediaPlayerPrivateInterface::minMediaTimeSeekable):
556         (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue):
557         (WebCore::MediaPlayerPrivateInterface::totalFrameDelay):
558         (WebCore::MediaPlayerPrivateInterface::startTimeDouble): Deleted.
559         (WebCore::MediaPlayerPrivateInterface::maxTimeSeekableDouble): Deleted.
560         (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValueDouble): Deleted.
561         * platform/graphics/MediaSourcePrivateClient.h:
562         * platform/graphics/TrackPrivateBase.h:
563         (WebCore::TrackPrivateBase::startTimeVariance):
564         * platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:
565         (WebCore::InbandMetadataTextTrackPrivateAVF::InbandMetadataTextTrackPrivateAVF):
566         (WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):
567         (WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
568         (WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):
569         * platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:
570         (WebCore::IncompleteMetaDataCue::IncompleteMetaDataCue):
571         (WebCore::IncompleteMetaDataCue::startTime):
572         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
573         (WebCore::InbandTextTrackPrivateAVF::processCue):
574         (WebCore::InbandTextTrackPrivateAVF::resetCueValues):
575         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
576         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
577         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
578         (WebCore::MediaPlayerPrivateAVFoundation::durationMediaTime):
579         (WebCore::MediaPlayerPrivateAVFoundation::seek):
580         (WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance):
581         (WebCore::MediaPlayerPrivateAVFoundation::maxMediaTimeSeekable):
582         (WebCore::MediaPlayerPrivateAVFoundation::minMediaTimeSeekable):
583         (WebCore::MediaPlayerPrivateAVFoundation::maxTimeLoaded):
584         (WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress):
585         (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
586         (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
587         (WebCore::MediaPlayerPrivateAVFoundation::seekableTimeRangesChanged):
588         (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
589         (WebCore::MediaPlayerPrivateAVFoundation::didEnd):
590         (WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration):
591         (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
592         (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost):
593         (WebCore::MediaPlayerPrivateAVFoundation::duration): Deleted.
594         (WebCore::MediaPlayerPrivateAVFoundation::maxTimeSeekableDouble): Deleted.
595         (WebCore::MediaPlayerPrivateAVFoundation::minTimeSeekable): Deleted.
596         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
597         (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification):
598         (WebCore::MediaPlayerPrivateAVFoundation::Notification::time):
599         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
600         (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
601         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
602         (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
603         (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
604         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
605         (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
606         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
607         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
608         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
609         (WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
610         (WebCore::AVFWrapper::seekToTime): Deleted.
611         (WebCore::LegibleOutputData::LegibleOutputData): Deleted.
612         (WebCore::AVFWrapper::createImageForTimeInRect): Deleted.
613         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
614         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
615         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
616         (WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
617         (WebCore::AVFWrapper::seekToTime): Deleted.
618         (WebCore::LegibleOutputData::LegibleOutputData): Deleted.
619         (WebCore::AVFWrapper::createImageForTimeInRect): Deleted.
620         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
621         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
622         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
623         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
624         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
625         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentMediaTime):
626         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
627         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
628         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
629         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded):
630         (WebCore::MediaPlayerPrivateAVFoundationObjC::mediaTimeForTimeValue):
631         (WebCore::MediaPlayerPrivateAVFoundationObjC::processCue):
632         (WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
633         (WebCore::MediaPlayerPrivateAVFoundationObjC::durationDidChange):
634         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
635         (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
636         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Deleted.
637         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
638         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
639         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationMediaTime):
640         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTime):
641         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
642         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
643         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
644         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
645         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxMediaTimeSeekable):
646         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minMediaTimeSeekable):
647         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):
648         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble): Deleted.
649         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble): Deleted.
650         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble): Deleted.
651         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble): Deleted.
652         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable): Deleted.
653         * platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
654         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
655         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
656         (WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):
657         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
658         (WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):
659         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
660         (WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
661         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
662         (WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
663         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
664         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
665         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
666         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
667         (WebCore::maxValueForTimeRanges):
668         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
669         (WebCore::MediaPlayerPrivateQTKit::durationMediaTime):
670         (WebCore::MediaPlayerPrivateQTKit::currentMediaTime):
671         (WebCore::MediaPlayerPrivateQTKit::seek):
672         (WebCore::MediaPlayerPrivateQTKit::doSeek):
673         (WebCore::MediaPlayerPrivateQTKit::cancelSeek):
674         (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
675         (WebCore::MediaPlayerPrivateQTKit::seeking):
676         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
677         (WebCore::MediaPlayerPrivateQTKit::buffered):
678         (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
679         (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
680         (WebCore::MediaPlayerPrivateQTKit::didLoadingProgress):
681         (WebCore::MediaPlayerPrivateQTKit::updateStates):
682         (WebCore::MediaPlayerPrivateQTKit::timeChanged):
683         (WebCore::MediaPlayerPrivateQTKit::didEnd):
684         (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
685         (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
686         (WebCore::MediaPlayerPrivateQTKit::createQTTime): Deleted.
687         (WebCore::MediaPlayerPrivateQTKit::duration): Deleted.
688         (WebCore::MediaPlayerPrivateQTKit::currentTime): Deleted.
689         (WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable): Deleted.
690         (WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded): Deleted.
691         (WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue): Deleted.
692         * platform/mac/PlatformClockCM.mm:
693         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
694         (WebCore::MockMediaPlayerMediaSource::maxMediaTimeSeekable):
695         (WebCore::MockMediaPlayerMediaSource::currentMediaTime):
696         (WebCore::MockMediaPlayerMediaSource::durationMediaTime):
697         (WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
698         (WebCore::MockMediaPlayerMediaSource::totalFrameDelay):
699         (WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble): Deleted.
700         (WebCore::MockMediaPlayerMediaSource::currentTimeDouble): Deleted.
701         (WebCore::MockMediaPlayerMediaSource::durationDouble): Deleted.
702         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
703         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
704         (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):
705         * platform/mock/mediasource/MockMediaSourcePrivate.h:
706         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
707         (WebCore::MockSourceBufferPrivate::enqueueSample):
708
709 2014-09-05  Antti Koivisto  <antti@apple.com>
710
711         REGRESSION(r173272): Two blob tests failing on WK1
712         https://bugs.webkit.org/show_bug.cgi?id=136573
713
714         Reviewed by Alexey Proskuryakov.
715
716         http/tests/fileapi/blob-url-in-subframe.html
717         http/tests/security/mixedContent/blob-url-in-iframe.html
718
719         * platform/network/BlobResourceHandle.cpp:
720         (WebCore::BlobResourceHandle::notifyResponseOnSuccess):
721
722             No need to set this twice.
723
724         * platform/network/mac/ResourceResponseMac.mm:
725         (WebCore::ResourceResponse::initNSURLResponse):
726
727             Also test that it is an HTTP URL before using NSHTTPURLResponse. Blobs create non-HTTP URLs with status codes.
728             Pass the accidentally lost expected content length.
729
730 2014-09-05  Zalan Bujtas  <zalan@apple.com>
731
732         Move computeInlinePreferredLogicalWidths() from RenderBlock to RenderBlockFlow
733         https://bugs.webkit.org/show_bug.cgi?id=136461
734
735         Reviewed by Darin Adler.
736
737         This patch enables us to go from const_cast<RenderBlockFlow*>(this)->computeInlinePreferredLogicalWidths()
738         to computeInlinePreferredLogicalWidths().
739
740         Covered by existing tests.
741
742         * rendering/RenderBlock.cpp:
743         (WebCore::InlineMinMaxIterator::endOfInline): Deleted.
744         (WebCore::InlineMinMaxIterator::next): Deleted.
745         (WebCore::getBPMWidth): Deleted.
746         (WebCore::getBorderPaddingMargin): Deleted.
747         (WebCore::stripTrailingSpace): Deleted.
748         (WebCore::preferredWidth): Deleted.
749         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): Deleted.
750         * rendering/RenderBlock.h:
751         * rendering/RenderBlockFlow.cpp:
752         (WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):
753         (WebCore::InlineMinMaxIterator::initial): The (parent == current) condition was used as 'initial' state before.
754         and in order to make computeInlinePreferredLogicalWidths const, InlineMinMaxIterator() needs to take const RenderObject*.
755         (WebCore::InlineMinMaxIterator::next):
756         (WebCore::getBPMWidth):
757         (WebCore::getBorderPaddingMargin):
758         (WebCore::stripTrailingSpace):
759         (WebCore::preferredWidth):
760         (WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):
761         * rendering/RenderBlockFlow.h:
762
763 2014-09-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
764
765         Unreviewed, build fix for EFL and GTK ports since r173272.
766
767         * platform/network/soup/ResourceResponseSoup.cpp:
768         (WebCore::ResourceResponse::updateFromSoupMessageHeaders):
769
770 2014-09-04  Pratik Solanki  <psolanki@apple.com>
771
772         Unreviewed. Speculative build fix. Add platformSuggestedFilename() to all the ResourceResponse header files.
773
774         * platform/network/curl/ResourceResponse.h:
775         (WebCore::ResourceResponse::platformSuggestedFilename):
776         * platform/network/soup/ResourceResponse.h:
777         * platform/network/win/ResourceResponse.h:
778         (WebCore::ResourceResponse::platformSuggestedFilename):
779
780 2014-09-04  Pratik Solanki  <psolanki@apple.com>
781
782         Unreviewed. Another speculative build fix after r173272. Add a stub implementation for
783         ResourceResponse::platformSuggestedFilename(). Filed bug 136562 for proper fix.
784
785         * platform/network/soup/ResourceResponseSoup.cpp:
786         (ResourceResponse::platformSuggestedFilename):
787
788 2014-09-04  Pratik Solanki  <psolanki@apple.com>
789
790         Unreviewed. Speculative EFL and GTK build fix after r173272. Remove the filename argument
791         from the various ResourceResponse constructors.
792
793         * platform/network/curl/ResourceResponse.h:
794         (WebCore::ResourceResponse::ResourceResponse):
795         * platform/network/soup/ResourceResponse.h:
796         (WebCore::ResourceResponse::ResourceResponse):
797         * platform/network/win/ResourceResponse.h:
798         (WebCore::ResourceResponse::ResourceResponse):
799
800 2014-09-04  Simon Fraser  <simon.fraser@apple.com>
801
802         border-radius should not force layer backing store
803         https://bugs.webkit.org/show_bug.cgi?id=136555
804
805         Reviewed by Dean Jackson.
806         
807         Border-radius is not a reason to allocate backing store; it's not relevant unless
808         we also have a border or background, and hasBoxDecorations() already checks for that.
809         
810         With that gone, we can now use renderer.hasBoxDecorations() (which also checks for
811         a background), but it doesn't check for outlines, so do that in addition.
812
813         Test: compositing/backing/border-radius-no-backing.html
814
815         * rendering/RenderLayer.cpp:
816         (WebCore::RenderLayer::calculateClipRects):
817
818 2014-09-04  Simon Fraser  <simon.fraser@apple.com>
819
820         CSS filter on a compositing layer should not cause unncessary backing store allocation
821         https://bugs.webkit.org/show_bug.cgi?id=136557
822
823         Reviewed by Dean Jackson.
824         
825         Remove the style.hasFilter() check from hasBoxDecorations(), since filters aren't
826         a box decoration. This allows creation of simple container layers with composited filters.
827
828         Test: compositing/backing/filter-no-backing.html
829
830         * rendering/RenderLayer.cpp:
831         (WebCore::RenderLayer::calculateClipRects):
832
833 2014-09-04  Simon Fraser  <simon.fraser@apple.com>
834
835         Improve the logic for compositing backing store avoidance
836         https://bugs.webkit.org/show_bug.cgi?id=136556
837
838         Reviewed by Dean Jackson.
839         
840         Avoid backing store allocation in more cases by improving the logic that detects
841         whether a RenderLayer has any painted, non-layer descendent renderers.
842         
843         Rename RenderLayer::hasNonEmptyChildRenderers() to hasPaintingNonLayerDescendants(),
844         and make it recur 3 levels deep, walking child lists of up to 20 siblings looking
845         for renderers that paint anything. Any renderer with box decorations paints;
846         replaced elements paint, and non-whitespace text nodes paint. We can avoid
847         making backing store when whitespace nodes are present only when user-select is none,
848         since we have to ensure that there's backing store to paint the selection into.
849
850         Tests: compositing/backing/inline-block-no-backing.html
851                compositing/backing/whitespace-nodes-no-backing.html
852
853         * rendering/RenderLayer.cpp:
854         (WebCore::RenderLayer::hasNonEmptyChildRenderers): Call the recursive hasPaintingNonLayerDescendants().
855         (WebCore::RenderLayer::hasBoxDecorationsOrBackground):
856         (WebCore::RenderLayer::isVisuallyNonEmpty): Do the cheap tests first. Use isRenderReplaced()
857         rather than isReplaced(), since the latter includes inline-blocks.
858         * rendering/RenderLayerBacking.cpp:
859         (WebCore::RenderLayerBacking::updateConfiguration): Don't run the isSimpleContainerCompositingLayer()
860         logic in the root layer, since it always wants backing store.
861         (WebCore::RenderLayerBacking::updateAfterDescendents): Ditto.
862         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): isReplaced() includes
863         inline-block, so use isRenderReplaced() instead.
864
865 2014-09-04  Daniel Bates  <dabates@apple.com>
866
867         [iOS] Fix the iOS build after <http://trac.webkit.org/changeset/173258>
868         (https://bugs.webkit.org/show_bug.cgi?id=136494)
869
870         Use ENABLE_TOUCH_EVENT instead of ENABLE(TOUCH_EVENT) as the latter isn't available
871         to some clients of this private header.
872
873         * platform/ios/wak/WAKResponder.h:
874
875 2014-09-04  Roger Fong  <roger_fong@apple.com>
876
877         Increase number of maximum active WebGL contexts.
878         https://bugs.webkit.org/show_bug.cgi?id=136551.
879         <rdar://problem/18236425>
880
881         Reviewed by Brent Fulgham.
882
883         Test covered by Khronos conformance test:
884         webgl/1.0.2/conformance/context/context-creation-and-destruction.html
885
886         * platform/graphics/mac/GraphicsContext3DMac.mm:
887
888 2014-09-04  Roger Fong  <roger_fong@apple.com>
889
890         Clicking on a select element should never hide the popup menu.
891         https://bugs.webkit.org/show_bug.cgi?id=136548.
892         <rdar://problem/10215926>
893
894         Reviewed by Simon Fraser.
895
896         * html/HTMLSelectElement.cpp:
897         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
898         Never call hidePopup as a result of a click on a select element.
899         The only way you can properly hide a popup is to click again or lose focus on the popup itself.
900
901 2014-09-04  Enrica Casucci  <enrica@apple.com>
902
903         Remove PLATFORM(IOS) from WebCore/editing (Part 2).
904         https://bugs.webkit.org/show_bug.cgi?id=136474
905
906         Reviewed by Tim Horton.
907
908         Removing some more PLATFORM(IOS) from the editing code.
909         Most of these changes are fixes that were made for IOS but never merged
910         to OpenSource.
911
912         * editing/ApplyStyleCommand.cpp:
913         (WebCore::ApplyStyleCommand::applyBlockStyle):
914         * editing/ReplaceSelectionCommand.cpp:
915         (WebCore::ReplaceSelectionCommand::doApply):
916         * editing/VisibleSelection.cpp:
917         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
918         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
919         * editing/VisibleUnits.cpp:
920         (WebCore::startOfDocument):
921         (WebCore::endOfDocument):
922         * editing/ios/EditorIOS.mm: No need for platform guard, this file is not built for Mac.
923
924 2014-09-03  Andy Estes  <aestes@apple.com>
925
926         [Cocoa] Some WebKitLegacy headers migrated from WebCore incorrectly contain WEBCORE_EXPORT
927         https://bugs.webkit.org/show_bug.cgi?id=136521
928
929         Reviewed by Anders Carlsson.
930
931         * platform/ios/wak/WebCoreThread.h: Stopped defining WEBCORE_EXPORT.
932
933 2014-09-03  David Hyatt  <hyatt@apple.com>
934
935         Initial letters should clear one another.
936         https://bugs.webkit.org/show_bug.cgi?id=136514
937
938         Reviewed by Simon Fraser.
939
940         Added fast/css-generated-content/initial-letter-clearance.html.
941
942         * rendering/RenderBlockFlow.cpp:
943         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
944         Compute the required clearance and add it both to the block's logical height
945         and to the logical top offset of the float.
946
947         (WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom):
948         * rendering/RenderBlockFlow.h:
949         A new method for determining the lowest floating initial letter.
950
951 2014-09-04  Joseph Pecoraro  <pecoraro@apple.com>
952
953         Use WTFString::find(char) in more places
954         https://bugs.webkit.org/show_bug.cgi?id=136541
955
956         Reviewed by Daniel Bates.
957
958         * Modules/plugins/YouTubePluginReplacement.cpp:
959         (WebCore::queryKeysAndValues):
960         * html/HTMLEmbedElement.cpp:
961         (WebCore::HTMLEmbedElement::parseAttribute):
962         * html/HTMLObjectElement.cpp:
963         (WebCore::HTMLObjectElement::parametersForPlugin):
964         * html/parser/XSSAuditor.cpp:
965         (WebCore::XSSAuditor::decodedSnippetForAttribute):
966         * page/UserContentURLPattern.cpp:
967         (WebCore::UserContentURLPattern::parse):
968
969 2014-09-04  Antti Koivisto  <antti@apple.com>
970
971         Try to fix iOS build.
972
973         * loader/FrameLoader.cpp:
974         (WebCore::FrameLoader::initForSynthesizedDocument):
975
976 2014-09-04  Maciej Stachowiak  <mjs@apple.com>
977
978         Remove WebCoreSystemInterface glue for otherwise unused WKSI calls
979         https://bugs.webkit.org/show_bug.cgi?id=136527
980
981         Reviewed by Alexey Proskuryakov.
982
983         * WebCore.exp.in:
984         * WebCore.order:
985         * platform/ios/WebCoreSystemInterfaceIOS.mm:
986         * platform/mac/WebCoreSystemInterface.h:
987         * platform/mac/WebCoreSystemInterface.mm:
988
989 2014-09-04  Beth Dakin  <bdakin@apple.com>
990
991         REGRESSION (r172832): Poor 2-finger scrolling performance at theverge.com articles 
992         (all tiles repaint)
993         https://bugs.webkit.org/show_bug.cgi?id=136433
994         -and corresponding-
995         rdar://problem/18193942
996
997         Reviewed by Tim Horton.
998
999         We should ensure that we are only setting scroll elasticity for layers that return 
1000         true for scrollsOverflow(). When overflow:scroll is set on the root element, we 
1001         wound up setting the ScrollElasticity for the root, which messed up with the 
1002         special way that the root is meant to scroll. Even though overflow:scroll has been 
1003         set on the root, scrollsOverflow() is still false because we knew not to set 
1004         hasOverflowClip() since it’s the root, which is why this check works.  
1005         * rendering/RenderLayer.cpp:
1006         (WebCore::RenderLayer::setHasHorizontalScrollbar):
1007         (WebCore::RenderLayer::setHasVerticalScrollbar):
1008
1009         Really, we should have never even called RenderLayer::setHasVerticalScrollbar or 
1010         RenderLayer::setHasHorizontalScrollbar since it’s wrong to be creating a scrollbar 
1011         on RenderLayer for the root. We should make sure, in addition to the other 
1012         requirements consulted, that the renderer has an overflow clip before we create 
1013         the scrollbars.
1014         (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
1015
1016 2014-09-04  Antti Koivisto  <antti@apple.com>
1017
1018         Remove ResourceResponse::m_suggestedFilename
1019         https://bugs.webkit.org/show_bug.cgi?id=136534
1020
1021         Reviewed by Alexey Proskuryakov.
1022
1023         This will simplify things.
1024
1025         * WebCore.exp.in:
1026         * loader/DocumentLoader.cpp:
1027         (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
1028         (WebCore::DocumentLoader::maybeLoadEmpty):
1029         * loader/FrameLoader.cpp:
1030         (WebCore::FrameLoader::willLoadMediaElementURL):
1031         * loader/appcache/ApplicationCacheStorage.cpp:
1032         (WebCore::ApplicationCacheStorage::loadCache):
1033         * loader/archive/ArchiveResource.cpp:
1034         (WebCore::ArchiveResource::create):
1035         * platform/network/BlobResourceHandle.cpp:
1036         (WebCore::BlobResourceHandle::notifyResponseOnSuccess):
1037         (WebCore::BlobResourceHandle::notifyResponseOnError):
1038         * platform/network/ResourceResponseBase.cpp:
1039         (WebCore::ResourceResponseBase::ResourceResponseBase):
1040         (WebCore::ResourceResponseBase::adopt):
1041         (WebCore::ResourceResponseBase::copyData):
1042         (WebCore::ResourceResponseBase::suggestedFilename):
1043         (WebCore::ResourceResponseBase::httpStatusText):
1044         (WebCore::ResourceResponseBase::setHTTPStatusText):
1045         (WebCore::ResourceResponseBase::httpHeaderField):
1046         (WebCore::ResourceResponseBase::setHTTPHeaderField):
1047         (WebCore::ResourceResponseBase::addHTTPHeaderField):
1048         (WebCore::ResourceResponseBase::httpHeaderFields):
1049         (WebCore::ResourceResponseBase::isAttachment):
1050         (WebCore::ResourceResponseBase::wasCached):
1051         (WebCore::ResourceResponseBase::connectionReused):
1052         (WebCore::ResourceResponseBase::setConnectionReused):
1053         (WebCore::ResourceResponseBase::connectionID):
1054         (WebCore::ResourceResponseBase::setConnectionID):
1055
1056             Remove AllFields initialization. It was only used to get m_suggestedFilename.
1057             Rename CommonAndUncommonFields to AllFields
1058
1059         (WebCore::ResourceResponseBase::setSuggestedFilename): Deleted.
1060
1061             No more setter.
1062
1063         * platform/network/ResourceResponseBase.h:
1064         (WebCore::ResourceResponseBase::platformSuggestedFileName):
1065
1066             Get the suggested filename from the platform class on-demand.
1067
1068         * platform/network/cf/ResourceResponse.h:
1069         (WebCore::ResourceResponse::ResourceResponse):
1070
1071             Remove never-used file name constructor parameter.
1072
1073         * platform/network/cf/ResourceResponseCFNet.cpp:
1074         (WebCore::ResourceResponse::platformLazyInit):
1075         * platform/network/mac/ResourceResponseMac.mm:
1076         (WebCore::ResourceResponse::initNSURLResponse):
1077
1078             Synthesize HTTP response properly so it can hold Content-Disposition for file name (and other headers).
1079
1080         (WebCore::ResourceResponse::platformLazyInit):
1081
1082             Don't pull the suggested filename anymore.
1083
1084         (WebCore::ResourceResponse::platformSuggestedFilename):
1085
1086             Get the suggested name from the (possibly synthetic) NSURLRequest.
1087
1088 2014-09-04  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
1089
1090         Remove CSS_FILTERS flag
1091         https://bugs.webkit.org/show_bug.cgi?id=136529
1092
1093         Reviewed by Dirk Schulze.
1094
1095         No new tests, no behaviour changed.
1096
1097         * Configurations/FeatureDefines.xcconfig:
1098         * DerivedSources.cpp:
1099         * WebCore.exp.in:
1100         * bindings/js/JSCSSValueCustom.cpp:
1101         (WebCore::toJS):
1102         * bindings/objc/DOMCSS.mm:
1103         (kitClass):
1104         * css/CSSComputedStyleDeclaration.cpp:
1105         (WebCore::ComputedStyleExtractor::valueForFilter):
1106         (WebCore::isLayoutDependent):
1107         (WebCore::ComputedStyleExtractor::propertyValue):
1108         * css/CSSComputedStyleDeclaration.h:
1109         * css/CSSFilterImageValue.cpp:
1110         * css/CSSFilterImageValue.h:
1111         * css/CSSImageGeneratorValue.cpp:
1112         (WebCore::CSSImageGeneratorValue::image):
1113         (WebCore::CSSImageGeneratorValue::isFixedSize):
1114         (WebCore::CSSImageGeneratorValue::fixedSize):
1115         (WebCore::CSSImageGeneratorValue::isPending):
1116         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
1117         (WebCore::CSSImageGeneratorValue::loadSubimages):
1118         * css/CSSParser.cpp:
1119         (WebCore::CSSParser::parseValue):
1120         (WebCore::CSSParser::parseGeneratedImage):
1121         (WebCore::CSSParser::parseFilterImage):
1122         (WebCore::CSSParser::parseFilter):
1123         * css/CSSParser.h:
1124         * css/CSSPropertyNames.in:
1125         * css/CSSValue.cpp:
1126         (WebCore::CSSValue::hasFailedOrCanceledSubresources):
1127         (WebCore::CSSValue::equals):
1128         (WebCore::CSSValue::cssText):
1129         (WebCore::CSSValue::destroy):
1130         (WebCore::CSSValue::cloneForCSSOM):
1131         * css/CSSValue.h:
1132         * css/StyleResolver.cpp:
1133         (WebCore::StyleResolver::State::clear):
1134         (WebCore::StyleResolver::applyProperty):
1135         (WebCore::StyleResolver::generatedOrPendingFromValue):
1136         (WebCore::StyleResolver::loadPendingResources):
1137         * css/StyleResolver.h:
1138         * css/WebKitCSSFilterValue.cpp:
1139         * css/WebKitCSSFilterValue.h:
1140         * css/WebKitCSSFilterValue.idl:
1141         * loader/cache/CachedSVGDocumentReference.cpp:
1142         * loader/cache/CachedSVGDocumentReference.h:
1143         * page/FrameView.cpp:
1144         (WebCore::FrameView::scrollContentsFastPath):
1145         * page/animation/AnimationBase.cpp:
1146         (WebCore::AnimationBase::AnimationBase):
1147         * page/animation/AnimationBase.h:
1148         * page/animation/CSSPropertyAnimation.cpp:
1149         (WebCore::blendFilter):
1150         (WebCore::blendFunc):
1151         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1152         * page/animation/ImplicitAnimation.cpp:
1153         (WebCore::ImplicitAnimation::reset):
1154         (WebCore::ImplicitAnimation::checkForMatchingFilterFunctionLists):
1155         * page/animation/ImplicitAnimation.h:
1156         * page/animation/KeyframeAnimation.cpp:
1157         (WebCore::KeyframeAnimation::KeyframeAnimation):
1158         (WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists):
1159         * page/animation/KeyframeAnimation.h:
1160         * platform/graphics/GraphicsLayer.cpp:
1161         (WebCore::GraphicsLayer::validateFilterOperations):
1162         * platform/graphics/GraphicsLayer.h:
1163         * platform/graphics/GraphicsLayerAnimation.cpp:
1164         (WebCore::applyFilterAnimation):
1165         (WebCore::GraphicsLayerAnimation::applyInternal):
1166         * platform/graphics/GraphicsLayerAnimation.h:
1167         * platform/graphics/IntRectExtent.h:
1168         * platform/graphics/ca/GraphicsLayerCA.cpp:
1169         (WebCore::propertyIdToString):
1170         (WebCore::supportsAcceleratedFilterAnimations):
1171         (WebCore::GraphicsLayerCA::filtersCanBeComposited):
1172         (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
1173         (WebCore::GraphicsLayerCA::setFilters):
1174         (WebCore::GraphicsLayerCA::addAnimation):
1175         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
1176         (WebCore::GraphicsLayerCA::updateFilters):
1177         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
1178         (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
1179         (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
1180         * platform/graphics/ca/GraphicsLayerCA.h:
1181         * platform/graphics/ca/PlatformCAAnimation.h:
1182         * platform/graphics/ca/PlatformCAFilters.h:
1183         * platform/graphics/ca/PlatformCALayer.h:
1184         * platform/graphics/ca/mac/PlatformCAAnimationMac.h:
1185         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1186         (PlatformCAAnimationMac::setFromValue):
1187         (PlatformCAAnimationMac::setToValue):
1188         (PlatformCAAnimationMac::setValues):
1189         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
1190         (PlatformCAFilters::animatedFilterPropertyName):
1191         * platform/graphics/ca/mac/PlatformCALayerMac.h:
1192         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1193         (PlatformCALayerMac::clone):
1194         (PlatformCALayerMac::filtersCanBeComposited):
1195         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1196         (PlatformCAAnimationWin::setFromValue):
1197         (PlatformCAAnimationWin::setToValue):
1198         (PlatformCAAnimationWin::setValues):
1199         * platform/graphics/ca/win/PlatformCAAnimationWin.h:
1200         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
1201         (PlatformCAFilters::animatedFilterPropertyName):
1202         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1203         (PlatformCALayerWin::clone):
1204         * platform/graphics/ca/win/PlatformCALayerWin.h:
1205         * platform/graphics/filters/FilterOperation.cpp:
1206         * platform/graphics/filters/FilterOperation.h:
1207         * platform/graphics/filters/FilterOperations.cpp:
1208         * platform/graphics/filters/FilterOperations.h:
1209         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1210         (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
1211         (WebCore::GraphicsLayerTextureMapper::setFilters):
1212         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1213         * platform/graphics/texmap/TextureMapper.h:
1214         * platform/graphics/texmap/TextureMapperGL.cpp:
1215         (WebCore::TextureMapperGLData::TextureMapperGLData):
1216         (WebCore::prepareFilterProgram):
1217         (WebCore::TextureMapperGL::drawTexture):
1218         (WebCore::BitmapTextureGL::applyFilters):
1219         * platform/graphics/texmap/TextureMapperGL.h:
1220         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
1221         (WebCore::BitmapTextureImageBuffer::applyFilters):
1222         * platform/graphics/texmap/TextureMapperImageBuffer.h:
1223         * platform/graphics/texmap/TextureMapperLayer.cpp:
1224         (WebCore::TextureMapperLayer::setAnimatedFilters):
1225         (WebCore::TextureMapperLayer::computeOverlapRegions):
1226         (WebCore::TextureMapperLayer::paintIntoSurface):
1227         (WebCore::TextureMapperLayer::setFilters):
1228         (WebCore::TextureMapperLayer::syncAnimations):
1229         * platform/graphics/texmap/TextureMapperLayer.h:
1230         (WebCore::TextureMapperLayer::hasFilters):
1231         * platform/graphics/texmap/TextureMapperShaderProgram.h:
1232         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1233         (WebCore::CoordinatedGraphicsLayer::didChangeFilters):
1234         (WebCore::CoordinatedGraphicsLayer::setFilters):
1235         (WebCore::CoordinatedGraphicsLayer::syncFilters):
1236         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
1237         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1238         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1239         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
1240         (WebCore::CoordinatedGraphicsScene::setLayerState):
1241         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1242         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
1243         * rendering/FilterEffectRenderer.cpp:
1244         * rendering/FilterEffectRenderer.h:
1245         * rendering/RenderElement.cpp:
1246         (WebCore::RenderElement::adjustStyleDifference):
1247         * rendering/RenderElement.h:
1248         (WebCore::RenderElement::hasFilter): Deleted.
1249         * rendering/RenderLayer.cpp:
1250         (WebCore::RenderLayer::RenderLayer):
1251         (WebCore::RenderLayer::~RenderLayer):
1252         (WebCore::transparencyClipBox):
1253         (WebCore::RenderLayer::paintLayerContents):
1254         (WebCore::RenderLayer::calculateClipRects):
1255         * rendering/RenderLayer.h:
1256         * rendering/RenderLayerBacking.cpp:
1257         (WebCore::RenderLayerBacking::RenderLayerBacking):
1258         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1259         (WebCore::RenderLayerBacking::updateFilters):
1260         (WebCore::RenderLayerBacking::updateGeometry):
1261         (WebCore::RenderLayerBacking::startAnimation):
1262         (WebCore::RenderLayerBacking::startTransition):
1263         (WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
1264         (WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):
1265         * rendering/RenderLayerBacking.h:
1266         * rendering/RenderLayerCompositor.cpp:
1267         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
1268         (WebCore::RenderLayerCompositor::requiresCompositingForFilters):
1269         * rendering/RenderLayerFilterInfo.cpp:
1270         * rendering/RenderLayerFilterInfo.h:
1271         * rendering/RenderLayerModelObject.cpp:
1272         (WebCore::RenderLayerModelObject::styleWillChange):
1273         * rendering/RenderObject.cpp:
1274         (WebCore::RenderObject::containerForRepaint):
1275         (WebCore::RenderObject::repaintUsingContainer):
1276         * rendering/RenderView.cpp:
1277         (WebCore::RenderView::RenderView):
1278         * rendering/RenderView.h:
1279         * rendering/style/RenderStyle.cpp:
1280         (WebCore::RenderStyle::changeRequiresLayout):
1281         (WebCore::RenderStyle::changeRequiresLayerRepaint):
1282         * rendering/style/RenderStyle.h:
1283         * rendering/style/StyleFilterData.cpp:
1284         * rendering/style/StyleFilterData.h:
1285         * rendering/style/StyleRareNonInheritedData.cpp:
1286         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1287         (WebCore::StyleRareNonInheritedData::operator==):
1288         (WebCore::StyleRareNonInheritedData::hasFilters):
1289         * rendering/style/StyleRareNonInheritedData.h:
1290         * rendering/svg/RenderSVGResourceContainer.cpp:
1291         (WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
1292
1293 2014-09-04  Pratik Solanki  <psolanki@apple.com>
1294
1295         Remove iOS specific disk image cache
1296         https://bugs.webkit.org/show_bug.cgi?id=136517
1297
1298         Reviewed by Antti Koivisto.
1299
1300         Disk image cache code unnecessarily complicates SharedBuffer implementation. We can remove
1301         this now since we don't enable it in WebKit2 on iOS.
1302
1303         * WebCore.exp.in:
1304         * WebCore.xcodeproj/project.pbxproj:
1305         * loader/ResourceBuffer.cpp:
1306         (WebCore::ResourceBuffer::isUsingDiskImageCache): Deleted.
1307         * loader/ResourceBuffer.h:
1308         * loader/cache/CachedImage.cpp:
1309         (WebCore::CachedImage::canUseDiskImageCache): Deleted.
1310         (WebCore::CachedImage::useDiskImageCache): Deleted.
1311         * loader/cache/CachedImage.h:
1312         * loader/cache/CachedResource.cpp:
1313         (WebCore::CachedResource::isUsingDiskImageCache): Deleted.
1314         * loader/cache/CachedResource.h:
1315         (WebCore::CachedResource::canUseDiskImageCache): Deleted.
1316         (WebCore::CachedResource::useDiskImageCache): Deleted.
1317         * loader/cache/MemoryCache.cpp:
1318         (WebCore::MemoryCache::TypeStatistic::addResource):
1319         (WebCore::MemoryCache::dumpStats):
1320         (WebCore::MemoryCache::dumpLRULists):
1321         (WebCore::MemoryCache::flushCachedImagesToDisk): Deleted.
1322         * loader/cache/MemoryCache.h:
1323         (WebCore::MemoryCache::TypeStatistic::TypeStatistic):
1324         * loader/ios/DiskImageCacheClientIOS.h: Removed.
1325         * loader/ios/DiskImageCacheIOS.h: Removed.
1326         * loader/ios/DiskImageCacheIOS.mm: Removed.
1327         * platform/Logging.h:
1328         * platform/SharedBuffer.cpp:
1329         (WebCore::SharedBuffer::SharedBuffer):
1330         (WebCore::SharedBuffer::~SharedBuffer):
1331         (WebCore::SharedBuffer::data):
1332         (WebCore::SharedBuffer::append):
1333         (WebCore::SharedBuffer::buffer):
1334         (WebCore::SharedBuffer::getSomeData):
1335         (WebCore::SharedBuffer::isAllowedToBeMemoryMapped): Deleted.
1336         (WebCore::SharedBuffer::allowToBeMemoryMapped): Deleted.
1337         (WebCore::SharedBuffer::failedMemoryMap): Deleted.
1338         (WebCore::SharedBuffer::markAsMemoryMapped): Deleted.
1339         (WebCore::SharedBuffer::memoryMappedNotificationCallbackData): Deleted.
1340         (WebCore::SharedBuffer::memoryMappedNotificationCallback): Deleted.
1341         (WebCore::SharedBuffer::setMemoryMappedNotificationCallback): Deleted.
1342         * platform/SharedBuffer.h:
1343         (WebCore::SharedBuffer::isMemoryMapped): Deleted.
1344         * platform/cf/SharedBufferCF.cpp:
1345         (WebCore::SharedBuffer::SharedBuffer):
1346         * platform/mac/SharedBufferMac.mm:
1347         (-[WebCoreSharedBufferData length]):
1348         (-[WebCoreSharedBufferData bytes]):
1349         (WebCore::SharedBuffer::createCFData):
1350         (-[WebCoreSharedBufferData initWithMemoryMappedSharedBuffer:]): Deleted.
1351
1352 2014-09-04  Brian J. Burg  <burg@cs.washington.edu>
1353
1354         LegacyProfiler: ProfileNodes should be used more like structs
1355         https://bugs.webkit.org/show_bug.cgi?id=136381
1356
1357         Reviewed by Timothy Hatcher.
1358
1359         * inspector/ScriptProfileNode.idl: Remove an unused property.
1360
1361 2014-09-04  Renato Nagy  <rnagy@inf.u-szeged.hu>
1362
1363         Remove Qt cruft: MIMESniffing.cpp and MIMESniffing.h
1364         https://bugs.webkit.org/show_bug.cgi?id=136528
1365
1366         Reviewed by Alexey Proskuryakov.
1367
1368         * platform/network/MIMESniffing.cpp: Removed.
1369         * platform/network/MIMESniffing.h: Removed.
1370
1371 2014-09-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1372
1373         Introduce CSS_BASIC_SHAPES_TYPE_CASTS, and use it
1374         https://bugs.webkit.org/show_bug.cgi?id=136403
1375
1376         Reviewed by Daniel Bates.
1377
1378         toCSSBasicShapeFoo() will help to detect wrong type casting. So this patch generates it, and use it
1379         instead of static_cast<const CSSBasicShapeFoo*>().
1380
1381         No new tests no behavior changes.
1382
1383         * css/BasicShapeFunctions.cpp:
1384         (WebCore::basicShapeForValue):
1385         * css/CSSBasicShapes.cpp:
1386         (WebCore::CSSBasicShapeCircle::equals):
1387         (WebCore::CSSBasicShapeEllipse::equals):
1388         (WebCore::CSSBasicShapePolygon::equals):
1389         (WebCore::CSSBasicShapeInset::equals):
1390         * css/CSSBasicShapes.h:
1391
1392 2014-09-04  Daniel Bates  <dabates@apple.com>
1393
1394         [iOS] Make iOS build when ENABLE_TOUCH_EVENT and ENABLE_IOS_TOUCH_EVENTS disabled
1395         https://bugs.webkit.org/show_bug.cgi?id=136494
1396
1397         Reviewed by Andy Estes.
1398
1399         * WebCore.exp.in: Add ENABLE(IOS_TOUCH_EVENTS) and ENABLE(TOUCH_EVENTS) guards. Also, sort this file using
1400         the script Tools/Scripts/sort-export-file.
1401         * bindings/js/JSDocumentCustom.cpp: Add ENABLE(TOUCH_EVENTS)-guard around headers JSTouch.h and JSTouchList.h.
1402         * page/ios/WebEventRegion.mm: Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS) since this
1403         code is specific to the iOS touch machinery.
1404         * page/scrolling/ScrollingCoordinator.cpp: Add ENABLE(IOS_TOUCH_EVENTS) and ENABLE(TOUCH_EVENTS) guards. 
1405         (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS).
1406         * platform/ios/ScrollAnimatorIOS.h: Add ENABLE(TOUCH_EVENTS) guard.
1407         * platform/ios/ScrollAnimatorIOS.mm:
1408         (WebCore::ScrollAnimatorIOS::ScrollAnimatorIOS): Ditto.
1409         * platform/ios/wak/WAKResponder.h: Ditto.
1410         * rendering/RenderLayer.cpp:
1411         (WebCore::RenderLayer::RenderLayer): Add ENABLE(IOS_TOUCH_EVENTS) guard.
1412         (WebCore::RenderLayer::~RenderLayer): Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS) since this
1413         code is specific to the iOS touch machinery.
1414         * rendering/RenderLayer.h: Add ENABLE(IOS_TOUCH_EVENTS) guard.
1415
1416 2014-09-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1417
1418         REGRESSION(r173240) [GTK] Debug build broken.
1419
1420         Unreviewed build fix after r173240.
1421
1422         * dom/EventListenerMap.h: Add missing include.
1423
1424 2014-09-04  Dan Bernstein  <mitz@apple.com>
1425
1426         Get rid of HIGH_DPI_CANVAS leftovers
1427         https://bugs.webkit.org/show_bug.cgi?id=136491
1428
1429         Reviewed by Benjamin Poulain.
1430
1431         * html/HTMLCanvasElement.cpp:
1432         (WebCore::HTMLCanvasElement::HTMLCanvasElement): Removed m_deviceScaleFactor initializer.
1433         (WebCore::HTMLCanvasElement::reset): Removed checking if the scale factor has changed and
1434         updating m_deviceScaleFactor.
1435         (WebCore::HTMLCanvasElement::convertLogicalToDevice): Removed scaling by the device scale
1436         factor.
1437         (WebCore::HTMLCanvasElement::convertDeviceToLogical): Ditto.
1438         (WebCore::HTMLCanvasElement::createImageBuffer): Replaced m_deviceScaleFactor with a literal
1439         1.
1440         (WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Deleted.
1441         * html/HTMLCanvasElement.h: Removed m_deviceScaleFactor member variable and its getter.
1442
1443         * html/canvas/CanvasRenderingContext2D.cpp:
1444         (WebCore::CanvasRenderingContext2D::putImageData): Removed scaling by the device scale
1445         factor.
1446         * html/canvas/CanvasRenderingContext2D.h:
1447         (WebCore::CanvasRenderingContext2D::webkitBackingStorePixelRatio): Changed to return 1.
1448
1449         * html/canvas/WebGLRenderingContext.cpp:
1450         (WebCore::WebGLRenderingContext::texImage2D): Replaced deviceScaleFactor() with 1.
1451         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
1452
1453 2014-09-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1454
1455         XMLHttpRequest always defaults Content-Type to application/xml, while it should depend on data type
1456         https://bugs.webkit.org/show_bug.cgi?id=11049
1457
1458         Reviewed by Darin Adler.
1459
1460         Updated default mime type when sending text (changed from application/xml to text/plain;charset=UTF-8)
1461         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)
1462
1463         Test: http/tests/xmlhttprequest/post-content-type-document.html
1464
1465         * xml/XMLHttpRequest.cpp:
1466         (WebCore::XMLHttpRequest::send): updating default Content-Type valuess.
1467
1468 2014-09-02  Brian J. Burg  <burg@cs.washington.edu>
1469
1470         Web Inspector: fix prefixes for subclasses of JSC::ConsoleClient
1471         https://bugs.webkit.org/show_bug.cgi?id=136476
1472
1473         Reviewed by Timothy Hatcher.
1474
1475         No new tests. No behavior changed.
1476
1477         * CMakeLists.txt:
1478         * WebCore.exp.in:
1479         * WebCore.order:
1480         * WebCore.vcxproj/WebCore.vcxproj:
1481         * WebCore.vcxproj/WebCore.vcxproj.filters:
1482         * WebCore.xcodeproj/project.pbxproj:
1483         * bindings/js/JSCustomXPathNSResolver.cpp:
1484         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1485         * bindings/js/ScriptCachedFrameData.cpp:
1486         (WebCore::ScriptCachedFrameData::restore):
1487         * bindings/js/ScriptController.cpp:
1488         (WebCore::ScriptController::clearWindowShell):
1489         (WebCore::ScriptController::initScript):
1490         * css/CSSParser.cpp:
1491         (WebCore::CSSParser::logError):
1492         * dom/Document.cpp:
1493         (WebCore::Document::addConsoleMessage):
1494         (WebCore::Document::addMessage):
1495         * inspector/PageDebuggerAgent.cpp:
1496         (WebCore::PageDebuggerAgent::muteConsole):
1497         (WebCore::PageDebuggerAgent::unmuteConsole):
1498         (WebCore::PageDebuggerAgent::breakpointActionLog):
1499         * inspector/PageRuntimeAgent.cpp:
1500         (WebCore::PageRuntimeAgent::muteConsole):
1501         (WebCore::PageRuntimeAgent::unmuteConsole):
1502         * page/DOMWindow.cpp:
1503         (WebCore::DOMWindow::console):
1504         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
1505         (WebCore::DOMWindow::close):
1506         (WebCore::DOMWindow::printErrorMessage):
1507         (WebCore::DOMWindow::pageConsole): Deleted.
1508         * page/DOMWindow.h:
1509         * page/Page.cpp:
1510         (WebCore::Page::Page):
1511         * page/Page.h:
1512         * page/PageConsoleClient.cpp: Renamed from Source/WebCore/page/PageConsole.cpp.
1513         * page/PageConsoleClient.h: Renamed from Source/WebCore/page/PageConsole.h.
1514         * testing/Internals.cpp:
1515         (WebCore::Internals::consoleProfiles):
1516         * testing/Internals.h:
1517         * xml/XSLStyleSheetLibxslt.cpp:
1518         (WebCore::XSLStyleSheet::parseString):
1519         * xml/XSLTProcessorLibxslt.cpp:
1520         (WebCore::XSLTProcessor::parseErrorFunc):
1521         (WebCore::docLoaderFunc):
1522
1523 2014-09-03  Maciej Stachowiak  <mjs@apple.com>
1524
1525         Fix a few leftovers from removing MIME-related WKSI usage
1526         https://bugs.webkit.org/show_bug.cgi?id=136513
1527
1528         Reviewed by Alexey Proskuryakov.
1529
1530         * WebCore.exp.in:
1531         * WebCore.order:
1532         * platform/ios/WebCoreSystemInterfaceIOS.mm:
1533         * platform/mac/WebCoreSystemInterface.mm:
1534
1535 2014-09-03  Myles C. Maxfield  <mmaxfield@apple.com>
1536
1537         Text caret changes to color of text in Mail and Notes
1538         https://bugs.webkit.org/show_bug.cgi?id=135904
1539
1540         Reviewed by Simon Fraser.
1541
1542         Consult with the background color of spans inside editable divs to determine what color
1543         the caret should be.
1544
1545         Test: editing/caret/color-span-inside-editable.html
1546
1547         * editing/FrameSelection.cpp:
1548         (WebCore::CaretBase::paintCaret):
1549
1550 2014-09-03  Tim Horton  <timothy_horton@apple.com>
1551
1552         Fix the iOS build after r173230
1553
1554         * WebCore.exp.in:
1555
1556 2014-09-03  Myles C. Maxfield  <mmaxfield@apple.com>
1557
1558         Remove unnecessary function from TextPainter
1559         https://bugs.webkit.org/show_bug.cgi?id=136497
1560
1561         Reviewed by Simon Fraser.
1562
1563         Function is never called.
1564
1565         No new tests because there is no behavior change.
1566
1567         * rendering/TextPainter.cpp:
1568         (WebCore::TextPainter::paintTextInContext): Deleted.
1569         * rendering/TextPainter.h:
1570
1571 2014-09-03  Anders Carlsson  <andersca@apple.com>
1572
1573         Don't use DEPRECATED_DEFINE_STATIC_LOCAL for mutexes
1574         https://bugs.webkit.org/show_bug.cgi?id=136510
1575
1576         Reviewed by Andreas Kling.
1577
1578         Mutexes are intended to be used from multiple threads, and DEPRECATED_DEFINE_STATIC_LOCAL is not thread safe.
1579
1580         * bindings/objc/DOMInternal.mm:
1581         (wrapperCacheLock):
1582         (getDOMWrapper):
1583         (addDOMWrapper):
1584         (removeDOMWrapper):
1585         Use LazyNeverDestroyed + std::call_once, and switch the mutex over to an std::mutex.
1586
1587         * dom/EventListenerMap.cpp:
1588         (WebCore::EventListenerMap::assertNoActiveIterators):
1589         (WebCore::EventListenerIterator::EventListenerIterator):
1590         (WebCore::EventListenerIterator::~EventListenerIterator):
1591         (WebCore::activeIteratorCountMutex):
1592         (WebCore::EventListenerMap::EventListenerMap): Deleted.
1593         * dom/EventListenerMap.h:
1594         Use an std::atomic<int> instead of a mutex here.
1595
1596 2014-09-03  Enrica Casucci  <enrica@apple.com>
1597
1598         Remove PLATFORM(IOS) from WebCore/editing (Part 1).
1599         https://bugs.webkit.org/show_bug.cgi?id=136474
1600
1601         Reviewed by Tim Horton.
1602
1603         This is the first part of the work to remove PLATFORM(IOS) everywhere
1604         in the editing code.
1605
1606         * dom/Range.cpp:
1607         (WebCore::Range::create): Adding create function that takes VisiblePosition.
1608         * dom/Range.h:
1609         * editing/CompositeEditCommand.cpp:
1610         (WebCore::CompositeEditCommand::apply):
1611         (WebCore::CompositeEditCommand::inputText):
1612         * editing/CompositeEditCommand.h:
1613         * editing/DeleteButton.h: No need for the platform guard since it is already under
1614         DELETION_UI
1615         * editing/DeleteButtonController.cpp:
1616         (WebCore::DeleteButtonController::enable):
1617         (WebCore::DeleteButtonController::disable):
1618         * editing/EditAction.h:
1619         * editing/EditCommand.h:
1620         (WebCore::EditCommand::isInsertTextCommand):
1621         * editing/Editor.cpp:
1622         (WebCore::ClearTextCommand::CreateAndApply):
1623         * editing/Editor.h:
1624         * editing/EditorCommand.cpp:
1625         (WebCore::executeClearText):
1626         (WebCore::enabledCopy):
1627         (WebCore::enabledCut):
1628         (WebCore::enabledClearText):
1629         (WebCore::createCommandMap):
1630         * editing/FrameSelection.cpp:
1631         (WebCore::FrameSelection::modifyExtendingRight):
1632         (WebCore::FrameSelection::modifyExtendingForward):
1633         (WebCore::FrameSelection::modifyMovingRight):
1634         (WebCore::FrameSelection::modifyMovingForward):
1635         (WebCore::FrameSelection::modifyExtendingLeft):
1636         (WebCore::FrameSelection::modifyExtendingBackward):
1637         (WebCore::FrameSelection::modifyMovingLeft):
1638         (WebCore::FrameSelection::modifyMovingBackward):
1639         * editing/InsertTextCommand.h:
1640         * editing/TextCheckingHelper.cpp:
1641         * editing/TextGranularity.h:
1642         * editing/VisiblePosition.h:
1643         (WebCore::operator>=):
1644         * editing/VisibleSelection.cpp:
1645         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
1646         * editing/VisibleUnits.cpp:
1647         * editing/VisibleUnits.h:
1648
1649 2014-09-03  Anders Carlsson  <andersca@apple.com>
1650
1651         Get rid of some uses of OwnPtr
1652         https://bugs.webkit.org/show_bug.cgi?id=136503
1653
1654         Reviewed by Sam Weinig.
1655
1656         * dom/ElementRareData.cpp:
1657         * dom/ElementRareData.h:
1658         (WebCore::ElementRareData::create): Deleted.
1659         * dom/MutationObserverRegistration.cpp:
1660         (WebCore::MutationObserverRegistration::create): Deleted.
1661         * dom/MutationObserverRegistration.h:
1662         * dom/Node.cpp:
1663         (WebCore::Node::materializeRareData):
1664         (WebCore::Node::didMoveToNewDocument):
1665         (WebCore::eventTargetDataMap):
1666         (WebCore::Node::eventTargetData):
1667         (WebCore::Node::ensureEventTargetData):
1668         (WebCore::Node::mutationObserverRegistry):
1669         (WebCore::Node::registerMutationObserver):
1670         (WebCore::Node::unregisterMutationObserver):
1671         (WebCore::Node::notifyMutationObserversNodeWillDetach):
1672         * dom/Node.h:
1673         * dom/NodeRareData.h:
1674         (WebCore::NodeListsNodeData::NodeListsNodeData):
1675         (WebCore::NodeRareData::NodeRareData):
1676         (WebCore::NodeRareData::clearNodeLists):
1677         (WebCore::NodeRareData::ensureNodeLists):
1678         (WebCore::NodeRareData::ensureMutationObserverData):
1679         (WebCore::NodeListsNodeData::create): Deleted.
1680         (WebCore::NodeMutationObserverData::create): Deleted.
1681         (WebCore::NodeRareData::create): Deleted.
1682
1683 2014-09-02  Maciej Stachowiak  <mjs@apple.com>
1684
1685         Clean up naming for and slightly refactor legacy video fullscreen support
1686         https://bugs.webkit.org/show_bug.cgi?id=136446
1687
1688         Reviewed by Jer Noble.
1689
1690         Key changes:
1691         supportsFullscreenForNode(Node*) --> supportsVideoFullscreen()
1692         enterFullscreenForNode(Node*) --> enterVideoFullscreenForVideoElement(HTMLVideoElement*)
1693         exitFullscreenForNode(Node*) --> exitVideoFullscreen()
1694         
1695         The old versions had unnecessary parameters, did not clearly distinguish their purpose
1696         from enterFullscreenForElement and friends, and wrongly claimed generality to all Nodes.
1697         Also changed many other places to use HTMLVideoElement* instead of Node* or 
1698         HTMLMediaElement* when they were in fact only used for video elements and would only
1699         work for such.
1700
1701         The implications of this include a bunch of renaming in some iOS fullscreen code.
1702
1703         * html/HTMLMediaElement.cpp:
1704         (WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_isFullscreen flag to 
1705         m_isInVideoFullscreen, since it only covers the case of legacy video fullscreen,
1706         not element fullscreen.
1707         (WebCore::HTMLMediaElement::stop): ditto
1708         (WebCore::HTMLMediaElement::requiresTextTrackRepresentation): ditto
1709         (WebCore::HTMLMediaElement::isFullscreen): ditto
1710         (WebCore::HTMLMediaElement::enterFullscreen): Rename m_isFullscreen flag to
1711         m_isInVideoFullscreen. Hoist video element check here from all supportsFullscrenForNode
1712         clients. Adjust for relevant ChromeClient refactorings.
1713         (WebCore::HTMLMediaElement::enterFullscreen): ditto above
1714         * html/HTMLMediaElement.h:
1715         * html/HTMLVideoElement.cpp:
1716         (WebCore::HTMLVideoElement::supportsFullscreen): Adjust for relevant ChromeClient 
1717         refactorings.
1718         * page/ChromeClient.h:
1719         (WebCore::ChromeClient::supportsVideoFullscreen): Renamed from 
1720         supportsFullscreenForNode, and removed Node* parameter.
1721         (WebCore::ChromeClient::enterVideoFullscreenForVideoElement): Renamed from
1722         enterFulscreenForNode and changed Node* parameter to HTMLVideoElement*.
1723         (WebCore::ChromeClient::exitVideoFullscreen): Renamed from 
1724         exitFullscreenForNode, and removed Node* parameter.
1725         * platform/ios/WebVideoFullscreenControllerAVKit.h:
1726         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1727         (-[WebVideoFullscreenController videoElement]): Renamed from mediaElement;
1728         return a video element and not just a media element.
1729         (-[WebVideoFullscreenController dealloc]): Renamed _mediaElement data member
1730         to _videoElement and changed type accordingly.
1731         (-[WebVideoFullscreenController setVideoElement:]): Renamed from setMediaElement:
1732         and adjust parameter type accordingly.
1733         (-[WebVideoFullscreenController enterFullscreen:]): Video elements, not media
1734         elements.
1735         (-[WebVideoFullscreenController exitFullscreen]): ditto
1736         (-[WebVideoFullscreenController didCleanupFullscreen]): ditto
1737         * platform/ios/WebVideoFullscreenInterface.h:
1738         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Remove gratuitous HTMLMEdiaElement.h include
1739         and fix declarations accordingly.
1740         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Include WTFString.h
1741         * platform/ios/WebVideoFullscreenModelVideoElement.h: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenModelMediaElement.h.
1742         * platform/ios/WebVideoFullscreenModelVideoElement.mm: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenModelMediaElement.mm.
1743         (WebVideoFullscreenModelVideoElement) Renamed from WebVideoFullscreenModelMediaElement
1744         (WebVideoFullscreenModelVideoElement::setVideoElement): Renamed from setMediaElement and
1745         change param type accordingly. Also no need to check for actual videoness of the element.
1746         (WebVideoFullscreenModelVideoElement::updateForEventName): Rename data member from m_mediaElement
1747         to m_videoElement and change type accordingly.
1748         (WebVideoFullscreenModelVideoElement::setVideoFullscreenLayer): ditto
1749         (WebVideoFullscreenModelVideoElement::play): ditto
1750         (WebVideoFullscreenModelVideoElement::pause): ditto
1751         (WebVideoFullscreenModelVideoElement::togglePlayState): ditto
1752         (WebVideoFullscreenModelVideoElement::beginScrubbing): ditto
1753         (WebVideoFullscreenModelVideoElement::endScrubbing): ditto
1754         (WebVideoFullscreenModelVideoElement::seekToTime): ditto
1755         (WebVideoFullscreenModelVideoElement::fastSeek): ditto
1756         (WebVideoFullscreenModelVideoElement::beginScanningForward): ditto
1757         (WebVideoFullscreenModelVideoElement::beginScanningBackward): ditto
1758         (WebVideoFullscreenModelVideoElement::endScanning): ditto
1759         (WebVideoFullscreenModelVideoElement::requestExitFullscreen): ditto
1760         (WebVideoFullscreenModelVideoElement::setVideoLayerFrame): ditto
1761         (WebVideoFullscreenModelVideoElement::setVideoLayerGravity): ditto
1762         (WebVideoFullscreenModelVideoElement::updateLegibleOptions): ditto
1763         * platform/mac/WebVideoFullscreenController.h:
1764         * platform/mac/WebVideoFullscreenController.mm:
1765         (-[WebVideoFullscreenController videoElement]): Renamed from mediaElement
1766         and update return type accordingly.
1767         (-[WebVideoFullscreenController setVideoElement:]): Renamed from 
1768         setMediaElement and update return type accordingly.
1769         (-[WebVideoFullscreenController videoElementRect]): Renamed
1770         from mediaElementRect.
1771         (-[WebVideoFullscreenController enterFullscreen:]): Update for
1772         rename.
1773         (-[WebVideoFullscreenController exitFullscreen]): ditto
1774         (-[WebVideoFullscreenController updatePowerAssertions]): Rename
1775         member from _mediaElement to _videoElement
1776         (-[WebVideoFullscreenController _requestExit]): ditto
1777         * WebCore.exp.in: Adjust for function and class renames.
1778         * WebCore.xcodeproj/project.pbxproj: Adjust for file renames.
1779
1780 2014-09-03  Benjamin Poulain  <benjamin@webkit.org>
1781
1782         Fix style invalidation of elements with multiple siblings dependencies
1783         https://bugs.webkit.org/show_bug.cgi?id=136472
1784
1785         Reviewed by Andreas Kling.
1786
1787         Previously, style invalidation of siblings was driven by a pair of flags:
1788         -ChildrenAffectedByDirectAdjacentRules.
1789         -ChildrenAffectedByForwardPositionalRules.
1790
1791         When ChildrenAffectedByDirectAdjacentRules was set, the element after an element
1792         with "needsStyleRecalc" was also recomputed. While this work for pair of elements:
1793             a + b
1794         It does not work for more than that. For example, with
1795             a.propery + b + c
1796         When the state of <a> changes, the style of <b> was updated, which is useless. The style
1797         of <c> was untouched, which is incorrect.
1798
1799         When ChildrenAffectedByForwardPositionalRules, all elements after one with "needsStyleRecalc"
1800         were invalidated. While more correct, it caused avalanche of style recalc and was not a very
1801         useful "optimization".
1802
1803  
1804         To fix the correctness issues (e.g. "a + b + c"), I could have gone two ways:
1805         1) Invalidate the parent of a, b, c. The children would always get a correct style
1806            when their parent's style would be resolved.
1807         2) Create invalidation relations to enforce that the right siblings are invalidated.
1808
1809         I have decided for a weak version of (2). The reason is that most DOM trees are very
1810         shallow while being very wide. Invalidating the parent generally causes massive style
1811         recalculation.
1812
1813         To keep things simple for now, there is no explicit dependency list between siblings.
1814         Instead, each element has a pair of flag:
1815         1) The element's style depends on the state of a previous sibling.
1816         2) The element's state affects following siblings.
1817
1818         With the notation "<-" for (1), "->" for (2), the selector "a + b + c" create this kind
1819         of marking:
1820             a  +  b  +  c
1821             ->    ->
1822                        <-
1823
1824         When <a> is invalidated, the style resolver will go through the chain of dependent elements
1825         and invalidate any element that can be affected by a prior invalidation, here <c>.
1826
1827         Overlaps are possible. For example with the two selector, "a + b + c", "b ~ d"
1828         the marking would be
1829             a  +  b  +  c  +  d
1830             ->    ->    ->
1831                        <-    <-
1832
1833         A change in <a> would invalidate both <c> and <d>. This is overkill, but the end result
1834         is correct and it is a net improvement over the previous flags.
1835
1836
1837         As usual, the CSS JIT makes an effort at compile time to reduce tree marking. SelectorChecker
1838         marks everything as usual.
1839
1840         Tests: fast/css/direct-adjacent-style-update-optimization.html
1841                fast/css/indirect-adjacent-style-update-optimization.html
1842                fast/css/non-matching-adjacent-style-update.html
1843                fast/selectors/first-of-type-direct-adjacent-style-update.html
1844                fast/selectors/first-of-type-sibling-style-update.html
1845                fast/selectors/id-direct-adjacent-style-update.html
1846                fast/selectors/id-sibling-style-update.html
1847                fast/selectors/nth-child-as-first-simple-selector-style-update.html
1848                fast/selectors/nth-child-direct-adjacent-style-update.html
1849                fast/selectors/nth-child-style-update.html
1850
1851         * css/SelectorChecker.cpp:
1852         (WebCore::isFirstOfType):
1853         (WebCore::countElementsBefore):
1854         (WebCore::countElementsOfTypeBefore):
1855         Counting selectors are not unlike adjacent combinators, they are handled the exact same way.
1856         For example a :nth-child(4) would generate somewhat similar marking as
1857             :first-child + * + * + *
1858
1859         Everything prior to the element with the counter affects the style of the element.
1860
1861         (WebCore::hasScrollbarPseudoElement):
1862         The assertion was incorrect. You can get an scrollbar pseudo ID on an element without scrollbar.
1863         It will never match, but such case is possible.
1864
1865         (WebCore::SelectorChecker::matchRecursively):
1866         (WebCore::SelectorChecker::checkOne):
1867         * css/StyleResolver.cpp:
1868         (WebCore::StyleResolver::canShareStyleWithElement):
1869         Previously, any subtree affected by sibling selectors were unshareable. That was done by checking
1870         for Element::hasFlagsSetDuringStylingOfChildren().
1871
1872         Now that sibling relation are local, they no longer prevent sharing of all children. Instead, we can
1873         test locally for subgroup with sibling relations.
1874
1875         * cssjit/SelectorCompiler.cpp:
1876         (WebCore::SelectorCompiler::isAdjacentRelation):
1877         (WebCore::SelectorCompiler::shouldMarkStyleIsAffectedByPreviousSibling):
1878         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
1879         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
1880         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
1881         (WebCore::SelectorCompiler::SelectorCodeGenerator::markElementIfResolvingStyle):
1882         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
1883         (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle): Deleted.
1884         * dom/Document.cpp:
1885         (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
1886         * dom/Element.cpp:
1887         (WebCore::checkForSiblingStyleChanges):
1888         (WebCore::Element::hasFlagsSetDuringStylingOfChildren):
1889         (WebCore::Element::setChildrenAffectedByForwardPositionalRules): Deleted.
1890         (WebCore::Element::rareDataChildrenAffectedByForwardPositionalRules): Deleted.
1891         * dom/Element.h:
1892         (WebCore::Element::affectsNextSiblingElementStyle):
1893         (WebCore::Element::setAffectsNextSiblingElementStyle):
1894         (WebCore::Element::setStyleIsAffectedByPreviousSibling):
1895         (WebCore::Element::childrenAffectedByPositionalRules): Deleted.
1896         (WebCore::Element::childrenAffectedByDirectAdjacentRules): Deleted.
1897         (WebCore::Element::childrenAffectedByForwardPositionalRules): Deleted.
1898         (WebCore::Element::setChildrenAffectedByDirectAdjacentRules): Deleted.
1899         (WebCore::Element::setChildrenAffectedByForwardPositionalRules): Deleted.
1900         * dom/ElementRareData.h:
1901         (WebCore::ElementRareData::ElementRareData):
1902         (WebCore::ElementRareData::resetDynamicRestyleObservations):
1903         (WebCore::ElementRareData::childrenAffectedByForwardPositionalRules): Deleted.
1904         (WebCore::ElementRareData::setChildrenAffectedByForwardPositionalRules): Deleted.
1905         * dom/Node.h:
1906         (WebCore::Node::styleIsAffectedByPreviousSibling):
1907         (WebCore::Node::flagAffectsNextSiblingElementStyle):
1908         (WebCore::Node::flagStyleIsAffectedByPreviousSibling):
1909         (WebCore::Node::flagChildrenAffectedByDirectAdjacentRulesFlag): Deleted.
1910         * html/HTMLElement.h:
1911         (WebCore::HTMLElement::isHTMLUnknownElement):
1912         * html/HTMLUnknownElement.h:
1913         * style/StyleResolveTree.cpp:
1914         (WebCore::Style::resetStyleForNonRenderedDescendants):
1915         (WebCore::Style::resolveTree):
1916
1917 2014-09-03  Simon Fraser  <simon.fraser@apple.com>
1918
1919         Dump SimpleLineLayout info in showRenderTree() output
1920         https://bugs.webkit.org/show_bug.cgi?id=136489
1921
1922         Reviewed by Zalan Bujtas.
1923         
1924         Include info about SimpleLineLayout to showRenderTree() output.
1925         
1926         Also show RenderText length, and truncate the RenderText contents
1927         to 80 chars (since the string is replicated in inline boxes or simple line layout output).
1928
1929         * rendering/RenderBlockFlow.cpp:
1930         (WebCore::RenderBlockFlow::showLineTreeAndMark):
1931         * rendering/RenderObject.cpp:
1932         (WebCore::RenderObject::showRenderObject):
1933         * rendering/SimpleLineLayoutFunctions.cpp:
1934         (WebCore::SimpleLineLayout::printPrefix):
1935         (WebCore::SimpleLineLayout::showLineTreeForFlow):
1936         * rendering/SimpleLineLayoutFunctions.h:
1937
1938 2014-09-03  Tim Horton  <timothy_horton@apple.com>
1939
1940         iOS build fix after r173217 
1941
1942         * platform/graphics/ios/FontServicesIOS.h:
1943         (WebCore::FontServicesIOS::capHeight):
1944         * platform/graphics/ios/FontServicesIOS.mm:
1945         (WebCore::FontServicesIOS::FontServicesIOS):
1946         This fixes the build, but I don't know if it's completely correct.
1947
1948 2014-09-03  Anders Carlsson  <andersca@apple.com>
1949
1950         Get rid of DOMImplementationFront
1951         https://bugs.webkit.org/show_bug.cgi?id=136495
1952
1953         Reviewed by Andreas Kling.
1954
1955         DOMImplementationFront was used in a workaround for a GCC bug, and since we're building with clang
1956         on Mac this is no longer an issue.
1957
1958         * WebCore.xcodeproj/project.pbxproj:
1959         * bindings/objc/DOMImplementationFront.cpp: Removed.
1960         * bindings/objc/DOMImplementationFront.h: Removed.
1961         Remove files.
1962
1963         * bindings/objc/DOMUtility.mm:
1964         (JSC::createDOMWrapper):
1965         Remove call to implementationFront.
1966
1967         * bindings/scripts/CodeGeneratorObjC.pm:
1968         (GetImplClassName):
1969         Remove DOMImplementation special case
1970
1971         (AddIncludesForType):
1972         Ditto.
1973
1974         (GenerateHeader):
1975         Use the class header name in the #import in the internal header.
1976
1977         (GenerateImplementation):
1978         Remove DOMImplementation special case.
1979
1980 2014-09-03  Brent Fulgham  <bfulgham@apple.com>
1981
1982         [Win] Improper release of unretained AVCFAssetResourceLoaderRef
1983         https://bugs.webkit.org/show_bug.cgi?id=136493
1984         <rdar://problem/18112559>
1985
1986         Reviewed by Eric Carlson.
1987
1988         Don't bother wrapping the return value of AVCFURLAssetGetResourceLoader in a
1989         RetainPtr. We don't hold onto this value or want to control its lifetime; we just
1990         want to pass it to the AVCFAssetResourceLoaderSetCallbacks function.
1991
1992         Use of the RetainPtr created a double-release and crash.
1993
1994         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1995         (WebCore::AVFWrapper::createAssetForURL): 
1996
1997 2014-09-03  David Hyatt  <hyatt@apple.com>
1998
1999         Add support for the initial-letter CSS property to first-letter
2000         https://bugs.webkit.org/show_bug.cgi?id=136484
2001
2002         Reviewed by Dean Jackson.
2003         
2004         New tests in fast/css-generated-content/initial-letter-*.html
2005
2006         This patch add support for the CSS initial-letter property, enabling
2007         better drop caps support in WebKit. Letters size to a specified number of
2008         paragraph lines, and align to the cap-height of the first line and the baseline
2009         of the last line.
2010
2011         * css/CSSComputedStyleDeclaration.cpp:
2012         (WebCore::ComputedStyleExtractor::propertyValue):
2013         Add -webkit-initial-letter to the list.
2014
2015         * css/CSSLineBoxContainValue.cpp:
2016         (WebCore::CSSLineBoxContainValue::customCSSText):
2017         * css/CSSLineBoxContainValue.h:
2018         Add support for a new value of line-box-contain, initial-letter, that causes
2019         lines to use cap-height above the baseline and the glyph bounds below the
2020         baseline.
2021
2022         * css/CSSParser.cpp:
2023         (WebCore::CSSParser::parseValue):
2024         Add support for parsing of initial-letter.
2025
2026         (WebCore::CSSParser::parseLineBoxContain):
2027         Add the new line-box-contain value for first-letters with initial-letter set.
2028
2029         * css/CSSPropertyNames.in:
2030         Add the new initial-letter property.
2031
2032         * css/CSSValueKeywords.in:
2033         Add the new initial-letter line-box-contain value.
2034
2035         * css/StyleResolver.cpp:
2036         (WebCore::StyleResolver::applyProperty):
2037         Map initial-letter into the RenderStyle.
2038
2039         * platform/graphics/FontMetrics.h:
2040         (WebCore::FontMetrics::hasCapHeight):
2041         (WebCore::FontMetrics::floatCapHeight):
2042         (WebCore::FontMetrics::setCapHeight):
2043         (WebCore::FontMetrics::capHeight):
2044         * platform/graphics/ios/SimpleFontDataIOS.mm:
2045         (WebCore::SimpleFontData::platformInit):
2046         * platform/graphics/mac/SimpleFontDataMac.mm:
2047         (WebCore::SimpleFontData::platformInit):
2048         Add support for cap-height to the font system. iOS and Mac have been patched.
2049         Other platforms will need to add support for cap-height to get this feature.
2050         hasCapHeight() will return false for unsupported platforms for graceful
2051         degradation.
2052
2053         * rendering/RenderBlock.cpp:
2054         (WebCore::styleForFirstLetter):
2055         Modified to check for initialLetterDrop/Height and to adjust the style
2056         accordingly (e.g., to apply float when needed).
2057
2058         * rendering/RenderBlockFlow.cpp:
2059         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
2060         Code to adjust the float's position and margin to do cap-height alignment
2061         and sunken letters.
2062
2063         * rendering/RenderBlockFlow.h:
2064         Remove the const from computeLogicalLocationForFloat, since the margin of the
2065         float can now be modified dynamically for sunken first-letters.
2066
2067         * rendering/RootInlineBox.cpp:
2068         (WebCore::RootInlineBox::ascentAndDescentForBox):
2069         Add support for initial-letter line-box-contain value.
2070
2071         * rendering/RootInlineBox.h:
2072         Add the includeInitialLetterForBox method to support the new line-box-contain value.
2073
2074         * rendering/style/RenderStyle.cpp:
2075         (WebCore::RenderStyle::changeRequiresLayout):
2076         * rendering/style/RenderStyle.h:
2077         * rendering/style/StyleRareNonInheritedData.cpp:
2078         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2079         (WebCore::StyleRareNonInheritedData::operator==):
2080         * rendering/style/StyleRareNonInheritedData.h:
2081         Normal maintenance stuff for addition of a new CSS property (making sure it is diffed
2082         properly for layout changes and copied on assignment, etc.)
2083
2084 2014-09-03  Brent Fulgham  <bfulgham@apple.com>
2085
2086         [Win] Prevent double-release on AVCFURLAssetRef
2087         https://bugs.webkit.org/show_bug.cgi?id=136492
2088         <rdar://problem/18206746>
2089
2090         Reviewed by Eric Carlson.
2091
2092         The AVFWrapper::setAsset method needs to retain the passed argument, since it
2093         originates from AVCFPlayerItemGetAsset, which does not increment the
2094         reference count of its return value as expected by Cocoa Get/Create/Copy
2095         semantics.
2096
2097         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2098         (WebCore::AVFWrapper::setAsset): Retain the passed argument.
2099
2100 2014-09-03  Dan Bernstein  <mitz@apple.com>
2101
2102         Get rid of HIGH_DPI_CANVAS leftovers
2103         https://bugs.webkit.org/show_bug.cgi?id=136491
2104
2105         Reviewed by Benjamin Poulain.
2106
2107         * Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS
2108         and removed it from FEATURE_DEFINES.
2109         * html/HTMLCanvasElement.cpp:
2110         (WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Removed #if ENABLE(HIGH_DPI_CANVAS)
2111         code.
2112
2113 2014-09-03  Joseph Pecoraro  <pecoraro@apple.com>
2114
2115         Use StringBuilder append(char) and appendLiteral in more places
2116         https://bugs.webkit.org/show_bug.cgi?id=136470
2117
2118         Reviewed by Andreas Kling.
2119
2120         * Modules/indexeddb/IDBKeyData.cpp:
2121         (WebCore::IDBKeyData::loggingString):
2122         * Modules/websockets/WebSocket.cpp:
2123         (WebCore::encodeProtocolString):
2124         * Modules/websockets/WebSocketExtensionDispatcher.cpp:
2125         (WebCore::WebSocketExtensionDispatcher::createHeaderValue):
2126         (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
2127         * Modules/websockets/WebSocketHandshake.cpp:
2128         (WebCore::WebSocketHandshake::clientLocation):
2129         (WebCore::WebSocketHandshake::clientHandshakeMessage):
2130         * css/CSSCalculationValue.cpp:
2131         (WebCore::buildCssText):
2132         * css/CSSComputedStyleDeclaration.cpp:
2133         (WebCore::CSSComputedStyleDeclaration::cssText):
2134         * css/CSSMediaRule.cpp:
2135         (WebCore::CSSMediaRule::cssText):
2136         * css/CSSSelectorList.cpp:
2137         (WebCore::CSSSelectorList::selectorsText):
2138         * css/CSSSupportsRule.cpp:
2139         (WebCore::CSSSupportsRule::cssText):
2140         * css/MediaQuery.cpp:
2141         (WebCore::MediaQuery::serialize):
2142         * editing/MarkupAccumulator.cpp:
2143         (WebCore::MarkupAccumulator::generateUniquePrefix):
2144         * editing/markup.cpp:
2145         (WebCore::urlToMarkup):
2146         * fileapi/FileReaderLoader.cpp:
2147         (WebCore::FileReaderLoader::convertToDataURL):
2148         * html/EmailInputType.cpp:
2149         (WebCore::EmailInputType::sanitizeValue):
2150         * html/FormController.cpp:
2151         (WebCore::recordFormStructure):
2152         * html/parser/XSSAuditorDelegate.cpp:
2153         (WebCore::buildConsoleError):
2154         * html/track/WebVTTParser.cpp:
2155         (WebCore::WebVTTParser::collectCueText):
2156         * mathml/MathMLMencloseElement.cpp:
2157         (WebCore::MathMLMencloseElement::longDivLeftPadding):
2158         * page/PageSerializer.cpp:
2159         (WebCore::SerializerMarkupAccumulator::appendElement):
2160         * page/SecurityOrigin.cpp:
2161         (WebCore::SecurityOrigin::toRawString):
2162         * page/scrolling/ScrollingCoordinator.cpp:
2163         (WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):
2164         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
2165         (WebCore::logThreadedScrollingMode):
2166         * platform/PODInterval.h:
2167         (WebCore::PODInterval::toString):
2168         * platform/PODRedBlackTree.h:
2169         (WebCore::PODRedBlackTree::dumpFromNode):
2170         * platform/UUID.cpp:
2171         (WebCore::createCanonicalUUIDString):
2172         * platform/network/ProxyServer.cpp:
2173         (WebCore::appendProxyServerString):
2174         (WebCore::toString):
2175         * platform/text/DateTimeFormat.cpp:
2176         (WebCore::DateTimeFormat::quoteAndAppendLiteral):
2177         * platform/text/PlatformLocale.cpp:
2178         (WebCore::DateTimeStringBuilder::zeroPadString):
2179         (WebCore::Locale::convertFromLocalizedNumber):
2180         * platform/text/TextStream.cpp:
2181         (WebCore::TextStream::operator<<):
2182         * rendering/RenderListMarker.cpp:
2183         (WebCore::listMarkerText):
2184         * testing/Internals.cpp:
2185         (WebCore::Internals::parserMetaData):
2186         (WebCore::Internals::getCurrentCursorInfo):
2187
2188 2014-09-03  Bear Travis  <betravis@adobe.com>
2189
2190         [CSS Font Loading] Enable Page Caching
2191         https://bugs.webkit.org/show_bug.cgi?id=136044
2192
2193         Reviewed by Andreas Kling.
2194
2195         Modifying FontLoader to track fonts loaded via the loadFont
2196         method as well as via CSS rules. Fonts loaded via loadFont are
2197         tracked in m_numLoadingFromJS, while fonts loaded via CSS rules
2198         are tracked in m_numLoadingFromCSS. The page is cacheable when no
2199         fonts are currently loading.
2200
2201         Added fast/css/fontloader-page-cache.html
2202
2203         * css/FontLoader.cpp:
2204         (WebCore::LoadFontCallback::create): Modified to take and store
2205         the number of fonts it will be loading.
2206         (WebCore::LoadFontCallback::createFromParams): Ditto.
2207         (WebCore::LoadFontCallback::familyCount): Getter for number of
2208         fonts loaded via this callback.
2209         (WebCore::LoadFontCallback::LoadFontCallback):
2210         (WebCore::LoadFontCallback::notifyLoaded): Callback the FontLoader
2211         to let it update its count when all the fonts have finished loading.
2212         (WebCore::FontLoader::loadFontDone): Ditto.
2213         (WebCore::FontLoader::FontLoader):
2214         (WebCore::FontLoader::beginFontLoading): Track the number of fonts
2215         loading.
2216         (WebCore::FontLoader::fontLoaded): Ditto.
2217         (WebCore::FontLoader::loadError): Ditto.
2218         (WebCore::FontLoader::loadFont):
2219         * css/FontLoader.h:
2220         (WebCore::FontLoader::loading):
2221
2222 2014-08-29  Gavin Barraclough  <barraclough@apple.com>
2223
2224         Simplify DOMTimer::adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
2225         https://bugs.webkit.org/show_bug.cgi?id=136402
2226
2227         Reviewed by Andreas Kling.
2228
2229         When the minimum DOM timer interval changes, the Page updates all DOMTimers accordingly.
2230         Updating the fire/repeat interval on TimerBase requires a delta, but in
2231         DOMTimer::adjustMinimumTimerInterval we have the new requested interval. In the case of
2232         timers we can get the current interval to calculate the delta by calling repeatInterval(),
2233         but in the case of one-shot timers neither TimerBase nor DOMTimer have store the interval
2234         that was actually set for the timer (DOMTimer knows the original, unadjusted timer, but
2235         not the actual interval). The way this currently works is that when the minimum interval
2236         changes, Page calls adjustMinimumTimerInterval providing the previous minimum. If the
2237         timer is one-shot, then adjustMinimumTimerInterval will use this to compute the delta
2238         based on what the interval would have been.
2239
2240         We can simplify & unify with the code to throttle interval timers when the nesting
2241         threshold is hit, by instead tracking the current timer interval as a member on DOMTimer &
2242         using this to compute the delta in all cases.
2243
2244         * dom/ScriptExecutionContext.cpp:
2245         (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
2246             - adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
2247         * page/DOMTimer.cpp:
2248         (WebCore::DOMTimer::DOMTimer):
2249             initialize m_currentTimerInterval
2250         (WebCore::DOMTimer::fired):
2251             - when the nesting level changes (potentially triggering throttling) just call updateTimerIntervalIfNecessary
2252         (WebCore::DOMTimer::updateTimerIntervalIfNecessary):
2253             - compute delta based on m_currentTimerInterval
2254         (WebCore::DOMTimer::intervalClampedToMinimum):
2255             - this now always takes m_originalInterval and scriptExecutionContext()->minimumTimerInterval()
2256               as its inputs, so remove arguments.
2257         (WebCore::DOMTimer::adjustMinimumTimerInterval): Deleted.
2258             - adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
2259         * page/DOMTimer.h:
2260             - adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary, added m_currentTimerInterval
2261
2262 2014-09-03  Daniel Bates  <dabates@apple.com>
2263
2264         [XSLT] Make WebKit build when XSLT is disabled
2265         https://bugs.webkit.org/show_bug.cgi?id=136471
2266
2267         Reviewed by Simon Fraser.
2268
2269         Fixes a Clang compiler warning that file-static function WebCore::hasNoStyleInformation is unused.
2270         This function is only called from ENABLE(XSLT)-guarded code. So, add a ENABLE(XSLT)-guard around
2271         WebCore::hasNoStyleInformation().
2272
2273         * xml/parser/XMLDocumentParserLibxml2.cpp:
2274         (WebCore::hasNoStyleInformation):
2275
2276 2014-09-02  Brian J. Burg  <burg@cs.washington.edu>
2277
2278         LegacyProfiler: remove redundant ProfileNode members and other cleanup
2279         https://bugs.webkit.org/show_bug.cgi?id=136380
2280
2281         Reviewed by Timothy Hatcher.
2282
2283         Remove Profile.idleTime, rename head to rootNode, and remove ProfileNode members.
2284
2285         Covered by existing tests.
2286
2287         * inspector/ScriptProfile.idl:
2288         * inspector/ScriptProfileNode.idl:
2289         * inspector/TimelineRecordFactory.cpp:
2290
2291 2014-09-02  Brian J. Burg  <burg@cs.washington.edu>
2292
2293         Web Inspector: remove ProfilerAgent and legacy profiler files in the frontend
2294         https://bugs.webkit.org/show_bug.cgi?id=136462
2295
2296         Reviewed by Timothy Hatcher.
2297
2298         It's not used by the frontend anymore.
2299
2300         No new tests, no behavior changed.
2301
2302         * CMakeLists.txt:
2303         * ForwardingHeaders/inspector/agents/InspectorProfilerAgent.h: Removed.
2304         * WebCore.order:
2305         * WebCore.vcxproj/WebCore.vcxproj:
2306         * WebCore.vcxproj/WebCore.vcxproj.filters:
2307         * WebCore.xcodeproj/project.pbxproj:
2308         * inspector/InspectorAllInOne.cpp:
2309         * inspector/InspectorController.cpp:
2310         (WebCore::InspectorController::InspectorController):
2311         * inspector/InspectorController.h:
2312         * inspector/InspectorInstrumentation.cpp:
2313         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2314         * inspector/InstrumentingAgents.cpp:
2315         (WebCore::InstrumentingAgents::InstrumentingAgents):
2316         (WebCore::InstrumentingAgents::reset):
2317         * inspector/InstrumentingAgents.h:
2318         (WebCore::InstrumentingAgents::inspectorProfilerAgent): Deleted.
2319         (WebCore::InstrumentingAgents::setInspectorProfilerAgent): Deleted.
2320         * inspector/PageProfilerAgent.cpp: Removed.
2321         * inspector/PageProfilerAgent.h: Removed.
2322         * inspector/TimelineRecordFactory.cpp: Moved these builders to their only callsite.
2323         (WebCore::buildInspectorObject):
2324         (WebCore::buildProfileInspectorObject):
2325         (WebCore::TimelineRecordFactory::appendProfile):
2326         * inspector/WebProfilerAgent.cpp: Removed.
2327         * inspector/WebProfilerAgent.h: Removed.
2328         * inspector/WorkerInspectorController.cpp:
2329         (WebCore::WorkerInspectorController::WorkerInspectorController):
2330         * inspector/WorkerProfilerAgent.cpp: Removed.
2331         * inspector/WorkerProfilerAgent.h: Removed.
2332         * inspector/protocol/Timeline.json:
2333
2334 2014-09-02  Jer Noble  <jer.noble@apple.com>
2335
2336         [EME][Mac] Refactor CDMPrivateMediaSourceAVFObjC to allow sessions to be created without being attached to an AVStreamDataParser.
2337         https://bugs.webkit.org/show_bug.cgi?id=136016
2338
2339         Reviewed by Eric Carlson.
2340
2341         The CDMPrivateMediaPlayer class will delegate creation of CDMSession instances to the current MediaPlayer. This
2342         of course requires the MediaKeys object owning the CDM to be attached to a HTMLMediaElement, and specifically to
2343         one with a valid src attribute or source node which has sucessfully begun loading. For certain CDM operations,
2344         it would be better if a given MediaKeys could create a session without actually being connected to a
2345         HTMLMediaElement (yet).
2346
2347         To facilitate this for CDMSessionPrivateMediaSourceAVFObjC, add a new class, CDMPrivateMediaSourceAVFObjC, which
2348         is the primary factory for CDMSessionPrivateMediaSOurceAVFObjC. Disclaim responsibility for creating these sessions
2349         in MediaPlayerPrivateMediaSourceAVFObjC by not passing the "supportsKeySystem" method when registering itself.
2350
2351         Add methods to CDMSessionPrivateMediaSourceAVFObjC to allow SourceBuffers to be added and removed from the session,
2352         to support adding the session to the HTMLMediaElement after the session has been created.
2353
2354         Since MediaPlayerPrivate instance and  CDMSession instances must be able to communicate with one another, add a type()
2355         enum and virtual method to allow CDMSession instnaces to be distinguisted from (and casted to) one another.
2356
2357         * Modules/encryptedmedia/CDM.cpp:
2358         (WebCore::installedCDMFactories): Register CDMPrivateMediaSourceAVFObjC.
2359         (WebCore::CDM::createSession): Notify the MediaPlayer of the new CDMSession.
2360         * Modules/encryptedmedia/MediaKeySession.h:
2361         * Modules/encryptedmedia/MediaKeys.cpp:
2362         (WebCore::MediaKeys::setMediaElement): Notify the HTMLMediaElement of any existing sessions.
2363         * WebCore.xcodeproj/project.pbxproj:
2364         * platform/graphics/CDMSession.h:
2365         (WebCore::CDMSession::type): Added.
2366         * platform/graphics/MediaPlayer.cpp:
2367         (WebCore::MediaPlayer::setCDMSession): Pass through to the MediaPlayerPrivate.
2368         * platform/graphics/MediaPlayer.h:
2369         * platform/graphics/MediaPlayerPrivate.h:
2370         (WebCore::MediaPlayerPrivateInterface::setCDMSession): Added. Default no-op.
2371         * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h: Added.
2372         (WebCore::CDMPrivateMediaSourceAVFObjC::CDMPrivateMediaSourceAVFObjC): Simple constructor.
2373         (WebCore::CDMPrivateMediaSourceAVFObjC::~CDMPrivateMediaSourceAVFObjC): Simple destructor.
2374         (WebCore::CDMPrivateMediaSourceAVFObjC::create): Simple factory.
2375         (WebCore::CDMPrivateMediaSourceAVFObjC::cdm): Simple accessor.
2376         * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm: 
2377         (WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem): Moved from MediaPlayerPrivateMediaSourceAVFObjC.
2378         (WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystemAndMimeType): Ditto.
2379         (WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType): Ditto.
2380         (WebCore::CDMPrivateMediaSourceAVFObjC::createSession): Returns new CDMSessionMediaSourceAVFObjC.
2381         * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
2382         (WebCore::CDMSessionAVFoundationObjC::type): Added.
2383         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
2384         (WebCore::CDMSessionMediaSourceAVFObjC::type): Added.
2385         (WebCore::toCDMSessionMediaSourceAVFObjC): Throw assertion if type() is not correct.
2386         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
2387         (WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC): Removed m_parent ivar.
2388         (WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): Ditto.
2389         (WebCore::CDMSessionMediaSourceAVFObjC::update): Determing which SourceBuffer is protected.
2390         (WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer): Added.
2391         (WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer): Added.
2392         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2393         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2394         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
2395         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): Remove supportsKeyType parameter.
2396         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Remove keyType check.
2397         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession): Tell the CDMSession about outstanding SourceBuffers.
2398         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
2399         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
2400
2401 2014-09-02  Daniel Bates  <dabates@apple.com>
2402
2403         [Win] Attempt to fix the Windows build after <http://trac.webkit.org/changeset/173192>
2404         (https://bugs.webkit.org/show_bug.cgi?id=136467)
2405
2406         Declare ResourceHandleClient::connectionProperties() when building for iOS or when USE(CFNETWORK).
2407
2408         * platform/network/ResourceHandleClient.h:
2409
2410 2014-09-02  Daniel Bates  <dabates@apple.com>
2411
2412         [iOS] Support using Foundation networking code
2413         https://bugs.webkit.org/show_bug.cgi?id=136467
2414
2415         Reviewed by Pratik Solanki.
2416
2417         We should support building iOS WebKit with the Foundation networking code
2418         (i.e. !USE(CFNETWORK)).
2419
2420         Additionally, disable USE(CFNETWORK) and use the Foundation networking code
2421         by default when building iOS WebKit without the Apple Internal SDK.
2422
2423         * Configurations/WebCore.xcconfig: Remove file WebCoreURLResponse.mm from the list of excluded files
2424         so that we compile an implementation for function WebCore::synthesizeRedirectResponseIfNecessary when
2425         building without USE(CFNETWORK).
2426         * WebCore.exp.in: Add symbols for WebCore::synthesizeRedirectResponseIfNecessary() and WebCore::ResourceHandleClient::willCacheResponseAsync().
2427         * WebCore.xcodeproj/project.pbxproj: Add new files CFNetworkConnectionCacheSPI.h and CFURLRequestSPI.h.
2428         Also move group platform/spi such that it appears in alphabetical order in the platform group.
2429         * platform/cf/URLCF.cpp: Remove unnecessary header <CoreFoundation/CFPriv.h>.
2430         * platform/network/ResourceHandle.h: Declare iOS-specific variant of ResourceHandle::createNSURLConnection().
2431         * platform/network/ResourceHandleClient.h: Always include header <wtf/RetainPtr.h> when building for iOS.
2432         (WebCore::ResourceHandleClient::connectionProperties): Add PLATFORM(IOS)-guard around declaration.
2433         * platform/network/cf/ResourceRequestCFNet.cpp: Substitute header CFNetworkConnectionCacheSPI.h for
2434         <CFNetwork/CFNetworkConnectionCachePriv.h>.
2435         * platform/network/mac/CredentialStorageMac.mm:
2436         (WebCore::CredentialStorage::saveToPersistentStorage): Use Credential::nsCredential() and ProtectionSpace::nsSpace()
2437         instead of WebCore::mac(const {Credential, ProtectionSpace}&) as the latter were removed in <http://trac.webkit.org/changeset/171801>
2438         and <http://trac.webkit.org/changeset/171540>, respectively.
2439         * platform/network/mac/ResourceErrorMac.mm: Add USE(CFNETWORK)-guard around <CFNetwork/CFSocketStreamPriv.h>.
2440         * platform/network/mac/ResourceHandleMac.mm: Substitute header CFURLRequestSPI.h for <CFNetwork/CFURLRequest.h>.
2441         (WebCore::ResourceHandle::start): Modified to use ResourceHandle::makeDelegate() instead of d->m_proxy, which 
2442         was removed in <http://trac.webkit.org/changeset/147476>.
2443         (WebCore::ResourceHandle::platformLoadResourceSynchronously): Ditto.
2444         * platform/network/mac/WebCoreURLResponse.mm:
2445         (WebCore::synthesizeRedirectResponseIfNecessary): Add !USE(CFNETWORK)- and PLATFORM(IOS)- guards.
2446         * platform/spi/cf/CFNetworkConnectionCacheSPI.h: Added.
2447         * platform/spi/cf/CFURLRequestSPI.h: Added.
2448
2449 2014-09-02  Myles C. Maxfield  <mmaxfield@apple.com>
2450
2451         Use references in public EventSender functions
2452         https://bugs.webkit.org/show_bug.cgi?id=136463
2453
2454         Reviewed by Dan Bates.
2455
2456         Passing nullptr to EventSender shouldn't be allowed.
2457
2458         No new tests because there is no behavior change.
2459
2460         * dom/EventSender.h:
2461         (WebCore::EventSender::hasPendingEvents):
2462         (WebCore::EventSender<T>::dispatchEventSoon):
2463         (WebCore::EventSender<T>::cancelEvent):
2464         (WebCore::EventSender<T>::dispatchPendingEvents):
2465         * html/HTMLLinkElement.cpp:
2466         (WebCore::HTMLLinkElement::~HTMLLinkElement):
2467         (WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources):
2468         * html/HTMLStyleElement.cpp:
2469         (WebCore::HTMLStyleElement::~HTMLStyleElement):
2470         (WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources):
2471         * loader/ImageLoader.cpp:
2472         (WebCore::ImageLoader::~ImageLoader):
2473         (WebCore::ImageLoader::setImageWithoutConsideringPendingLoadEvent):
2474         (WebCore::ImageLoader::updateFromElement):
2475         (WebCore::ImageLoader::notifyFinished):
2476         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
2477
2478 2014-09-02  Daniel Bates  <dabates@apple.com>
2479
2480         [iOS] Exclude touch and gesture files when building without ENABLE_TOUCH_EVENTS
2481         and ENABLE_IOS_GESTURE_EVENTS, respectively
2482         https://bugs.webkit.org/show_bug.cgi?id=136456
2483
2484         Reviewed by Andy Estes.
2485
2486         It's sufficient to exclude the touch and gesture files when building without
2487         ENABLE_TOUCH_EVENTS and ENABLE_IOS_GESTURE_EVENTS, respectively. Currently we
2488         exclude these files when building without the Apple Internal SDK, which is
2489         heavy handed.
2490
2491         * Configurations/WebCore.xcconfig:
2492
2493 2014-09-02  Simon Fraser  <simon.fraser@apple.com>
2494
2495         Fix an assertion sometimes seen under RenderLayerCompositor::detachRootLayer()
2496         https://bugs.webkit.org/show_bug.cgi?id=136464
2497
2498         Reviewed by Tim Horton.
2499
2500         Don't try to call RenderLayer::isVisuallyNonEmpty() under RenderLayerCompositor::detachRootLayer()
2501         when layout might be stale; there's not point trying to update the backing store state
2502         when detaching, only when attaching.
2503
2504         * rendering/RenderLayerCompositor.cpp:
2505         (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
2506
2507 2014-09-02  Simon Fraser  <simon.fraser@apple.com>
2508
2509         Avoid backing store allocation with some combinations of replaced elements, masking and visibility:hidden
2510         https://bugs.webkit.org/show_bug.cgi?id=136400
2511
2512         Reviewed by Tim Horton.
2513         
2514         RenderLayer::isVisuallyNonEmpty() would return true for replaced elements (e.g. images)
2515         with visibility:hidden, and for layers with a mask, and both would cause additional
2516         backing store in some cases.
2517         
2518         We can move the hasVisibleContent() to the top of the function, since visibility:hidden
2519         will always hide any content of this layer. The hasMask() check can also be removed;
2520         a mask can only mask content that is already visible; it never contributes additional
2521         pixels.
2522
2523         Tests: compositing/backing/masked-child-no-backing.html
2524                compositing/backing/replaced-child-no-backing.html
2525
2526         * rendering/RenderLayer.cpp:
2527         (WebCore::RenderLayer::calculateClipRects):
2528
2529 2014-09-02  Joseph Pecoraro  <pecoraro@apple.com>
2530
2531         Use jsNontrivialString for strings we know are more than a single character
2532         https://bugs.webkit.org/show_bug.cgi?id=136393
2533
2534         Reviewed by Geoffrey Garen.
2535
2536         * bindings/js/JSCryptoKeySerializationJWK.cpp:
2537         (WebCore::addUsagesToJSON):
2538
2539 2014-09-02  Alex Christensen  <achristensen@webkit.org>
2540
2541         Fix bindings tests after r173176.
2542         https://bugs.webkit.org/show_bug.cgi?id=136460
2543
2544         Reviewed by Simon Fraser.
2545
2546         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2547         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
2548         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2549         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
2550         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2551         * bindings/scripts/test/JS/JSTestEventConstructor.h:
2552         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2553         * bindings/scripts/test/JS/JSTestEventTarget.h:
2554         * bindings/scripts/test/JS/JSTestException.cpp:
2555         * bindings/scripts/test/JS/JSTestException.h:
2556         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2557         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
2558         * bindings/scripts/test/JS/JSTestInterface.cpp:
2559         * bindings/scripts/test/JS/JSTestInterface.h:
2560         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2561         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2562         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2563         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2564         * bindings/scripts/test/JS/JSTestNode.cpp:
2565         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
2566         * bindings/scripts/test/JS/JSTestNondeterministic.h:
2567         * bindings/scripts/test/JS/JSTestObj.cpp:
2568         * bindings/scripts/test/JS/JSTestObj.h:
2569         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2570         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
2571         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2572         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2573         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2574         * bindings/scripts/test/JS/JSTestTypedefs.h:
2575         * bindings/scripts/test/JS/JSattribute.cpp:
2576         * bindings/scripts/test/JS/JSattribute.h:
2577         * bindings/scripts/test/JS/JSreadonly.cpp:
2578         * bindings/scripts/test/JS/JSreadonly.h:
2579         * bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h:
2580         * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
2581         * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
2582         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
2583         * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
2584         * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
2585         * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
2586         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h:
2587         * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
2588         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
2589         * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
2590         * bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
2591         * bindings/scripts/test/ObjC/DOMTestNondeterministicInternal.h:
2592         * bindings/scripts/test/ObjC/DOMTestObjInternal.h:
2593         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
2594         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
2595         * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
2596         * bindings/scripts/test/ObjC/DOMattributeInternal.h:
2597         * bindings/scripts/test/ObjC/DOMreadonlyInternal.h:
2598         Added new WEBCORE_EXPORT macros.
2599
2600 2014-09-02  Simon Fraser  <simon.fraser@apple.com>
2601
2602         Non-composited child RenderLayers cause allocation of unncessary backing store
2603         https://bugs.webkit.org/show_bug.cgi?id=136375
2604
2605         Reviewed by David Hyatt.
2606         
2607         A composited element that has non-composited descendant elements that fall into
2608         RenderLayers was getting backing store when none was required. descendentLayerPaintsIntoAncestor()
2609         was simply checking the "visibility:visible" bit on descendant non-composited layers,
2610         instead of actually asking them if they have any visual content.
2611         
2612         Added a couple of FIXME comments.
2613
2614         Test: compositing/backing/child-layer-no-backing.html
2615
2616         * rendering/RenderLayer.cpp:
2617         (WebCore::RenderLayer::calculateClipRects):
2618         * rendering/RenderLayerBacking.cpp:
2619         (WebCore::descendentLayerPaintsIntoAncestor):
2620
2621 2014-09-02  Commit Queue  <commit-queue@webkit.org>
2622
2623         Unreviewed, rolling out r173175.
2624         https://bugs.webkit.org/show_bug.cgi?id=136454
2625
2626         it broke debug builds (Requested by jessieberlin on #webkit).
2627
2628         Reverted changeset:
2629
2630         "Introduce CSS_BASIC_TYPE_CASTS, and use it"
2631         https://bugs.webkit.org/show_bug.cgi?id=136403
2632         http://trac.webkit.org/changeset/173175
2633
2634 2014-09-02  Alex Christensen  <achristensen@webkit.org>
2635
2636         More use of WEBCORE_EXPORT.
2637
2638         Reviewed by Darin Adler.
2639
2640         These changes from a patch attached to https://bugs.webkit.org/show_bug.cgi?id=136172
2641         contain more deployment of the WEBCORE_EXPORT macro. As of this writing, the macro is
2642         defined to do nothing, so landing these is a harmless way to get closer to be the point
2643         where we can throw the switch to use these instead of explicit export files on OS X,
2644         iOS, and Windows.
2645
2646         * bindings/js/JSDOMBinding.h:
2647         * bindings/js/JSDOMGlobalObject.h:
2648         * bindings/js/JSDOMWindowBase.h:
2649         * bindings/scripts/CodeGeneratorJS.pm:
2650         (GenerateHeader):
2651         (GenerateImplementation):
2652         * bindings/scripts/CodeGeneratorObjC.pm:
2653         (GenerateHeader):
2654         * bridge/runtime_method.cpp:
2655         * bridge/runtime_object.cpp:
2656         * dom/Document.h:
2657         * dom/Element.h:
2658         * dom/Position.h:
2659         * dom/Range.h:
2660         * dom/StaticNodeList.h:
2661         * dom/make_names.pl:
2662         (printInit):
2663         (printNamesCppFile):
2664         * editing/Editor.h:
2665         * editing/FrameSelection.h:
2666         * editing/TextIterator.h:
2667         * inspector/InspectorFrontendClient.h:
2668         * inspector/InspectorFrontendClientLocal.h:
2669         * loader/DocumentLoader.h:
2670         * loader/FrameLoader.h:
2671         * loader/cache/MemoryCache.h:
2672         * loader/cocoa/DiskCacheMonitorCocoa.h:
2673         * loader/mac/LoaderNSURLExtras.h:
2674         * page/Page.h:
2675         * page/PageGroup.h:
2676         * page/SecurityPolicy.h:
2677         * page/Settings.h:
2678         * page/make_settings.pl:
2679         (printGetterAndSetter):
2680         * page/scrolling/ScrollingStateScrollingNode.h:
2681         * platform/CrossThreadCopier.h:
2682         * platform/LocalizedStrings.h:
2683         * platform/MemoryPressureHandler.cpp:
2684         * platform/PlatformScreen.h:
2685         * platform/PublicSuffix.h:
2686         * platform/graphics/Gradient.h:
2687         * platform/graphics/cocoa/WebActionDisablingCALayerDelegate.h:
2688         * platform/graphics/filters/FilterOperation.h:
2689         * platform/ios/WebVideoFullscreenControllerAVKit.h:
2690         * platform/mac/PlatformEventFactoryMac.h:
2691         * platform/mac/WebCoreFullScreenPlaceholderView.h:
2692         * platform/mac/WebCoreFullScreenWindow.h:
2693         * platform/mac/WebCoreNSStringExtras.h:
2694         * platform/mac/WebCoreObjCExtras.h:
2695         * platform/mac/WebFontCache.h:
2696         * platform/mac/WebVideoFullscreenController.h:
2697         * platform/mac/WebWindowAnimation.h:
2698         * platform/network/BlobRegistryImpl.h:
2699         * platform/network/CredentialStorage.h:
2700         * platform/network/PlatformCookieJar.h:
2701         * platform/network/ProxyServer.h:
2702         * platform/sql/SQLiteStatement.h:
2703         * platform/text/TextEncoding.h:
2704         * rendering/HitTestResult.h:
2705         * rendering/RenderTreeAsText.h:
2706         * testing/Internals.h:
2707         Add many more correct uses of WEBCORE_EXPORT; remove a few incorrect ones.
2708
2709 2014-09-02  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2710
2711         Introduce CSS_BASIC_TYPE_CASTS, and use it
2712         https://bugs.webkit.org/show_bug.cgi?id=136403
2713
2714         Reviewed by Darin Adler.
2715
2716         toCSSBasicFoo() will help to detect wrong type casting. So this patch generates it, and use it
2717         instead of static_cast<const CSSBasicFoo*>().
2718
2719         No new tests no behavior changes.
2720
2721         * css/BasicShapeFunctions.cpp:
2722         (WebCore::basicShapeForValue):
2723         * css/CSSBasicShapes.cpp:
2724         (WebCore::CSSBasicShapeCircle::equals):
2725         (WebCore::CSSBasicShapeEllipse::equals):
2726         (WebCore::CSSBasicShapePolygon::equals):
2727         (WebCore::CSSBasicShapeInset::equals):
2728         * css/CSSBasicShapes.h:
2729
2730 2014-09-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2731
2732         CachedResourceLoader should check redirections to reuse or not cached resources
2733         https://bugs.webkit.org/show_bug.cgi?id=131757
2734
2735         Reviewed by Antti Koivisto.
2736
2737         Added cache-control redirection check to properly determine revalidation policy.
2738         Tightened redirection cache-control header check by testing for no-cache and must-revalidate directives.
2739         Added redirection freshness check.
2740
2741         Test: http/tests/cache/cache-redirections.html
2742
2743         * loader/cache/CachedRawResource.cpp:
2744         (WebCore::CachedRawResource::canReuse): Removed redirection check (now handled by CachedResource::redirectChainAllowsReuse).
2745         * loader/cache/CachedResource.cpp:
2746         (WebCore::currentAge): Moved from WebCore::CachedResource::currentAge method to static function. Added response and responseTimestamp as parameters.
2747         (WebCore::CachedResource::CachedResource): Initialized redirection chain status (no redirection and expiracy date set to never).
2748         (WebCore::CachedResource::isExpired): Updated according new currentAge/freshnessLifetime method parameters.
2749         (WebCore::CachedResource::freshnessLifetime): Added response as parameter.
2750         (WebCore::CachedResource::willSendRequest): Computes whether a redirection can be cached, and if cached for how long it will remain fresh.
2751         (WebCore::CachedResource::redirectChainAllowsReuse): Return false if any of the redirection in the redirection chain cannot be cached or expired. 
2752         * loader/cache/CachedResource.h: Added cache chain member that stores whether the redirection chain can be cached and if so when it will be expired.
2753         * loader/cache/CachedResourceLoader.cpp:
2754         (WebCore::CachedResourceLoader::determineRevalidationPolicy): Added check of the redirection chain.
2755
2756 2014-09-02  Daewoong Jang  <daewoong.jang@navercorp.com>
2757
2758         Prevent decoded images from being destroyed when they're in use.
2759         https://bugs.webkit.org/show_bug.cgi?id=136259.
2760
2761         Reviewed by Darin Adler.
2762
2763         Try to fix a regression introduced by r172790. Before the patch,
2764         CachedImage does not release its Image object if it still has clients.
2765         However this behavior was changed due to removal of CachedResource::isSafeToMakePurgeable(),
2766         which implied a call to CachedResource::hasClients(). This patch restores
2767         the behavior by adding a check to hasClients() in CachedImage::destroyDecodedData().
2768
2769         * loader/cache/CachedImage.cpp:
2770         (WebCore::CachedImage::destroyDecodedData):
2771
2772 2014-09-01  Tim Horton  <timothy_horton@apple.com>
2773
2774         RenderThemeMac::paintProgressBar creates a buffer without respecting the destination's acceleration setting
2775         https://bugs.webkit.org/show_bug.cgi?id=136427
2776
2777         Reviewed by Dan Bernstein.
2778
2779         No new tests, just a performance improvement.
2780
2781         * rendering/RenderThemeMac.mm:
2782         (WebCore::RenderThemeMac::paintProgressBar):
2783
2784 2014-09-01  Tim Horton  <timothy_horton@apple.com>
2785
2786         Remove an unnecessary local in GraphicsLayerCA::ensureStructuralLayer
2787         https://bugs.webkit.org/show_bug.cgi?id=136426
2788
2789         Reviewed by Dan Bernstein.
2790
2791         * platform/graphics/ca/GraphicsLayerCA.cpp:
2792         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
2793         This was here so that we could call PlatformCALayerClient::platformLayerChanged,
2794         but that no longer exists!
2795
2796 2014-08-29  Sergio Villar Senin  <svillar@igalia.com>
2797
2798         [CSS Grid Layout] Resolved value of grid-template-* must include every track listed
2799         https://bugs.webkit.org/show_bug.cgi?id=136362
2800
2801         Reviewed by Darin Adler.
2802
2803         Section 5.1.5 of the specs clearly states that the resolved value
2804         for grid-template-* must include every listed track, whether
2805         explicitly or implicitly created. We were only listing the
2806         explicit grid tracks.
2807
2808         * css/CSSComputedStyleDeclaration.cpp:
2809         (WebCore::valueForGridTrackList):
2810
2811 2014-09-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2812
2813         [CMAKE] Build warning by INTERFACE_LINK_LIBRARIES
2814         https://bugs.webkit.org/show_bug.cgi?id=136194
2815
2816         Reviewed by Csaba Osztrogonác.
2817
2818         Set the LINK_INTERFACE_LIBRARIES target property on the top level CMakeLists.txt.
2819
2820         * CMakeLists.txt:
2821
2822 2014-08-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2823
2824         Unreviewed, fix build break on EFL and GTK since r173152.
2825
2826         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2827         (WebCore::GraphicsContext::platformInit): Remove a bool parameter because it was removed from function's declaration.
2828
2829 2014-08-31  Tim Horton  <timothy_horton@apple.com>
2830
2831         Remove GraphicsContext constructor that takes shouldUseContextColors
2832         https://bugs.webkit.org/show_bug.cgi?id=136421
2833
2834         Reviewed by Dan Bernstein.
2835
2836         * WebCore.exp.in:
2837         * platform/graphics/GraphicsContext.cpp:
2838         (WebCore::GraphicsContext::GraphicsContext):
2839         * platform/graphics/GraphicsContext.h:
2840         (WebCore::GraphicsContextState::GraphicsContextState):
2841         * platform/graphics/cg/GraphicsContextCG.cpp:
2842         (WebCore::GraphicsContext::platformInit):
2843         (WebCore::GraphicsContext::drawLinesForText):
2844         As far as I can tell, the last user of this constructor died with WebNSStringDrawing.
2845         Adjust all code to assume shouldUseContextColors=true.
2846
2847 2014-08-31  Tim Horton  <timothy_horton@apple.com>
2848
2849         Remove unused ARMv6-specific #if branches in WebCore::canHyphenate
2850         https://bugs.webkit.org/show_bug.cgi?id=136420
2851
2852         Reviewed by Dan Bernstein.
2853
2854         * platform/text/cf/HyphenationCF.cpp:
2855         (WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef>>::createValueForNullKey):
2856         Use kCFAllocatorDefault instead of 0.
2857
2858         (WebCore::canHyphenate):
2859         Remove ARMv6-specific code.
2860
2861 2014-08-31  Tim Horton  <timothy_horton@apple.com>
2862
2863         Remove unnecessary (and unnecessarily iOS-specific) setStrokeAndFillColor
2864         https://bugs.webkit.org/show_bug.cgi?id=136416
2865
2866         Reviewed by Dan Bernstein.
2867
2868         * WebCore.exp.in:
2869         * platform/graphics/GraphicsContext.h:
2870         * platform/graphics/cg/GraphicsContextCG.cpp:
2871         (WebCore::setStrokeAndFillColor): Deleted.
2872         Remove.
2873
2874 2014-08-31  Tim Horton  <timothy_horton@apple.com>
2875
2876         Remove duplicate implementation of drawEllipse and some related PLATFORM(IOS) ifdefs
2877         https://bugs.webkit.org/show_bug.cgi?id=136413
2878
2879         Reviewed by Dan Bernstein.
2880
2881         No new tests, just cleanup.
2882
2883         * platform/graphics/GraphicsContext.cpp:
2884         (WebCore::GraphicsContext::drawRaisedEllipse):
2885         There's nothing iOS specific about this function.
2886
2887         * platform/graphics/GraphicsContext.h:
2888         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2889         (WebCore::GraphicsContext::drawEllipse):
2890         * platform/graphics/cg/GraphicsContextCG.cpp:
2891         (WebCore::GraphicsContext::drawEllipse):
2892         Un-ifdef drawRaisedEllipse; delete the reimplementation of drawEllipse that takes
2893         a FloatRect and make the normal one take a FloatRect instead.
2894
2895         (WebCore::GraphicsContext::platformInit):
2896         Make sure that the CGContext's line width starts out in sync with GraphicsContext's.
2897         By default, CGContext has a line width of 1 and GraphicsContext 0, so they could previously
2898         have been out of sync until someone set the width explicitly.
2899
2900 2014-08-31  Tim Horton  <timothy_horton@apple.com>
2901
2902         Fix a harmless mismerge in BitmapImage::destroyDecodedDataIfNecessary
2903         https://bugs.webkit.org/show_bug.cgi?id=136412
2904
2905         Reviewed by Alexey Proskuryakov.
2906
2907         No new tests, just cleanup.
2908
2909         * platform/graphics/BitmapImage.cpp:
2910         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
2911         Drop the leading 'c' and the 'static' on the cutoff parameter.
2912         Remove the duplicated early return (seems like it happened in the merge).
2913         Remove reference to the exact size in the comment, since it's different on iOS.
2914
2915 2014-08-31  Tim Horton  <timothy_horton@apple.com>
2916
2917         Use SinkDocument instead of PDFDocument; get rid of PDFDocument
2918         https://bugs.webkit.org/show_bug.cgi?id=136414
2919
2920         Reviewed by Alexey Proskuryakov.
2921
2922         * WebCore.xcodeproj/project.pbxproj:
2923         * loader/DocumentWriter.cpp:
2924         (WebCore::DocumentWriter::createDocument):
2925         * pdf/ios/PDFDocument.cpp: Removed.
2926         * pdf/ios/PDFDocument.h: Removed.
2927         Use the generic SinkDocument, which ignores all incoming data just like PDFDocument.
2928         Delete the unnecessary and iOS-specific PDFDocument.cpp/h
2929
2930 2014-08-31  Tim Horton  <timothy_horton@apple.com>
2931
2932         Adjust an antique comment in Image::drawPattern
2933         https://bugs.webkit.org/show_bug.cgi?id=136411
2934
2935         Reviewed by Dan Bernstein.
2936
2937         * platform/graphics/cg/ImageCG.cpp:
2938         (WebCore::Image::drawPattern):
2939         Reword the comment.
2940
2941 2014-08-31  Tim Horton  <timothy_horton@apple.com>
2942
2943         SVGImage::drawPatternForContainer creates a buffer without respecting the destination's acceleration setting
2944         https://bugs.webkit.org/show_bug.cgi?id=136408
2945         <rdar://problem/12013317>
2946
2947         Reviewed by Dan Bernstein.
2948
2949         No new tests required, just a performance improvement.
2950
2951         * svg/graphics/SVGImage.cpp:
2952         (WebCore::SVGImage::drawPatternForContainer):
2953         Use ImageBuffer::createCompatibleBuffer, which passes the destination's
2954         acceleration setting through to the ImageBuffer constructor.
2955
2956         I didn't use GraphicsContext::createCompatibleBuffer because adjusting
2957         how this function applies the destination's CTM is outside the scope of this patch.
2958
2959 2014-08-30  Joseph Pecoraro  <pecoraro@apple.com>
2960
2961         Convert string literals to character literals in makeString usage
2962         https://bugs.webkit.org/show_bug.cgi?id=136394
2963
2964         Reviewed by Sam Weinig.
2965
2966         * inspector/InspectorOverlay.cpp:
2967         (WebCore::InspectorOverlay::evaluateInOverlay):
2968         * loader/FrameLoader.cpp:
2969         (WebCore::FrameLoader::setOriginalURLForDownloadRequest):
2970         * loader/MixedContentChecker.cpp:
2971         (WebCore::MixedContentChecker::logWarning):
2972         * page/ContentSecurityPolicy.cpp:
2973         (WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
2974         (WebCore::ContentSecurityPolicy::reportUnsupportedDirective):
2975         (WebCore::ContentSecurityPolicy::reportInvalidPathCharacter):
2976         Also reorder some code to ensure single string creation.
2977
2978 2014-08-26  Maciej Stachowiak  <mjs@apple.com>
2979
2980         Use RetainPtr::autorelease in some places where it seems appropriate
2981         https://bugs.webkit.org/show_bug.cgi?id=136280
2982
2983         Reviewed by Darin Adler.
2984
2985         * platform/mac/URLMac.mm:
2986         (WebCore::URL::operator NSURL *): Use autorelease() instead of
2987         CFBridgingRelease(leakRef())
2988
2989 2014-08-30  Yusuke Suzuki  <utatane.tea@gmail.com>
2990
2991         CSS: Refactor :visited handling in SelectorChecker
2992         https://bugs.webkit.org/show_bug.cgi?id=135639
2993
2994         Reviewed by Benjamin Poulain.
2995
2996         :visited is specially handled in the SelectorChecker and style resolution
2997         because of security issues. That is nested links and adjacent combinators.
2998         Since we propagate linkState from the ancestors,
2999
3000             1. linkStates of ancestors from the target node are only used to calculate
3001             the linkState of the current node.
3002             This is why adjacent combinators disable :visited.
3003
3004             2. linkState is overrides by the closest link element in the ancestors.
3005             This is why :visited is effective on the closest link element.
3006
3007         In this patch, we fix 3 things.
3008
3009             1. Simplify SelectorChecker. Move m_mode to CheckingContext and it makes
3010             CheckingContext more similar to SelectorCompiler::CheckingContext in CSS JIT.
3011             And hide visitedMatchType parameter from the caller of SelectorChecker.
3012
3013             2. Disable :visited inside :-webkit-any. Currently, :-webkit-any provides MatchAll
3014             link match type. So considering visited match type in the matching phase of :visited
3015             provides inconsistency. In this patch, :-webkit-any(:visited) never matches.
3016             And :-webkit-any(:link) acts like a :-webkit-any(:any-link). This behavior represents
3017             that visited match type is always considered as disabled inside :-webkit-any.
3018             This behavior may be changed when Selector Level4 is implemented.
3019
3020             3. Fix the issue when traversing the descendant element,
3021             first encountered link check is missing.
3022
3023         Tests: fast/history/link-inside-any.html
3024                fast/history/link-inside-not.html
3025                fast/history/nested-visited-test-override.html
3026                fast/history/visited-inside-any.html
3027                fast/history/visited-inside-not.html
3028
3029         * css/ElementRuleCollector.cpp:
3030         (WebCore::ElementRuleCollector::ruleMatches):
3031         * css/SelectorChecker.cpp:
3032         (WebCore::SelectorChecker::SelectorChecker):
3033         (WebCore::SelectorChecker::match):
3034         (WebCore::hasScrollbarPseudoElement):
3035         (WebCore::checkingContextForParent):
3036         (WebCore::SelectorChecker::matchRecursively):
3037         (WebCore::SelectorChecker::checkOne):
3038         * css/SelectorChecker.h:
3039         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
3040         * css/StyleResolver.h:
3041         (WebCore::checkRegionSelector):
3042         * dom/SelectorQuery.cpp:
3043         (WebCore::SelectorDataList::selectorMatches):
3044
3045 2014-08-29  Zalan Bujtas  <zalan@apple.com>
3046
3047         Subpixel layout: Remove LayoutUnit's kEffectiveFixedPointDenominator.
3048         https://bugs.webkit.org/show_bug.cgi?id=136383.
3049
3050         Reviewed by Simon Fraser.
3051
3052         There's only one subpixel denominator now.
3053
3054         No change in functionality.
3055
3056         * platform/LayoutUnit.h:
3057         (WebCore::LayoutUnit::LayoutUnit):
3058         (WebCore::LayoutUnit::fromFloatCeil):
3059         (WebCore::LayoutUnit::fromFloatFloor):
3060         (WebCore::LayoutUnit::toInt):
3061         (WebCore::LayoutUnit::toFloat):
3062         (WebCore::LayoutUnit::toDouble):
3063         (WebCore::LayoutUnit::operator++):
3064         (WebCore::LayoutUnit::ceil):
3065         (WebCore::LayoutUnit::round):
3066         (WebCore::LayoutUnit::floor):
3067         (WebCore::LayoutUnit::ceilToFloat):
3068         (WebCore::LayoutUnit::fraction):
3069         (WebCore::LayoutUnit::epsilon):
3070         (WebCore::LayoutUnit::nearlyMax):
3071         (WebCore::LayoutUnit::nearlyMin):
3072         (WebCore::LayoutUnit::isInBounds):
3073         (WebCore::LayoutUnit::setValue):
3074         (WebCore::boundedMultiply):
3075         (WebCore::operator*):
3076         (WebCore::operator/):
3077         (WebCore::operator%):
3078         (WebCore::roundToDevicePixel):
3079         (WebCore::floorToDevicePixel):
3080         (WebCore::ceilToDevicePixel):
3081
3082 2014-08-29  Zalan Bujtas  <zalan@apple.com>
3083
3084         Rename updatePreferredWidth to make it more explicit.
3085         https://bugs.webkit.org/show_bug.cgi?id=136389
3086
3087         Reviewed by Simon Fraser.
3088
3089         No change in functionality.
3090
3091         * rendering/RenderBlock.cpp:
3092         (WebCore::preferredWidth):
3093         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
3094         (WebCore::updatePreferredWidth): Deleted.
3095
3096 2014-08-29  Gavin Barraclough  <barraclough@apple.com>
3097
3098         Make timerNestingLevel threadsafe
3099         https://bugs.webkit.org/show_bug.cgi?id=136401
3100
3101         Reviewed by Tim Horton.
3102
3103         timerNestingLevel, used by DOMTimer to determine whether a timer is 'nested'
3104         (repeating, possible due to a timer rescheduling itself) is a global. Since
3105         worker threads can set timers too this is not thread safe.
3106
3107         * dom/ScriptExecutionContext.cpp:
3108         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
3109             - added initialize m_timerNestingLevel
3110         * dom/ScriptExecutionContext.h:
3111         (WebCore::ScriptExecutionContext::timerNestingLevel):
3112         (WebCore::ScriptExecutionContext::setTimerNestingLevel):
3113             - added accessors
3114         * page/DOMTimer.cpp:
3115         (WebCore::DOMTimer::DOMTimer):
3116         (WebCore::DOMTimer::fired):
3117             - move timerNestingLevel to the context
3118
3119 2014-08-29  Gavin Barraclough  <barraclough@apple.com>
3120
3121         DOMTimer::m_nestingLevel is prone to overflow
3122         https://bugs.webkit.org/show_bug.cgi?id=136399
3123
3124         Reviewed by Alexey Proskuryakov.
3125
3126         Since this would happen after the 2 billionth timer fire this is unlikely,
3127         and consequences aren't severe (breaks throttling).
3128
3129         This change has the following consequences.
3130
3131             - m_nestingLevel saturates to its max value.
3132             - unnested timers are indicated by a nesting level of 0.
3133             - repeat timers update m_nestingLevel on every fire,
3134               not just those that should have been throttled.
3135
3136         The last point is subtle, but ultimately should be inconsequential. Timers
3137         whose requested timeout is less that the minimum interval will saturate quickly
3138         anyway; timers with an original interval greater than the minimum previously
3139         wouldn't have incremented m_nestingLevel, but doing so now doesn't hurt since
3140         they won't be throttled when they hit the threshold. This simplifies things
3141         conceptually a little & reduces the test performed on each timer fire.
3142
3143         * page/DOMTimer.cpp:
3144         (WebCore::shouldForwardUserGesture):
3145             - unnested timers are indicated by a nesting level of 0
3146         (WebCore::DOMTimer::DOMTimer):
3147             - don't increment nesting level on construction
3148         (WebCore::DOMTimer::fired):
3149             - saturating increments
3150         (WebCore::DOMTimer::adjustMinimumTimerInterval):
3151         (WebCore::DOMTimer::intervalClampedToMinimum):
3152             - added ASSERTs
3153
3154 2014-08-29  Zalan Bujtas  <zalan@apple.com>
3155
3156         Improve showRenderTree() output.
3157         https://bugs.webkit.org/show_bug.cgi?id=136244
3158
3159         Reviewed by Darin Adler.
3160
3161         Add more debugging information to showRenderTree().
3162
3163         Not testable.
3164
3165         * rendering/InlineBox.cpp:
3166         (WebCore::InlineBox::showLineTreeForThis):
3167         (WebCore::InlineBox::showLineTreeAndMark):
3168         (WebCore::InlineBox::showLineBox):
3169         (showNodeTree):
3170         (showLineTree):
3171         (WebCore::InlineBox::showBox): Deleted.
3172         * rendering/InlineBox.h:
3173         * rendering/InlineFlowBox.cpp:
3174         (WebCore::InlineFlowBox::showLineTreeAndMark):
3175         * rendering/InlineFlowBox.h:
3176         * rendering/InlineTextBox.cpp:
3177         (WebCore::InlineTextBox::showLineBox):
3178         (WebCore::InlineTextBox::showBox): Deleted.
3179         * rendering/InlineTextBox.h:
3180         * rendering/RenderBlock.cpp:
3181         (WebCore::RenderBlock::showLineTreeAndMark): Deleted.
3182         * rendering/RenderBlock.h:
3183         * rendering/RenderBlockFlow.cpp:
3184         (WebCore::RenderBlockFlow::showLineTreeAndMark):
3185         * rendering/RenderBlockFlow.h:
3186         * rendering/RenderObject.cpp:
3187         (WebCore::showRenderTreeLegend):
3188         (WebCore::RenderObject::showNodeTreeForThis):
3189         (WebCore::RenderObject::showRenderTreeForThis):
3190         (WebCore::RenderObject::showLineTreeForThis):
3191         (WebCore::RenderObject::showRegionsInformation):
3192         (WebCore::RenderObject::showRenderObject):
3193         (WebCore::RenderObject::showRenderSubTreeAndMark):
3194         (showNodeTree):
3195         (showLineTree):
3196         (showRenderTree):
3197         (WebCore::RenderObject::showRenderTreeAndMark): Deleted.
3198         * rendering/RenderObject.h:
3199         * rendering/RootInlineBox.h:
3200
3201 2014-08-29  Csaba Osztrogonác  <ossy@webkit.org>
3202
3203         Unreviewed, remove empty directories.
3204
3205         * Modules/networkinfo: Removed.
3206         * inspector/front-end: Removed.
3207         * inspector/front-end/Images: Removed.
3208         * inspector/front-end/UglifyJS: Removed.
3209         * inspector/front-end/ace: Removed.
3210         * inspector/front-end/cm: Removed.
3211         * platform/audio/ffmpeg: Removed.
3212         * platform/audio/ipp: Removed.
3213         * platform/graphics/gpu/opencl: Removed.
3214
3215 2014-08-29  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
3216
3217         [EFL] Remove non Coordinated Graphics code path from cmake build system after r142169
3218         https://bugs.webkit.org/show_bug.cgi?id=135560
3219
3220         Reviewed by Gyuyoung Kim.
3221
3222         No new tests required, no new functionality.
3223
3224         * PlatformEfl.cmake: Removed TEXTURE_MAPPER and 3D_GRAPHICS guards.
3225         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
3226         (WebCore::GraphicsContext3D::platformLayer):
3227         (WebCore::GraphicsContext3D::createGraphicsSurfaces):
3228         * platform/graphics/efl/GraphicsContext3DPrivate.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
3229         (WebCore::GraphicsContext3DPrivate::initialize):
3230         (WebCore::GraphicsContext3DPrivate::releaseResources):
3231         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3232         (WebCore::GraphicsContext3DPrivate::graphicsSurfaceFlags):
3233         * platform/graphics/efl/GraphicsContext3DPrivate.h: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
3234         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp: Removed GRAPHICS_SURFACE guard.
3235
3236 2014-08-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3237
3238         RenderThemeGtk depends on classes outside of platform
3239         https://bugs.webkit.org/show_bug.cgi?id=22176
3240
3241         Reviewed by Martin Robinson.
3242
3243         Move RenderThemeGtk.cpp from platform to rendering.
3244
3245         * PlatformGTK.cmake:
3246         * rendering/RenderThemeGtk.cpp: Renamed from Source/WebCore/platform/gtk/RenderThemeGtk.cpp.
3247
3248 2014-08-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3249
3250         [GTK] ScrollbarThemeGtk should not depend on RenderThemeGtk
3251         https://bugs.webkit.org/show_bug.cgi?id=136338
3252
3253         Reviewed by Philippe Normand.
3254
3255         Remove the dependency by creating the GtkStyleContext for the
3256         scrollbars in ScrollbarThemeGtk.
3257
3258         * platform/gtk/RenderThemeGtk.cpp:
3259         (WebCore::gtkStyleChangedCallback): Call ScrollbarThemeGtk::themeChanged().
3260         (WebCore::getStyleContext): Remove the scrollbar style context support.
3261         * platform/gtk/RenderThemeGtk.h: Remove gtkScrollbarStyle().
3262         * platform/gtk/ScrollbarThemeGtk.cpp:
3263         (WebCore::ScrollbarStyleContext::ScrollbarStyleContext): Helper
3264         class to create the global GtkStyleContext for scrollbars.
3265         (WebCore::ScrollbarStyleContext::~ScrollbarStyleContext):
3266         (WebCore::ScrollbarStyleContext::context):
3267         (WebCore::gtkScrollbarStyleContext):
3268         (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Remove m_context initialization.
3269         (WebCore::ScrollbarThemeGtk::themeChanged): Invalidate the
3270         GtkStylecontext and call updateThemeProperties().
3271         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Use the
3272         global style context.
3273         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
3274         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
3275         (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
3276         (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
3277         * platform/gtk/ScrollbarThemeGtk.h:
3278
3279 2014-08-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3280
3281         [GTK] Merge RenderThemeGtk3.cpp into RenderThemeGtk.cpp and ScrollbarThemeGtk3.cpp intoScrollbarThemeGtk.cpp
3282         https://bugs.webkit.org/show_bug.cgi?id=136336
3283
3284         Reviewed by Philippe Normand.
3285
3286         There's no reason to have two files now that there's no GTK+2
3287         support. Also fix coding style issues and compile warnings.
3288
3289         * PlatformGTK.cmake:
3290         * platform/gtk/RenderThemeGtk.cpp:
3291         * platform/gtk/RenderThemeGtk.h:
3292         * platform/gtk/RenderThemeGtk3.cpp: Removed.
3293         * platform/gtk/ScrollbarThemeGtk.cpp:
3294         * platform/gtk/ScrollbarThemeGtk3.cpp: Removed.
3295
3296 2014-08-28  Mark Lam  <mark.lam@apple.com>
3297
3298         DebuggerCallFrame::scope() should return a DebuggerScope.
3299         <https://webkit.org/b/134420>
3300
3301         Reviewed by Geoffrey Garen.
3302
3303         No new tests.
3304
3305         Rolling back in r170680 with the fix for <https://webkit.org/b/135656>.
3306
3307         * bindings/js/ScriptController.cpp:
3308         (WebCore::ScriptController::attachDebugger):
3309         - We should acquire the JSLock before modifying a JS global object.
3310
3311 2014-08-28  Enrica Casucci  <enrica@apple.com>
3312
3313         Can't hit tab key more than 3 times continuously.
3314         https://bugs.webkit.org/show_bug.cgi?id=136357
3315         rdar://problem/17927266
3316
3317         Reviewed by Dean Jackson.
3318
3319         Test: fast/css/multiple-tabs.html
3320
3321         When computing the tabWidth disregard increments of less than half the size of the space character
3322         for the given font.
3323
3324         * platform/graphics/Font.h:
3325         (WebCore::Font::tabWidth):
3326
3327 2014-08-28  Daniel Bates  <dabates@apple.com>
3328
3329         [iOS] Clients that include WebCoreThread.h fail to build after <http://trac.webkit.org/changeset/172814/>
3330         (https://bugs.webkit.org/show_bug.cgi?id=136108)
3331
3332         Define WEBCORE_EXPORT (if its not already defined) in WebCoreThread.h so as to fix the
3333         build for clients that include this header.
3334
3335         * platform/ios/wak/WebCoreThread.h:
3336
3337 2014-08-28  Pratik Solanki  <psolanki@apple.com>
3338
3339         WebContent hangs under SharedBuffer::duplicateDataBufferIfNecessary() while browsing some websites
3340         https://bugs.webkit.org/show_bug.cgi?id=136347
3341         <rdar://problem/18073745>
3342
3343         Reviewed by Andreas Kling.
3344
3345         When passing data to ImageIO, we create a copy if we have to reallocate the buffer. We would
3346         set the size of the new buffer to be the size of the SharedBuffer data. This causes memory
3347         churn since we would create a new buffer for every data chunk we get. Fix this by at least
3348         doubling the capacity of the buffer when we duplicate it.
3349
3350         * platform/SharedBuffer.cpp:
3351         (WebCore::SharedBuffer::duplicateDataBufferIfNecessary):
3352
3353 2014-08-28  Dan Bernstein  <mitz@apple.com>
3354
3355         iOS build fix.
3356
3357         * WebCore.exp.in: Updated symbol.
3358
3359 2014-08-28  Benjamin Poulain  <bpoulain@apple.com>
3360
3361         Scrolling with spacebar on a page with fixed header breaks reading flow
3362         https://bugs.webkit.org/show_bug.cgi?id=135506
3363
3364         Reviewed by Simon Fraser.
3365
3366         When scrolling by page, find the height of any bar that is obscuring the top or bottom of the page,
3367         and substract that height from the step to scroll.
3368
3369         Tests: scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html
3370                scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html
3371                scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html
3372                scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html
3373                scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html
3374                scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html
3375                scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html
3376                scrollbars/scrolling-by-page-on-keyboard-spacebar.html
3377
3378         * WebCore.exp.in:
3379         * page/FrameView.cpp:
3380         (WebCore::FrameView::adjustScrollStepForFixedContent):
3381         * page/FrameView.h:
3382         * platform/ScrollableArea.cpp:
3383         (WebCore::ScrollableArea::adjustScrollStepForFixedContent):
3384         (WebCore::ScrollableArea::scroll):
3385         * platform/ScrollableArea.h:
3386
3387 2014-08-28  Zalan Bujtas  <zalan@apple.com>
3388
3389         Subpixel layout: Remove unused pixel snapping functions.
3390         https://bugs.webkit.org/show_bug.cgi?id=136341
3391
3392         Reviewed by Simon Fraser.
3393
3394         Let's not encourage integral snapping by having these functions around.
3395         
3396         No change in functionality.
3397
3398         * accessibility/AccessibilityObject.h:
3399         (WebCore::AccessibilityObject::pixelSnappedElementRect): Deleted.
3400         (WebCore::AccessibilityObject::pixelSnappedSize): Deleted.
3401         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3402         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3403         * html/HTMLImageElement.cpp:
3404         (WebCore::HTMLImageElement::width):
3405         (WebCore::HTMLImageElement::height):
3406         * page/FrameView.cpp:
3407         (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
3408         * platform/graphics/LayoutPoint.h:
3409         (WebCore::snappedIntSize):
3410         (WebCore::snapSizeToDevicePixel):
3411         * platform/graphics/LayoutRect.h:
3412         (WebCore::LayoutRect::pixelSnappedLocation): Deleted.
3413         (WebCore::LayoutRect::pixelSnappedX): Deleted.
3414         (WebCore::LayoutRect::pixelSnappedY): Deleted.
3415         (WebCore::LayoutRect::pixelSnappedWidth): Deleted.
3416         (WebCore::LayoutRect::pixelSnappedHeight): Deleted.
3417         (WebCore::LayoutRect::pixelSnappedMaxX): Deleted.
3418         (WebCore::LayoutRect::pixelSnappedMaxY): Deleted.
3419         (WebCore::snappedIntRectFromEdges): Deleted.
3420         * rendering/RenderBlockFlow.h:
3421         (WebCore::RenderBlockFlow::pixelSnappedLogicalTopForFloat): Deleted.
3422         (WebCore::RenderBlockFlow::pixelSnappedLogicalBottomForFloat): Deleted.
3423         (WebCore::RenderBlockFlow::pixelSnappedLogicalLeftForFloat): Deleted.
3424         (WebCore::RenderBlockFlow::pixelSnappedLogicalRightForFloat): Deleted.
3425         * rendering/RenderBox.h:
3426         (WebCore::RenderBox::pixelSnappedLogicalHeight):
3427         (WebCore::RenderBox::pixelSnappedLogicalWidth):
3428         (WebCore::RenderBox::pixelSnappedBorderBoxRect):
3429         (WebCore::RenderBox::pixelSnappedWidth): Deleted.
3430         (WebCore::RenderBox::pixelSnappedHeight): Deleted.
3431         (WebCore::RenderBox::pixelSnappedFrameRect): Deleted.
3432         * rendering/RenderFileUploadControl.cpp:
3433         (WebCore::nodeWidth):
3434         (WebCore::nodeHeight):
3435         (WebCore::RenderFileUploadControl::maxFilenameWidth):
3436         * rendering/RenderLayer.cpp:
3437         (WebCore::RenderLayer::updateLayerPosition):
3438         (WebCore::RenderLayer::isPointInResizeControl):
3439         * rendering/RenderLayerCompositor.cpp:
3440         (WebCore::RenderLayerCompositor::ensureRootLayer):
3441         * rendering/RenderMediaControls.cpp:
3442         (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
3443         * rendering/RenderMultiColumnSet.cpp:
3444         (WebCore::RenderMultiColumnSet::paintColumnRules):
3445         * rendering/RenderScrollbar.cpp:
3446         (WebCore::RenderScrollbar::buttonRect):
3447         * rendering/RenderView.h:
3448
3449 2014-08-27  Enrica Casucci  <enrica@apple.com>
3450
3451         textStylingAtPosition returns incorrect values after executing toggleBold, toggleItalic and toggleUnderline.
3452         https://bugs.webkit.org/show_bug.cgi?id=136323
3453         rdar://problem/18141964
3454
3455         Reviewed by Antti Koivisto.
3456
3457         For underline style we need to check typingStyle first and use that information to populate
3458         the dictionary. If there is no typing style we can use the render style.
3459
3460         * WebCore.exp.in:
3461         * editing/ios/EditorIOS.mm:
3462         (WebCore::Editor::fontAttributesForSelectionStart):
3463
3464 2014-08-28  Iago Toral  <itoral@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
3465
3466         [GTK] Add WaylandEventSource
3467         https://bugs.webkit.org/show_bug.cgi?id=136213
3468
3469         Reviewed by Martin Robinson.
3470
3471         Add the WaylandEventSource class. Its static method, createEventSource(),
3472         creates a new GSource object that is attached to the main context and
3473         enables handling Wayland display events through the GLib's main loop.
3474
3475         The method will be called by the nested Wayland compositor during its
3476         initialization, which will also take the control over the ownership and
3477         will be tasked with properly removing the GSource from the main context.
3478
3479         GLibSource is a GSource-based struct that additionally holds a GPollFD object
3480         and the pointer to the wl_display object whose event loop we'll be
3481         dispatching during the GSource dispatch. This is the type that g_source_new
3482         uses when allocating the new GSource object.
3483
3484         The GSource is assigned the default priorty, can recurse, and is attached
3485         to the main context.
3486
3487         * PlatformGTK.cmake:
3488         * platform/graphics/wayland/WaylandEventSource.cpp: Added.
3489         (WebCore::GLibSource::initialize):
3490         (WebCore::GLibSource::check):
3491         (WebCore::GLibSource::dispatch):
3492         (WebCore::prepareCallback):
3493         (WebCore::checkCallback):
3494         (WebCore::dispatchCallback):
3495         (WebCore::WaylandEventSource::createDisplayEventSource):
3496         * platform/graphics/wayland/WaylandEventSource.h: Added.
3497
3498 2014-08-28  Chris Fleizach  <cfleizach@apple.com>
3499
3500         AX: Safari at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse
3501         https://bugs.webkit.org/show_bug.cgi?id=136333
3502
3503         Reviewed by David Kilzer.
3504
3505         If a Node is asked for it's Document when it's not actually in a document, it can lead to an assert/crash.
3506         We can avoid this by checking that the node is in a document before asking for its document.
3507
3508         I was not able to make a test case.      
3509
3510         * accessibility/AXObjectCache.cpp:
3511         (WebCore::AXObjectCache::clearTextMarkerNodesInUse):
3512
3513 2014-08-28  Andreas Kling  <akling@apple.com>
3514
3515         ASSERTION FAILED: !m_renderView.document().inPageCache() in compositing/iframes/resources/page-cache-helper.html
3516         <https://webkit.org/b/136329>
3517
3518         Cancel any pending compositing layer updates when moving a document
3519         into the page cache.
3520
3521         Reviewed by Zalan Bujtas.
3522
3523         * dom/Document.cpp:
3524         (WebCore::Document::documentWillSuspendForPageCache):
3525         * rendering/RenderLayerCompositor.cpp:
3526         (WebCore::RenderLayerCompositor::cancelCompositingLayerUpdate):
3527         * rendering/RenderLayerCompositor.h:
3528
3529 2014-08-28  Mihnea Ovidenie  <mihnea@adobe.com>
3530
3531         [CSSRegions] Incorrect selection clearing on a document without regions
3532         https://bugs.webkit.org/show_bug.cgi?id=134901
3533
3534         Reviewed by David Hyatt.
3535
3536         When we select all the content of document with named flows but without regions,
3537         the start and end points of selection is cached in RenderView. However, since
3538         the document has named flows, the selection is split between the subtrees. During the split,
3539         it is possible that the cached end-points of the original selection are not included
3540         in any of the resulting subtree selection and they are not marked accordingly.
3541         In order to process the selection clearing correctly, we have to take the original
3542         selection end-points into account.
3543
3544         Test: fast/regions/selection/select-all-without-regions.html
3545
3546         * rendering/RenderObject.cpp:
3547         (WebCore::RenderObject::isSelectionBorder):
3548
3549 2014-08-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3550
3551         [GTK] Add webkit_uri_response_get_http_headers to WebKit2 GTK+ API
3552         https://bugs.webkit.org/show_bug.cgi?id=136248
3553
3554         Reviewed by Gustavo Noronha Silva.
3555
3556         Move the code to update the SoupMessageHeaders to a new public
3557         method.
3558
3559         * platform/network/soup/ResourceResponse.h:
3560         * platform/network/soup/ResourceResponseSoup.cpp:
3561         (WebCore::ResourceResponse::updateSoupMessageHeaders):
3562         (WebCore::ResourceResponse::toSoupMessage):
3563
3564 2014-08-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3565
3566         [GTK] Remove support for GTK+2 theme rendering
3567         https://bugs.webkit.org/show_bug.cgi?id=136285
3568
3569         Reviewed by Philippe Normand.
3570
3571         GTK+2 is only used by the plugin process that doesn't need to
3572         render html controls themed. Since the theme files are still
3573         built for WebCorePlatformGTK2, we need to provide dummy
3574         implementations for the pure virtual methods when
3575         GTK_API_VERSION_2 is defined.
3576
3577         * PlatformGTK.cmake: Remove deleted files from compilation.
3578         * platform/gtk/RenderThemeGtk.cpp:
3579         (WebCore::RenderThemeGtk::create):
3580         (WebCore::RenderTheme::themeForPage):
3581         (WebCore::getScreenDPI):
3582         (WebCore::RenderThemeGtk::systemFont):
3583         (WebCore::RenderThemeGtk::sliderTickSize):
3584         (WebCore::RenderThemeGtk::sliderTickOffsetFromTrackCenter):
3585         (WebCore::RenderThemeGtk::getScreenDPI): Deleted.
3586         * platform/gtk/RenderThemeGtk.h:
3587         * platform/gtk/RenderThemeGtk2.cpp: Removed.
3588         * platform/gtk/RenderThemeGtk3.cpp:
3589         * platform/gtk/ScrollbarThemeGtk.cpp:
3590         (WebCore::ScrollbarThemeGtk::hasThumb):
3591         (WebCore::ScrollbarThemeGtk::backButtonRect):
3592         (WebCore::ScrollbarThemeGtk::forwardButtonRect):
3593         (WebCore::ScrollbarThemeGtk::trackRect):
3594         (WebCore::ScrollbarThemeGtk::registerScrollbar):
3595         (WebCore::ScrollbarThemeGtk::unregisterScrollbar):
3596         (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
3597         * platform/gtk/ScrollbarThemeGtk.h:
3598         * platform/gtk/ScrollbarThemeGtk2.cpp: Removed.
3599         * platform/gtk/WidgetRenderingContext.cpp: Removed.
3600         * platform/gtk/WidgetRenderingContext.h: Removed.
3601
3602 2014-08-28  Zan Dobersek  <zdobersek@igalia.com>
3603
3604         Unreviewed GTK build fix for the Wayland windowing target after r173052.
3605
3606         * platform/graphics/wayland/WaylandSurface.cpp: Include the IntSize header.
3607         * platform/graphics/wayland/WaylandSurface.h: Forward-declare IntSize.
3608
3609 2014-08-27  Csaba Osztrogonác  <ossy@webkit.org>
3610
3611         One more URTBF after r173047.
3612
3613         * accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
3614         (webkitAccessibleComponentGetExtents):
3615
3616 2014-08-27  Iago Toral  <itoral@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
3617
3618         [GTK] Add WaylandSurface
3619         https://bugs.webkit.org/show_bug.cgi?id=136220
3620
3621         Reviewed by Martin Robinson.
3622
3623         Add the WaylandSurface class. An objects of this type is meant to be used
3624         by the LayerTreeHostGtk in the WebProcess and is constructed via the
3625         WaylandDisplay::createSurface() method.
3626
3627         LayerTreeHostGtk uses such object to perform frame requests to the nested
3628         Wayland compositor in the UIProcess, and to create the GLContextEGL object
3629         that's used during the layer flushing and compositing.
3630
3631         The resize() method is called whenever LayerTreeHostGtk is being resized,
3632         and basically only wraps the wl_egL_window_resize() call.
3633
3634         * PlatformGTK.cmake:
3635         * platform/graphics/wayland/WaylandSurface.cpp: Added.
3636         (WebCore::frameCallback):
3637         (WebCore::WaylandSurface::WaylandSurface):
3638         (WebCore::WaylandSurface::~WaylandSurface):
3639         (WebCore::WaylandSurface::resize):
3640         (WebCore::WaylandSurface::createGLContext):
3641         (WebCore::WaylandSurface::requestFrame):
3642         * platform/graphics/wayland/WaylandSurface.h: Added.
3643         (WebCore::WaylandSurface::surface):
3644         (WebCore::WaylandSurface::nativeWindowHandle):
3645
3646 2014-08-27  Csaba Osztrogonác  <ossy@webkit.org>
3647
3648         URTBF after r173047.
3649
3650         * accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
3651         (webkitAccessibleImageGetImagePosition):
3652
3653 2014-08-27  Zalan Bujtas  <zalan@apple.com>
3654
3655         Subpixel layout: Cleanup snapSizeToPixel/snapSizeToDevicePixel.
3656         https://bugs.webkit.org/show_bug.cgi?id=136264
3657
3658         Reviewed by Simon Fraser.
3659         
3660         1. Align snapSizeToPixel()/snapSizeToDevicePixel() function names with the rest of snapping
3661         functions. ->snappedIntSize()/snapSizeToDevicePixel().
3662         2. Operate on LayoutSize/LayoutPoint instead of LayoutUnit/LayoutUnit to reflect functionality.
3663
3664         Covered by existing tests.
3665
3666         * platform/LayoutUnit.h:
3667         (WebCore::snapSizeToPixel): Deleted.
3668         (WebCore::snapSizeToDevicePixel): Deleted.
3669         * platform/graphics/LayoutPoint.h:
3670         (WebCore::snappedIntSize):
3671         (WebCore::snapSizeToDevicePixel):
3672         (WebCore::pixelSnappedIntSize): Deleted.
3673         * platform/graphics/LayoutRect.h:
3674         (WebCore::LayoutRect::pixelSnappedSize):
3675         (WebCore::LayoutRect::pixelSnappedWidth):
3676         (WebCore::LayoutRect::pixelSnappedHeight):
3677         (WebCore::pixelSnappedIntRect):
3678         (WebCore::pixelSnappedIntRectFromEdges):
3679         (WebCore::pixelSnappedForPainting):
3680         (WebCore::directionalPixelSnappedForPainting):
3681         * rendering/RenderBox.cpp:
3682         (WebCore::RenderBox::pixelSnappedClientWidth):
3683         (WebCore::RenderBox::pixelSnappedClientHeight):
3684         (WebCore::RenderBox::pixelSnappedOffsetWidth):
3685         (WebCore::RenderBox::pixelSnappedOffsetHeight):
3686         (WebCore::RenderBox::scrollWidth):
3687         (WebCore::RenderBox::scrollHeight):
3688         * rendering/RenderBoxModelObject.cpp:
3689         (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
3690         (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
3691         * rendering/RenderLayer.cpp:
3692         (WebCore::RenderLayer::updateLayerPosition):
3693         (WebCore::RenderLayer::scrollWidth):
3694         (WebCore::RenderLayer::scrollHeight):
3695         * rendering/RenderTreeAsText.cpp:
3696         (WebCore::writeLayers):
3697
3698 2014-08-27  Zalan Bujtas  <zalan@apple.com>
3699
3700         Subpixel layout: Rename LayoutRect's device pixel snapping functions.
3701         https://bugs.webkit.org/show_bug.cgi?id=136319
3702
3703         Reviewed by Simon Fraser.
3704
3705         From pixelSnappedForPainting() to snapRectToDevicePixels() and 
3706         pixelSnappedIntRect*() to snappedIntRect*().
3707
3708         No change in functionality.
3709
3710         * accessibility/AccessibilityObject.cpp:
3711         (WebCore::AccessibilityObject::boundingBoxForQuads):
3712         (WebCore::AccessibilityObject::isOnscreen):
3713         (WebCore::AccessibilityObject::scrollToMakeVisible):
3714         * accessibility/AccessibilityObject.h:
3715         (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect):
3716         (WebCore::AccessibilityObject::pixelSnappedElementRect):
3717         * accessibility/AccessibilityRenderObject.cpp:
3718         (WebCore::AccessibilityRenderObject::isOffScreen):
3719         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
3720         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3721         (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
3722         (-[WebAccessibilityObjectWrapper accessibilityFrame]):
3723         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3724         (-[WebAccessibilityObjectWrapper position]):
3725         (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
3726         * bindings/objc/DOMUIKitExtensions.mm:
3727         (-[DOMHTMLAreaElement boundingBoxWithOwner:]):
3728         (-[DOMHTMLAreaElement absoluteQuadWithOwner:]):
3729         * css/CSSComputedStyleDeclaration.cpp:
3730         (WebCore::computedTransform):
3731         * dom/Node.h:
3732         (WebCore::Node::pixelSnappedBoundingBox):
3733         (WebCore::Node::pixelSnappedRenderRect):
3734         * editing/RenderedPosition.cpp:
3735         (WebCore::RenderedPosition::absoluteRect):
3736         * editing/mac/FrameSelectionMac.mm:
3737         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
3738         * html/HTMLCanvasElement.cpp:
3739         (WebCore::HTMLCanvasElement::paint):
3740         * inspector/InspectorOverlay.cpp:
3741         (WebCore::buildObjectForElementInfo):
3742         * inspector/InspectorPageAgent.cpp:
3743         (WebCore::InspectorPageAgent::didPaint):
3744         * page/FrameSnapshotting.cpp:
3745         (WebCore::snapshotNode):
3746         * page/FrameView.cpp:
3747         (WebCore::FrameView::scrollContentsFastPath):
3748         (WebCore::FrameView::extendedBackgroundRectForPainting):
3749         (WebCore::FrameView::windowClipRectForFrameOwner):
3750         (WebCore::FrameView::convertFromRendererToContainingView):
3751         * page/Page.cpp:
3752         (WebCore::Page::addRelevantRepaintedObject):
3753         (WebCore::Page::addRelevantUnpaintedObject):
3754         * page/ios/FrameIOS.mm:
3755         (WebCore::ancestorRespondingToClickEvents):
3756         * platform/DragImage.cpp:
3757         (WebCore::createDragImageForImage):
3758         * platform/graphics/LayoutRect.cpp:
3759         (WebCore::enclosingRectToDevicePixels):
3760         (WebCore::enclosingRectForPainting): Deleted.
3761         * platform/graphics/LayoutRect.h:
3762         (WebCore::snappedIntRect):
3763         (WebCore::snappedIntRectFromEdges):
3764         (WebCore::snapRectToDevicePixels):
3765         (WebCore::snapRectToDevicePixelsWithWritingDirection):
3766         (WebCore::pixelSnappedIntRect): Deleted.
3767         (WebCore::pixelSnappedIntRectFromEdges): Deleted.
3768         (WebCore::pixelSnappedForPainting): Deleted.
3769         (WebCore::directionalPixelSnappedForPainting): Deleted.
3770         * platform/graphics/RoundedRect.cpp:
3771         (WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):
3772         * platform/graphics/ca/GraphicsLayerCA.cpp:
3773         (WebCore::GraphicsLayerCA::computePixelAlignment):
3774         * platform/text/TextStream.cpp:
3775         (WebCore::TextStream::operator<<):
3776         * rendering/EllipsisBox.cpp:
3777         (WebCore::EllipsisBox::paintSelection):
3778         * rendering/FilterEffectRenderer.cpp:
3779         (WebCore::FilterEffectRendererHelper::applyFilterEffect):
3780         * rendering/InlineFlowBox.cpp:
3781         (WebCore::InlineFlowBox::paint):
3782         * rendering/InlineTextBox.cpp:
3783         (WebCore::InlineTextBox::paintSelection):
3784         (WebCore::InlineTextBox::paintCompositionBackground):
3785         (WebCore::InlineTextBox::paintTextMatchMarker):
3786         (WebCore::InlineTextBox::positionForOffset):
3787         * rendering/RenderBlock.cpp:
3788         (WebCore::RenderBlock::addVisualOverflowFromTheme):
3789         (WebCore::RenderBlock::paint):
3790         (WebCore::RenderBlock::blockSelectionGap):
3791         (WebCore::RenderBlock::logicalLeftSelectionGap):
3792         (WebCore::RenderBlock::logicalRightSelectionGap):
3793         (WebCore::RenderBlock::absoluteRects):
3794         (WebCore::RenderBlock::addFocusRingRects):
3795         * rendering/RenderBlockFlow.cpp:
3796         (WebCore::RenderBlockFlow::clipOutFloatingObjects):
3797         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
3798         * rendering/RenderBox.cpp:
3799         (WebCore::RenderBox::absoluteRects):
3800         (WebCore::RenderBox::absoluteContentBox):
3801         (WebCore::RenderBox::outlineBoundsForRepaint):
3802         (WebCore::RenderBox::addFocusRingRects):
3803         (WebCore::RenderBox::getBackgroundPaintedExtent):
3804         (WebCore::RenderBox::pushContentsClip):
3805         (WebCore::RenderBox::computeRectForRepaint):
3806         * rendering/RenderBox.h:
3807         (WebCore::RenderBox::pixelSnappedFrameRect):
3808         * rendering/RenderBoxModelObject.cpp:
3809         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3810         (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
3811         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3812         (WebCore::RenderBoxModelObject::paintBorder):
3813         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
3814         (WebCore::RenderBoxModelObject::paintBoxShadow):
3815         * rendering/RenderDetailsMarker.cpp:
3816         (WebCore::RenderDetailsMarker::paint):
3817         * rendering/RenderEmbeddedObject.cpp:
3818         (WebCore::RenderEmbeddedObject::paintSnapshotImage):
3819         (WebCore::RenderEmbeddedObject::isReplacementObscured):
3820         * rendering/RenderFieldset.cpp:
3821         (WebCore::RenderFieldset::paintBoxDecorations):
3822         * rendering/RenderFlowThread.cpp:
3823         (WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
3824         * rendering/RenderFrameSet.cpp:
3825         (WebCore::RenderFrameSet::paint):
3826         (WebCore::RenderFrameSet::layout):
3827         (WebCore::RenderFrameSet::positionFramesWithFlattening):
3828         * rendering/RenderHTMLCanvas.cpp:
3829         (WebCore::RenderHTMLCanvas::paintReplaced):
3830         * rendering/RenderImage.cpp:
3831         (WebCore::RenderImage::paintReplaced):
3832         * rendering/RenderInline.cpp:
3833         (WebCore::RenderInline::paintOutlineForLine):
3834         * rendering/RenderLayer.cpp:
3835         (WebCore::RenderLayer::updateTransform):
3836         (WebCore::RenderLayer::currentTransform):
3837         (WebCore::RenderLayer::beginTransparencyLayers):
3838         (WebCore::RenderLayer::scrollRectToVisible):
3839         (WebCore::RenderLayer::scrollCornerRect):
3840         (WebCore::RenderLayer::drawPlatformResizerImage):
3841         (WebCore::RenderLayer::paintResizer):
3842         (WebCore::RenderLayer::hitTestOverflowControls):
3843         (WebCore::RenderLayer::clipToRect):
3844         (WebCore::RenderLayer::paintLayerByApplyingTransform):
3845         (WebCore::RenderLayer::paintOverflowControlsForFragments):
3846         (WebCore::RenderLayer::hitTestResizerInFragments):
3847         (WebCore::RenderLayer::calculateClipRects):
3848         * rendering/RenderLayerBacking.cpp:
3849         (WebCore::RenderLayerBacking::updateTransform):
3850         (WebCore::RenderLayerBacking::updateGeometry):
3851         (WebCore::RenderLayerBacking::resetContentsRect):
3852         (WebCore::RenderLayerBacking::updateImageContents):
3853         (WebCore::RenderLayerBacking::backgroundBoxForPainting):
3854         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
3855         (WebCore::RenderLayerBacking::paintContents):
3856         * rendering/RenderLayerCompositor.cpp:
3857         (WebCore::RenderLayerCompositor::addToOverlapMap):
3858         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
3859         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
3860         (WebCore::RenderLayerCompositor::paintContents):
3861         * rendering/RenderListBox.cpp:
3862         (WebCore::RenderListBox::addFocusRingRects):
3863         (WebCore::RenderListBox::paintScrollbar):
3864         (WebCore::RenderListBox::paintItemBackground):
3865         * rendering/RenderListMarker.cpp:
3866         (WebCore::RenderListMarker::paint):
3867         * rendering/RenderMeter.cpp:
3868         (WebCore::RenderMeter::updateLogicalWidth):
3869         (WebCore::RenderMeter::computeLogicalHeight):
3870         * rendering/RenderMultiColumnSet.cpp:
3871         (WebCore::RenderMultiColumnSet::paintColumnRules):
3872         * rendering/RenderObject.cpp:
3873         (WebCore::RenderObject::drawLineForBoxSide):
3874         (WebCore::RenderObject::addPDFURLRect):
3875         (WebCore::RenderObject::paintOutline):
3876         (WebCore::RenderObject::absoluteBoundingBoxRect):
3877         (WebCore::RenderObject::repaintUsingContainer):
3878         (WebCore::RenderObject::repaintSlowRepaintObject):
3879         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
3880         * rendering/RenderProgress.cpp:
3881         (WebCore::RenderProgress::computeLogicalHeight):
3882         * rendering/RenderReplaced.cpp:
3883         (WebCore::RenderReplaced::paint):
3884         * rendering/RenderScrollbarPart.cpp:
3885         (WebCore::RenderScrollbarPart::paintIntoRect):
3886         * rendering/RenderSearchField.cpp:
3887         (WebCore::RenderSearchField::showPopup):
3888         * rendering/RenderSnapshottedPlugIn.cpp:
3889         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
3890         * rendering/RenderTableCell.cpp:
3891         (WebCore::RenderTableCell::paintCollapsedBorders):
3892         * rendering/RenderTextControl.cpp:
3893         (WebCore::RenderTextControl::addFocusRingRects):
3894         * rendering/RenderTextControlSingleLine.cpp:
3895         (WebCore::RenderTextControlSingleLine::paint):
3896         * rendering/RenderTheme.cpp:
3897         (WebCore::RenderTheme::paint):
3898         (WebCore::RenderTheme::paintBorderOnly):
3899         (WebCore::RenderTheme::paintDecorations):
3900         * rendering/RenderThemeMac.mm:
3901         (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
3902         * rendering/RenderTreeAsText.cpp:
3903         (WebCore::write):
3904         * rendering/RenderVideo.cpp:
3905         (WebCore::RenderVideo::videoBox):
3906         (WebCore::RenderVideo::paintReplaced):
3907         * rendering/RenderView.cpp:
3908         (WebCore::RenderView::repaintViewRectangle):
3909         (WebCore::RenderView::computeRectForRepaint):
3910         (WebCore::RenderView::absoluteRects):
3911         (WebCore::RenderView::selectionBounds):
3912         (WebCore::RenderView::unscaledDocumentRect):
3913         * rendering/RenderView.h:
3914         * rendering/RenderWidget.cpp:
3915         (WebCore::RenderWidget::paintContents):
3916         (WebCore::RenderWidget::paint):
3917         * rendering/SimpleLineLayoutFunctions.cpp:
3918         (WebCore::SimpleLineLayout::paintDebugBorders):
3919         * rendering/shapes/Shape.cpp:
3920         (WebCore::Shape::createRasterShape):
3921         * rendering/svg/RenderSVGModelObject.cpp:
3922         (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
3923         * rendering/svg/RenderSVGRoot.cpp:
3924         (WebCore::RenderSVGRoot::paintReplaced):
3925         * rendering/svg/SVGInlineTextBox.cpp:
3926         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
3927
3928 2014-08-27  Daniel Bates  <dabates@apple.com>
3929
3930         Scrollbar corner can be drawn outside containing frame
3931         https://bugs.webkit.org/show_bug.cgi?id=133131
3932         <rdar://problem/16382769>
3933
3934         Reviewed by Simon Fraser.
3935
3936         Merged from Blink (patch by Levi Weintraub):
3937         <https://src.chromium.org/viewvc/blink?revision=170625&view=revision>
3938
3939         Fixes an issue where the scroll corner may be painted outside the rectangle of
3940         its associated frame by setting a clip rectangle before painting the scroll bar(s)
3941         and scroll corner.
3942
3943         Test: scrollbars/custom-scrollbars-paint-outside-iframe.html
3944
3945         * platform/ScrollView.cpp:
3946         (WebCore::ScrollView::paint):
3947
3948 2014-08-27  Zalan Bujtas  <zalan@apple.com>
3949
3950         Subpixel layout: Rename FloatPoint/FloatRect device pixel snapping functions.
3951         https://bugs.webkit.org/show_bug.cgi?id=136314
3952
3953         Reviewed by Simon Fraser.
3954
3955         From *edToDevicePixels() to *PointToDevicePixels() (* = floor/round/ceil)
3956
3957         EnclosedIntRect -> enclosingIntRect() changes functionality for InspectorOverlay painting,
3958         but currently untestable.
3959
3960         * WebCore.exp.in:
3961         * inspector/InspectorOverlay.cpp:
3962         (WebCore::InspectorOverlay::showPaintRect):
3963         * platform/graphics/FloatPoint.h:
3964         (WebCore::flooredIntSize):
3965         (WebCore::floorPointToDevicePixels):
3966         (WebCore::ceilPointToDevicePixels):
3967         (WebCore::flooredToDevicePixels): Deleted.
3968         (WebCore::ceiledToDevicePixels): Deleted.
3969         * platform/graphics/FloatRect.cpp:
3970         (WebCore::enclosingRectToDevicePixels):
3971         (WebCore::enclosingRectExtendedToDevicePixels): Deleted. Renamed.
3972         (WebCore::enclosedIntRect): Deleted. Not needed.
3973         * platform/graphics/FloatRect.h:
3974
3975 2014-08-27  Zalan Bujtas  <zalan@apple.com>
3976
3977         Subpixel layout: Rename LayoutPoint's device pixel snapping functions.
3978         https://bugs.webkit.org/show_bug.cgi?id=136306
3979
3980         Reviewed by Simon Fraser.
3981
3982         From *edForPainting() to *PointToDevicePixels() (* = floor/round/ceil)
3983
3984         No change in functionality.
3985
3986         * platform/graphics/LayoutPoint.h:
3987         (WebCore::roundPointToDevicePixels):
3988         (WebCore::floorPointToDevicePixels):
3989         (WebCore::ceilPointToDevicePixels):
3990         (WebCore::roundedForPainting): Deleted.
3991         (WebCore::flooredForPainting): Deleted.
3992         (WebCore::ceiledForPainting): Deleted.
3993         * platform/graphics/LayoutRect.cpp:
3994         (WebCore::enclosingRectForPainting):
3995         * platform/graphics/LayoutRect.h:
3996         (WebCore::directionalPixelSnappedForPainting):
3997         * rendering/RenderBoxModelObject.cpp:
3998         (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
3999         * rendering/RenderLayer.cpp:
4000         (WebCore::RenderLayer::paintLayerByApplyingTransform):
4001         (WebCore::RenderLayer::calculateClipRects):
4002         * rendering/RenderLayerBacking.cpp:
4003         (WebCore::RenderLayerBacking::updateGeometry):
4004
4005 2014-08-27  Zalan Bujtas  <zalan@apple.com>
4006
4007         Subpixel layout: Rename LayoutSize's device pixel snapping functions.
4008         https://bugs.webkit.org/show_bug.cgi?id=136310
4009
4010         Reviewed by Simon Fraser.
4011
4012         From *edForPainting() to *SizeToDevicePixels() (* = floor/round/ceil)
4013
4014         No change in functionality.