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