Migrate ComplexTextControllerCoreText to use SPI instead of WKSI
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-10-30  Myles C. Maxfield  <mmaxfield@apple.com>
2
3         Migrate ComplexTextControllerCoreText to use SPI instead of WKSI
4         https://bugs.webkit.org/show_bug.cgi?id=138228
5
6         Reviewed by Simon Fraser.
7
8         No new tests because there is no behavior change.
9
10         * WebCore.xcodeproj/project.pbxproj:
11         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
12         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
13         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
14         * platform/spi/cocoa/CoreTextSPI.h: Added.
15
16 2014-10-30  Eric Carlson  <eric.carlson@apple.com>
17
18         Add diagnostic logging to track page loads.
19         https://bugs.webkit.org/show_bug.cgi?id=138205
20         <rdar://problem/18173017>
21
22         Reviewed by Jer Noble.
23
24         * loader/FrameLoader.cpp:
25         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Log page load success or failure.
26
27         * page/DiagnosticLoggingKeys.cpp:
28         (WebCore::DiagnosticLoggingKeys::pageLoadedKey): New.
29         * page/DiagnosticLoggingKeys.h:
30
31 2014-10-24  Philippe Normand  <pnormand@igalia.com>
32
33         [GStreamer] Video resolution changes trigger a crash in the TextureMapper
34         https://bugs.webkit.org/show_bug.cgi?id=137065
35
36         Reviewed by Gustavo Noronha Silva.
37
38         Switch to GstSample for buffer+caps communication between the
39         video sink and the player. Using a single object type for this
40         avoid issues where the caps might not correctly describe the
41         buffer contents anymore, for example when the video resolution is
42         changed.
43
44         * platform/graphics/gstreamer/ImageGStreamer.h: Use GstSample
45         instead of GstBuffer+GstCaps.
46         (WebCore::ImageGStreamer::createImage):
47         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.
48         (ImageGStreamer::ImageGStreamer):
49         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
50         (WebCore::mediaPlayerPrivateRepaintCallback): The repaint signal
51         now uses a GstSample instead of a GstBuffer.
52         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
53         Store the current sample instead of a buffer. Also renamed the
54         mutex protecting access to the sample.
55         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): Ditto.
56         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize): Return
57         early if no sample is available. The caps used to get the video
58         size are store in the sample.
59         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Use
60         GstSample instead of GstBuffer.
61         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): Ditto.
62         (WebCore::MediaPlayerPrivateGStreamerBase::paint): Ditto.
63         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
64         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Now store a
65         GstSample internally. Also removed the now useless current-caps property.
66         (_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate): Renamed the
67         mutex protecting access to the sample.
68         (_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Ditto.
69         (webkit_video_sink_init): Disable last-sample in basesink since we
70         already store one in our sink anyway.
71         (webkitVideoSinkTimeoutCallback): Switch to GstSample.
72         (webkitVideoSinkRender): Ditto.
73         (unlockSampleMutex): Ditto.
74         (webkitVideoSinkUnlock): Ditto.
75         (webkitVideoSinkUnlockStop): Ditto.
76         (webkitVideoSinkStop): Ditto!
77         (webkitVideoSinkStart): Ditto.
78         (webkit_video_sink_class_init): Drop current-caps property.
79         (webkitVideoSinkGetProperty): Deleted.
80         (unlockBufferMutex): Deleted.
81
82 2014-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
83
84         FormDataBuilder should not use Document
85         https://bugs.webkit.org/show_bug.cgi?id=138172
86
87         Reviewed by Alexey Proskuryakov.
88
89         It's only used by encodingFromAcceptCharset() to fallback to
90         document input encoding. That method is only used by
91         FormSubmission::create(), so it could be moved as a static
92         function to FormSubmission.cpp.
93
94         * loader/FormSubmission.cpp:
95         (WebCore::encodingFromAcceptCharset):
96         (WebCore::FormSubmission::create):
97         * platform/network/FormDataBuilder.cpp:
98         (WebCore::FormDataBuilder::encodingFromAcceptCharset): Deleted.
99         * platform/network/FormDataBuilder.h:
100
101 2014-10-29  Said Abou-Hallawa  <sabouhallawa@apple.com>
102
103         ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'.
104         https://bugs.webkit.org/show_bug.cgi?id=138054.
105
106         Reviewed by Zalan Bujtas.
107
108         A Length of type 'Calculated' can be generated from blending two lengths of
109         different types. Setting the wordSpacing of the render style should be handled
110         correctly when the type of the new value is 'Calculated'.
111
112         Tests: css3/calculated-word-spacing.html.
113
114         Add a case for setting the render style wordSpacing to a <length> of type 'Calculated'.
115         * rendering/style/RenderStyle.cpp:
116         (WebCore::RenderStyle::setWordSpacing):
117
118 2014-10-29  Hunseop Jeong  <hs85.jeong@samsung.com>
119
120         [CoordinatedGraphics] Use modern for-loops
121         https://bugs.webkit.org/show_bug.cgi?id=138168
122
123         Reviewed by Andreas Kling.
124
125         No new tests as there is no change in functionality.
126
127         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: Use a modern for loop.
128         (WebCore::CompositingCoordinator::renderNextFrame):
129         (WebCore::CompositingCoordinator::paintToSurface):
130         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: Use a modern for loop.
131         (WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect):
132         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
133         (WebCore::CoordinatedGraphicsLayer::syncChildren):
134         (WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):
135         (WebCore::CoordinatedGraphicsLayer::findFirstDescendantWithContentsRecursively):
136         (WebCore::CoordinatedGraphicsLayer::updateContentBuffersIncludingSubLayers):
137         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: Use a modern for loop.
138         (WebCore::CoordinatedImageBacking::updateVisibilityIfNeeded):
139
140 2014-10-29  Chris Dumez  <cdumez@apple.com>
141
142         Final-ize more of TextFieldInputType's virtual functions
143         https://bugs.webkit.org/show_bug.cgi?id=138194
144
145         Reviewed by Andreas Kling.
146
147         Final-ize more of TextFieldInputType's virtual functions for
148         performance.
149
150         No new tests, no behavior change.
151
152         * html/TextFieldInputType.h:
153
154 2014-10-29  Chris Dumez  <cdumez@apple.com>
155
156         Clean up virtual functions in inspector/
157         https://bugs.webkit.org/show_bug.cgi?id=138190
158
159         Reviewed by Andreas Kling.
160
161         Clean up virtual functions in inspector/ by:
162         - Making virtual functions final when possible
163         - Making classes final when possible
164         - Explicitly marking functions / destructors as virtual when they are
165           inherently virtual
166         - Making isXXX() virtual functions private on XXX classes to avoid
167           unnecessary type checks
168
169         No new tests, no behavior change.
170
171         * inspector/InspectorApplicationCacheAgent.h:
172         (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent): Deleted.
173         * inspector/InspectorCSSAgent.h:
174         * inspector/InspectorDOMAgent.h:
175         * inspector/InspectorDOMDebuggerAgent.h:
176         * inspector/InspectorDOMStorageAgent.h:
177         * inspector/InspectorDatabaseAgent.h:
178         * inspector/InspectorFrontendClientLocal.h:
179         * inspector/InspectorIndexedDBAgent.h:
180         * inspector/InspectorLayerTreeAgent.h:
181         * inspector/InspectorPageAgent.h:
182         * inspector/InspectorReplayAgent.h:
183         * inspector/InspectorResourceAgent.h:
184         * inspector/InspectorStyleSheet.h:
185         * inspector/InspectorTimelineAgent.h:
186         * inspector/InspectorWorkerAgent.h:
187         * inspector/PageConsoleAgent.h:
188         * inspector/WorkerInspectorController.h:
189
190 2014-10-29  Andreas Kling  <akling@apple.com>
191
192         Generalize dirtying of parent's line boxes when taking a renderer out of tree.
193         <https://webkit.org/b/138152>
194
195         Reviewed by Antti Koivisto.
196
197         Instead of calling dirtyLinesFromChangedChild() when certain types of renderers
198         are about to be destroyed, always do this in RenderElement::willBeRemovedFromTree().
199
200         This is part of an effort to make render tree teardown less incomprehensible.
201
202         We still don't bother at all if we're in the process of tearing down the entire
203         render tree, since that would be a waste of time.
204
205         * rendering/RenderBlock.cpp:
206         (WebCore::RenderBlock::willBeDestroyed):
207         * rendering/RenderBlockFlow.cpp:
208         (WebCore::RenderBlockFlow::willBeDestroyed):
209         * rendering/RenderElement.cpp:
210         (WebCore::RenderElement::willBeRemovedFromTree):
211         * rendering/RenderInline.cpp:
212         (WebCore::RenderInline::willBeDestroyed):
213         * rendering/RenderReplaced.cpp:
214         (WebCore::RenderReplaced::willBeDestroyed): Deleted.
215         * rendering/RenderReplaced.h:
216
217 2014-10-28  Ada Chan  <adachan@apple.com>
218
219         Implement WKPageSetMuted(bool).
220         https://bugs.webkit.org/show_bug.cgi?id=138158
221
222         Reviewed by Anders Carlsson.
223
224         * WebCore.exp.in:
225         * page/Page.h:
226
227 2014-10-29  Alexey Proskuryakov  <ap@apple.com>
228
229         Notify Settings object when its Page object goes away.
230         https://bugs.webkit.org/show_bug.cgi?id=138183
231         rdar://problem/18786900
232
233         Reviewed by Andreas Kling.
234
235         I could not make a test for this issue.
236
237         * page/Page.cpp:
238         (WebCore::Page::~Page):
239         * page/Settings.cpp:
240         (WebCore::setImageLoadingSettings):
241         (WebCore::Settings::Settings):
242         (WebCore::Settings::setTextAutosizingEnabled):
243         (WebCore::Settings::setTextAutosizingWindowSizeOverride):
244         (WebCore::Settings::setTextAutosizingFontScaleFactor):
245         (WebCore::Settings::setMediaTypeOverride):
246         (WebCore::Settings::setScriptEnabled):
247         (WebCore::Settings::setUserStyleSheetLocation):
248         (WebCore::Settings::setMinDOMTimerInterval):
249         (WebCore::Settings::minDOMTimerInterval):
250         (WebCore::Settings::domTimerAlignmentInterval):
251         (WebCore::Settings::setUsesPageCache):
252         (WebCore::Settings::setScreenFontSubstitutionEnabled):
253         (WebCore::Settings::setFontRenderingMode):
254         (WebCore::Settings::setDNSPrefetchingEnabled):
255         (WebCore::Settings::setStorageBlockingPolicy):
256         (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
257         (WebCore::Settings::setScrollingPerformanceLoggingEnabled):
258         (WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
259         (WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled):
260         (WebCore::Settings::setFontFallbackPrefersPictographs):
261         * page/Settings.h:
262         (WebCore::Settings::pageDestroyed):
263
264 2014-10-29  Zalan Bujtas  <zalan@apple.com>
265
266         Remove invalid float from RootInlineBox.
267         https://bugs.webkit.org/show_bug.cgi?id=137707
268
269         Reviewed by Antti Koivisto.
270
271         In certain cases, floating boxes get attached to the last (root) inline box.
272         When this particular floating box gets destroyed, it also needs to be detached
273         from the last inline box.
274         1. Introduce RootInlineBox::removeFloat() (vs. RootInlineBox::appendFloat())
275         2. Ensure that it is called when the floating box is being destroyed.
276
277         Test: fast/inline/crash-when-inline-box-has-invalid-float.html
278
279         * rendering/RenderBlockFlow.cpp:
280         (WebCore::RenderBlockFlow::removeFloatingObject):
281         (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout): During style recalc, while
282         tearing down the render tree, we can get to a state where a block element has both inline and block children.
283         It happens when the style change on an element makes sibling anonymous block wrappers detached.
284         In that case the markAllDescendantsWithFloatsForLayout() call does not get propagated down on the
285         block child elements as we return early at the childrenInline() check.
286         * rendering/RootInlineBox.h:
287         (WebCore::RootInlineBox::removeFloat):
288
289 2014-10-29  Antti Koivisto  <antti@apple.com>
290
291         Factor cache validity computation functions out of CachedResource
292         https://bugs.webkit.org/show_bug.cgi?id=138156
293
294         Reviewed by Andreas Kling.
295
296         These can be used to implement cache logic on WebKit level.
297
298         * CMakeLists.txt:
299         * WebCore.exp.in:
300         * WebCore.vcxproj/WebCore.vcxproj:
301         * WebCore.xcodeproj/project.pbxproj:
302         * loader/CacheValidation.cpp: Added.
303         (WebCore::computeCurrentAge):
304         (WebCore::computeFreshnessLifetimeForHTTPFamily):
305         (WebCore::updateRedirectChainStatus):
306         (WebCore::redirectChainAllowsReuse):
307         * loader/CacheValidation.h: Added.
308         (WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus):
309         * loader/cache/CachedResource.cpp:
310         (WebCore::updateResponseHeadersAfterRevalidation):
311         (WebCore::CachedResource::CachedResource):
312         (WebCore::CachedResource::isExpired):
313         (WebCore::CachedResource::freshnessLifetime):
314         (WebCore::CachedResource::willSendRequest):
315         (WebCore::CachedResource::updateResponseAfterRevalidation):
316         (WebCore::CachedResource::redirectChainAllowsReuse):
317         (WebCore::currentAge): Deleted.
318         * loader/cache/CachedResource.h:
319
320 2014-10-29  Antti Koivisto  <antti@apple.com>
321
322         Unreviewed, rolling out r175342.
323
324         a file ended up in a wrong directory
325
326         Reverted changeset:
327
328         "Factor cache validity computation functions out of
329         CachedResource"
330         https://bugs.webkit.org/show_bug.cgi?id=138156
331         http://trac.webkit.org/changeset/175342
332
333 2014-10-29  Antti Koivisto  <antti@apple.com>
334
335         Factor cache validity computation functions out of CachedResource
336         https://bugs.webkit.org/show_bug.cgi?id=138156
337
338         Reviewed by Andreas Kling.
339
340         These can be used to implement cache logic on WebKit level.
341
342         * CMakeLists.txt:
343         * WebCore.exp.in:
344         * WebCore.vcxproj/WebCore.vcxproj:
345         * WebCore.xcodeproj/project.pbxproj:
346         * loader/CacheValidation.cpp: Added.
347         (WebCore::computeCurrentAge):
348         (WebCore::computeFreshnessLifetimeForHTTPFamily):
349         (WebCore::updateRedirectChainStatus):
350         (WebCore::redirectChainAllowsReuse):
351         * loader/CacheValidation.h: Added.
352         (WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus):
353         * loader/cache/CachedResource.cpp:
354         (WebCore::updateResponseHeadersAfterRevalidation):
355         (WebCore::CachedResource::CachedResource):
356         (WebCore::CachedResource::isExpired):
357         (WebCore::CachedResource::freshnessLifetime):
358         (WebCore::CachedResource::willSendRequest):
359         (WebCore::CachedResource::updateResponseAfterRevalidation):
360         (WebCore::CachedResource::redirectChainAllowsReuse):
361         (WebCore::currentAge): Deleted.
362         * loader/cache/CachedResource.h:
363
364 2014-10-28  Ada Chan  <adachan@apple.com>
365
366         Add API to mute/unmute a page.
367         https://bugs.webkit.org/show_bug.cgi?id=138150
368
369         Reviewed by Eric Carlson.
370
371         No new tests, since it's difficult to test whether the Page has indeed been muted.
372
373         * dom/Document.cpp:
374         (WebCore::Document::setMuted):
375         Go through each AudioProducer and call setMuted() on it.
376         * dom/Document.h:
377         * page/AudioProducer.h:
378         Add setMuted(bool). HTMLMediaElement, the only derived class of AudioProducer so far,
379         has already implemented setMuted().
380         * page/Page.cpp:
381         (WebCore::Page::setMuted):
382         Go through all its frames and call setMuted() on each frame's Document.
383         * page/Page.h:
384
385 2014-10-29  Tim Horton  <timothy_horton@apple.com>
386
387         Implement action menus for data detected items
388         https://bugs.webkit.org/show_bug.cgi?id=138178
389         <rdar://problem/18709436>
390
391         Reviewed by Anders Carlsson.
392
393         * WebCore.exp.in:
394         Export a symbol from Position that we need.
395
396         * WebCore.xcodeproj/project.pbxproj:
397         * platform/spi/mac/DataDetectorsSPI.h:
398         Add a combined SPI header for all of the random bits of DataDetectors that we use.
399
400 2014-10-29  Jer Noble  <jer.noble@apple.com>
401
402         [EME] NULL-dereference crash in MediaKeys::setMediaElement().
403         https://bugs.webkit.org/show_bug.cgi?id=138177
404
405         Reviewed by Eric Carlson.
406
407         NULL-check m_mediaElement->player() before using. It may have been cleared if the HTMLMediaElement
408         has previously had stop() called.
409
410         * Modules/encryptedmedia/MediaKeys.cpp:
411         (WebCore::MediaKeys::setMediaElement):
412
413 2014-10-29  Jer Noble  <jer.noble@apple.com>
414
415         [EME] MediaKeySession resources persist across page reloads
416         https://bugs.webkit.org/show_bug.cgi?id=138176
417
418         Reviewed by Eric Carlson.
419
420         MediaKeySession is an ActiveDOMObject, so when told to stop() by our execution context,
421         close() the session, releasing all our resources.
422
423         * Modules/encryptedmedia/MediaKeySession.h:
424
425 2014-10-29  Jer Noble  <jer.noble@apple.com>
426
427         [EME][Mac] MediaKeySession type "keyrelease" is ignored.
428         https://bugs.webkit.org/show_bug.cgi?id=138175
429
430         Reviewed by Eric Carlson.
431
432         To indicate that they would like to recevie expired session confirmation messages, clients
433         will create a MediaKeySession with a type parameter of "keyrelease". The code which validates
434         this type needs to be updated to recognize "keyrelease" as a valid type.
435
436         Also, the code which validates update() requests needs to allow updates containing the string
437         "acknowledged", so that clients can request the confirmation messages be discarded.
438
439         * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
440         (WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType):
441         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
442         (WebCore::CDMSessionMediaSourceAVFObjC::update):
443
444 2014-10-28  Ada Chan  <adachan@apple.com>
445
446         Remove MediaSessionClient::hasMediaCharacteristics() and MediaSessionClient::mediaStateDidChange().
447         https://bugs.webkit.org/show_bug.cgi?id=138153
448
449         Reviewed by Jer Noble.
450
451         After http://trac.webkit.org/changeset/175273, Document no longer keeps a set of MediaSessions
452         and it doesn't need to query each MediaSession for its characteristics and play state.
453         MediaSessionClient::hasMediaCharacteristics() is no longer needed and MediaSessionClient::mediaStateDidChange()
454         can be removed if HTMLMediaElement calls Document::updateIsPlayingAudio() after m_playing has changed.
455
456         No new tests, no behavior change.
457
458         * html/HTMLMediaElement.cpp:
459         (WebCore::HTMLMediaElement::updatePlayState):
460         Call setPlaying() rather than setting m_playing directly.
461         (WebCore::HTMLMediaElement::setPlaying):
462         Update m_playing. If it has changed, call Document::updateIsPlayingAudio().
463         (WebCore::HTMLMediaElement::setPausedInternal):
464         Call setPlaying() rather than setting m_playing directly.
465         (WebCore::HTMLMediaElement::isPlayingAudio):
466         Call isPlaying() directly rather than checking the MediaSession's state.
467         * html/HTMLMediaElement.h:
468         * platform/audio/MediaSession.cpp:
469         (WebCore::MediaSession::setState):
470         MediaSessionClient::mediaStateDidChange() has been removed.
471         (WebCore::MediaSession::hasMediaCharacteristics): Deleted.
472         * platform/audio/MediaSession.h:
473         (WebCore::MediaSessionClient::mediaStateDidChange): Deleted.
474         * platform/audio/ios/AudioDestinationIOS.h:
475         * platform/audio/mac/AudioDestinationMac.h:
476
477 2014-10-29  Chris Dumez  <cdumez@apple.com>
478
479         Clean up virtual functions in html/
480         https://bugs.webkit.org/show_bug.cgi?id=138166
481
482         Reviewed by Andreas Kling.
483
484         Clean up virtual functions in html/ by:
485         - Making virtual functions final when possible
486         - Making classes final when possible
487         - Using 'override' when appropriate
488         - Explicitly marking functions / destructors as virtual when they are
489           inherently virtual
490         - Dropping virtual destructors when the class does not have subclasses
491           and mark the class as final, to get rid of unnecessary vtables
492         - Making isXXX() virtual functions private on XXX classes to avoid
493           unnecessary type checks
494         - De-virtualizing some functions that do not need to be virtual
495         - Dropping final for virtual functions in classes already marked as
496           final
497
498         No new tests, no behavior change.
499
500         * html/ButtonInputType.h:
501         * html/CheckboxInputType.h:
502         * html/ColorInputType.h:
503         * html/DOMSettableTokenList.h:
504         * html/DateInputType.h:
505         * html/DateTimeInputType.h:
506         * html/DateTimeLocalInputType.h:
507         * html/EmailInputType.h:
508         * html/FTPDirectoryDocument.h:
509         * html/HTMLAnchorElement.h:
510         * html/HTMLDetailsElement.cpp:
511         * html/HTMLFormControlElement.h:
512         * html/HTMLFormControlsCollection.h:
513         * html/HTMLFrameElement.h:
514         * html/HTMLFrameElementBase.h:
515         * html/HTMLFrameOwnerElement.h:
516         * html/HTMLInputElement.h:
517         * html/HTMLMarqueeElement.h:
518         * html/HTMLMediaElement.h:
519         * html/HTMLMediaSession.h:
520         (WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Deleted.
521         * html/HTMLMeterElement.h:
522         * html/HTMLNameCollection.h:
523         * html/HTMLObjectElement.h:
524         * html/HTMLOptGroupElement.h:
525         * html/HTMLOptionElement.h:
526         * html/HTMLSpanElement.h:
527         * html/HTMLStyleElement.h:
528         * html/HTMLSummaryElement.cpp:
529         * html/HTMLSummaryElement.h:
530         * html/HTMLUnknownElement.h:
531         * html/HTMLVideoElement.h:
532         * html/HiddenInputType.h:
533         * html/ImageInputType.h:
534         * html/MediaKeyEvent.h:
535         * html/MonthInputType.h:
536         * html/NumberInputType.h:
537         * html/PasswordInputType.h:
538         * html/PublicURLManager.h:
539         * html/RadioInputType.h:
540         * html/ResetInputType.h:
541         * html/SubmitInputType.h:
542         * html/TelephoneInputType.h:
543         * html/TextInputType.h:
544         * html/TimeInputType.h:
545         * html/URLInputType.h:
546         * html/WeekInputType.h:
547         * html/canvas/ANGLEInstancedArrays.h:
548         * html/canvas/CanvasRenderingContext2D.h:
549         * html/canvas/DOMPath.h:
550         * html/canvas/EXTShaderTextureLOD.h:
551         * html/canvas/EXTTextureFilterAnisotropic.h:
552         * html/canvas/OESElementIndexUint.h:
553         * html/canvas/OESStandardDerivatives.h:
554         * html/canvas/OESTextureFloat.h:
555         * html/canvas/OESTextureFloatLinear.h:
556         * html/canvas/OESTextureHalfFloat.h:
557         * html/canvas/OESTextureHalfFloatLinear.h:
558         * html/canvas/OESVertexArrayObject.h:
559         * html/canvas/WebGLBuffer.h:
560         * html/canvas/WebGLCompressedTextureATC.h:
561         * html/canvas/WebGLCompressedTexturePVRTC.h:
562         * html/canvas/WebGLCompressedTextureS3TC.h:
563         * html/canvas/WebGLContextAttributes.h:
564         * html/canvas/WebGLContextEvent.h:
565         * html/canvas/WebGLDebugRendererInfo.h:
566         * html/canvas/WebGLDebugShaders.h:
567         * html/canvas/WebGLDepthTexture.h:
568         * html/canvas/WebGLDrawBuffers.h:
569         * html/canvas/WebGLFramebuffer.h:
570         (WebCore::WebGLFramebuffer::isFramebuffer): Deleted.
571         * html/canvas/WebGLLoseContext.h:
572         * html/canvas/WebGLProgram.h:
573         * html/canvas/WebGLRenderbuffer.h:
574         * html/canvas/WebGLRenderingContext.h:
575         * html/canvas/WebGLShader.h:
576         * html/canvas/WebGLSharedObject.h:
577         (WebCore::WebGLSharedObject::isFramebuffer): Deleted.
578         * html/canvas/WebGLTexture.h:
579         * html/canvas/WebGLVertexArrayObjectOES.h:
580         (WebCore::WebGLVertexArrayObjectOES::isVertexArray): Deleted.
581         * html/shadow/ImageControlsRootElement.h:
582         * html/shadow/InsertionPoint.h:
583         * html/shadow/MediaControlElementTypes.h:
584         * html/shadow/MediaControlElements.h:
585         * html/shadow/MediaControls.h:
586         * html/shadow/MediaControlsApple.h:
587         * html/shadow/SpinButtonElement.h:
588         * html/track/AudioTrack.h:
589         * html/track/AudioTrackList.h:
590         * html/track/DataCue.h:
591         (WebCore::DataCue::cueType): Deleted.
592         * html/track/InbandDataTextTrack.h:
593         * html/track/InbandGenericTextTrack.h:
594         * html/track/InbandTextTrack.h:
595         * html/track/InbandWebVTTTextTrack.h:
596         * html/track/LoadableTextTrack.h:
597         * html/track/TextTrackList.h:
598         * html/track/TrackEvent.h:
599         * html/track/VTTCue.h:
600         (WebCore::VTTCueBox::setFontSizeFromCaptionUserPrefs):
601         * html/track/VTTRegion.h:
602         * html/track/VideoTrack.h:
603         * html/track/VideoTrackList.h:
604         * html/track/WebVTTParser.h:
605         (WebCore::WebVTTCueData::~WebVTTCueData): Deleted.
606
607 2014-10-17  Sergio Villar Senin  <svillar@igalia.com>
608
609         ASSERTION FAILED: growthShare > 0 in WebCore::RenderGrid::distributeSpaceToTracks
610         https://bugs.webkit.org/show_bug.cgi?id=137772
611
612         Reviewed by Andreas Kling.
613
614         We're hitting the ASSERTION because if the number of tracks an
615         item spans does greatly exceed the available logical space, then
616         the result of the division availableLogicalSpace/numberOfTracks is
617         truncated to 0. So the ASSERTION was theoretically right because
618         the result has to be always >0 (as the dividend > 0) but the fact
619         that the result is a LayoutUnit forces us to accept 0 as a valid
620         outcome of the operation.
621
622         Test: fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash.html
623
624         * rendering/RenderGrid.cpp:
625         (WebCore::RenderGrid::distributeSpaceToTracks):
626
627 2014-10-29  Chris Dumez  <cdumez@apple.com>
628
629         Crash in CachedRawResource::canReuse() when reloading http://dnd.wizards.com/dungeons-and-dragons/story
630         https://bugs.webkit.org/show_bug.cgi?id=138164
631
632         Reviewed by Andreas Kling.
633
634         This patch fixes a crash when reloading the following URL:
635         http://dnd.wizards.com/dungeons-and-dragons/story
636
637         We were crashing in CachedRawResource::canReuse() because header.key
638         would sometimes be a null String and we would call
639         HashMap::get(nullString).
640
641         The real issue was that header.key was null in the first place, which
642         means that even though the HTTPHeaderMap iterator is valid, it->key
643         is a null String, which should never happen. There was a bug in the
644         HTTPHeaderMapConstIterator() constructor that would cause the
645         iterator key/value pair to not get initialized if the HTTPHeaderMap
646         contained *only* uncommon HTTP headers. This patch updates the
647         constructor so that we fall back to updating the key/value from the
648         uncommon header map, if we failed to initialized from the common
649         header map (because it was empty).
650
651         Test: http/tests/cache/xhr-uncommon-header.html
652
653         * platform/network/HTTPHeaderMap.h:
654         (WebCore::HTTPHeaderMap::HTTPHeaderMapConstIterator::HTTPHeaderMapConstIterator):
655
656 2014-10-28  Benjamin Poulain  <benjamin@webkit.org>
657
658         CSS4 Selectors: Add the pseudo class :any-link
659         https://bugs.webkit.org/show_bug.cgi?id=138128
660
661         Reviewed by Andreas Kling.
662
663         Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo
664
665         After :link and :-webkit-any-link were fixed, :any-link behaves
666         exactly like :-webkit-any-link. All I had left to do here was
667         make them synonyms when evaluating selectors.
668
669         Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo
670
671         After :link and :-webkit-any-link were fixed, :any-link behaves
672         exactly like :-webkit-any-link. All I had left to do here was
673         make them synonyms when evaluating selectors.
674
675         Tests: fast/selectors/any-link-basics-2.html
676                fast/selectors/any-link-basics.html
677                fast/selectors/any-link-styling.html
678
679         * css/CSSSelector.cpp:
680         (WebCore::CSSSelector::selectorText):
681         * css/CSSSelector.h:
682         * css/RuleSet.cpp:
683         (WebCore::RuleSet::addRule):
684         * css/SelectorChecker.cpp:
685         (WebCore::SelectorChecker::checkOne):
686         * css/SelectorChecker.h:
687         (WebCore::SelectorChecker::isCommonPseudoClassSelector):
688         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
689         * cssjit/SelectorCompiler.cpp:
690         (WebCore::SelectorCompiler::addPseudoClassType):
691         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):
692
693 2014-10-28  Jer Noble  <jer.noble@apple.com>
694
695         [EME][Mac] Adopt new AVStreamSession API: pass storageDirectoryAtURL at creation-time
696         https://bugs.webkit.org/show_bug.cgi?id=138149
697
698         Reviewed by Brent Fulgham.
699
700         AVStreamSession now requires its storage location at creation-time, rather than post-creation. This requires
701         us to move storage location code from CDMSessionMediaSourceAVFObjC to MediaPlayerPrivateMediaSourceAVFObjC.
702
703         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
704         (-[WebAVStreamDataParserListener streamDataParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Renamed.
705         (WebCore::CDMSessionMediaSourceAVFObjC::update):
706         (WebCore::sessionStorageDirectory): Deleted.
707         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
708         (WebCore::sessionStorageDirectory):
709         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):
710
711 2014-10-28  Geoffrey Garen  <ggaren@apple.com>
712
713         All networking crashes on Mac 32bit
714         https://bugs.webkit.org/show_bug.cgi?id=138157
715
716         Reviewed by Andy Estes.
717
718         NEFilterSource content filtering is not available on 32bit, so
719         soft-linking fails at runtime. The simplest solution is just to disable
720         it at compile time.
721
722         * platform/ContentFilter.h:
723
724 2014-10-28  Jeremy Jones  <jeremyj@apple.com>
725
726         Add optimized fullscreen mode.
727         https://bugs.webkit.org/show_bug.cgi?id=138044
728
729         Reviewed by Jer Noble.
730
731         Enable different types of fullscreen video behavior.
732         Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.
733         Add gesture for alternate fullscreen.
734
735         * Modules/mediacontrols/MediaControlsHost.cpp:
736         (WebCore::MediaControlsHost::enterFullscreenOptimized): added
737         * Modules/mediacontrols/MediaControlsHost.h: added enterFullscreenOptimized
738         * Modules/mediacontrols/MediaControlsHost.idl: added enterFullscreenOptimized
739         * Modules/mediacontrols/mediaControlsiOS.js:
740         (ControllerIOS.prototype.handleBaseGestureChange): recognize alternate gesture
741         * WebCore.exp.in: added parameter to setupFullscreen
742         * html/HTMLMediaElement.cpp:
743         (WebCore::HTMLMediaElement::removedFrom) : replace m_isInVideoFullscreen with m_videoFullscreenType
744         (WebCore::HTMLMediaElement::stop) : ditto
745         (WebCore::HTMLMediaElement::isFullscreen) : ditto
746         (WebCore::HTMLMediaElement::enterFullscreen): add parameter to enterVideoFullscreenForVideoElement
747         (WebCore::HTMLMediaElement::exitFullscreen): replace m_isInVideoFullscreen with m_videoFullscreenType
748         (WebCore::HTMLMediaElement::enterFullscreenOptimized): added
749         * html/HTMLMediaElement.h: added enterFullscreenOptimized
750         * page/ChromeClient.h:
751         (WebCore::ChromeClient::enterVideoFullscreenForVideoElement): added parameter
752         * platform/ios/WebVideoFullscreenControllerAVKit.h: add parameter
753         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
754         (-[WebVideoFullscreenController enterFullscreen:type:]): add parameter
755         (-[WebVideoFullscreenController enterFullscreen:]): Deleted.
756         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: reorder protected to after public
757         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
758         (-[WebAVPlayerController player]): this stub is now required
759         (-[WebAVPlayerController layoutSublayersOfLayer:]): this is a better way to update video frames
760         (WebVideoFullscreenInterfaceAVKit::setupFullscreen): implement optimized fullscreen interface 
761         (WebVideoFullscreenInterfaceAVKit::enterFullscreen): ditto
762         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto
763         (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto
764
765 2014-10-28  Chris Dumez  <cdumez@apple.com>
766
767         Clean up virtual functions in accessibility/
768         https://bugs.webkit.org/show_bug.cgi?id=138148
769
770         Reviewed by Chris Fleizach.
771
772         Clean up virtual functions in accessibility/ by:
773         - Marking classes as final when suitable
774         - Marking virtual functions as final when suitable
775         - Dropping final on virtual functions in classes that are already final
776         - Make isXXX() virtual type checking functions in XXX classes to avoid
777           useless type checks
778
779         No new tests, no behavior change.
780
781         * accessibility/AccessibilityARIAGrid.h:
782         * accessibility/AccessibilityARIAGridCell.h:
783         * accessibility/AccessibilityARIAGridRow.h:
784         * accessibility/AccessibilityImageMapLink.h:
785         * accessibility/AccessibilityList.h:
786         * accessibility/AccessibilityListBox.h:
787         * accessibility/AccessibilityListBoxOption.h:
788         * accessibility/AccessibilityMediaControls.h:
789         * accessibility/AccessibilityMenuList.h:
790         * accessibility/AccessibilityMenuListOption.h:
791         * accessibility/AccessibilityMenuListPopup.h:
792         * accessibility/AccessibilityMockObject.h:
793         (WebCore::AccessibilityMockObject::setParent):
794         * accessibility/AccessibilityNodeObject.h:
795         * accessibility/AccessibilityProgressIndicator.h:
796         * accessibility/AccessibilityRenderObject.h:
797         * accessibility/AccessibilitySVGRoot.h:
798         * accessibility/AccessibilityScrollView.h:
799         * accessibility/AccessibilityScrollbar.h:
800         * accessibility/AccessibilitySearchFieldButtons.h:
801         * accessibility/AccessibilitySlider.h:
802         * accessibility/AccessibilitySpinButton.h:
803         * accessibility/AccessibilityTable.h:
804         * accessibility/AccessibilityTableCell.h:
805         * accessibility/AccessibilityTableColumn.h:
806         * accessibility/AccessibilityTableHeaderContainer.h:
807         * accessibility/AccessibilityTableRow.h:
808
809 2014-10-24  Jeffrey Pfau  <jpfau@apple.com>
810
811         FrameProgressTracker expects Page to not have detached
812         https://bugs.webkit.org/show_bug.cgi?id=138061
813
814         Reviewed by Alexey Proskuryakov.
815
816         In some cases, a Page may be detached from a Frame before its
817         FrameLoader is torn down, causing FrameProgressTracker's destructor
818         to hit a null pointer.
819
820         No new tests; it is impossible to reliably simulate the null pointer
821         case without intrusive code changes.
822
823         * loader/FrameLoader.cpp:
824         (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
825
826 2014-10-27  Ada Chan  <adachan@apple.com>
827
828         Introduce a new abstract class called AudioProducer and keep a set of AudioProducers
829         rather than the active MediaSessions in Document
830         https://bugs.webkit.org/show_bug.cgi?id=138107
831
832         Reviewed by Eric Carlson.
833
834         No new tests, no behavior change.
835
836         * WebCore.xcodeproj/project.pbxproj:
837         Add AudioProducer.h to the project.
838         * dom/Document.cpp:
839         (WebCore::Document::addAudioProducer):
840         (WebCore::Document::removeAudioProducer):
841         (WebCore::Document::updateIsPlayingAudio):
842         Go through the set of AudioProducers and see if any is playing audio.
843         Now that this method no longer refers to MediaSessions directly, this code
844         does not need to be guarded by #if ENABLE(VIDEO).
845         (WebCore::Document::registerMediaSession): Deleted.
846         (WebCore::Document::unregisterMediaSession): Deleted.
847         * dom/Document.h:
848         * html/HTMLMediaElement.cpp:
849         (WebCore::HTMLMediaElement::registerWithDocument):
850         (WebCore::HTMLMediaElement::unregisterWithDocument):
851         (WebCore::HTMLMediaElement::isPlayingAudio):
852         Return whether this element is playing audio.
853         * html/HTMLMediaElement.h:
854         * page/AudioProducer.h: Added.
855         (WebCore::AudioProducer::~AudioProducer):
856         * page/Page.cpp:
857         (WebCore::Page::updateIsPlayingAudio):
858         This is no longer guarded with #if ENABLE(VIDEO) since the Document methods it calls
859         are no longer guarded.
860         * page/Page.h:
861
862 2014-10-28  Chris Dumez  <cdumez@apple.com>
863
864         Unreviewed comment fix from r175267.
865
866         Fix namespace name in comment.
867
868         * css/StyleBuilderCustom.h:
869
870 2014-10-28  Jer Noble  <jer.noble@apple.com>
871
872         REGRESSION(r171593) [Mac] Media controls create a large (and unnecessary) backing store
873         https://bugs.webkit.org/show_bug.cgi?id=137757
874
875         Reviewed by Eric Carlson.
876
877         In r171593, a <div> was added to the media controls which is only ever used on iOS. Instead
878         of creating and adding this <div> in mediaControlsApple.js (which is used on OS X), this 
879         <div> should be created and added in mediaControlsiOS.js, which requires overloading
880         Controller.addControls.
881
882         * Modules/mediacontrols/mediaControlsApple.css:
883         (audio::-webkit-media-controls-panel.hidden): Drive-by fix: allow the panel itself to be hidden.
884         (video::-webkit-media-controls-panel-composited-parent): Deleted.
885         * Modules/mediacontrols/mediaControlsApple.js:
886         (Controller.prototype.createControls): Remove the composited parent.
887         (Controller.prototype.addControls): Ditto.
888         * Modules/mediacontrols/mediaControlsiOS.js:
889         (ControllerIOS.prototype.createControls): Create the composited parent.
890         (ControllerIOS.prototype.addControls): Copied from (previous) apple.js.
891
892 2014-10-28  Chris Dumez  <cdumez@apple.com>
893
894         Move "Number" CSS properties to the new StyleBuilder
895         https://bugs.webkit.org/show_bug.cgi?id=138125
896
897         Reviewed by Antti Koivisto.
898
899         Move "Number" CSS properties from DeprecatedStyleBuilder to the new
900         StyleBuilder:
901         -webkit-hyphenate-limit-after
902         -webkit-hyphenate-limit-before
903         -webkit-shape-image-threshold
904         -webkit-hyphenate-limit-lines
905
906         They are now generated from CSSPropertyNames.in
907
908         For -webkit-hyphenate-limit-lines, I used custom code instead of
909         the Number converter as it required special handling for the id
910         value. This patch thus adds support for [Custom=Value] to
911         CSSPropertyNames.in and the custom code goes into
912         css/StyleBuilderCustom.h.
913
914         No new tests, no behavior change.
915
916         * WebCore.xcodeproj/project.pbxproj:
917         * css/CSSPropertyNames.in:
918         * css/DeprecatedStyleBuilder.cpp:
919         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
920         (WebCore::ApplyPropertyNumber::setValue): Deleted.
921         (WebCore::ApplyPropertyNumber::applyValue): Deleted.
922         (WebCore::ApplyPropertyNumber::createHandler): Deleted.
923         * css/StyleBuilderConverter.h:
924         (WebCore::StyleBuilderConverter::convertNumber):
925         * css/StyleBuilderCustom.h: Added.
926         (WebCore::StyleBuilderFunctions::applyValueWebkitHyphenateLimitLines):
927         * css/makeprop.pl:
928
929 2014-10-28  Zan Dobersek  <zdobersek@igalia.com>
930
931         [WebCore] Remove uses of WTF::bind() in the Media Stream module
932         https://bugs.webkit.org/show_bug.cgi?id=138016
933
934         Reviewed by Eric Carlson.
935
936         Replace uses of WTF::bind() in the Media Stream module with C++11 lambdas.
937         Internal helper methods are removed in favor of inlining the code directly
938         into the lambdas. Range-based for-loops are deployed where appropriate.
939
940         * Modules/mediastream/MediaStreamTrack.cpp:
941         (WebCore::MediaStreamTrack::scheduleEventDispatch):
942         (WebCore::MediaStreamTrack::dispatchQueuedEvents): Deleted.
943         * Modules/mediastream/MediaStreamTrack.h:
944         * Modules/mediastream/MediaStreamTrackSourcesRequest.cpp:
945         (WebCore::MediaStreamTrackSourcesRequest::didCompleteRequest):
946         (WebCore::MediaStreamTrackSourcesRequest::callCompletionHandler): Deleted.
947         * Modules/mediastream/MediaStreamTrackSourcesRequest.h:
948         * Modules/mediastream/UserMediaRequest.cpp:
949         (WebCore::UserMediaRequest::constraintsValidated):
950         (WebCore::UserMediaRequest::userMediaAccessGranted):
951         (WebCore::UserMediaRequest::didCreateStream):
952         (WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError):
953         (WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError):
954         (WebCore::UserMediaRequest::requestPermission): Deleted.
955         (WebCore::UserMediaRequest::createMediaStream): Deleted.
956         (WebCore::UserMediaRequest::callSuccessHandler): Deleted.
957         (WebCore::UserMediaRequest::callErrorHandler): Deleted.
958         * Modules/mediastream/UserMediaRequest.h:
959
960 2014-10-28  Pascal Jacquemart  <p.jacquemart@samsung.com>
961
962         Abandoned select option is reselected when shift selecting new options
963         https://bugs.webkit.org/show_bug.cgi?id=137553
964
965         Reviewed by Ryosuke Niwa.
966
967         Previous active selection is wrongly recorded by HTMLSelectElement after selecting a new item using
968         typeAhead. Fixed by clearing previously selected options before starting a new active selection.
969
970         Test: fast/forms/listbox-selection-after-typeahead.html
971
972         * html/HTMLSelectElement.cpp:
973         (WebCore::HTMLSelectElement::selectOption): Code re-ordering
974
975 2014-10-28  Milan Crha  <mcrha@redhat.com>
976
977         Use constants from wtf/MathExtras.h
978         https://bugs.webkit.org/show_bug.cgi?id=137967
979
980         Reviewed by Darin Adler.
981
982         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
983         (WebCore::rotateCairoMatrixForVerticalOrientation):
984         * rendering/mathml/RenderMathMLMenclose.cpp:
985         (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
986         (WebCore::RenderMathMLMenclose::updateLogicalHeight):
987         * rendering/mathml/RenderMathMLOperator.cpp:
988         (WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):
989
990 2014-10-28  David Hyatt  <hyatt@apple.com>
991
992         Selection gap painting is ugly for ruby bases.
993         https://bugs.webkit.org/show_bug.cgi?id=138136
994
995         Reviewed by Dean Jackson.
996
997         * rendering/RenderBlock.cpp:
998         (WebCore::RenderBlock::selectionGaps):
999         For ruby bases don't fill to the end of the block (in the block direction),
1000         since ideographic baselines push that end below the text baseline.
1001
1002         (WebCore::RenderBlock::blockSelectionGaps):
1003         * rendering/RenderBlockFlow.cpp:
1004         Skip ruby bases for block selection gap filling.
1005
1006 2014-10-28  Zalan Bujtas  <zalan@apple.com>
1007
1008         Speed up line parsing for simple line layout.
1009         https://bugs.webkit.org/show_bug.cgi?id=137275
1010
1011         Reviewed by Antti Koivisto.
1012         
1013         This patch speeds up the line parsing for simple line layout by
1014         reducing the number of text measurement calls.
1015         The parsing logic hasn't changed. We simply walk over
1016         the whitespace/non-whitespace fragments and measure them to
1017         figure out whether they fit.
1018         The performance gain mainly comes from the more efficient line wrapping
1019         so that we don't re-measure the fragment when it is pushed to
1020         the next line.
1021
1022         No change in behaviour. (except the empty line-break run removal.)
1023
1024         * rendering/SimpleLineLayout.cpp:
1025         (WebCore::SimpleLineLayout::skipWhitespace): 
1026         (WebCore::SimpleLineLayout::computeLineLeft):
1027         (WebCore::SimpleLineLayout::TextFragment::TextFragment):
1028         (WebCore::SimpleLineLayout::TextFragment::isEmpty):
1029         (WebCore::SimpleLineLayout::LineState::LineState):
1030         (WebCore::SimpleLineLayout::LineState::commitAndCreateRun): adds uncommitted text to the line and creates a run out of it. 
1031         (WebCore::SimpleLineLayout::LineState::addUncommitted): appends fragment to the uncommitted text. 
1032         (WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): appends whitespace to the uncommitted text.
1033         (WebCore::SimpleLineLayout::LineState::jumpTo): moves line's current position without committing text. 
1034         (WebCore::SimpleLineLayout::LineState::width): current width of the line including committed and uncommitted text.
1035         (WebCore::SimpleLineLayout::LineState::fits): checks if committed + uncommitted text fits the line. 
1036         (WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace): 
1037         (WebCore::SimpleLineLayout::removeTrailingWhitespace): post processing the trailing whitespace.
1038         (WebCore::SimpleLineLayout::initializeLine):
1039         (WebCore::SimpleLineLayout::splitFragmentToFitLine): breaks the fragments into 2 so that the first (sub)fragment fits the line.
1040         (WebCore::SimpleLineLayout::nextFragment): returns the next valid fragment of the text.
1041         (WebCore::SimpleLineLayout::createLineRuns): creates runs for the current line and returns when we can't fit more text on the line.
1042         (WebCore::SimpleLineLayout::updateLineConstrains): updates left/right constrains for the current line.
1043         (WebCore::SimpleLineLayout::createTextRuns): creates runs for the whole text.
1044         (WebCore::SimpleLineLayout::isWhitespace): Deleted.
1045         (WebCore::SimpleLineLayout::skipWhitespaces): Deleted.
1046         (WebCore::SimpleLineLayout::measureWord): Deleted.
1047         (WebCore::SimpleLineLayout::adjustRunOffsets): Deleted.
1048         * rendering/SimpleLineLayout.h:
1049         (WebCore::SimpleLineLayout::Run::Run):
1050
1051 2014-10-28  Alexey Proskuryakov  <ap@apple.com>
1052
1053         Windows build fix.
1054
1055         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
1056         (WebCore::NetworkStorageSession::switchToNewTestingSession): Use a WTF function
1057         for getting current process ID instead of getpid().
1058
1059 2014-10-28  Mihnea Ovidenie  <mihnea@adobe.com>
1060
1061         Clean up subtrees selection code
1062         https://bugs.webkit.org/show_bug.cgi?id=137740
1063
1064         Reviewed by David Hyatt.
1065
1066         Clean up subtrees selection code. Add a new class SelectionSubtreeData
1067         that keeps only the selection data. Have SelectionSubtreeRoot class embed
1068         a SelectionSubtreeData member and keep the business logic methods.
1069         No functionality changed therefore no new layout tests.
1070
1071         * rendering/RenderObject.cpp:
1072         (WebCore::RenderObject::selectionStartEnd):
1073         * rendering/RenderView.cpp:
1074         (WebCore::RenderView::subtreeSelectionBounds):
1075         (WebCore::RenderView::repaintSubtreeSelection):
1076         (WebCore::RenderView::setSelection):
1077         (WebCore::RenderView::splitSelectionBetweenSubtrees):
1078         (WebCore::RenderView::updateSelectionForSubtrees):
1079         (WebCore::RenderView::clearSubtreeSelection):
1080         (WebCore::RenderView::applySubtreeSelection):
1081         * rendering/RenderView.h:
1082         * rendering/SelectionSubtreeRoot.cpp:
1083         (WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot):
1084         (WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):
1085         * rendering/SelectionSubtreeRoot.h:
1086         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
1087         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStart):
1088         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos):
1089         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEnd):
1090         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos):
1091         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear):
1092         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartEndPositions):
1093         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStart):
1094         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos):
1095         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEnd):
1096         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos):
1097         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection):
1098         (WebCore::SelectionSubtreeRoot::selectionData):
1099         (WebCore::SelectionSubtreeRoot::setSelectionData):
1100         (WebCore::SelectionSubtreeRoot::selectionStart): Deleted.
1101         (WebCore::SelectionSubtreeRoot::selectionStartPos): Deleted.
1102         (WebCore::SelectionSubtreeRoot::selectionEnd): Deleted.
1103         (WebCore::SelectionSubtreeRoot::selectionEndPos): Deleted.
1104         (WebCore::SelectionSubtreeRoot::selectionStartEndPositions): Deleted.
1105         (WebCore::SelectionSubtreeRoot::selectionClear): Deleted.
1106         (WebCore::SelectionSubtreeRoot::setSelectionStart): Deleted.
1107         (WebCore::SelectionSubtreeRoot::setSelectionStartPos): Deleted.
1108         (WebCore::SelectionSubtreeRoot::setSelectionEnd): Deleted.
1109         (WebCore::SelectionSubtreeRoot::setSelectionEndPos): Deleted.
1110
1111 2014-10-28  Jer Noble  <jer.noble@apple.com>
1112
1113         [Mac] The first software paint of a <video> element takes up to 2.5s.
1114         https://bugs.webkit.org/show_bug.cgi?id=137754
1115
1116         Reviewed by Brent Fulgham.
1117
1118         It turns out that, if you pass nil to -[AVPlayerItemVideoOutput initWithPixelBufferAttributes:]
1119         the video output will not attempt to conform the resulting pixel buffers into a particular format.
1120         This means that adding such a video output to a AVPlayerItem should have almost no performance
1121         penalty, since the video output does not even copy the resulting buffers, but rather just retains
1122         and returns the ones from the AVPlayerLayer.
1123
1124         Create and attach an AVPlayerItemVideoOutput after creating the AVPlayerItem, but before attaching
1125         the player item to the AVPlayer. This eliminates the reconfigure step which occurs after attaching
1126         a video output to an already attached AVPlayerItem.
1127
1128         When creating the AVPlayerItemVideoOutput, pass in `nil` for the pixelBufferAttributes parameter.
1129
1130         Instead of blocking waiting for output from the AVPlayerItemVideoOutput during creating, block and
1131         whait when asked to paint with the video output.
1132
1133         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1134         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
1135         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
1136         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
1137
1138 2014-10-28  Chris Dumez  <cdumez@apple.com>
1139
1140         Move text decoration CSS properties to the new StyleBuilder
1141         https://bugs.webkit.org/show_bug.cgi?id=138121
1142
1143         Reviewed by Antti Koivisto.
1144
1145         Move text decoration CSS properties from DeprecatedStyleBuilder to the
1146         new StyleBuilder so that they are generated from CSSPropertyNames.in.
1147
1148         No new tests, no behavior change.
1149
1150         * css/CSSPropertyNames.in:
1151         * css/DeprecatedStyleBuilder.cpp:
1152         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1153         (WebCore::ApplyPropertyTextDecoration::applyValue): Deleted.
1154         (WebCore::ApplyPropertyTextDecoration::createHandler): Deleted.
1155         * css/StyleBuilderConverter.h:
1156         (WebCore::StyleBuilderConverter::convertTextDecoration):
1157
1158 2014-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
1159
1160         [GTK] Remove GDK dependency from SharedTimerGtk
1161         https://bugs.webkit.org/show_bug.cgi?id=138092
1162
1163         Reviewed by Martin Robinson.
1164
1165         It depends on GDK just to use GDK_PRIORITY_REDRAW constant, we can
1166         use its value directly instead.
1167
1168         * PlatformGTK.cmake:
1169         * platform/gtk/SharedTimerGtk.cpp:
1170         (WebCore::setSharedTimerFireInterval):
1171
1172 2014-10-27  Andreas Kling  <akling@apple.com>
1173
1174         Move RenderBlock::beingDestroyed() to RenderObject.
1175         <https://webkit.org/b/138116>
1176
1177         Reviewed by Antti Koivisto.
1178
1179         Make "is being destroyed" a RenderObject concept instead of restricting
1180         it to RenderBlocks. I'm guessing that this was specific to blocks due to
1181         lack of bitfield space in RenderObject, and that's no longer an issue.
1182
1183         * rendering/RenderBlock.cpp:
1184         (WebCore::RenderBlock::RenderBlock):
1185         (WebCore::RenderBlock::willBeDestroyed):
1186         * rendering/RenderBlock.h:
1187         (WebCore::RenderBlock::beingDestroyed): Deleted.
1188         * rendering/RenderBlockFlow.cpp:
1189         (WebCore::RenderBlockFlow::willBeDestroyed):
1190         * rendering/RenderObject.cpp:
1191         (WebCore::RenderObject::destroy):
1192         * rendering/RenderObject.h:
1193         (WebCore::RenderObject::beingDestroyed):
1194         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
1195
1196 2014-10-27  Chris Fleizach  <cfleizach@apple.com>
1197
1198         AX: input type=hidden is being exposed when aria-hidden=false
1199         https://bugs.webkit.org/show_bug.cgi?id=138106
1200
1201         Reviewed by Benjamin Poulain.
1202
1203         If an input type=hidden was inside an aria-hidden=false, it would appear because
1204         the lack of a RenderObject behind that object was not blocking its adoption into the AX tree.
1205         We should explicity check for whether the type is hidden and then return an appropriate role. 
1206
1207         Test: accessibility/input-type-hidden-in-aria-hidden-false.html
1208
1209         * accessibility/AccessibilityNodeObject.cpp:
1210         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
1211         (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):
1212
1213 2014-10-27  Alexey Proskuryakov  <ap@apple.com>
1214
1215         https://trac.webkit.org/changeset/175233 broke many tests, fixing an incorrect '!'.
1216
1217         * accessibility/AccessibilityRenderObject.cpp:
1218         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1219
1220 2014-10-24  David Hyatt  <hyatt@apple.com>
1221
1222         text-combine needs to center text within the vertical space using glyph bounds
1223         https://bugs.webkit.org/show_bug.cgi?id=138056
1224         <rdar://problem/15403667>
1225
1226         Reviewed by Dean Jackson.
1227
1228         Added fast/text/tatechuyoko.html
1229
1230         * rendering/RenderCombineText.cpp:
1231         (WebCore::RenderCombineText::RenderCombineText):
1232         (WebCore::RenderCombineText::adjustTextOrigin):
1233         (WebCore::RenderCombineText::combineText):
1234         * rendering/RenderCombineText.h:
1235
1236 2014-10-27  Benjamin Poulain  <benjamin@webkit.org>
1237
1238         Cleanup after r175213: fastGetAttribute().isNull() should be fastHasAttribute()
1239
1240         * accessibility/AccessibilityRenderObject.cpp:
1241         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1242         Darin spotted this mistake.
1243
1244 2014-10-27  Alexey Proskuryakov  <ap@apple.com>
1245
1246         http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots
1247         https://bugs.webkit.org/show_bug.cgi?id=138098
1248
1249         Reviewed by Anders Carlsson.
1250
1251         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
1252         (WebCore::NetworkStorageSession::switchToNewTestingSession):
1253         Create a separate session for each WKTR/DRT process when testing.
1254
1255 2014-10-27  Chris Dumez  <cdumez@apple.com>
1256
1257         Use separate HashMaps for common and uncommon headers in HTTPHeaderMap
1258         https://bugs.webkit.org/show_bug.cgi?id=138079
1259
1260         Reviewed by Anders Carlsson.
1261
1262         Use separate HashMaps for common and uncommon headers in HTTPHeaderMap:
1263         - a (faster) HashMap<HTTPHeaderMap, String> for common HTTP headers
1264         - a HashMap<String, String, CaseFoldingHash> for uncommon ones
1265
1266         This avoids having to construct Strings from HTTPHeaderMap values for
1267         storing. This also means we have less isolated String copies to do when
1268         creating cross-thread data. The common headers HashMap should also be
1269         a bit more efficient due to faster hashing and faster key comparison in
1270         case of collision.
1271
1272         Some calls sites can also benefit from having direct access to common
1273         headers of the request in HTTPHeaderName type.
1274
1275         This patch adds a new HTTPHeaderMapConstIterator iterator type for
1276         HTTPHeaderMap so that call sites that do not need / want to distinguish
1277         common / uncommon headers still do not need to. They can keep using
1278         modern C++ loops over HTTPHeaderMap objects and get <String, String>
1279         key/value pairs.
1280
1281         No new tests, no behavior change.
1282
1283         * loader/CrossOriginAccessControl.cpp:
1284         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
1285         Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
1286         HTTPHeaderName in argument instead of a String as only common headers
1287         are in the whitelist.
1288
1289         (WebCore::isSimpleCrossOriginAccessRequest):
1290         Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
1291         HTTP headers.
1292
1293         * loader/CrossOriginAccessControl.h:
1294         Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
1295         HTTPHeaderName in argument instead of a String as only common headers
1296         are in the whitelist.
1297
1298         * loader/CrossOriginPreflightResultCache.cpp:
1299         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
1300         Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
1301         HTTP headers.
1302
1303         * loader/DocumentLoader.cpp:
1304         (WebCore::DocumentLoader::responseReceived):
1305         Call httpHeaderFields().commonHeaders().find() instead of
1306         httpHeaderFields().find() as we are looking for a common header.
1307         HTTPHeaderMap::find(HTTPHeaderName) was removed now that we have a
1308         HashMap dedicated to common headers.
1309
1310         * loader/cache/CachedRawResource.cpp:
1311         (WebCore::shouldIgnoreHeaderForCacheReuse):
1312         Update argument type to be a HTTPHeaderName instead of a String as
1313         only common HTTP headers can be ignored for cache reuse. The
1314         implementation already dealt with HTTPHeaderName type and had to
1315         call findHTTPHeaderName(). This is no longer needed now that the
1316         call site now has direct access to common headers in HTTPHeaderName
1317         type.
1318
1319         (WebCore::CachedRawResource::canReuse):
1320         - Only call shouldIgnoreHeaderForCacheReuse() for common HTTP headers.
1321         - Slightly optimize the second loop (the one over oldHeaderMap) to only
1322           check that the key is present in newHeaderMap, without actually
1323           comparing the String values. If the String values were different, the
1324           first loop would have seen it already and we would have returned
1325           early.
1326
1327 2014-10-27  Andreas Kling  <akling@apple.com>
1328
1329         Devirtualize RenderDeprecatedFlexibleBox::isStretchingChildren().
1330         <https://webkit.org/b/138096>
1331
1332         Reviewed by Chris Dumez.
1333
1334         This function is only ever called on a renderer after we've checked
1335         that it's a RenderDeprecatedFlexibleBox, so make it non-virtual.
1336
1337         * rendering/RenderBox.cpp:
1338         (WebCore::RenderBox::computeLogicalHeight):
1339         * rendering/RenderDeprecatedFlexibleBox.h:
1340         * rendering/RenderObject.h:
1341
1342 2014-10-27  Chris Dumez  <cdumez@apple.com>
1343
1344         Reintroduce null check removed in r175222
1345         https://bugs.webkit.org/show_bug.cgi?id=138087
1346
1347         Reviewed by Andreas Kling.
1348
1349         Reintroduce null check removed in r175222 as several layout tests are
1350         crashing on the bots without them. At least the Pair pointer can be
1351         null according to the assertion hits on the bots.
1352
1353         * css/StyleBuilderConverter.h:
1354         (WebCore::StyleBuilderConverter::convertRadius):
1355
1356 2014-10-27  Chris Dumez  <cdumez@apple.com>
1357
1358         Move radius CSS properties to the new StyleBuilder
1359         https://bugs.webkit.org/show_bug.cgi?id=138087
1360
1361         Reviewed by Andreas Kling.
1362
1363         Move radius CSS properties from DeprecatedStyleBuilder to the new
1364         StyleBuilder so that they are now generated from CSSPropertyNames.in.
1365
1366         No new tests, no behavior change.
1367
1368         * css/CSSPropertyNames.in:
1369         * css/DeprecatedStyleBuilder.cpp:
1370         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1371         (WebCore::ApplyPropertyBorderRadius::setValue): Deleted.
1372         (WebCore::ApplyPropertyBorderRadius::applyValue): Deleted.
1373         (WebCore::ApplyPropertyBorderRadius::createHandler): Deleted.
1374         * css/StyleBuilderConverter.h:
1375         (WebCore::StyleBuilderConverter::convertRadius):
1376
1377 2014-10-27  Zan Dobersek  <zdobersek@igalia.com>
1378
1379         Shrink MathMLOperatorDictionary::dictionary table
1380         https://bugs.webkit.org/show_bug.cgi?id=137914
1381
1382         Reviewed by Darin Adler.
1383
1384         Improve packing of the Entry structure that's used for elements
1385         of the MathMLOperatorDictionary::dictionary table. This drops the
1386         size of the struct from 16 bytes to just 4 bytes, and shrinks the
1387         size of the dictionary table from rougly 16 kB down to 4 kB.
1388
1389         * rendering/mathml/RenderMathMLOperator.cpp:
1390         (WebCore::MathMLOperatorDictionary::ExtractKey):
1391         (WebCore::RenderMathMLOperator::setOperatorProperties):
1392         * rendering/mathml/RenderMathMLOperator.h:
1393
1394 2014-10-27  Andreas Kling  <akling@apple.com>
1395
1396         Move canContainFixedPositionObjects() to RenderElement.
1397         <https://webkit.org/b/138088>
1398
1399         Reviewed by Mihnea Ovidenie.
1400
1401         Only RenderElement can contain other renderers, so it's not really
1402         natural to answer this question on RenderObject anyway.
1403
1404         Moving it to RenderElement lets it access more efficient getters
1405         that don't have to handle the RenderText case.
1406
1407         * rendering/RenderElement.h:
1408         (WebCore::RenderElement::canContainFixedPositionObjects):
1409         * rendering/RenderObject.h:
1410         (WebCore::RenderObject::canContainFixedPositionObjects): Deleted.
1411
1412 2014-10-26  Benjamin Poulain  <benjamin@webkit.org>
1413
1414         Images with usemap should not have a link state
1415         https://bugs.webkit.org/show_bug.cgi?id=138071
1416
1417         Reviewed by Andreas Kling.
1418
1419         Image tags were incorrectly getting a link state if a usemap is defined.
1420         The <area> of the usemap is supposed to get the link state, but never the image.
1421
1422         Unfortunately, the Accessibility code was relying on the wrong behavior
1423         to set the ImageMapRole, most of the patch is updating that code to get
1424         the correct role without the link state.
1425
1426         Test: fast/selectors/images-with-usemap-should-not-match-link.html
1427
1428         The accessibility code is covered by a few tests in accessibility/.
1429         The test accessibility/aria-used-on-image-maps.html ensure the <area>
1430         elements also get the correct role.
1431
1432         * dom/Node.h:
1433         (WebCore::Node::setIsLink):
1434         (WebCore::Node::clearIsLink): Deleted.
1435         Unused code.
1436
1437         (WebCore::Node::isLink):
1438         Move with its setter for clarity.
1439
1440         * html/HTMLImageElement.cpp:
1441         (WebCore::HTMLImageElement::parseAttribute):
1442         This is the bug.
1443
1444         * accessibility/AccessibilityRenderObject.cpp:
1445         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1446         Here the branches for the role ImageMap where behind isLink() which would
1447         never be valid after the fix.
1448
1449         My fix here was to use the same definition previously set by HTMLImageElement::parseAttribute(),
1450         any usemap attribute qualifies the node for ImageMapRole.
1451
1452         (WebCore::AccessibilityRenderObject::anchorElement):
1453         (WebCore::AccessibilityRenderObject::linkedUIElements):
1454         (WebCore::AccessibilityRenderObject::url):
1455
1456         * accessibility/AccessibilityObject.h:
1457         (WebCore::AccessibilityObject::isAnchor): Deleted.
1458         Something funny I discovered is the Accessibility code worked around the bug
1459         by defining isAnchor() that exclude images from isLink().
1460
1461         Since isLink() will no longer be true for images, the hack can be removed.
1462
1463         * accessibility/AccessibilityNodeObject.cpp:
1464         (WebCore::AccessibilityNodeObject::anchorElement):
1465         (WebCore::AccessibilityNodeObject::isAnchor): Deleted.
1466         * accessibility/AccessibilityNodeObject.h:
1467         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1468         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1469
1470 2014-10-26  Benjamin Poulain  <benjamin@webkit.org>
1471
1472         Replace Element::didAffectSelector() by setNeedsStyleRecalc()
1473         https://bugs.webkit.org/show_bug.cgi?id=138080
1474
1475         Reviewed by Andreas Kling.
1476
1477         Element::didAffectSelector() was probably an optimization at some point,
1478         with the current code is does nothing more than setNeedsStyleRecalc().
1479
1480         * dom/Document.cpp:
1481         (WebCore::Document::setCSSTarget):
1482         * dom/Element.cpp:
1483         (WebCore::Element::didAffectSelector): Deleted.
1484         * dom/Element.h:
1485         * html/HTMLAnchorElement.cpp:
1486         (WebCore::HTMLAnchorElement::parseAttribute):
1487         * html/HTMLFormControlElement.cpp:
1488         (WebCore::HTMLFormControlElement::disabledStateChanged):
1489         * html/HTMLInputElement.cpp:
1490         (WebCore::HTMLInputElement::setChecked):
1491         (WebCore::HTMLInputElement::setIndeterminate):
1492         * html/HTMLLinkElement.cpp:
1493         (WebCore::HTMLLinkElement::parseAttribute):
1494         * html/HTMLOptGroupElement.cpp:
1495         (WebCore::HTMLOptGroupElement::parseAttribute):
1496         * html/HTMLOptionElement.cpp:
1497         (WebCore::HTMLOptionElement::parseAttribute):
1498         (WebCore::HTMLOptionElement::setSelectedState):
1499         * html/HTMLProgressElement.cpp:
1500         (WebCore::HTMLProgressElement::didElementStateChange):
1501
1502 2014-10-26  Andreas Kling  <akling@apple.com>
1503
1504         Move some RenderObject member functions to RenderElement.
1505         <https://webkit.org/b/138085>
1506
1507         Reviewed by Chris Dumez.
1508
1509         Move these two functions to RenderElement:
1510
1511             - handleDynamicFloatPositionChange()
1512             - removeAnonymousWrappersForInlinesIfNecessary()
1513
1514         Also make childBecameNonInline() take a RenderElement& since
1515         that's all we ever pass to it.
1516
1517         * rendering/RenderBlock.cpp:
1518         (WebCore::RenderBlock::childBecameNonInline):
1519         * rendering/RenderBlock.h:
1520         * rendering/RenderBoxModelObject.h:
1521         (WebCore::RenderBoxModelObject::childBecameNonInline):
1522         * rendering/RenderElement.cpp:
1523         (WebCore::RenderElement::handleDynamicFloatPositionChange):
1524         (WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):
1525         * rendering/RenderElement.h:
1526         * rendering/RenderInline.cpp:
1527         (WebCore::RenderInline::childBecameNonInline):
1528         * rendering/RenderInline.h:
1529         * rendering/RenderObject.cpp:
1530         (WebCore::RenderObject::handleDynamicFloatPositionChange): Deleted.
1531         (WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary): Deleted.
1532         * rendering/RenderObject.h:
1533
1534 2014-10-26  Andreas Kling  <akling@apple.com>
1535
1536         Move continuation teardown from subclasses to RenderBoxModelObject.
1537         <https://webkit.org/b/138081>
1538
1539         Reviewed by Antti Koivisto.
1540
1541         Let RenderBoxModelObject::willBeDestroyed() tear down any continuation
1542         instead of having every subclass do this themselves.
1543
1544         Also added a RenderElement bit tracking whether the renderer has a
1545         continuation. This avoids a hash lookup every time we destroy a
1546         RenderBoxModelObject that didn't have a continuation.
1547
1548         * rendering/RenderBlock.cpp:
1549         (WebCore::RenderBlock::willBeDestroyed):
1550         * rendering/RenderBlockFlow.cpp:
1551         (WebCore::RenderBlockFlow::willBeDestroyed):
1552         * rendering/RenderBoxModelObject.cpp:
1553         (WebCore::continuationMap):
1554         (WebCore::RenderBoxModelObject::willBeDestroyed):
1555         (WebCore::RenderBoxModelObject::continuation):
1556         (WebCore::RenderBoxModelObject::setContinuation):
1557         * rendering/RenderElement.cpp:
1558         (WebCore::RenderElement::RenderElement):
1559         * rendering/RenderElement.h:
1560         (WebCore::RenderElement::setHasContinuation):
1561         (WebCore::RenderElement::hasContinuation):
1562         * rendering/RenderInline.cpp:
1563         (WebCore::RenderInline::willBeDestroyed):
1564
1565 2014-10-25  Benjamin Poulain  <benjamin@webkit.org>
1566
1567         Remove a useless variable from SelectorCodeGenerator::generateElementMatchesSelectorList()
1568         https://bugs.webkit.org/show_bug.cgi?id=138076
1569
1570         Reviewed by Alexey Proskuryakov.
1571
1572         * cssjit/SelectorCompiler.cpp:
1573         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
1574         The variable elementAddressRegisterIndex was just needed for debugging, it is useless now.
1575
1576 2014-10-18  Brian J. Burg  <burg@cs.washington.edu>
1577
1578         Web Inspector: timelines should not count time elapsed while paused in the debugger
1579         https://bugs.webkit.org/show_bug.cgi?id=136351
1580
1581         Reviewed by Timothy Hatcher.
1582
1583         To avoid counting time elapsed while the debugger is paused, timeline records should
1584         keep track of time elapsed since the start of timeline capturing, rather than wall clock
1585         timestamps. We can easily compute elapsed time by sharing a Stopwatch instance through the
1586         inspector environment. The stopwatch runs with timelines and is paused with the debugger,
1587         so subsequent time measurements will not include time elapsed while the debugger is paused.
1588
1589         This refactoring is safe because start and end times are only used to graph records; the
1590         timestamp's actual value is irrelevant and is not displayed in the user interface. Date
1591         timestamps are still included with network-related records as part of their header data.
1592
1593         No new tests, because we cannot reliably test timing changes induced by debugger pauses.
1594         It is possible for records to accrue time before the debugger pauses or after it resumes.
1595
1596         * inspector/InspectorCSSAgent.cpp: Remove unnecessary include.
1597         * inspector/InspectorController.cpp:
1598         (WebCore::InspectorController::InspectorController):
1599         (WebCore::InspectorController::executionStopwatch): Add a shared stopwatch.
1600         * inspector/InspectorController.h:
1601         * inspector/InspectorPageAgent.cpp:
1602         (WebCore::InspectorPageAgent::timestamp): Redirect to the shared stopwatch.
1603         (WebCore::InspectorPageAgent::domContentEventFired):
1604         (WebCore::InspectorPageAgent::loadEventFired):
1605         * inspector/InspectorPageAgent.h:
1606         * inspector/InspectorResourceAgent.cpp:
1607         (WebCore::InspectorResourceAgent::timestamp): Redirect to the shared stopwatch.
1608         (WebCore::InspectorResourceAgent::willSendRequest):
1609         (WebCore::InspectorResourceAgent::didReceiveResponse):
1610         (WebCore::InspectorResourceAgent::didReceiveData):
1611         (WebCore::InspectorResourceAgent::didFinishLoading):
1612         (WebCore::InspectorResourceAgent::didFailLoading):
1613         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1614         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
1615         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
1616         (WebCore::InspectorResourceAgent::didCloseWebSocket):
1617         (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
1618         (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
1619         (WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
1620         * inspector/InspectorResourceAgent.h:
1621         * inspector/InspectorTimelineAgent.cpp:
1622         (WebCore::InspectorTimelineAgent::internalStart): Start and stop the stopwatch with timelines.
1623         (WebCore::InspectorTimelineAgent::internalStop):
1624         (WebCore::InspectorTimelineAgent::timestamp): Redirect to the shared stopwatch.
1625         (WebCore::startProfiling):
1626         (WebCore::InspectorTimelineAgent::startFromConsole):
1627         (WebCore::InspectorTimelineAgent::willCallFunction):
1628         (WebCore::InspectorTimelineAgent::willEvaluateScript):
1629         (WebCore::TimelineTimeConverter::reset): Deleted.
1630         * inspector/InspectorTimelineAgent.h:
1631         (WebCore::TimelineTimeConverter::TimelineTimeConverter): Deleted.
1632         (WebCore::TimelineTimeConverter::fromMonotonicallyIncreasingTime): Deleted.
1633         (WebCore::InspectorTimelineAgent::timeConverter): Deleted.
1634         * inspector/TimelineRecordFactory.cpp:
1635         * inspector/WorkerInspectorController.cpp:
1636         (WebCore::WorkerInspectorController::WorkerInspectorController):
1637         (WebCore::WorkerInspectorController::executionStopwatch): Add a shared stopwatch.
1638         * inspector/WorkerInspectorController.h:
1639
1640 2014-10-25  Dan Bernstein  <mitz@apple.com>
1641
1642         Fix builds using the public SDK.
1643
1644         * platform/spi/cocoa/NSExtensionSPI.h:
1645
1646 2014-10-24  Said Abou-Hallawa  <sabouhallawa@apple.com>
1647
1648         Clamp wordSpacing percentage value.
1649         https://bugs.webkit.org/show_bug.cgi?id=129350.
1650
1651         Reviewed by Zalan Bujtas.
1652
1653         When the CSS wordSpacing property is percentage, its value has to be within the
1654         pre-defined min/max values for the CSS length type. This is done the same way
1655         the wordSpacing of type <length> is handled.
1656
1657         Tests: css3/infinite-word-spacing.html.
1658
1659         Move the definitions of minValueForCssLength and maxValueForCssLength from the
1660         .cpp file to the .h file.
1661         * css/CSSPrimitiveValue.cpp:
1662         * css/CSSPrimitiveValue.h:
1663
1664         Clamp the wordSpacing value to minValueForCssLength and maxValueForCssLength when
1665         its type is percentage.
1666         * css/DeprecatedStyleBuilder.cpp:
1667         (WebCore::ApplyPropertyWordSpacing::applyValue):
1668
1669 2014-10-24  Chris Dumez  <cdumez@apple.com>
1670
1671         [Mac] Use modern loops in ResourceRequestCocoa.mm
1672         https://bugs.webkit.org/show_bug.cgi?id=138052
1673
1674         Reviewed by Darin Adler.
1675
1676         Use modern loops in ResourceRequestCocoa.mm and leverage Objective-C's
1677         fast enumeration.
1678
1679         No new tests, no behavior change.
1680
1681         * platform/network/cocoa/ResourceRequestCocoa.mm:
1682         (WebCore::ResourceRequest::doUpdateResourceRequest):
1683         - Use NSDictionary's block-based enumeration as we enumerate both keys
1684           and values and this is faster than using fast enumeration of the keys
1685           then calling [NSDictionary objectForKey:]
1686         - Use Objective C's fast enumeration for
1687           contentDispositionEncodingFallbackArray as this is faster and shorter
1688           than index based access. Also use reserveCapacity() /
1689           uncheckedAppend() for m_responseContentDispositionEncodingFallbackArray
1690           as we know how many elements were are going to append in the common
1691           case.
1692
1693         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1694         - Use fast enumeration for [nsRequest allHTTPHeaderFields] dictionary
1695           keys instead of calling [NSDictionary allKeys] and then doing
1696           index-based iteration, to avoid copying the keys to a new array.
1697           Also do a forward enumeration instead of a reverse one. I don't see
1698           why a backward enumeration would be necessary here. We are not
1699           modifying the NSDictionary we are iterating over as
1700           [nsRequest allHTTPHeaderFields] makes a copy.
1701         - Use a modern C++ loop for
1702           m_responseContentDispositionEncodingFallbackArray.
1703
1704 2014-10-24  Zalan Bujtas  <zalan@apple.com>
1705
1706         Replace INT_MIN/MAX / kFixedPointDenominator with intMin/MaxForLayoutUnit.
1707         https://bugs.webkit.org/show_bug.cgi?id=138047
1708
1709         Reviewed by Andreas Kling.
1710
1711         No change in functionality.
1712
1713         * css/CSSPrimitiveValue.cpp:
1714
1715 2014-10-24  Alexey Proskuryakov  <ap@apple.com>
1716
1717         REGRESSION(r174877): WebProcess sends an empty Cookies HTTP header
1718         https://bugs.webkit.org/show_bug.cgi?id=138053
1719
1720         Reviewed by Chris Dumez.
1721
1722         Fixes existing tests.
1723
1724         * platform/network/mac/CookieJarMac.mm: (WebCore::cookiesForSession): Restore the 
1725         behavior of returning a null string when there are no cookies.
1726
1727 2014-10-24  Chris Dumez  <cdumez@apple.com>
1728
1729         [Mac] Use NSString API in QuickLookMac::computeNeedsQuickLookResourceCachingQuirks()
1730         https://bugs.webkit.org/show_bug.cgi?id=138039
1731
1732         Reviewed by Darin Adler.
1733
1734         Use NSString API in QuickLookMac::computeNeedsQuickLookResourceCachingQuirks()
1735         for case-insensitive string comparison instead of converting to UTF-8 and then
1736         using strcasecmp().
1737
1738         No new tests, no behavior change.
1739
1740         * platform/mac/QuickLookMac.mm:
1741         (WebCore::QuickLookMac::computeNeedsQuickLookResourceCachingQuirks):
1742
1743 2014-10-24  Chris Dumez  <cdumez@apple.com>
1744
1745         Avoid unnecessary NSURLRequest copies in ResourceRequest::doUpdatePlatformRequest() / doUpdatePlatformHTTPBody()
1746         https://bugs.webkit.org/show_bug.cgi?id=138049
1747
1748         Reviewed by Alexey Proskuryakov.
1749
1750         Avoid unnecessary NSURLRequest copies in ResourceRequest::doUpdatePlatformRequest()
1751         / doUpdatePlatformHTTPBody(). It turns out that about half the time, the
1752         m_nsRequest member is already mutable so it is unnecessary to call
1753         [NSURLRequest mutableCopy], we can just cast it to an NSMutableURLRequest* and
1754         avoid copying.
1755
1756         This patch also moves the code to a new ensureMutableNSURLRequest() method to
1757         avoid duplicating the logic.
1758
1759         I see that we spend ~21% less time in these 2 functions when loading
1760         http://flickr.com/explore/ (39.6ms -> 31.2ms).
1761
1762         No new tests, no behavior change.
1763
1764         * platform/network/cf/ResourceRequest.h:
1765         * platform/network/cocoa/ResourceRequestCocoa.mm:
1766         (WebCore::ResourceRequest::ensureMutableNSURLRequest):
1767         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1768         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
1769
1770 2014-10-24  Chris Dumez  <cdumez@apple.com>
1771
1772         Move ComputeLength CSS properties to the new StyleBuilder
1773         https://bugs.webkit.org/show_bug.cgi?id=138036
1774
1775         Reviewed by Andreas Kling.
1776
1777         Move ComputeLength CSS properties from DeprecatedStyleBuilder to the
1778         new StyleBuilder so that they are now generated. 3 Converters are
1779         provided for these properties: ComputedLength / LineWidth / Spacing.
1780
1781         This is inspired by the following Blink revision by
1782         <timloh@chromium.org>:
1783         https://src.chromium.org/viewvc/blink?view=rev&revision=154012
1784
1785         No new tests, no behavior change.
1786
1787         * css/CSSPropertyNames.in:
1788         * css/DeprecatedStyleBuilder.cpp:
1789         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1790         (WebCore::ApplyPropertyComputeLength::setValue): Deleted.
1791         (WebCore::ApplyPropertyComputeLength::applyValue): Deleted.
1792         (WebCore::ApplyPropertyComputeLength::createHandler): Deleted.
1793         * css/StyleBuilderConverter.h:
1794         (WebCore::StyleBuilderConverter::convertComputedLength):
1795         (WebCore::StyleBuilderConverter::convertLineWidth):
1796         (WebCore::StyleBuilderConverter::convertSpacing):
1797
1798 2014-10-24  Chris Dumez  <cdumez@apple.com>
1799
1800         Make ScriptWrappable's destructor protected instead of public
1801         https://bugs.webkit.org/show_bug.cgi?id=138037
1802
1803         Reviewed by Andreas Kling.
1804
1805         Make ScriptWrappable's destructor protected instead of public as it is
1806         not virtual and this class is subclassed a lot.
1807
1808         No new tests, no behavior change.
1809
1810         * bindings/js/ScriptWrappable.h:
1811         (WebCore::ScriptWrappable::~ScriptWrappable):
1812
1813 2014-10-23  Carlos Garcia Campos  <cgarcia@igalia.com>
1814
1815         [GTK][Cairo] Remove GTK dependency of WidgetBackingStoreGtkX11
1816         https://bugs.webkit.org/show_bug.cgi?id=138004
1817
1818         Reviewed by Gustavo Noronha Silva.
1819
1820         Rename all WidgetBackingStore* classes as
1821         BackingStoreBackendCairo* since all of them are actually
1822         BackingStore backends based on cairo, and move them from
1823         platform/cairo and platform/gtk to platform/graphics/cairo.
1824         BackingStoreBackendCairo is the base class that contains common
1825         members like the surface and size. BackingStoreBackendCairoImpl is
1826         the implementation using only cairo, and BackingStoreBackendCairoX11
1827         using xlib. BackingStoreBackendCairoX11 receives all the X11
1828         information it needs as constructor parameters, instead of using a
1829         GtkWidget and GTK+ X11 API. BackingStoreBackendCairoImpl receives
1830         the surface already created as constructor parameter, so that it
1831         doesn't have any platform specific code now.
1832
1833         * PlatformEfl.cmake: Update compilation files.
1834         * PlatformGTK.cmake: Ditto.
1835         * platform/cairo/WidgetBackingStoreCairo.cpp: Removed.
1836         * platform/graphics/cairo/BackingStoreBackendCairo.h: Renamed from Source/WebCore/platform/cairo/WidgetBackingStore.h.
1837         (WebCore::BackingStoreBackendCairo::~BackingStoreBackendCairo):
1838         (WebCore::BackingStoreBackendCairo::surface):
1839         (WebCore::BackingStoreBackendCairo::size):
1840         (WebCore::BackingStoreBackendCairo::BackingStoreBackendCairo):
1841         * platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp: Added.
1842         (WebCore::BackingStoreBackendCairoImpl::BackingStoreBackendCairoImpl):
1843         (WebCore::BackingStoreBackendCairoImpl::~BackingStoreBackendCairoImpl):
1844         (WebCore::BackingStoreBackendCairoImpl::scroll):
1845         * platform/graphics/cairo/BackingStoreBackendCairoImpl.h: Renamed from Source/WebCore/platform/cairo/WidgetBackingStoreCairo.h.
1846         * platform/graphics/cairo/BackingStoreBackendCairoX11.cpp: Renamed from Source/WebCore/platform/gtk/WidgetBackingStoreGtkX11.cpp.
1847         (WebCore::BackingStoreBackendCairoX11::BackingStoreBackendCairoX11):
1848         (WebCore::BackingStoreBackendCairoX11::~BackingStoreBackendCairoX11):
1849         (WebCore::BackingStoreBackendCairoX11::scroll):
1850         * platform/graphics/cairo/BackingStoreBackendCairoX11.h: Renamed from Source/WebCore/platform/gtk/WidgetBackingStoreGtkX11.h.
1851         * platform/graphics/cairo/CairoUtilities.cpp:
1852         (WebCore::cairoSurfaceGetDeviceScale):
1853         * platform/graphics/cairo/CairoUtilities.h:
1854
1855 2014-10-23  Zalan Bujtas  <zalan@apple.com>
1856
1857         WebContent crash at WebCore::RenderTextControl::textFormControlElement const.
1858         https://bugs.webkit.org/show_bug.cgi?id=138035
1859
1860         Reviewed by Antti Koivisto.
1861
1862         NULL-check element().renderer() before using it.
1863
1864         * html/SearchInputType.cpp:
1865         (WebCore::SearchInputType::didSetValueByUserEdit):
1866
1867 2014-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1868
1869         Remove HarfBuzzRun::create() factory function
1870         https://bugs.webkit.org/show_bug.cgi?id=137945
1871
1872         Reviewed by Ryosuke Niwa.
1873
1874         As a step to use std::unique_ptr<>, this patch applies std::unique_ptr<> and std::make_unique<>.
1875         Thus HarfBuzzRun::create() is needed no longer.
1876
1877         No new tests, no behavior changes.
1878
1879         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
1880         (WebCore::HarfBuzzShaper::collectHarfBuzzRuns):
1881         * platform/graphics/harfbuzz/HarfBuzzShaper.h:
1882         (WebCore::HarfBuzzShaper::HarfBuzzRun::create): Deleted.
1883
1884 2014-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
1885
1886         Unreviewed iOS build fix
1887
1888         * editing/FrameSelection.cpp:
1889
1890 2014-10-23  Chris Dumez  <cdumez@apple.com>
1891
1892         [Mac] Optimize URL::createCFURL() for the common case
1893         https://bugs.webkit.org/show_bug.cgi?id=138030
1894
1895         Reviewed by Alexey Proskuryakov.
1896
1897         Optimize URL::createCFURL() for the common case by adding a fast path
1898         for when the URL String is already 8-bit (common case).
1899         When the string is 8-bit, we don't need to copy the bytes into a
1900         temporary buffer and we can construct the CFURLRef directly from it.
1901
1902         This makes URL::createCFURL() ~34% faster on my machine.
1903
1904         No new tests, no behavior change.
1905
1906         * platform/mac/URLMac.mm:
1907         (WebCore::URL::createCFURL):
1908
1909 2014-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
1910
1911         Carets in GMail and iCloud compositions are the foreground text color
1912         https://bugs.webkit.org/show_bug.cgi?id=138029
1913
1914         Reviewed by Simon Fraser.
1915
1916         Previously, we were only checking whether the background colors of the foreground and background
1917         elements were the same, rather than taking validity and opacity into consideration.
1918
1919         Test: editing/caret/color-span-inside-editable-background.html
1920
1921         * editing/FrameSelection.cpp:
1922         (WebCore::disappearsIntoBackground):
1923         (WebCore::CaretBase::paintCaret):
1924
1925 2014-10-23  Joseph Pecoraro  <pecoraro@apple.com>
1926
1927         Web Inspector: Provide a way to have alternate inspector agents
1928         https://bugs.webkit.org/show_bug.cgi?id=137901
1929
1930         Reviewed by Brian Burg.
1931
1932         * Configurations/FeatureDefines.xcconfig:
1933
1934 2014-10-23  Simon Fraser  <simon.fraser@apple.com>
1935
1936         Don't assume that style.overflowX() == style.overflowY()
1937         https://bugs.webkit.org/show_bug.cgi?id=138028
1938
1939         Reviewed by Zalan Bujtas.
1940
1941         WebKit doesn't support independent overflow scroll/hidden on different axes,
1942         but the RenderStyle does report the correct values. So check both overflowX()
1943         and overflowY() in a couple of places where we need to.
1944
1945         * rendering/RenderLayerCompositor.cpp:
1946         (WebCore::styleHasTouchScrolling):
1947         (WebCore::styleChangeRequiresLayerRebuild):
1948
1949 2014-10-23  Chris Dumez  <cdumez@apple.com>
1950
1951         Get rid of unnecessary vtables in WebKit
1952         https://bugs.webkit.org/show_bug.cgi?id=138024
1953
1954         Reviewed by Benjamin Poulain.
1955
1956         Get rid of unnecessary vtables in WebKit by de-virtualizing destructors
1957         when possible and marking the class as final to make sure people don't
1958         subclass it.
1959
1960         No new tests, no behavior change.
1961
1962         * WebCore.exp.in:
1963         * css/WebKitCSSMatrix.h:
1964         * css/WebKitCSSMatrix.idl:
1965         * html/canvas/WebGLContextGroup.h:
1966         * html/canvas/WebGLGetInfo.h:
1967         * html/canvas/WebGLUniformLocation.h:
1968         (WebCore::WebGLUniformLocation::~WebGLUniformLocation): Deleted.
1969         * html/canvas/WebGLUniformLocation.idl:
1970         * inspector/DOMPatchSupport.h:
1971         * inspector/InspectorHistory.h:
1972         * inspector/InspectorStyleSheet.h:
1973         * page/WheelEventDeltaTracker.h:
1974         * page/scrolling/ScrollLatchingState.h:
1975         * platform/audio/Biquad.h:
1976         * platform/graphics/Pattern.h:
1977
1978 2014-10-23  Chris Dumez  <cdumez@apple.com>
1979
1980         Clean up virtual functions in dom/
1981         https://bugs.webkit.org/show_bug.cgi?id=138019
1982
1983         Reviewed by Benjamin Poulain.
1984
1985         Clean up virtual functions in dom/ by:
1986         - Making virtual functions final when possible
1987         - Making classes final when possible
1988         - Using 'override' when appropriate
1989         - Explicitly marking functions / destructors as virtual when they are
1990           inherently virtual
1991         - Making isXXX() virtual functions private on XXX classes to avoid
1992           unnecessary type checks
1993         - Dropping final for virtual functions in classes already marked as
1994           final
1995
1996         No new tests, no behavior change.
1997
1998         * WebCore.exp.in:
1999         * dom/AutocompleteErrorEvent.h:
2000         * dom/BeforeLoadEvent.h:
2001         (WebCore::BeforeLoadEventInit::BeforeLoadEventInit):
2002         * dom/BeforeTextInsertedEvent.h:
2003         * dom/ClipboardEvent.h:
2004         * dom/CompositionEvent.h:
2005         * dom/CustomEvent.h:
2006         * dom/DeviceMotionController.h:
2007         (WebCore::DeviceMotionController::~DeviceMotionController): Deleted.
2008         * dom/DeviceMotionEvent.h:
2009         * dom/DeviceOrientationController.h:
2010         (WebCore::DeviceOrientationController::~DeviceOrientationController): Deleted.
2011         * dom/DeviceOrientationEvent.h:
2012         * dom/Document.h:
2013         * dom/DocumentFragment.h:
2014         * dom/ErrorEvent.h:
2015         * dom/FocusEvent.h:
2016         * dom/HashChangeEvent.h:
2017         * dom/KeyboardEvent.h:
2018         * dom/LiveNodeList.h:
2019         * dom/MessageEvent.h:
2020         * dom/MessagePort.h:
2021         * dom/MouseEvent.h:
2022         * dom/MouseRelatedEvent.h:
2023         * dom/MutationEvent.h:
2024         * dom/NamedFlowCollection.h:
2025         * dom/OverflowEvent.h:
2026         * dom/PageTransitionEvent.h:
2027         * dom/PendingScript.h:
2028         * dom/PopStateEvent.h:
2029         * dom/RawDataDocumentParser.h:
2030         (WebCore::RawDataDocumentParser::finish): Deleted.
2031         (WebCore::RawDataDocumentParser::flush): Deleted.
2032         (WebCore::RawDataDocumentParser::insert): Deleted.
2033         (WebCore::RawDataDocumentParser::append): Deleted.
2034         * dom/ScriptableDocumentParser.h:
2035         * dom/SecurityPolicyViolationEvent.h:
2036         * dom/TextEvent.h:
2037         * dom/TouchEvent.h:
2038         * dom/TransitionEvent.h:
2039         * dom/UIEvent.h:
2040         * dom/WebKitAnimationEvent.h:
2041         * dom/WebKitTransitionEvent.h:
2042         * dom/WheelEvent.h:
2043         * page/DeviceController.h:
2044         (WebCore::DeviceController::~DeviceController):
2045
2046 2014-10-23  Tim Horton  <timothy_horton@apple.com>
2047
2048         Add some SPI headers for NSExtension and NSSharingService{Picker}
2049         https://bugs.webkit.org/show_bug.cgi?id=138027
2050
2051         Reviewed by Anders Carlsson.
2052
2053         * WebCore.xcodeproj/project.pbxproj:
2054         * platform/spi/cocoa/NSExtensionSPI.h: Added.
2055         * platform/spi/mac/NSSharingServicePickerSPI.h: Added.
2056         * platform/spi/mac/NSSharingServiceSPI.h: Added.
2057         Add modern SPI headers for NSExtension, and NSSharingService{Picker}.
2058
2059         * rendering/RenderThemeMac.mm:
2060         Replace redefinitions with an SPI header #import.
2061
2062 2014-10-23  Eric Carlson  <eric.carlson@apple.com>
2063
2064         [Mac] don't update caption user style sheet during parsing
2065         https://bugs.webkit.org/show_bug.cgi?id=137983
2066         rdar://problem/18735366
2067
2068         Reviewed by Jer Noble.
2069
2070         No new tests, existing tests cover the changes.
2071
2072         * page/CaptionUserPreferencesMediaAF.cpp:
2073         (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF): Initialize m_updateStyleSheetTimer.
2074         (WebCore::CaptionUserPreferencesMediaAF::updateTimerFired): Call updateCaptionStyleSheetOveride.
2075         (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges): Prime a timer to update 
2076             the captions style sheet after a slight delay.
2077
2078 2014-10-23  Chris Dumez  <cdumez@apple.com>
2079
2080         Move remaining Length-type properties to the new StyleBuilder
2081         https://bugs.webkit.org/show_bug.cgi?id=138012
2082
2083         Reviewed by Antti Koivisto.
2084
2085         Move remaining Length-type properties from DeprecatedStyleBuilder to
2086         the new StyleBuilder so that they are now generated from
2087         CSSPropertyNames.in as well. The patch introduces a couple of type
2088         converters for those: "LengthSizing / LengthMaxSizing".
2089
2090         No new tests, no behavior change.
2091
2092         * css/CSSPropertyNames.in:
2093         * css/DeprecatedStyleBuilder.cpp:
2094         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2095         * css/StyleBuilderConverter.h:
2096         (WebCore::StyleBuilderConverter::convertLengthSizing):
2097         (WebCore::StyleBuilderConverter::convertLengthMaxSizing):
2098
2099 2014-10-23  Jer Noble  <jer.noble@apple.com>
2100
2101         [Mac] Safari cannot play 'audio/amr' content.
2102         https://bugs.webkit.org/show_bug.cgi?id=137894
2103
2104         Reviewed by Eric Carlson.
2105
2106         Test: media/media-can-play-case-insensitive.html
2107
2108         Sites are returning 'video/amr' for AMR audio content, but the IANA spec says 'audio/AMR', which is also what
2109         AVFoundation claims to support.  However, MIME types are supposed to be case-insensitive. When creating our
2110         mime type cache, case-fold to lower all MIME types given to us by our media frameworks.
2111
2112         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2113         (WebCore::mimeTypeCache):
2114         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2115         (WebCore::addFileTypesToCache):
2116
2117 2014-10-23  Chris Dumez  <cdumez@apple.com>
2118
2119         Move Length-type CSS properties from DeprecatedStyleBuilder to the new Style Builder
2120         https://bugs.webkit.org/show_bug.cgi?id=138000
2121
2122         Reviewed by Andreas Kling.
2123
2124         Move most Length-type CSS properties from DeprecatedStyleBuilder to the
2125         new Style Builder so that they are now generated. This patch adds
2126         support for a "Converter" option in CSSPropertyNames.in that can be
2127         used to specify a type converter function in
2128         css/StyleBuilderConverter.h. This patch adds support for Length and
2129         LengthOrAuto converters so that most Length-type properties can now be
2130         generated.
2131
2132         Another converter (likely called "LengthSizing") will be needed to
2133         generate the remaining Length-type properties. This will be taken care
2134         of in a follow-up patch.
2135
2136         This patch is inspired by the following Blink revision by
2137         <timloh@chromium.org>:
2138         https://src.chromium.org/viewvc/blink?view=rev&revision=150500
2139
2140         No new tests, no behavior change.
2141
2142         * WebCore.xcodeproj/project.pbxproj:
2143         * css/CSSPropertyNames.in:
2144         * css/DeprecatedStyleBuilder.cpp:
2145         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2146         * css/SVGCSSPropertyNames.in:
2147         * css/StyleBuilder.h:
2148         * css/StyleBuilderConverter.h: Added.
2149         (WebCore::StyleBuilderConverter::convertLength):
2150         (WebCore::StyleBuilderConverter::convertLengthOrAuto):
2151         * css/StyleResolver.cpp:
2152         (WebCore::StyleResolver::applyProperty):
2153         * css/makeprop.pl:
2154
2155 2014-10-23  Zan Dobersek  <zdobersek@igalia.com>
2156
2157         Const-ify static s_resourceType members in RenderSVGResource* classes
2158         https://bugs.webkit.org/show_bug.cgi?id=137911
2159
2160         Reviewed by Andreas Kling.
2161
2162         Make s_resourceType static members in RenderSVGResource* classes const.
2163         Also update the resourceType() methods, where necessary, so that they
2164         return the s_resourceType constant.
2165
2166         * rendering/svg/RenderSVGResourceClipper.cpp:
2167         * rendering/svg/RenderSVGResourceClipper.h:
2168         * rendering/svg/RenderSVGResourceFilter.cpp:
2169         * rendering/svg/RenderSVGResourceFilter.h:
2170         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
2171         * rendering/svg/RenderSVGResourceLinearGradient.h:
2172         * rendering/svg/RenderSVGResourceMarker.cpp:
2173         * rendering/svg/RenderSVGResourceMarker.h:
2174         * rendering/svg/RenderSVGResourceMasker.cpp:
2175         * rendering/svg/RenderSVGResourceMasker.h:
2176         * rendering/svg/RenderSVGResourcePattern.cpp:
2177         * rendering/svg/RenderSVGResourcePattern.h:
2178         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
2179         * rendering/svg/RenderSVGResourceRadialGradient.h:
2180         * rendering/svg/RenderSVGResourceSolidColor.cpp:
2181         * rendering/svg/RenderSVGResourceSolidColor.h:
2182
2183 2014-10-23  Zan Dobersek  <zdobersek@igalia.com>
2184
2185         [TexMap] Clean up virtual method declarations in GraphicsLayerTextureMapper
2186         https://bugs.webkit.org/show_bug.cgi?id=137957
2187
2188         Reviewed by Martin Robinson.
2189
2190         Added override notation to the GraphicsLayerTextureMapper methods that are
2191         overriding the base methods from the GraphicsLayer class and don't have it yet.
2192         Also reordered these methods to follow the order of declaration in the
2193         GraphicsLayer class.
2194
2195         Removed ::setName() and ::willBeDestroyed() methods since they just called
2196         the base class' methods.
2197
2198         Also removed the ::solidColor() and ::changeMask() methods. The first one was
2199         only called in one place which can reference the m_solidColor member directly,
2200         and the second one wasn't used at all.
2201
2202         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2203         (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
2204         (WebCore::GraphicsLayerTextureMapper::setName): Deleted.
2205         (WebCore::GraphicsLayerTextureMapper::willBeDestroyed): Deleted.
2206         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2207         (WebCore::GraphicsLayerTextureMapper::solidColor): Deleted.
2208         (WebCore::GraphicsLayerTextureMapper::usesContentsLayer): Deleted.
2209         (WebCore::GraphicsLayerTextureMapper::platformLayer): Deleted.
2210         (WebCore::GraphicsLayerTextureMapper::changeMask): Deleted.
2211
2212 2014-10-23  Krzysztof Czech  <k.czech@samsung.com>
2213
2214         AX: Do the early return when role is different than UnknownRole
2215         https://bugs.webkit.org/show_bug.cgi?id=137880
2216
2217         Reviewed by Chris Fleizach.
2218
2219         We do not need to call ariaRoleAttribute() to check whether m_ariaRole is different than UnknownRole.
2220         Just check m_ariaRole instead.
2221
2222         No new tests, no behavior change, just some cleanup
2223
2224         * accessibility/AccessibilityNodeObject.cpp:
2225         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
2226         * accessibility/AccessibilityRenderObject.cpp:
2227         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2228         * accessibility/AccessibilityTableRow.cpp:
2229         (WebCore::AccessibilityTableRow::determineAccessibilityRole):
2230
2231 2014-10-23  Yusuke Suzuki  <utatane.tea@gmail.com>
2232
2233         CSS JIT: Implement :matches
2234         https://bugs.webkit.org/show_bug.cgi?id=137947
2235
2236         Reviewed by Benjamin Poulain.
2237
2238         Initial patch for supporting :matches in CSS JIT.
2239         In this patch, we implement :matches
2240         by leveraging the generalized nested backtracking implementation.
2241
2242         Tests: fast/selectors/matches-backtracking.html
2243                fast/selectors/matches-complex.html
2244
2245         * cssjit/SelectorCompiler.cpp:
2246         (WebCore::SelectorCompiler::addPseudoClassType):
2247         (WebCore::SelectorCompiler::hasAnyCombinators):
2248         (WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements):
2249         (WebCore::SelectorCompiler::computeBacktrackingInformation):
2250         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
2251         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesMatchesPseudoClass):
2252
2253 2014-10-23  Milan Crha  <mcrha@redhat.com>
2254
2255         RenderThemeGtk::mediaControlsScript() is not defined when VIDEO is disabled.
2256         <https://webkit.org/b/137970>.
2257
2258         Reviewed by Carlos Garcia Campos.
2259
2260         * rendering/RenderThemeGtk.cpp:
2261
2262 2014-10-22  Milan Crha  <mcrha@redhat.com>
2263
2264         Do not include GraphicsContext3D.h when 3D_GRAPHICS is not used.
2265         <https://webkit.org/b/137969>.
2266
2267         Reviewed by Carlos Garcia Campos.
2268
2269         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
2270
2271 2014-10-22  Milan Crha  <mcrha@redhat.com>
2272
2273         Do not build WidgetBackingStoreGtkX11 when not used.
2274         <https://webkit.org/b/137972>.
2275
2276         Reviewed by Carlos Garcia Campos.
2277
2278         * platform/gtk/WidgetBackingStoreGtkX11.cpp:
2279         * platform/gtk/WidgetBackingStoreGtkX11.h:
2280
2281 2014-10-22  Simon Fraser  <simon.fraser@apple.com>
2282
2283         [iOS] Toggling overflow:scroll to hidden on element with -webkit-overflow-scrolling:touch can cause children to disappear
2284         https://bugs.webkit.org/show_bug.cgi?id=137999
2285         rdar://problem/18425550
2286
2287         Reviewed by Zalan Bujtas.
2288         
2289         When toggling overflow from scroll to hidden on an element with -webkit-overflow-scrolling:touch,
2290         we'd fail to do a compositing layer rebuild, which caused various issues like unparented
2291         descendants, and misplaced and unrepainted content.
2292         
2293         This happened because we'd get to RenderLayerBacking::updateConfiguration() via styleChanged
2294         with the view needing layout, so never hit the updateScrollingLayers() code, and the subsequent
2295         updateCompositingLayers() would be a no-op.
2296         
2297         Fix by explicitly triggering a layer rebuild when style changes such that the touch-scrollability
2298         of an element changes, as we do for changes in clip.
2299
2300         Test: compositing/scrolling/touch-scroll-to-clip.html
2301
2302         * rendering/RenderLayerCompositor.cpp:
2303         (WebCore::isScrollableOverflow):
2304         (WebCore::styleHasTouchScrolling):
2305         (WebCore::styleChangeRequiresLayerRebuild):
2306
2307 2014-10-22  Chris Dumez  <cdumez@apple.com>
2308
2309         Clean up virtual functions in rendering/
2310         https://bugs.webkit.org/show_bug.cgi?id=137984
2311
2312         Reviewed by Darin Adler.
2313
2314         Clean up virtual functions in rendering/ by:
2315         - Making virtual functions final when possible
2316         - Making classes final when possible
2317         - Using 'override' when appropriate
2318         - Explicitly marking functions / destructors as virtual when they are
2319           inherently virtual
2320         - Dropping virtual destructors when the class does not have subclasses
2321           and mark the class as final, to get rid of unnecessary vtables
2322         - Making isXXX() virtual functions private on XXX classes to avoid
2323           unnecessary type checks
2324         - De-virtualizing some functions that do not need to be virtual
2325         - Dropping final for virtual functions in classes already marked as
2326           final
2327
2328         No new tests, no behavior change.
2329
2330         * html/shadow/SliderThumbElement.cpp:
2331         * rendering/AutoTableLayout.h:
2332         * rendering/ClipPathOperation.h:
2333         (WebCore::ClipPathOperation::type):
2334         (WebCore::ClipPathOperation::isSameType):
2335         * rendering/EllipsisBox.h:
2336         * rendering/FixedTableLayout.h:
2337         * rendering/InlineElementBox.h:
2338         * rendering/RenderBlockFlow.h:
2339         * rendering/RenderCombineText.h:
2340         * rendering/RenderCounter.h:
2341         * rendering/RenderDeprecatedFlexibleBox.h:
2342         * rendering/RenderFlexibleBox.h:
2343         * rendering/RenderFullScreen.h:
2344         * rendering/RenderGrid.h:
2345         * rendering/RenderLayer.h:
2346         * rendering/RenderLayerBacking.h:
2347         * rendering/RenderLayerCompositor.h:
2348         * rendering/RenderLayerFilterInfo.h:
2349         * rendering/RenderLineBreak.h:
2350         * rendering/RenderMarquee.h:
2351         * rendering/RenderMediaControlElements.h:
2352         * rendering/RenderMultiColumnFlowThread.h:
2353         * rendering/RenderMultiColumnSet.h:
2354         * rendering/RenderMultiColumnSpannerPlaceholder.h:
2355         * rendering/RenderNamedFlowFragment.h:
2356         * rendering/RenderNamedFlowThread.h:
2357         * rendering/RenderQuote.h:
2358         * rendering/RenderRegion.h:
2359         (WebCore::RenderRegion::renderName): Deleted.
2360         * rendering/RenderReplica.h:
2361         * rendering/RenderRubyBase.h:
2362         * rendering/RenderRubyRun.h:
2363         * rendering/RenderScrollbar.h:
2364         * rendering/RenderScrollbarPart.h:
2365         * rendering/RenderScrollbarTheme.h:
2366         (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme): Deleted.
2367         (WebCore::RenderScrollbarTheme::scrollbarThickness): Deleted.
2368         (WebCore::RenderScrollbarTheme::buttonsPlacement): Deleted.
2369         (WebCore::RenderScrollbarTheme::supportsControlTints): Deleted.
2370         (WebCore::RenderScrollbarTheme::shouldCenterOnThumb): Deleted.
2371         (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay): Deleted.
2372         (WebCore::RenderScrollbarTheme::autoscrollTimerDelay): Deleted.
2373         (WebCore::RenderScrollbarTheme::registerScrollbar): Deleted.
2374         (WebCore::RenderScrollbarTheme::unregisterScrollbar): Deleted.
2375         * rendering/RenderSnapshottedPlugIn.h:
2376         * rendering/RenderTextControlMultiLine.h:
2377         * rendering/RenderTextFragment.h:
2378         * rendering/RenderThemeGtk.h:
2379         * rendering/RenderThemeIOS.h:
2380         * rendering/RenderThemeWin.h:
2381         * rendering/RenderVideo.h:
2382         * rendering/TextAutosizer.h:
2383         * rendering/TrailingFloatsRootInlineBox.h:
2384         * rendering/mathml/RenderMathMLBlock.h:
2385         * rendering/mathml/RenderMathMLMenclose.h:
2386         * rendering/mathml/RenderMathMLOperator.h:
2387         * rendering/mathml/RenderMathMLRadicalOperator.h:
2388         * rendering/mathml/RenderMathMLRoot.h:
2389         * rendering/mathml/RenderMathMLRow.h:
2390         * rendering/mathml/RenderMathMLScripts.h:
2391         * rendering/mathml/RenderMathMLToken.h:
2392         * rendering/mathml/RenderMathMLUnderOver.h:
2393         * rendering/shapes/BoxShape.h:
2394         * rendering/shapes/PolygonShape.h:
2395         * rendering/shapes/RasterShape.h:
2396         * rendering/shapes/RectangleShape.h:
2397         * rendering/style/BasicShapes.h:
2398         * rendering/style/StylePendingImage.h:
2399         (WebCore::StylePendingImage::computeIntrinsicDimensions): Deleted.
2400         * rendering/svg/RenderSVGBlock.h:
2401         * rendering/svg/RenderSVGContainer.h:
2402         * rendering/svg/RenderSVGEllipse.h:
2403         * rendering/svg/RenderSVGForeignObject.h:
2404         * rendering/svg/RenderSVGImage.h:
2405         * rendering/svg/RenderSVGPath.h:
2406         * rendering/svg/RenderSVGRect.h:
2407         * rendering/svg/RenderSVGResourceClipper.h:
2408         * rendering/svg/RenderSVGResourceFilter.h:
2409         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
2410         * rendering/svg/RenderSVGResourceLinearGradient.h:
2411         * rendering/svg/RenderSVGResourceMarker.h:
2412         * rendering/svg/RenderSVGResourceMasker.h:
2413         * rendering/svg/RenderSVGResourcePattern.h:
2414         * rendering/svg/RenderSVGResourceRadialGradient.h:
2415         * rendering/svg/RenderSVGRoot.h:
2416         * rendering/svg/RenderSVGTSpan.h:
2417         * rendering/svg/RenderSVGText.h:
2418         * rendering/svg/RenderSVGTransformableContainer.h:
2419         * rendering/svg/RenderSVGViewportContainer.h:
2420         * rendering/svg/SVGInlineTextBox.h:
2421         * rendering/svg/SVGRootInlineBox.h:
2422
2423 2014-10-22  Jer Noble  <jer.noble@apple.com>
2424
2425         REGRESSION(r175000): Crash in SourceBufferPrivateAVFObjC::destroyParser()
2426         https://bugs.webkit.org/show_bug.cgi?id=137990
2427
2428         Reviewed by Alexey Proskuryakov.
2429
2430         NULL-check m_mediaSource before using.
2431
2432         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2433         (WebCore::SourceBufferPrivateAVFObjC::destroyParser):
2434
2435 2014-10-22  Said Abou-Hallawa  <sabouhallawa@apple.com>
2436
2437         SVG loaded through html <img> can't request to load any external resources.
2438         https://bugs.webkit.org/show_bug.cgi?id=137762.
2439
2440         Reviewed by Daniel Bates.
2441
2442         SVG images have unique security rules that prevent them from loading any external
2443         resources. This patch enforces these rules in CachedResourceLoader::canRequest for
2444         all non-data-uri resources.
2445
2446         The fix and the tests are ported but modified a little from the chromium fix:
2447         http://src.chromium.org/viewvc/blink?view=rev&rev=176084
2448
2449         Test: http/tests/security/svg-image-with-cached-remote-image.html
2450               http/tests/security/svg-image-with-css-cross-domain.html
2451
2452         For the SVG image, prevent loading any external sub-resource except for data urls.
2453         * loader/cache/CachedResourceLoader.cpp:
2454         (WebCore::CachedResourceLoader::canRequest):
2455
2456 2014-10-21  Ada Chan  <adachan@apple.com>
2457
2458         MediaPlayerPrivateAVFoundation::hasAudio() returns false even when there is an audible AVMediaSelectionOption selected
2459         https://bugs.webkit.org/show_bug.cgi?id=137935
2460
2461         Reviewed by Eric Carlson.
2462
2463         Set hasAudio to true if there's a selected audible AVMediaSelectionOption
2464         after the call to updateAudioTracks(). Ditto for video.
2465
2466         Test: http/tests/media/hls/hls-audio-tracks-has-audio.html
2467
2468         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2469         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
2470
2471         * testing/Internals.cpp:
2472         (WebCore::Internals::mediaElementHasCharacteristic):
2473         * testing/Internals.h:
2474         * testing/Internals.idl:
2475         Add internals.mediaElementHasCharacteristic for the new test.
2476
2477 2014-10-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2478
2479         Remove WidgetBackingStoreCairo::create() factory function
2480         https://bugs.webkit.org/show_bug.cgi?id=137943
2481
2482         Reviewed by Darin Adler.
2483
2484         WidgetBackingStoreCairo::create() can be replaced by std::make_unique<>.
2485         Thus this patch removes it, then use std::make_unique<>|std::unique_ptr<>.
2486
2487         No new tests, no behavior changes.
2488
2489         * platform/cairo/WidgetBackingStoreCairo.cpp:
2490         (WebCore::WidgetBackingStoreCairo::create): Deleted.
2491         * platform/cairo/WidgetBackingStoreCairo.h:
2492         * platform/gtk/WidgetBackingStoreGtkX11.cpp:
2493         (WebCore::WidgetBackingStoreGtkX11::create): Deleted.
2494         * platform/gtk/WidgetBackingStoreGtkX11.h:
2495
2496 2014-10-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2497
2498         Remove TextCheckerEnchant::create() factory function
2499         https://bugs.webkit.org/show_bug.cgi?id=137944
2500
2501         Reviewed by Darin Adler.
2502
2503         TextCheckerEnchant::create() can be replaced by std::make_unique<> and std::unique_ptr<>.
2504
2505         No new tests, no behavior change.
2506
2507         * platform/text/enchant/TextCheckerEnchant.h:
2508         (WebCore::TextCheckerEnchant::create): Deleted.
2509
2510 2014-10-22  Chris Dumez  <cdumez@apple.com>
2511
2512         Avoid confusion between AccessibilityObject::isTable() / isAccessibilityTable()
2513         https://bugs.webkit.org/show_bug.cgi?id=137899
2514
2515         Reviewed by Darin Adler.
2516
2517         Avoid confusion between AccessibilityObject::isTable() and
2518         isAccessibilityTable(). isTable() is equivalent to
2519         is<AccessibilityTable>(), while isAccessibilityTable() is an
2520         AccessibilityTable that is exposed as an AccessibilityTable to the
2521         platform.
2522
2523         This patch is renaming isAccessibilityTable() to
2524         isExposableThroughAccessibility(), makes it non-virtual and defines it
2525         on AccessibilityTable only, for clarity.
2526
2527         This patch also renames isTableExposableThroughAccessibility() to
2528         computeIisTableExposableThroughAccessibility() as it is called only
2529         once to initialize the m_isExposableThroughAccessibility data member.
2530
2531         No new tests, no behavior change.
2532
2533         * accessibility/AccessibilityARIAGrid.cpp:
2534         (WebCore::AccessibilityARIAGrid::addChildren):
2535         * accessibility/AccessibilityARIAGrid.h:
2536         * accessibility/AccessibilityARIAGridCell.cpp:
2537         (WebCore::AccessibilityARIAGridCell::parentTable):
2538         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
2539         (WebCore::AccessibilityARIAGridCell::columnIndexRange):
2540         * accessibility/AccessibilityARIAGridRow.cpp:
2541         (WebCore::AccessibilityARIAGridRow::disclosedRows):
2542         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
2543         (WebCore::AccessibilityARIAGridRow::parentTable):
2544         * accessibility/AccessibilityNodeObject.cpp:
2545         (WebCore::shouldUseAccessiblityObjectInnerText):
2546         * accessibility/AccessibilityObject.cpp:
2547         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
2548         (WebCore::appendChildrenToArray):
2549         * accessibility/AccessibilityObject.h:
2550         (WebCore::AccessibilityObject::isAccessibilityTable): Deleted.
2551         * accessibility/AccessibilityRenderObject.cpp:
2552         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
2553         * accessibility/AccessibilityTable.cpp:
2554         (WebCore::AccessibilityTable::AccessibilityTable):
2555         (WebCore::AccessibilityTable::init):
2556         (WebCore::AccessibilityTable::isExposableThroughAccessibility):
2557         (WebCore::AccessibilityTable::computeIsTableExposableThroughAccessibility):
2558         (WebCore::AccessibilityTable::addChildren):
2559         (WebCore::AccessibilityTable::tableLevel):
2560         (WebCore::AccessibilityTable::roleValue):
2561         (WebCore::AccessibilityTable::computeAccessibilityIsIgnored):
2562         (WebCore::AccessibilityTable::title):
2563         (WebCore::AccessibilityTable::isAccessibilityTable): Deleted.
2564         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): Deleted.
2565         * accessibility/AccessibilityTable.h:
2566         * accessibility/AccessibilityTableCell.cpp:
2567         (WebCore::AccessibilityTableCell::isTableCell):
2568         * accessibility/AccessibilityTableColumn.cpp:
2569         (WebCore::AccessibilityTableColumn::headerObject):
2570         (WebCore::AccessibilityTableColumn::addChildren):
2571         * accessibility/AccessibilityTableHeaderContainer.cpp:
2572         (WebCore::AccessibilityTableHeaderContainer::addChildren):
2573         * accessibility/AccessibilityTableRow.cpp:
2574         (WebCore::AccessibilityTableRow::isTableRow):
2575         (WebCore::AccessibilityTableRow::parentTable):
2576         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2577         (webkitAccessibleGetNChildren):
2578         (webkitAccessibleRefChild):
2579         (webkitAccessibleGetAttributes):
2580         * accessibility/mac/AXObjectCacheMac.mm:
2581         (WebCore::AXObjectCache::postPlatformNotification):
2582         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2583         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2584         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2585         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2586         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2587         (-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2588         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2589
2590 2014-10-22  Chris Dumez  <cdumez@apple.com>
2591
2592         Avoid repeated is<MutableStyleProperties>() checks in StyleProperties
2593         https://bugs.webkit.org/show_bug.cgi?id=137978
2594
2595         Reviewed by Andreas Kling.
2596
2597         Reduce the amount of is<MutableStyleProperties>() checks in
2598         StyleProperties by:
2599         - Removing the checks in each method of StyleProperties::PropertyReference,
2600           and replace them by a single check in StyleProperties::propertyAt().
2601         - Providing faster propertyCount() / propertyAt() / isEmpty() methods on
2602           MutableStyleProperties / ImmutableStyleProperties as a lot of callers use
2603           tight typing.
2604         - Using tighter typing at call sites whenever possible.
2605
2606         Ideally, we could be able to use iterators instead of propertyCount() /
2607         propertyAt() but this is not trivial to do efficiently as the
2608         representation in memory is fundamentally different for MutableStyleProperties
2609         / ImmutableStyleProperties. We may be able to do better longer term, but
2610         this is already more efficient short term at least.
2611
2612         No new tests, no behavior change.
2613
2614         * css/StyleProperties.cpp:
2615         (WebCore::MutableStyleProperties::MutableStyleProperties):
2616         (WebCore::StyleProperties::PropertyReference::cssText):
2617         * css/StyleProperties.h:
2618         (WebCore::StyleProperties::PropertyReference::PropertyReference):
2619         (WebCore::StyleProperties::PropertyReference::id):
2620         (WebCore::StyleProperties::PropertyReference::shorthandID):
2621         (WebCore::StyleProperties::PropertyReference::isImportant):
2622         (WebCore::StyleProperties::PropertyReference::isInherited):
2623         (WebCore::StyleProperties::PropertyReference::isImplicit):
2624         (WebCore::StyleProperties::PropertyReference::value):
2625         (WebCore::StyleProperties::PropertyReference::toCSSProperty):
2626         (WebCore::StyleProperties::isEmpty):
2627         (WebCore::ImmutableStyleProperties::isEmpty):
2628         (WebCore::MutableStyleProperties::isEmpty):
2629         (WebCore::ImmutableStyleProperties::propertyAt):
2630         (WebCore::MutableStyleProperties::propertyAt):
2631         (WebCore::StyleProperties::propertyAt):
2632         (WebCore::StyleProperties::propertyCount):
2633         (WebCore::StyleProperties::PropertyReference::propertyMetadata): Deleted.
2634         (WebCore::StyleProperties::PropertyReference::propertyValue): Deleted.
2635         * editing/EditingStyle.cpp:
2636         (WebCore::removePropertiesInStyle):
2637         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
2638
2639 2014-10-22  Eric Carlson  <eric.carlson@apple.com>
2640
2641         [Mac][MediaStream] clean up bit rot
2642         https://bugs.webkit.org/show_bug.cgi?id=137976
2643
2644         Reviewed by Jer Noble.
2645
2646         No new tests, this just gets the Mac port compiling again.
2647
2648         * Modules/mediastream/MediaStream.h: Add a virtual destructor to Observer since it has 
2649             a virtual method.
2650
2651         * WebCore.exp.in: Export RTCPeerConnectionHandler::create and RTCPeerConnectionHandlerMock::create(WebCore::RTCPeerConnectionHandlerClient*),
2652             they are both use by Internals for testing.
2653
2654         * WebCore.xcodeproj/project.pbxproj: Add RTC and MediaStream files.
2655
2656         * html/HTMLMediaElement.h: Forward declare MediaStream instead of including MediaStream.h.
2657
2658         * platform/mediastream/RTCPeerConnectionHandler.h: EXPORT the create method.
2659
2660         * platform/mock/MediaConstraintsMock.cpp:
2661         (WebCore::isSupported): Make static.
2662         (WebCore::isValid): Ditto.
2663
2664         * platform/mock/RTCPeerConnectionHandlerMock.h: EXPORT the create method.
2665
2666 2014-10-22  Chris Dumez  <cdumez@apple.com>
2667
2668         [Mac][WK2] Fix applicationIsSafari() detection
2669         https://bugs.webkit.org/show_bug.cgi?id=137893
2670
2671         Reviewed by Alexey Proskuryakov.
2672
2673         I noticed when profiling Safari on Mac that we were exercising a code
2674         path we shouldn't because it is meant for other applications that
2675         Safari.
2676
2677         The detection relies on the applicationIsSafari() function in
2678         RuntimeApplicationChecks.cpp. This was in some cases returning false on
2679         my machine even though I was running Safari so I investigated a bit and
2680         noticed that the check relies on the main bundle identifier string and
2681         is doing:
2682         isSafari = mainBundleIsEqualTo("com.apple.Safari")
2683             || mainBundleIsEqualTo("com.apple.WebProcess");
2684
2685         This WebProcess detection is very unreliable because:
2686         - It matches other apps than Safari's WebProcesses
2687         - The bundle name for the WebProcess is sometimes
2688         "com.apple.WebKit.WebContent" or
2689         "com.apple.WebKit.WebContent.Development".
2690
2691         The solution used in this patch is to move the applicationIsSafari()
2692         check to the UIProcess so that the check actually succeeds reliably.
2693         The call site for applicationIsSafari() was in
2694         ResourceRequest::useQuickLookResourceCachingQuirks(). This match
2695         removes that logic from ResourceRequest and move it to
2696         FrameLoaderClient as only the FrameLoader is interested in this
2697         information. The logic to determine if we should use QuickLook
2698         resource caching quirks is moved to a new QuickLook class under
2699         platform/ as the code needs to be shared between WebKit and WebKit2.
2700         On WebKit2, we make use that code on the UIProcess side and pass
2701         the flag as a parameter when constructing the WebProcess. The flag
2702         is then stored on the WebProcess and queried by WebFrameLoaderClient.
2703
2704         Previously, we would spend ~1% of the WebProcess cpu time (when loading
2705         apple.com) trying to detect if we should use QuickLook resource caching
2706         quirks even though that check was supposed to be disabled and return
2707         early when running Safari.
2708
2709         No new tests, not easily testable.
2710
2711         * WebCore.exp.in:
2712         * WebCore.xcodeproj/project.pbxproj:
2713         * loader/EmptyClients.h:
2714         * loader/FrameLoader.cpp:
2715         (WebCore::FrameLoader::subresourceCachePolicy):
2716         * loader/FrameLoaderClient.h:
2717         * platform/RuntimeApplicationChecks.cpp:
2718         (WebCore::applicationIsSafari):
2719         Remove "com.apple.WebProcess" bundle name matching as this causes false
2720         positives (matches other applications than Safari's WebProcesses) and
2721         it is no longer needed now that applicationIsSafari() is always called
2722         from the UIProcess.
2723
2724         * platform/mac/QuickLookMac.h: Added.
2725         * platform/mac/QuickLookMac.mm: Copied from Source/WebCore/platform/network/mac/ResourceRequestMac.mm.
2726         (WebCore::QuickLookMac::computeNeedsQuickLookResourceCachingQuirks):
2727         * platform/network/cf/ResourceRequest.h:
2728         * platform/network/ios/ResourceRequestIOS.mm:
2729         (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks): Deleted.
2730         * platform/network/mac/ResourceRequestMac.mm:
2731         (WebCore::initQuickLookResourceCachingQuirks): Deleted.
2732         (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks): Deleted.
2733
2734 2014-10-22  Shivakumar JM  <shiva.jm@samsung.com>
2735
2736         XMLHttpRequest should support attribute responseURL as per latest XHR spec.
2737         https://bugs.webkit.org/show_bug.cgi?id=136938
2738
2739         Reviewed by Alexey Proskuryakov.
2740
2741         Tests: http/tests/xmlhttprequest/basic-auth-responseURL.html
2742                http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html
2743                http/tests/xmlhttprequest/redirect-credentials-responseURL.html
2744                http/tests/xmlhttprequest/xmlhttprequest-responseURL.html
2745
2746         XMLHttpRequest should support attribute responseURL
2747
2748         * xml/XMLHttpRequest.cpp:
2749         (WebCore::XMLHttpRequest::responseURL):
2750         * xml/XMLHttpRequest.h:
2751         * xml/XMLHttpRequest.idl:
2752
2753 2014-10-22  Chris Dumez  <cdumez@apple.com>
2754
2755         Add initial support for generating the StyleBuilder from CSSPropertyNames.in
2756         https://bugs.webkit.org/show_bug.cgi?id=137910
2757
2758         Reviewed by Andreas Kling.
2759
2760         Add initial support for generating the StyleBuilder from
2761         CSSPropertyNames.in. This is a first step towards getting rid of the
2762         legacy DeprecatedStyleBuilder class and having everything defined in one
2763         place (CSSPropertyNames.in).
2764
2765         This patch updates makeprop.pl script to generate a StyleBuilder.cpp
2766         file that generate a the StyleBuilder::applyProperty() method
2767         implementation using a huge switch statement for all the CSS
2768         properties. With this patch, we are now generating the new StyleBuilder
2769         code for all the "simple" CSS properties (i.e. those that were using
2770         ApplyPropertyDefault<> in DeprecatedStyleBuilder.cpp). I am using a
2771         "NewStyleBuilder" option in CSSPropertyNames.in for properties that
2772         we generate to help with improving incrementally the generator. Once
2773         we are able to generate all properties, this transition option will
2774         do away and become the default.
2775
2776         By default, the generator will make an educated guess for the type
2777         name, the getter, the setter and the initial function of each property.
2778         For example, for the border-collapse property, it will use:
2779         - TypeName: EBorderCollapse (i.e. 'E' + PropertyId)
2780         - Getter: borderCollapse() (i.e. PropertyId with first letter lowercased)
2781         - Setter: setBorderCollapse() (i.e. 'set' + PropertyId)
2782         - Initial: initialBorderCollapse() (i.e. 'initial' + PropertyId)
2783
2784         This works for most properties. For properties that need
2785         special-casing, developers can use the following options in
2786         CSSPropertyNames.in:
2787         - TypeName: Overrides the type name
2788         - Getter: Overrides the getter name
2789         - Setter: Overrides the setter name
2790         - Initial: Overrides the initial function name
2791         - NameForMethods: Overrides the Getter / Setter / Initial function
2792           names. For e.g. "NameForMethods=OverflowWrap" will use
2793           "overflowWrap() / setOverflowWrap() / initialOverflowWrap()".
2794
2795         The patch is inspired by the following Blink revision by
2796         <timloh@chromium.org>:
2797         https://src.chromium.org/viewvc/blink?view=rev&revision=150424
2798
2799         No new tests, no behavior change.
2800
2801         * CMakeLists.txt:
2802         * DerivedSources.make:
2803         * WebCore.vcxproj/WebCore.vcxproj:
2804         * WebCore.vcxproj/WebCore.vcxproj.filters:
2805         * WebCore.xcodeproj/project.pbxproj:
2806         * css/CSSPropertyNames.in:
2807         * css/DeprecatedStyleBuilder.cpp:
2808         (WebCore::ApplyPropertyVerticalAlign::createHandler):
2809         (WebCore::ApplyPropertyDisplay::applyInitialValue):
2810         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2811         * css/StyleBuilder.h: Added.
2812         * css/StyleResolver.cpp:
2813         (WebCore::StyleResolver::adjustRenderStyle):
2814         (WebCore::StyleResolver::applyProperty):
2815         * css/makeprop.pl:
2816         * rendering/style/RenderStyle.h:
2817         Move the initialXXX() methods that were in NonInheritedFlags to
2818         RenderStyle class, with the other initialXXX() methods to facilitate
2819         code generation.
2820
2821         * rendering/style/StyleMultiColData.cpp:
2822         (WebCore::StyleMultiColData::StyleMultiColData):
2823         * rendering/style/StyleRareNonInheritedData.cpp:
2824         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2825
2826 2014-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2827
2828         Unreviewed. Fix GStreamer debug build after r175050.
2829
2830         Explicitly include wtf/MainThread.h.
2831
2832         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2833
2834 2014-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2835
2836         [GStreamer] Do not use CachedResourceLoader, SecurityOrigin, ResourceBuffer and other WebCore types
2837         https://bugs.webkit.org/show_bug.cgi?id=137064
2838
2839         Reviewed by Philippe Normand.
2840
2841         Move the media resource loader to a new class in WebCore/loader
2842         that inherits from a PlatformMediaResourceLoader class defined in
2843         the platform layer. The platform specific behaviour is implemented
2844         using a client also defined in the platform layer, implemented by
2845         every media backend, and used by the WebCore MediaResourceLoader.
2846
2847         * CMakeLists.txt: Add new files to compilation.
2848         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2849         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2850         * WebCore.xcodeproj/project.pbxproj: Ditto.
2851         * html/HTMLMediaElement.cpp:
2852         (WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):
2853         Create a MediaResourceLoader.
2854         (WebCore::HTMLMediaElement::mediaPlayerCORSMode): Deleted. This is
2855         no longer used.
2856         * html/HTMLMediaElement.h:
2857         * loader/MediaResourceLoader.cpp: Added.
2858         (WebCore::MediaResourceLoader::MediaResourceLoader):
2859         (WebCore::MediaResourceLoader::~MediaResourceLoader):
2860         (WebCore::MediaResourceLoader::start): Start a new load for the
2861         given request and load options.
2862         (WebCore::MediaResourceLoader::stop): Stop the load if needed.
2863         (WebCore::MediaResourceLoader::setDefersLoading):
2864         (WebCore::MediaResourceLoader::responseReceived): Handle CORS
2865         access check and notify the client about the response.
2866         (WebCore::MediaResourceLoader::dataReceived): Notify the client.
2867         (WebCore::MediaResourceLoader::notifyFinished): Ditto.
2868         (WebCore::MediaResourceLoader::getOrCreateReadBuffer): Ask the
2869         client to create the read buffer.
2870         * loader/MediaResourceLoader.h: Added.
2871         * platform/graphics/MediaPlayer.cpp:
2872         (WebCore::MediaPlayer::createResourceLoader): Call
2873         mediaPlayerCreateResourceLoader() if there's a client.
2874         * platform/graphics/MediaPlayer.h:
2875         (WebCore::MediaPlayerClient::mediaPlayerCreateResourceLoader):
2876         (WebCore::MediaPlayerClient::mediaPlayerCORSMode): Deleted.
2877         * platform/graphics/PlatformMediaResourceLoader.h: Added.
2878         (WebCore::PlatformMediaResourceLoaderClient::responseReceived):
2879         (WebCore::PlatformMediaResourceLoaderClient::dataReceived):
2880         (WebCore::PlatformMediaResourceLoaderClient::bufferReceived):
2881         (WebCore::PlatformMediaResourceLoaderClient::accessControlCheckFailed):
2882         (WebCore::PlatformMediaResourceLoaderClient::loadFailed):
2883         (WebCore::PlatformMediaResourceLoaderClient::loadFinished):
2884         (WebCore::PlatformMediaResourceLoaderClient::getOrCreateReadBuffer):
2885         (WebCore::PlatformMediaResourceLoader::~PlatformMediaResourceLoader):
2886         (WebCore::PlatformMediaResourceLoader::stop):
2887         (WebCore::PlatformMediaResourceLoader::setDefersLoading):
2888         (WebCore::PlatformMediaResourceLoader::didPassAccessControlCheck):
2889         (WebCore::PlatformMediaResourceLoader::PlatformMediaResourceLoader):
2890         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2891         (webKitWebSrcStop): Also delete the PlatformMediaResourceLoader.
2892         (webKitWebSrcStart): Create a new resource loader using
2893         MediaPlayer::createResourceLoader() with a new
2894         CachedResourceStreamingClient as client.
2895         (webKitWebSrcNeedDataMainCb): Call setDefersLoading() for the
2896         resource loader if there's one.
2897         (webKitWebSrcEnoughDataMainCb): Ditto.
2898         (webKitSrcPassedCORSAccessCheck): Return didPassAccessControlCheck.
2899         (StreamingClient::handleResponseReceived): Remove the CORS check
2900         result parameter since that's now handled by MediaResourceLoader.
2901         (CachedResourceStreamingClient::CachedResourceStreamingClient):
2902         (CachedResourceStreamingClient::~CachedResourceStreamingClient):
2903         (CachedResourceStreamingClient::getOrCreateReadBuffer):
2904         (CachedResourceStreamingClient::responseReceived): Update didPassAccessControlCheck.
2905         (CachedResourceStreamingClient::dataReceived):
2906         (CachedResourceStreamingClient::accessControlCheckFailed): Log the
2907         error and stop the load.
2908         (CachedResourceStreamingClient::loadFailed): Log the error if it
2909         was not a cancellation.
2910         (CachedResourceStreamingClient::loadFinished):
2911         (ResourceHandleStreamingClient::didReceiveResponse):
2912         (CachedResourceStreamingClient::setDefersLoading): Deleted.
2913         (CachedResourceStreamingClient::notifyFinished): Deleted.
2914
2915 2014-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2916
2917         [GTK] Move GtkInputMethodFilter from Platform to WebKit2
2918         https://bugs.webkit.org/show_bug.cgi?id=137884
2919
2920         Reviewed by Gustavo Noronha Silva.
2921
2922         Remove GtkInputMethodFilter.
2923
2924         * PlatformGTK.cmake:
2925         * platform/gtk/GtkInputMethodFilter.cpp: Removed.
2926         * platform/gtk/GtkInputMethodFilter.h: Removed.
2927
2928 2014-10-22  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
2929
2930         Match spec for font-weight: bolder|lighter
2931         https://bugs.webkit.org/show_bug.cgi?id=137919
2932
2933         Reviewed by Andreas Kling.
2934
2935         This patch is a merge of Blink's
2936         https://chromiumcodereview.appspot.com/15994009
2937         
2938         Currently, bolder and lighter change font-weight in a non-compliant way.
2939         The spec (http://www.w3.org/TR/css3-fonts/#bolderlighter) defines
2940         exactly what the computed values should be given the inherited weight values,
2941         so we should match those.
2942         
2943         The removed FIXME's for selecting the next lightest/heaviest weight from
2944         the used font family seems to refer to behaviour from
2945         CSS1 (http://www.w3.org/TR/CSS1/#font-weight), while this is replaced
2946         with a simpler procedure for resolving bolder and lighter in font weights
2947         in CSS2 (http://www.w3.org/TR/CSS2/fonts.html#propdef-font-weight) and CSS3 (link above).
2948         
2949         and https://codereview.chromium.org/137813004
2950         
2951         According to http://dev.w3.org/csswg/css-fonts/#font-weight-prop, the computed
2952         weight of 'lighter' and 'bolder' are based on the inherited 'font-weight', so set
2953         that inherited weight before calculating 'lighter' and 'bolder'.
2954
2955         Tests: css3/font-weight-multiple-selectors.html
2956                css3/font-weight.html
2957
2958         * css/DeprecatedStyleBuilder.cpp:
2959         (WebCore::ApplyPropertyFontWeight::applyValue):
2960         * platform/graphics/FontDescription.cpp:
2961         (WebCore::FontDescription::lighterWeight):
2962         (WebCore::FontDescription::bolderWeight):
2963
2964 2014-10-22  Rohit Kumar  <kumar.rohit@samsung.com>
2965
2966         [GTK]: Fix unused parameter build warnings in WebCore/platform module
2967         https://bugs.webkit.org/show_bug.cgi?id=137921
2968
2969         Reviewed by Carlos Garcia Campos.
2970
2971         * platform/ScrollAnimatorNone.cpp:
2972         (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
2973         (WebCore::ScrollAnimatorNone::animationTimerFired):
2974
2975 2014-10-22  Dhi Aurrahman  <diorahman@rockybars.com>
2976
2977         Add relList to the anchor, area and link elements
2978         https://bugs.webkit.org/show_bug.cgi?id=137860
2979
2980         Reviewed by Darin Adler and Chris Dumez.
2981
2982         Add relList to reflect the rel content attribute for anchor[1],
2983         area[2] and link[3] elements.
2984
2985         [1] https://html.spec.whatwg.org/multipage/semantics.html#dom-a-rellist 
2986         [2] https://html.spec.whatwg.org/multipage/embedded-content.html#dom-area-rellist
2987         [3] https://html.spec.whatwg.org/multipage/semantics.html#dom-link-rellist
2988
2989         Tests: fast/dom/rel-list-gc.html
2990                fast/dom/rel-list.html
2991                perf/rel-list-remove.html
2992
2993         * CMakeLists.txt:
2994         * WebCore.vcxproj/WebCore.vcxproj:
2995         * WebCore.vcxproj/WebCore.vcxproj.filters:
2996         * WebCore.xcodeproj/project.pbxproj:
2997         * dom/SpaceSplitString.cpp:
2998         (WebCore::SpaceSplitString::set):
2999         * html/HTMLAnchorElement.cpp:
3000         (WebCore::HTMLAnchorElement::parseAttribute):
3001         (WebCore::HTMLAnchorElement::relList):
3002         (WebCore::HTMLAnchorElement::setRel): Deleted.
3003         * html/HTMLAnchorElement.h:
3004         * html/HTMLAnchorElement.idl:
3005         * html/HTMLAreaElement.idl:
3006         * html/HTMLLinkElement.cpp:
3007         (WebCore::HTMLLinkElement::parseAttribute):
3008         (WebCore::HTMLLinkElement::relList):
3009         * html/HTMLLinkElement.h:
3010         * html/HTMLLinkElement.idl:
3011         * html/RelList.cpp: Added.
3012         (WebCore::RelList::RelList):
3013         (WebCore::RelList::ref):
3014         (WebCore::RelList::deref):
3015         (WebCore::RelList::length):
3016         (WebCore::RelList::item):
3017         (WebCore::RelList::element):
3018         (WebCore::RelList::updateRelAttribute):
3019         (WebCore::RelList::containsInternal):
3020         (WebCore::RelList::value):
3021         (WebCore::RelList::setValue):
3022         * html/RelList.h: Added.
3023
3024 2014-10-21  Andy Estes  <aestes@apple.com>
3025
3026         One more iOS build fix after r175013.
3027
3028         * platform/graphics/ios/FontCacheIOS.mm:
3029         (WebCore::FontCache::createFontPlatformData):
3030
3031 2014-10-21  Benjamin Poulain  <bpoulain@apple.com>
3032
3033         CSS Rule features are ignored for nested CSS Selector lists
3034         https://bugs.webkit.org/show_bug.cgi?id=137908
3035
3036         Reviewed by Andreas Kling.
3037
3038         When Rule feature sets were collected, any selector list nested inside an other
3039         selector list was ignored when collecting properties of the CSS Selector.
3040
3041         As a result, style was not invalidated properly when any property listed in
3042         the nested selectors.
3043
3044         This patch fixes the issue by make RuleFeatureSet::collectFeaturesFromSelector()
3045         recursive, evaluating every chain of every selector lists.
3046
3047         Tests: fast/css/class-style-invalidation-optimization.html
3048                fast/css/direct-adjacent-style-sharing-1.html
3049                fast/css/direct-adjacent-style-sharing-2.html
3050                fast/css/direct-adjacent-style-sharing-3.html
3051                fast/css/id-style-invalidation-optimization.html
3052                fast/selectors/class-style-update-with-not.html
3053                fast/selectors/class-style-update-with-nth-child-of.html
3054                fast/selectors/class-style-update.html
3055
3056         * css/RuleFeature.cpp:
3057         (WebCore::recursivelyCollectFeaturesFromSelector):
3058         (WebCore::RuleFeatureSet::collectFeaturesFromSelector):
3059         * css/RuleFeature.h:
3060         * css/RuleSet.cpp:
3061         (WebCore::collectFeaturesFromRuleData):
3062
3063 2014-10-21  Tim Horton  <timothy_horton@apple.com>
3064
3065         Try to fix the iOS build after r175013.
3066
3067         * platform/graphics/ios/FontCacheIOS.mm:
3068         (WebCore::FontCache::createFontPlatformData):
3069
3070 2014-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3071
3072         Use std::unique_ptr | std::make_unique in FontCacheFoo
3073         https://bugs.webkit.org/show_bug.cgi?id=137905
3074
3075         Reviewed by Darin Adler.
3076
3077         Clean up PassOwnPtr|OwnPtr using std::unique_ptr|std::make_unique.
3078
3079         No new tests, no behavior changes.
3080
3081         * platform/graphics/FontCache.cpp:
3082         (WebCore::FontCache::getCachedFontPlatformData):
3083         * platform/graphics/FontCache.h:
3084         * platform/graphics/freetype/FontCacheFreeType.cpp:
3085         (WebCore::FontCache::createFontPlatformData):
3086         * platform/graphics/ios/FontCacheIOS.mm:
3087         (WebCore::FontCache::createFontPlatformData):
3088         * platform/graphics/mac/FontCacheMac.mm:
3089         (WebCore::FontCache::createFontPlatformData):
3090         * platform/graphics/win/FontCacheWin.cpp:
3091         (WebCore::FontCache::createFontPlatformData):
3092
3093 2014-10-21  Ada Chan  <adachan@apple.com>
3094
3095         Calling WebCore::Page::setMediaVolume(0) does not mute videos as expected.
3096         https://bugs.webkit.org/show_bug.cgi?id=137305
3097
3098         Reviewed by Darin Adler.
3099
3100         This was broken in http://trac.webkit.org/changeset/154970. To fix this (but not break
3101         GStreamer), remove the "if (m_volumeInitialized)" check before updating the MediaPlayer's
3102         volume to the value multiplied with the Page's mediaVolume. This should not affect GStreamer's
3103         behavior because MediaPlayerPrivateGStreamerBase::setStreamVolumeElement does nothing unless
3104         m_volumeInitialized is true.
3105
3106         * html/HTMLMediaElement.cpp:
3107         (WebCore::HTMLMediaElement::updateVolume):
3108
3109 2014-10-21  Jer Noble  <jer.noble@apple.com>
3110
3111         [EME][Mac] Update to match new AVStreamSession API and requirements.
3112         https://bugs.webkit.org/show_bug.cgi?id=137923
3113
3114         Reviewed by Eric Carlson.
3115
3116         The session identifier has moved from AVStreamDataParser to -[AVStreamSession contentProtectionSessionIdentifier]
3117         and the property is no longer KVObservable. A new notification key has been added in place of KVO.
3118
3119         Additionally, the requirements for using AVStreamDataParser with AVStreamSession have changed. It is now
3120         required that AVStreamDataParsers be added to an AVStreamSession before the 
3121         -streamSession:didProvideContentKeyRequestInitializationData:forTrackID delegate method is called. A
3122         -streamParserWillProvideContentKeyRequestInitializationData:forTrackID delegate has been added, and
3123         an AVStreamSession must be created and the AVStreamDataParser added to it during the scope of that delegate
3124         method.
3125
3126         To facilitate this, the MediaPlayerPrivateMediaSourceAVFObjC object will lazily create and own a AVStreamSession
3127         object when requested. The SourceBufferPrivateAVFObjC object will listen for the -willProvide delegate call
3128         and will add its AVStreamDataParser to that AVStreamSession when called.
3129
3130         The CDMSessionMediaSourceAVFObjC object is no longer responsible for creating the AVStreamSession, and because
3131         the session identifier has moved from many AVStreamDataParsers to a single AVStreamSession, the
3132         CDMSessionMediaSourceAVFObjCObserver class can become much simpler, as it only has to observe a single object.
3133
3134         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
3135         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
3136         (-[CDMSessionMediaSourceAVFObjCObserver dealloc]): Deleted.
3137         (-[CDMSessionMediaSourceAVFObjCObserver beginObserving:]): Deleted.
3138         (-[CDMSessionMediaSourceAVFObjCObserver stopObserving:]): Deleted.
3139         (-[CDMSessionMediaSourceAVFObjCObserver invalidate]): Deleted.
3140         (-[CDMSessionMediaSourceAVFObjCObserver observeValueForKeyPath:ofObject:change:context:]): Deleted.
3141         (-[CDMSessionMediaSourceAVFObjCObserver contentProtectionSessionIdentifierChanged:]): Added.
3142         (WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): Call setStreamSession(nullptr).
3143         (WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): The sessionId is now a value in the dictionary, not the key.
3144         (WebCore::CDMSessionMediaSourceAVFObjC::update): No longer create an AVStreamSession.
3145         (WebCore::CDMSessionMediaSourceAVFObjC::setStreamSession): Add and remove observers as appropriate.
3146         (WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer): No longer add or remove parsers from AVStreamSessions.
3147         (WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer): Ditto.
3148         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
3149         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3150         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasStreamSession): Simple getter.
3151         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession): Lazy initializing getter.
3152         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession): Call setStreamSession().
3153         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
3154         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3155         (-[WebAVStreamDataParserListener streamParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Synchronously pass to SourceBufferPrivateAVFObjC.
3156         (WebCore::SourceBufferPrivateAVFObjC::willProvideContentKeyRequestInitializationDataForTrackID): Add the parser to an AVStreamSession.
3157         (WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): Check the trackId.
3158         * platform/mac/SoftLinking.h:
3159
3160 2014-10-21  Jaehun Lim  <ljaehun.lim@samsung.com>
3161
3162         'true' isn't a valid value for justify-self
3163         https://bugs.webkit.org/show_bug.cgi?id=137913
3164
3165         Reviewed by Andreas Kling.
3166
3167         Merged from Blink (patch by dstockwell):
3168         <https://src.chromium.org/viewvc/blink?view=rev&revision=174638>
3169
3170         CSS Box Alignment Module Level 3:
3171         http://dev.w3.org/csswg/css-align/#justify-self-property
3172
3173         No new tests, modify existing test case.
3174
3175         * css/CSSParser.cpp:
3176         (WebCore::CSSParser::parseJustifySelf):
3177
3178 2014-10-21  Michael Saboff  <msaboff@apple.com>
3179
3180         Add operator==(PropertyName, const char*)
3181         https://bugs.webkit.org/show_bug.cgi?id=137925
3182
3183         Reviewed by Mark Lam.
3184
3185         Use new == operator to compare a PropertyName with a string literal.
3186
3187         * bindings/js/JSHTMLDocumentCustom.cpp:
3188         (WebCore::JSHTMLDocument::getOwnPropertySlot):
3189
3190 2014-10-21  Chris Dumez  <cdumez@apple.com>
3191
3192         Unreviewed iOS build fix after r174921.
3193
3194         Export new symbol after function rename.
3195
3196         * WebCore.exp.in:
3197         * WebCore.order:
3198
3199 2014-10-21  Chris Dumez  <cdumez@apple.com>
3200
3201         Unreviewed iOS build fix after r174921.
3202
3203         Remove symbol from export files that no longer exists.
3204
3205         * WebCore.exp.in:
3206         * WebCore.order:
3207
3208 2014-10-21  peavo@outlook.com  <peavo@outlook.com>
3209
3210         [Curl] Optimization; avoid string reallocation.
3211         https://bugs.webkit.org/show_bug.cgi?id=137920
3212
3213         Reviewed by Brent Fulgham.
3214
3215         Profiling reveals that the cookiesForDOM function is spending time on removing a character from a string.
3216
3217         * platform/network/curl/CookieJarCurl.cpp:
3218         (WebCore::domainMatch):
3219         (WebCore::addMatchingCurlCookie):
3220
3221 2014-10-21  Joanmarie Diggs  <jdiggs@igalia.com>
3222
3223         AX: [ATK] CSS-generated text content not exposed to assistive technologies
3224         https://bugs.webkit.org/show_bug.cgi?id=137669
3225
3226         Reviewed by Chris Fleizach.
3227
3228         Do not use a text iterator to get the text for elements which include
3229         pseudo elements.
3230
3231         Test: accessibility/css-content-attribute.html
3232
3233         * accessibility/AccessibilityRenderObject.cpp:
3234         (WebCore::AccessibilityRenderObject::textUnderElement):
3235
3236 2014-10-21  Chris Dumez  <cdumez@apple.com>
3237
3238         REGRESSION(r174676): It broke the !ENABLE(VIDEO) build
3239         https://bugs.webkit.org/show_bug.cgi?id=137916
3240
3241         Reviewed by Csaba Osztrogon√°c.
3242
3243         Fix the !ENABLE(VIDEO) build by adding an #if ENABLE(VIDEO) where
3244         needed.
3245
3246         * rendering/RenderLayerBacking.cpp:
3247         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
3248
3249 2014-10-21  Zalan Bujtas  <zalan@apple.com>
3250
3251         REGRESSION: Google Search (mobile) video thumbnails are too large.
3252         https://bugs.webkit.org/show_bug.cgi?id=137895
3253
3254         Reviewed by Simon Fraser.
3255
3256         This patch fixes layer clipping when an ancestor layer has border-radius clipping.
3257
3258         In cases, where the current layer has non-radius cliprect, while an ancestor layer
3259         has border-radius clipping, we only use the border-radius rect to clip.
3260
3261         Test: fast/clip/overflow-hidden-with-border-radius-overflow-clipping-parent.html
3262
3263         * rendering/RenderLayer.cpp:
3264         (WebCore::RenderLayer::clipToRect):
3265         (WebCore::RenderLayer::restoreClip):
3266         (WebCore::RenderLayer::collectFragments):
3267         (WebCore::RenderLayer::calculateClipRects):
3268         * rendering/RenderLayer.h:
3269         (WebCore::ClipRect::ClipRect):
3270         (WebCore::ClipRect::effectedByRadius):
3271         (WebCore::ClipRect::setEffectedByRadius):
3272         (WebCore::ClipRect::operator==):
3273         (WebCore::ClipRect::operator!=):
3274         (WebCore::ClipRect::intersect):
3275         (WebCore::ClipRect::hasRadius): Deleted.
3276         (WebCore::ClipRect::setHasRadius): Deleted.
3277
3278 2014-10-20  Michael Saboff  <msaboff@apple.com>
3279
3280         Don't create cached functions for HTMLDocument.write*()
3281         https://bugs.webkit.org/show_bug.cgi?id=137906
3282
3283         Reviewed by Darin Adler.
3284
3285         Made it so that JSHTMLDocument::write() and ::writeln() are always created for every prototype.
3286         This is similar to the change in r174847.
3287
3288         This change is alread covered by the tests:
3289         LayoutTests/http/tests/security/aboutBlank/security-context-grandchildren-write-lexical.html
3290         LayoutTests/http/tests/security/aboutBlank/security-context-grandchildren-writeln-lexical.html
3291         LayoutTests/http/tests/security/aboutBlank/security-context-write.html
3292         LayoutTests/http/tests/security/aboutBlank/security-context-writeln.html
3293         LayoutTests/http/tests/xmlhttprequest/request-from-popup.html
3294         LayoutTests/http/tests/navigation/new-window-redirect-history.html
3295         LayoutTests/http/tests/misc/window-open-then-write.html
3296
3297         * bindings/js/JSHTMLDocumentCustom.cpp:
3298         (WebCore::JSHTMLDocument::getOwnPropertySlot):
3299         * html/HTMLDocument.idl:
3300
3301 2014-10-21  Chris Dumez  <cdumez@apple.com>
3302
3303         REGRESSION(r174676): It broke the !ENABLE(VIDEO) build
3304         https://bugs.webkit.org/show_bug.cgi?id=137916
3305
3306         Unreviewed build fix. Add missing header include.
3307
3308         * rendering/RenderLayerBacking.cpp:
3309
3310 2014-10-21  Jer Noble  <jer.noble@apple.com>
3311
3312         REGRESSION (r170808): Volume slider in built-in media controls only changes volume when thumb is released, not while dragging
3313         https://bugs.webkit.org/show_bug.cgi?id=137805
3314
3315         Reviewed by Dan Bernstein.
3316
3317         Test: media/video-volume-slider-drag.html
3318
3319         Respond to the 'input' event rather than the 'change' event for the volume slider, so that
3320         volume changes are continuous during drag operations.
3321
3322         Also listen for both 'input' and 'change' events for the timeline slider, doing fastSeek()
3323         during 'input' and setting an explicit currentTime during 'change'. This is the same behavior
3324         as current, but using 'change' instead of 'mouseup' to do the final currentTime change.
3325
3326         * Modules/mediacontrols/mediaControlsApple.js:
3327         (Controller.prototype.createControls):
3328         (Controller.prototype.handleTimelineInput):
3329         (Controller.prototype.handleTimelineChange):
3330         (Controller.prototype.handleTimelineMouseUp):
3331         (Controller.prototype.handleVolumeSliderInput):
3332         (Controller.prototype.handlePlayButtonClicked): Deleted.
3333         (Controller.prototype.handleMaxButtonClicked): Deleted.
3334
3335 2014-10-21  Manuel Rego Casasnovas  <rego@igalia.com>
3336
3337         ASSERTION FAILED: !gridWasPopulated() in WebCore::RenderGrid::placeItemsOnGrid
3338         https://bugs.webkit.org/show_bug.cgi?id=136939
3339
3340         Reviewed by Darin Adler.
3341
3342         In some particular situations computeIntrinsicLogicalWidths() is called
3343         in the middle of layoutGridItems(). In these cases we do not need to
3344         populate the grid again, so we should avoid calling placeItemsOnGrid().
3345         In addition, we do not need to clean the grid either, as that will be
3346         done later by layoutGridItems().
3347
3348         Test: fast/css-grid-layout/grid-was-populated-assert.html
3349
3350         * rendering/RenderGrid.cpp:
3351         (WebCore::RenderGrid::computeIntrinsicLogicalWidths): Avoid calls to
3352         placeItemsOnGrid() and clearGrid() if the grid was already populated.
3353         * rendering/RenderGrid.h: Move gridWasPopulated() header out of the
3354         debug ifdefs.
3355
3356 2014-10-21  Zan Dobersek  <zdobersek@igalia.com>
3357
3358         [Cairo] Make dashPattern, dotPattern in GraphicsContext::setPlatformStrokeStyle() const
3359         https://bugs.webkit.org/show_bug.cgi?id=137912
3360
3361         Reviewed by Carlos Garcia Campos.
3362
3363         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3364         (WebCore::GraphicsContext::setPlatformStrokeStyle): Make the two static variables
3365         constants since their value doesn't change after initialization.
3366
3367 2014-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
3368
3369         [GTK] Several labels are white instead of black
3370         https://bugs.webkit.org/show_bug.cgi?id=137803
3371
3372         Reviewed by Martin Robinson.
3373
3374         Recent GTK+ versions require to explicitly set the state before
3375         getting a color.
3376
3377         * rendering/RenderThemeGtk.cpp:
3378         (WebCore::styleColor): Helper function to get a color from a
3379         GtkStylecontext that explicitly sets the state before getting the color.
3380         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): Use styleColor().
3381         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): Ditto.
3382         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): Ditto.
3383         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): Ditto.
3384         (WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor): Ditto.
3385         (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor): Ditto.
3386         (WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor): Ditto.
3387         (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor): Ditto.
3388         (WebCore::RenderThemeGtk::systemColor): Ditto.
3389
3390 2014-10-20  YongGeol Jung  <yg48.jung@samsung.com>
3391
3392         [Coordinated Graphics] '-webkit-mask-image: -webkit-gradient' doesn't work for AC layer.
3393         https://bugs.webkit.org/show_bug.cgi?id=125326
3394
3395         Reviewed by Gyuyoung Kim.
3396
3397         Mask layer hasn't requested to synchronize with AC layer in CoordinatedGraphics so far.
3398         That's why the mask layer isn't shown under CoordinatedGraphics.
3399         Thus this patch lets the mask layer synchronize with the AC layer whenever AC layer is updated.
3400
3401         Below layout test case is related to this issue when --pixel test is enabled.
3402         Unfortunately EFL WebKitTestRunner doesn't support AC mode yet.
3403         When EFL test framework supports AC mode, the test will be passed.
3404
3405         Test: compositing/masks/mask-of-clipped-layer.html
3406
3407         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3408         (WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):
3409
3410 2014-10-17  Jeffrey Pfau  <jpfau@apple.com>
3411
3412         Ensure attached frame count doesn't exceed the maximum allowed frames
3413         https://bugs.webkit.org/show_bug.cgi?id=136457
3414
3415         Reviewed by Alexey Proskuryakov.
3416
3417         Test: fast/frames/exponential-frames.html
3418
3419         * html/HTMLFrameElementBase.cpp:
3420         (WebCore::HTMLFrameElementBase::isURLAllowed):
3421
3422 2014-10-20  Chris Dumez  <cdumez@apple.com>
3423
3424         ResourceRequest deserialization unnecessarily calls partitionName() on encoded cache partition
3425         https://bugs.webkit.org/show_bug.cgi?id=137797
3426
3427         Reviewed by Darin Adler.
3428
3429         ResourceRequest deserialization was unnecessarily calling partitionName()
3430         on the decoded cache partition. In the deserialization case, we already
3431         know the cache partition is a valid partition name so we can bypass the
3432         call to partitionName() (which is fairly expensive) for performance.
3433
3434         This patch adds a setDomainForCachePartion() method to ResourceRequest
3435         that calls partitionName() on the domain argument, and moves all the
3436         callers of setCachedPartition() to this new setter, except
3437         ArgumentCoder<ResourceRequest>::decode().
3438
3439         This patch updates the setCachedPartition() to merely set the
3440         m_cachePartition member, without calling partitionName() on the
3441         argument. There is also a new assertion in place to make sure the
3442         argument is a valid partition name.
3443
3444         No new tests, no behavior change.
3445
3446         * html/DOMURL.cpp:
3447         (WebCore::DOMURL::revokeObjectURL):
3448         * inspector/InspectorPageAgent.cpp:
3449