b2032e280d0e8cffe2691245220a99d0855976a1
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-07  Tim Horton  <timothy_horton@apple.com>
2
3         -webkit-cross-fade paints SVGs at full opacity during cross-fade
4         https://bugs.webkit.org/show_bug.cgi?id=122441
5         <rdar://problem/13973162>
6
7         Reviewed by Simon Fraser.
8
9         Test: css3/images/cross-fade-svg-with-opacity.html
10
11         * platform/graphics/CrossfadeGeneratedImage.cpp:
12         (WebCore::drawCrossfadeSubimage):
13         (WebCore::CrossfadeGeneratedImage::drawCrossfade):
14         Factor the image painting out into a function.
15         Conditionally use a transparency layer around painting if the image
16         we're drawing is an SVG (SVGImage is the only Image subclass that will
17         not respect the context's opacity).
18
19 2013-10-06  Anders Carlsson  <andersca@apple.com>
20
21         Add OVERRIDE and virtual where appropriate
22         https://bugs.webkit.org/show_bug.cgi?id=122439
23
24         Reviewed by Antti Koivisto.
25
26         * Modules/encryptedmedia/MediaKeys.h:
27         * Modules/webaudio/AnalyserNode.h:
28         * Modules/webaudio/AudioBasicInspectorNode.h:
29         * Modules/webaudio/AudioBasicProcessorNode.h:
30         * Modules/webaudio/AudioBufferSourceNode.h:
31         * Modules/webaudio/AudioContext.h:
32         * Modules/webaudio/AudioDestinationNode.h:
33         * Modules/webaudio/AudioProcessingEvent.h:
34         * Modules/webaudio/BiquadDSPKernel.h:
35         * Modules/webaudio/BiquadProcessor.h:
36         * Modules/webaudio/ChannelMergerNode.h:
37         * Modules/webaudio/ChannelSplitterNode.h:
38         * Modules/webaudio/ConvolverNode.h:
39         * Modules/webaudio/DelayDSPKernel.h:
40         * Modules/webaudio/DelayProcessor.h:
41         * Modules/webaudio/DynamicsCompressorNode.h:
42         * Modules/webaudio/GainNode.h:
43         * Modules/webaudio/MediaElementAudioSourceNode.h:
44         * Modules/webaudio/OfflineAudioCompletionEvent.h:
45         * Modules/webaudio/OfflineAudioDestinationNode.h:
46         * Modules/webaudio/OscillatorNode.h:
47         * Modules/webaudio/PannerNode.h:
48         * Modules/webaudio/ScriptProcessorNode.h:
49         * Modules/webaudio/WaveShaperProcessor.h:
50         * accessibility/AccessibilityARIAGrid.h:
51         * accessibility/AccessibilityARIAGridCell.h:
52         * accessibility/AccessibilityARIAGridRow.h:
53         * accessibility/AccessibilityImageMapLink.h:
54         * accessibility/AccessibilityList.h:
55         * accessibility/AccessibilityListBox.h:
56         * accessibility/AccessibilityListBoxOption.h:
57         * accessibility/AccessibilityMediaControls.h:
58         * accessibility/AccessibilityMenuList.h:
59         * accessibility/AccessibilityMenuListOption.h:
60         * accessibility/AccessibilityMenuListPopup.h:
61         * accessibility/AccessibilityMockObject.h:
62         * accessibility/AccessibilityNodeObject.h:
63         * accessibility/AccessibilityProgressIndicator.h:
64         * accessibility/AccessibilityRenderObject.h:
65         * accessibility/AccessibilitySVGRoot.h:
66         * accessibility/AccessibilityScrollView.h:
67         * accessibility/AccessibilityScrollbar.h:
68         * accessibility/AccessibilitySlider.h:
69         * accessibility/AccessibilitySpinButton.h:
70         * accessibility/AccessibilityTable.h:
71         * accessibility/AccessibilityTableCell.h:
72         * accessibility/AccessibilityTableColumn.h:
73         * accessibility/AccessibilityTableHeaderContainer.h:
74         * accessibility/AccessibilityTableRow.h:
75         * bindings/js/JSEventListener.h:
76         * bindings/js/WebCoreTypedArrayController.h:
77         * bridge/c/c_class.h:
78         * bridge/c/c_instance.h:
79         * bridge/c/c_runtime.h:
80         * bridge/runtime_root.h:
81         * css/CSSBasicShapes.h:
82         * css/CSSComputedStyleDeclaration.h:
83         * css/CSSStyleSheet.h:
84         * dom/Attr.h:
85         * dom/BeforeTextInsertedEvent.h:
86         * dom/CDATASection.h:
87         * dom/ChildNodeList.h:
88         * dom/DatasetDOMStringMap.h:
89         * dom/Document.h:
90         * dom/DocumentEventQueue.h:
91         * dom/DocumentFragment.h:
92         * dom/Element.h:
93         * dom/ErrorEvent.h:
94         * dom/KeyboardEvent.h:
95         * dom/Node.h:
96         * dom/PageTransitionEvent.h:
97         * dom/ProgressEvent.h:
98         * dom/PseudoElement.h:
99         * dom/ScriptExecutionContext.h:
100         * dom/ShadowRoot.h:
101         * dom/StyledElement.h:
102         * dom/TagNodeList.h:
103         * dom/Text.h:
104         * dom/TextEvent.h:
105         * dom/TransitionEvent.h:
106         * dom/UIEvent.h:
107         * dom/WebKitAnimationEvent.h:
108         * dom/WebKitTransitionEvent.h:
109         * editing/ApplyBlockElementCommand.h:
110         * editing/ApplyStyleCommand.h:
111         * editing/BreakBlockquoteCommand.h:
112         * editing/CompositeEditCommand.h:
113         * editing/SpellingCorrectionCommand.h:
114         * fileapi/File.h:
115         * fileapi/FileThreadTask.h:
116         * history/BackForwardList.h:
117         * html/BaseCheckableInputType.h:
118         * html/HTMLAnchorElement.h:
119         * html/HTMLAreaElement.h:
120         * html/HTMLCanvasElement.h:
121         * html/HTMLCollection.h:
122         * html/HTMLElement.h:
123         * html/HTMLFieldSetElement.h:
124         * html/HTMLFormControlElement.h:
125         * html/HTMLFormControlElementWithState.h:
126         * html/HTMLFormElement.h:
127         * html/HTMLFrameElementBase.h:
128         * html/HTMLImageElement.h:
129         * html/HTMLImageLoader.h:
130         * html/HTMLInputElement.h:
131         * html/HTMLLabelElement.h:
132         * html/HTMLLegendElement.h:
133         * html/HTMLMediaElement.h:
134         * html/HTMLMeterElement.h:
135         * html/HTMLOptGroupElement.h:
136         * html/HTMLOptionElement.h:
137         * html/HTMLPlugInElement.h:
138         * html/HTMLPlugInImageElement.h:
139         * html/HTMLProgressElement.h:
140         * html/HTMLSelectElement.h:
141         * html/HTMLTableElement.h:
142         * html/HTMLTextAreaElement.h:
143         * html/HTMLTextFormControlElement.h:
144         * html/HTMLVideoElement.h:
145         * html/canvas/CanvasRenderingContext2D.cpp:
146         * html/shadow/MediaControlElementTypes.h:
147         * html/shadow/MediaControlElements.h:
148         * html/shadow/SpinButtonElement.h:
149         * html/shadow/TextControlInnerElements.h:
150         * html/track/AudioTrackList.h:
151         * html/track/TextTrackList.h:
152         * html/track/TrackListBase.h:
153         * inspector/InspectorValues.h:
154         * loader/EmptyClients.h:
155         * loader/ImageLoader.h:
156         * loader/ResourceLoader.h:
157         * loader/SubresourceLoader.h:
158         * loader/appcache/ApplicationCacheGroup.cpp:
159         * loader/appcache/ApplicationCacheGroup.h:
160         * loader/appcache/DOMApplicationCache.h:
161         * loader/archive/cf/LegacyWebArchive.h:
162         * loader/cache/CachedCSSStyleSheet.h:
163         * loader/cache/CachedFont.h:
164         * loader/cache/CachedFontClient.h:
165         * loader/cache/CachedImageClient.h:
166         * loader/cache/CachedSVGDocumentClient.h:
167         * loader/cache/CachedStyleSheetClient.h:
168         * loader/cache/CachedXSLStyleSheet.h:
169         * page/Chrome.h:
170         * page/DOMWindow.h:
171         * page/FrameView.h:
172         * page/animation/ImplicitAnimation.h:
173         * platform/PODIntervalTree.h:
174         * platform/PODRedBlackTree.h:
175         * platform/ScrollView.h:
176         * platform/Scrollbar.h:
177         * platform/Timer.h:
178         * platform/animation/TimingFunction.h:
179         (WebCore::LinearTimingFunction::~LinearTimingFunction):
180         (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction):
181         (WebCore::StepsTimingFunction::~StepsTimingFunction):
182         * platform/audio/AudioDSPKernelProcessor.h:
183         * platform/audio/HRTFPanner.h:
184         * platform/audio/mac/AudioDestinationMac.h:
185         * platform/graphics/SimpleFontData.h:
186         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
187         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
188         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
189         * platform/graphics/filters/FilterOperation.h:
190         * platform/network/ResourceHandle.h:
191         * rendering/AutoTableLayout.h:
192         * rendering/ClipPathOperation.h:
193         * rendering/InlineFlowBox.h:
194         * rendering/RenderBlock.h:
195         * rendering/RenderBox.h:
196         * rendering/RenderBoxModelObject.h:
197         * rendering/RenderButton.h:
198         * rendering/RenderFieldset.h:
199         * rendering/RenderFileUploadControl.h:
200         * rendering/RenderFlexibleBox.h:
201         * rendering/RenderFlowThread.h:
202         * rendering/RenderFullScreen.h:
203         * rendering/RenderImage.h:
204         * rendering/RenderLayer.h:
205         * rendering/RenderLineBreak.h:
206         * rendering/RenderListBox.h:
207         * rendering/RenderListItem.h:
208         * rendering/RenderListMarker.h:
209         * rendering/RenderMenuList.h:
210         * rendering/RenderMeter.h:
211         * rendering/RenderObject.h:
212         * rendering/RenderReplaced.h:
213         * rendering/RenderSlider.h:
214         * rendering/RenderTable.h:
215         * rendering/RenderTableCell.h:
216         * rendering/RenderText.h:
217         * rendering/RenderTextControl.h:
218         * rendering/RenderTextControlSingleLine.h:
219         * rendering/RenderTextFragment.h:
220         * rendering/RenderView.h:
221         * rendering/RootInlineBox.h:
222         * rendering/mathml/RenderMathMLBlock.h:
223         * rendering/mathml/RenderMathMLFraction.h:
224         * rendering/mathml/RenderMathMLOperator.h:
225         * rendering/style/BasicShapes.h:
226         * rendering/svg/RenderSVGModelObject.h:
227         * rendering/svg/RenderSVGShape.h:
228         * svg/SVGAnimatedBoolean.h:
229         * svg/SVGAnimatedString.h:
230         * svg/SVGAnimatedTransformList.h:
231         * svg/SVGDocument.h:
232         * svg/SVGElement.h:
233         * svg/SVGElementInstance.h:
234         * svg/SVGFontElement.h:
235         * svg/SVGGElement.h:
236         * svg/SVGGraphicsElement.h:
237         * svg/SVGTransformable.h:
238         * svg/properties/SVGAnimatedListPropertyTearOff.h:
239         * svg/properties/SVGAnimatedPropertyMacros.h:
240         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
241         * svg/properties/SVGListPropertyTearOff.h:
242         * svg/properties/SVGPropertyTearOff.h:
243         * workers/WorkerGlobalScope.h:
244
245 2013-10-07  Philippe Normand  <pnormand@igalia.com>
246
247         URLMediaStream is unguarded by ENABLE(MEDIA_STREAM)
248         https://bugs.webkit.org/show_bug.cgi?id=122444
249
250         Reviewed by Martin Robinson.
251
252         * Modules/mediastream/URLMediaStream.cpp: Added missing
253         conditional guards.
254         * Modules/mediastream/URLMediaStream.h: Ditto.
255
256 2013-10-07  Philippe Normand  <pnormand@igalia.com>
257
258         [GTK] webkit_dom_html_style_element_{s,g}et_scoped was removed
259         https://bugs.webkit.org/show_bug.cgi?id=122446
260
261         Reviewed by Martin Robinson.
262
263         Added skeleton functions warning of removed functionality for
264         the <style scoped> GObject DOM binding.
265
266         * bindings/gobject/WebKitDOMCustom.cpp:
267         * bindings/gobject/WebKitDOMCustom.h:
268         * bindings/gobject/WebKitDOMCustom.symbols:
269
270 2013-10-07  Csaba Osztrogonác  <ossy@webkit.org>
271
272         Unreviewed buildfix for GCC 4.6.
273
274         Changed override to OVERRIDE and final to FINAL.
275
276         * page/PageSerializer.cpp:
277         * workers/AbstractWorker.h:
278         * workers/SharedWorker.h:
279         * workers/Worker.h:
280
281 2013-10-07  Chris Fleizach  <cfleizach@apple.com>
282
283         AX: Facebook wrapped a file upload button in an unfocusable ARIA button, which doesn't work with AXPress.
284         https://bugs.webkit.org/show_bug.cgi?id=122252
285
286         Reviewed by Mario Sanchez Prada.
287
288         When an author uses a control-type ARIA role (like button), but then hides a native control-type inside,
289         AXPress needs to operate on the inside node if possible.
290
291         Test: accessibility/axpress-on-aria-button.html
292
293         * accessibility/AccessibilityNodeObject.cpp:
294         (WebCore::isNodeActionElement):
295         (WebCore::nativeActionElement):
296         (WebCore::AccessibilityNodeObject::actionElement):
297
298 2013-10-07  Zan Dobersek  <zdobersek@igalia.com>
299
300         Unreviewed debug build fix for ports enabling the <template> element support.
301
302         * html/HTMLTagNames.in: Generate type helpers for the <template> element as they're required
303         by the assertions in the Element type casts for HTMLTemplateElement.
304
305 2013-10-07  Ryuan Choi  <ryuan.choi@samsung.com>
306
307         [EFL] Build fix after r157002
308         https://bugs.webkit.org/show_bug.cgi?id=122434
309
310         Reviewed by Sam Weinig.
311
312         * editing/markup.cpp: Changed override to OVERRIDE.
313
314 2013-10-04  Philippe Normand  <pnormand@igalia.com>
315
316         MediaStreamTrack can't be FINAL
317         https://bugs.webkit.org/show_bug.cgi?id=122322
318
319         Reviewed by Darin Adler.
320
321         Marked the MediaStreamTrack subclasses as final.
322
323         * Modules/mediastream/AudioStreamTrack.h:
324         * Modules/mediastream/MediaStreamTrack.h:
325         * Modules/mediastream/VideoStreamTrack.h:
326
327 2013-10-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
328
329         Generate toCSSFooValue() for CSSCursorImageValue, CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue
330         https://bugs.webkit.org/show_bug.cgi?id=122408
331
332         Reviewed by Andreas Kling.
333
334         As a step to use toCSSFooValue, this patch generates toCSSFooValue() for CSSCursorImageValue,
335         CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue.
336         This will help to detect bad type cast.
337
338         No new tests, no behavior changes.
339
340         * css/CSSCursorImageValue.h:
341         * css/CSSTimingFunctionValue.h:
342         * css/CSSToStyleMap.cpp:
343         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
344         * css/CSSUnicodeRangeValue.h:
345         * css/CSSValue.cpp:
346         (WebCore::CSSValue::destroy):
347         * css/DeprecatedStyleBuilder.cpp:
348         (WebCore::ApplyPropertyCursor::applyValue):
349         * css/StyleResolver.cpp:
350         (WebCore::StyleResolver::styleImage):
351         (WebCore::StyleResolver::styleShader):
352         * rendering/style/StylePendingImage.h:
353         (WebCore::StylePendingImage::cssCursorImageValue):
354
355 2013-10-06  Andreas Kling  <akling@apple.com>
356
357         Range constructors should take a Document&.
358         <https://webkit.org/b/122435>
359
360         Reviewed by Sam Weinig.
361
362         Make all Range constructors take Document& instead of a PassRefPtr.
363         This removes one null check at every call site.
364
365         Also use a Ref<Document> for storage in Range.
366
367 2013-10-06  Antti Koivisto  <antti@apple.com>
368
369         Factor text paint style computation out from InlineTextBox
370         https://bugs.webkit.org/show_bug.cgi?id=122433
371
372         Reviewed by Andreas Kling.
373
374         Move it to TextPaintStyle.h/cpp. Other parts of the code may use it in the future.
375
376 2013-10-06  Darin Adler  <darin@apple.com>
377
378         [GTK] Get rid of use of deleteAllValues in GtkDragAndDropHelper
379         https://bugs.webkit.org/show_bug.cgi?id=122417
380
381         Reviewed by Andreas Kling.
382
383         * platform/gtk/GtkDragAndDropHelper.cpp: Removed unneeded typedefs.
384         (WebCore::GtkDragAndDropHelper::~GtkDragAndDropHelper): Removed call to
385         deleteAllValues.
386         (WebCore::GtkDragAndDropHelper::handleDragEnd): Use remove directly instead
387         of using find then remove. I believe this fixes a storage leak.
388         (WebCore::GtkDragAndDropHelper::handleGetDragData): Use get instead of find.
389         (WebCore::GtkDragAndDropHelper::handleDragLeaveLater): Remove the explicit
390         delete since remove will automatically delete.
391         (WebCore::GtkDragAndDropHelper::handleDragLeave): Use get instead of find.
392         (WebCore::GtkDragAndDropHelper::handleDragMotion): Use add instead of a
393         combination of find and set. Also user nullptr instead of 0.
394         (WebCore::GtkDragAndDropHelper::handleDragDataReceived): Use get instead of find.
395         (WebCore::GtkDragAndDropHelper::handleDragDrop): Use get instead of find.
396
397         * platform/gtk/GtkDragAndDropHelper.h: Use nullptr instead of 0. Change value
398         type of m_droppingContexts to be a std::unique_ptr.
399
400 2013-10-06  Andreas Kling  <akling@apple.com>
401
402         Windows build fix attempt.
403
404         * page/win/DragControllerWin.cpp:
405         (WebCore::DragController::declareAndWriteDragImage):
406
407 2013-10-06  Antti Koivisto  <antti@apple.com>
408
409         Move paint() to RenderElement
410         https://bugs.webkit.org/show_bug.cgi?id=122371
411
412         Reviewed by Darin Adler.
413
414         RenderText does not paint itself (text is painted by line boxes). We can move paint() down
415         to RenderElement.
416         
417         This also requires some type tightening elsewhere in the code.
418
419 2013-10-06  Antti Koivisto  <antti@apple.com>
420
421         Don't try to dispatch resize events for SVG images
422         https://bugs.webkit.org/show_bug.cgi?id=122410
423
424         Reviewed by Darin Adler.
425
426         Tested by avoiding assertion in svg/custom/large-image-pattern-crash.html
427
428         * page/FrameView.cpp:
429         (WebCore::FrameView::sendResizeEventIfNeeded):
430         
431             Bail out for SVG images. They have scripting disabled so the event wouldn't do anything anyway.
432             Use of FrameView mechanisms is just an implementation detail for SVG images, they are not
433             meant to act like real frames.
434
435         * rendering/svg/RenderSVGResourcePattern.cpp:
436         (WebCore::RenderSVGResourcePattern::createTileImage):
437         
438             Switch to Element iterator. This will take NoEventDispatchAssertion verifying the change.
439
440 2013-10-06  Andreas Kling  <akling@apple.com>
441
442         Element ancestor iterator should have a first() for convenience.
443         <https://webkit.org/b/122425>
444
445         Reviewed by Antti Koivisto.
446
447         Added an easy way to get the first element ancestor of a certain type
448         and put it to use in a few places.
449
450 2013-10-06  Andreas Kling  <akling@apple.com>
451
452         CTTE: FrameLoader::notifier() should return a reference.
453         <https://webkit.org/b/122424>
454
455         Reviewed by Anders Carlsson.
456
457         It was just returning the address of an inline member, so we should
458         use a reference instead. Also made the backpointer to Frame in
459         ResourceLoadNotifier a reference.
460
461 2013-10-06  Andreas Kling  <akling@apple.com>
462
463         Avoid layout in window.scroll{Y,X} when at topmost/leftmost position.
464         <https://webkit.org/b/122423>
465
466         Reviewed by Antti Koivisto.
467
468         Add a fast path for these properties to skip synchronous layout when
469         we are just going to return 0 anyway.
470
471         * page/DOMWindow.cpp:
472         (WebCore::DOMWindow::scrollX):
473         (WebCore::DOMWindow::scrollY):
474
475 2013-10-06  Anders Carlsson  <andersca@apple.com>
476
477         Clean up ContentData
478         https://bugs.webkit.org/show_bug.cgi?id=122421
479
480         Reviewed by Andreas Kling.
481
482         Replace uses of OwnPtr with std::unique_ptr and get rid of the ContentData::create overloads.
483
484         * css/StyleResolver.cpp:
485         (WebCore::StyleResolver::applyProperty):
486         * rendering/style/ContentData.cpp:
487         (WebCore::ContentData::clone):
488         * rendering/style/ContentData.h:
489         (WebCore::ContentData::setNext):
490         * rendering/style/RenderStyle.cpp:
491         (WebCore::RenderStyle::appendContent):
492         (WebCore::RenderStyle::setContent):
493         * rendering/style/RenderStyle.h:
494         * rendering/style/StyleRareNonInheritedData.h:
495
496 2013-10-06  Sam Weinig  <sam@webkit.org>
497
498         Be a bit shouty about final classes while we look into why the bots don't like it.
499
500         * dom/Comment.h:
501         * dom/ProcessingInstruction.h:
502         * editing/markup.cpp:
503         * page/PageSerializer.cpp:
504         * workers/SharedWorker.h:
505         * workers/Worker.h:
506
507 2013-10-06  Sam Weinig  <sam@webkit.org>
508
509         Fix windows build.
510
511         * platform/win/ClipboardUtilitiesWin.cpp:
512         (WebCore::fragmentFromCFHTML):
513         (WebCore::fragmentFromHTML):
514         * platform/win/PasteboardWin.cpp:
515         (WebCore::Pasteboard::writeRangeToDataObject):
516         (WebCore::Pasteboard::writeSelection):
517
518 2013-10-05  Sam Weinig  <sam@webkit.org>
519
520         CTTE: Thread references through markup.h
521         https://bugs.webkit.org/show_bug.cgi?id=122403
522
523         Reviewed by Darin Adler and Andreas Kling.
524
525         Highlights:
526         - Removed createFragmentFromMarkupWithContext(), it was unused.
527         - Moved createFragmentFromNodes() into its one caller (in WebKit/mac)
528         - Add a bunch more toFoo() overloads.
529
530 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
531
532         [WebIDL] Annotate IDL interfaces under Source/WebCore/Modules/ with the OperationsNotDeletable attribute
533         https://bugs.webkit.org/show_bug.cgi?id=122281
534
535         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
536         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
537         doesn't have any effect, but will keep the operations not configurable after the generator is modified
538         to preserve the original behavior. The attribute will be removed from each interface after checking
539         conformity with other browsers (in terms of configurability of operations of that interface) and the
540         WebKit's existing test suites.
541
542         This patch covers IDL interfaces under Source/WebCore/Modules/.
543
544         * Modules/battery/BatteryManager.idl:
545         * Modules/encryptedmedia/MediaKeySession.idl:
546         * Modules/encryptedmedia/MediaKeys.idl:
547         * Modules/gamepad/GamepadList.idl:
548         * Modules/geolocation/Geolocation.idl:
549         * Modules/indexeddb/IDBCursor.idl:
550         * Modules/indexeddb/IDBDatabase.idl:
551         * Modules/indexeddb/IDBFactory.idl:
552         * Modules/indexeddb/IDBIndex.idl:
553         * Modules/indexeddb/IDBKeyRange.idl:
554         * Modules/indexeddb/IDBObjectStore.idl:
555         * Modules/indexeddb/IDBTransaction.idl:
556         * Modules/indexeddb/IDBVersionChangeEvent.idl:
557         * Modules/mediacontrols/MediaControlsHost.idl:
558         * Modules/mediasource/MediaSource.idl:
559         * Modules/mediasource/SourceBuffer.idl:
560         * Modules/mediasource/SourceBufferList.idl:
561         * Modules/mediasource/WebKitMediaSource.idl:
562         * Modules/mediasource/WebKitSourceBuffer.idl:
563         * Modules/mediasource/WebKitSourceBufferList.idl:
564         * Modules/mediastream/MediaStream.idl:
565         * Modules/mediastream/MediaStreamTrack.idl:
566         * Modules/mediastream/RTCDTMFSender.idl:
567         * Modules/mediastream/RTCDataChannel.idl:
568         * Modules/mediastream/RTCPeerConnection.idl:
569         * Modules/mediastream/RTCStatsReport.idl:
570         * Modules/mediastream/RTCStatsResponse.idl:
571         * Modules/networkinfo/NetworkInfoConnection.idl:
572         * Modules/notifications/Notification.idl:
573         * Modules/notifications/NotificationCenter.idl:
574         * Modules/proximity/DeviceProximityEvent.idl:
575         * Modules/quota/StorageInfo.idl:
576         * Modules/quota/StorageQuota.idl:
577         * Modules/speech/SpeechGrammarList.idl:
578         * Modules/speech/SpeechRecognition.idl:
579         * Modules/speech/SpeechRecognitionResult.idl:
580         * Modules/speech/SpeechRecognitionResultList.idl:
581         * Modules/speech/SpeechSynthesis.idl:
582         * Modules/webaudio/AnalyserNode.idl:
583         * Modules/webaudio/AudioBuffer.idl:
584         * Modules/webaudio/AudioBufferSourceNode.idl:
585         * Modules/webaudio/AudioContext.idl:
586         * Modules/webaudio/AudioListener.idl:
587         * Modules/webaudio/AudioNode.idl:
588         * Modules/webaudio/AudioParam.idl:
589         * Modules/webaudio/BiquadFilterNode.idl:
590         * Modules/webaudio/OscillatorNode.idl:
591         * Modules/webaudio/PannerNode.idl:
592         * Modules/webdatabase/Database.idl:
593         * Modules/webdatabase/DatabaseSync.idl:
594         * Modules/webdatabase/SQLResultSetRowList.idl:
595         * Modules/webdatabase/SQLTransaction.idl:
596         * Modules/webdatabase/SQLTransactionSync.idl:
597         * Modules/websockets/WebSocket.idl:
598
599 2013-10-06  Andreas Kling  <akling@apple.com>
600
601         Tighten AbstractWorker and subclasses a bit.
602         <https://webkit.org/b/122402>
603
604         Reviewed by Darin Adler.
605
606         - Make the Worker and SharedWorker classes final.
607         - Have constructors take ScriptExecutionContext by reference.
608         - Remove unnecessary AbstractWorker::contextDestroyed() override.
609         - Make eventTargetInterface() inline.
610
611         Inlining eventTargetInterface() is quite neat - since we only ever
612         call this on tightly typed pointers from generated code, combining
613         final and inline turns the virtual call into a compile-time constant.
614
615 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
616
617         [WebIDL] Annotate IDL interfaces under Source/WebCore/html/ with the OperationsNotDeletable attribute
618         https://bugs.webkit.org/show_bug.cgi?id=122280
619
620         Reviewed by Darin Adler.
621
622         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
623         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
624         doesn't have any effect, but will keep the operations not configurable after the generator is modified
625         to preserve the original behavior. The attribute will be removed from each interface after checking
626         conformity with other browsers (in terms of configurability of operations of that interface) and the
627         WebKit's existing test suites.
628
629         This patch covers IDL interfaces under Source/WebCore/html/.
630
631         * html/DOMFormData.idl:
632         * html/DOMSettableTokenList.idl:
633         * html/DOMTokenList.idl:
634         * html/DOMURL.idl:
635         * html/HTMLAllCollection.idl:
636         * html/HTMLAnchorElement.idl:
637         * html/HTMLButtonElement.idl:
638         * html/HTMLCanvasElement.idl:
639         * html/HTMLCollection.idl:
640         * html/HTMLDocument.idl:
641         * html/HTMLElement.idl:
642         * html/HTMLEmbedElement.idl:
643         * html/HTMLFieldSetElement.idl:
644         * html/HTMLFormControlsCollection.idl:
645         * html/HTMLFormElement.idl:
646         * html/HTMLFrameElement.idl:
647         * html/HTMLIFrameElement.idl:
648         * html/HTMLInputElement.idl:
649         * html/HTMLKeygenElement.idl:
650         * html/HTMLMarqueeElement.idl:
651         * html/HTMLMediaElement.idl:
652         * html/HTMLObjectElement.idl:
653         * html/HTMLOptionsCollection.idl:
654         * html/HTMLOutputElement.idl:
655         * html/HTMLSelectElement.idl:
656         * html/HTMLTableElement.idl:
657         * html/HTMLTableRowElement.idl:
658         * html/HTMLTableSectionElement.idl:
659         * html/HTMLTextAreaElement.idl:
660         * html/HTMLVideoElement.idl:
661         * html/MediaController.idl:
662         * html/RadioNodeList.idl:
663         * html/TimeRanges.idl:
664         * html/canvas/CanvasGradient.idl:
665         * html/canvas/CanvasRenderingContext2D.idl:
666         * html/canvas/DOMPath.idl:
667         * html/canvas/EXTDrawBuffers.idl:
668         * html/canvas/OESVertexArrayObject.idl:
669         * html/canvas/WebGLDebugShaders.idl:
670         * html/canvas/WebGLLoseContext.idl:
671         * html/canvas/WebGLRenderingContext.idl:
672         * html/track/AudioTrackList.idl:
673         * html/track/TextTrack.idl:
674         * html/track/TextTrackCue.idl:
675         * html/track/TextTrackCueList.idl:
676         * html/track/TextTrackList.idl:
677         * html/track/TextTrackRegionList.idl:
678         * html/track/VideoTrackList.idl:
679
680 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
681
682         [WebIIDL] Annotate IDL interfaces under Source/WebCore/svg/ with the OperationsNotDeletable attribute
683         https://bugs.webkit.org/show_bug.cgi?id=122279
684
685         Reviewed by Darin Adler.
686
687         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
688         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
689         doesn't have any effect, but will keep the operations not configurable after the generator is modified
690         to preserve the original behavior. The attribute will be removed from each interface after checking
691         conformity with other browsers (in terms of configurability of operations of that interface) and the
692         WebKit's existing test suites.
693
694         This patch covers IDL interfaces under Source/WebCore/svg/.
695
696         * svg/SVGAngle.idl:
697         * svg/SVGAnimationElement.idl:
698         * svg/SVGColor.idl:
699         * svg/SVGCursorElement.idl:
700         * svg/SVGDocument.idl:
701         * svg/SVGElement.idl:
702         * svg/SVGElementInstanceList.idl:
703         * svg/SVGException.idl:
704         * svg/SVGFEDropShadowElement.idl:
705         * svg/SVGFEGaussianBlurElement.idl:
706         * svg/SVGFEMorphologyElement.idl:
707         * svg/SVGFilterElement.idl:
708         * svg/SVGGraphicsElement.idl:
709         * svg/SVGLength.idl:
710         * svg/SVGLengthList.idl:
711         * svg/SVGMarkerElement.idl:
712         * svg/SVGMaskElement.idl:
713         * svg/SVGMatrix.idl:
714         * svg/SVGNumberList.idl:
715         * svg/SVGPaint.idl:
716         * svg/SVGPathElement.idl:
717         * svg/SVGPathSegList.idl:
718         * svg/SVGPatternElement.idl:
719         * svg/SVGPoint.idl:
720         * svg/SVGPointList.idl:
721         * svg/SVGSVGElement.idl:
722         * svg/SVGStringList.idl:
723         * svg/SVGTests.idl:
724         * svg/SVGTextContentElement.idl:
725         * svg/SVGTransform.idl:
726         * svg/SVGTransformList.idl:
727
728 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
729
730         [WebIDL] Annotate IDL interfaces under Source/WebCore/page/ with the OperationsNotDeletable attribute
731         https://bugs.webkit.org/show_bug.cgi?id=122278
732
733         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
734         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
735         doesn't have any effect, but will keep the operations not configurable after the generator is modified
736         to preserve the original behavior. The attribute will be removed from each interface after checking
737         conformity with other browsers (in terms of configurability of operations of that interface) and the
738         WebKit's existing test suites.
739
740         This patch covers IDL interfaces under Source/WebCore/page/.
741
742         * page/Console.idl:
743         * page/Crypto.idl:
744         * page/DOMSecurityPolicy.idl:
745         * page/DOMSelection.idl:
746         * page/DOMWindow.idl:
747         * page/EventSource.idl:
748         * page/History.idl:
749         * page/Location.idl:
750         * page/Navigator.idl:
751         * page/Performance.idl:
752         * page/PerformanceEntryList.idl:
753         * page/SpeechInputResultList.idl:
754         * page/WindowBase64.idl:
755         * page/WindowTimers.idl:
756
757 2013-10-06  Darin Adler  <darin@apple.com>
758
759         * rendering/RenderButton.cpp:
760         (WebCore::RenderButton::setupInnerStyle): Added a comment possibly relevant
761         to current failures seen on Windows bot.
762
763 2013-10-06  Commit Queue  <commit-queue@webkit.org>
764
765         Unreviewed, rolling out r156988.
766         http://trac.webkit.org/changeset/156988
767         https://bugs.webkit.org/show_bug.cgi?id=122415
768
769         Broke debug build (Requested by ap on #webkit).
770
771         * css/CSSCursorImageValue.h:
772         * css/CSSTimingFunctionValue.h:
773         * css/CSSToStyleMap.cpp:
774         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
775         * css/CSSUnicodeRangeValue.h:
776         * css/CSSValue.cpp:
777         (WebCore::CSSValue::destroy):
778         * css/DeprecatedStyleBuilder.cpp:
779         (WebCore::ApplyPropertyCursor::applyValue):
780         * css/StyleResolver.cpp:
781         (WebCore::StyleResolver::styleImage):
782         (WebCore::StyleResolver::styleShader):
783         * rendering/style/StylePendingImage.h:
784         (WebCore::StylePendingImage::cssCursorImageValue):
785
786 2013-10-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
787
788         Add *CSS* prefix to ShadowValue to generate toCSSShadowValue
789         https://bugs.webkit.org/show_bug.cgi?id=122409
790
791         Reviewed by Darin Adler.
792
793         To generate toCSSShadowValue(), we need to add *CSS* prefix to ShadowValue.
794         It is also to be sync with a naming rule of CSS child value.  
795
796         No new tests, no behavior changes.
797
798         * CMakeLists.txt:
799         * GNUmakefile.list.am:
800         * WebCore.vcxproj/WebCore.vcxproj:
801         * WebCore.vcxproj/WebCore.vcxproj.filters:
802         * WebCore.xcodeproj/project.pbxproj:
803         * css/CSSComputedStyleDeclaration.cpp:
804         (WebCore::ComputedStyleExtractor::valueForShadow):
805         * css/CSSParser.cpp:
806         (WebCore::ShadowParseContext::commitValue):
807         * css/CSSShadowValue.cpp: Renamed from Source/WebCore/css/ShadowValue.cpp.
808         (WebCore::CSSShadowValue::CSSShadowValue):
809         (WebCore::CSSShadowValue::customCSSText):
810         (WebCore::CSSShadowValue::equals):
811         * css/CSSShadowValue.h: Renamed from Source/WebCore/css/ShadowValue.h.
812         (WebCore::CSSShadowValue::create):
813         * css/CSSValue.cpp:
814         (WebCore::CSSValue::equals):
815         (WebCore::CSSValue::cssText):
816         (WebCore::CSSValue::destroy):
817         * css/SVGCSSStyleSelector.cpp:
818         (WebCore::StyleResolver::applySVGProperty):
819         * css/StyleResolver.cpp:
820         (WebCore::StyleResolver::applyProperty):
821         (WebCore::StyleResolver::createFilterOperations):
822
823 2013-10-06  Darin Adler  <darin@apple.com>
824
825         Remove unneeded ScriptGCEvent class
826         https://bugs.webkit.org/show_bug.cgi?id=122390
827
828         Reviewed by Anders Carlsson.
829
830         * GNUmakefile.list.am: Removed ScriptGCEvent files.
831         * Target.pri: Ditto.
832         * UseJSC.cmake: Ditto.
833         * WebCore.exp.in: Ditto.
834         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
835         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
836         * WebCore.xcodeproj/project.pbxproj: Ditto.
837         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
838         * bindings/js/ScriptGCEvent.cpp: Removed.
839         * bindings/js/ScriptGCEvent.h: Removed.
840
841         * inspector/InspectorMemoryAgent.cpp: Removed include.
842
843         * inspector/InspectorTimelineAgent.cpp:
844         (WebCore::InspectorTimelineAgent::start): Removed GC event listening.
845         Some day we might add it back, but for now it is dead code.
846         (WebCore::InspectorTimelineAgent::stop): Ditto.
847         (WebCore::usedHeapSize): Renamed from getUsedHeapSize and put the
848         implementation here instead of indirecting through ScriptGCEvent.
849         (WebCore::InspectorTimelineAgent::setDOMCounters): Updated for above changes.
850         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): Ditto.
851         (WebCore::InspectorTimelineAgent::pushCurrentRecord): Ditto.
852
853         * inspector/InspectorTimelineAgent.h: Removed include.
854
855         * inspector/ScriptGCEventListener.h: Removed.
856
857         * testing/MemoryInfo.h: Updated to get heap capacity and size directly
858         instead of going through ScriptGCEvent.
859
860 2013-10-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
861
862         Generate toCSSFooValue() for CSSCursorImageValue, CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue
863         https://bugs.webkit.org/show_bug.cgi?id=122408
864
865         Reviewed by Darin Adler.
866
867         As a step to use toCSSFooValue, this patch generates toCSSFooValue() for CSSCursorImageValue,
868         CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue.
869         This will help to detect bad type cast.
870
871         No new tests, no behavior changes.
872
873         * css/CSSCursorImageValue.h:
874         * css/CSSTimingFunctionValue.h:
875         * css/CSSToStyleMap.cpp:
876         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
877         * css/CSSUnicodeRangeValue.h:
878         * css/CSSValue.cpp:
879         (WebCore::CSSValue::destroy):
880         * css/DeprecatedStyleBuilder.cpp:
881         (WebCore::ApplyPropertyCursor::applyValue):
882         * css/StyleResolver.cpp:
883         (WebCore::StyleResolver::styleImage):
884         (WebCore::StyleResolver::styleShader):
885         * rendering/style/StylePendingImage.h:
886         (WebCore::StylePendingImage::cssCursorImageValue):
887
888 2013-10-05  Andreas Kling  <akling@apple.com>
889
890         CTTE: Teach CompositeEditCommand that link Nodes are always Elements.
891         <https://webkit.org/b/122400>
892
893         Reviewed by Sam Weinig.
894
895         Make pushAnchorElementDown() take an Element& instead of a Node* and
896         tweak the surrounding code a tiny bit.
897
898 2013-10-06  Andreas Kling  <akling@apple.com>
899
900         CTTE: Node::enclosingLinkEventParentOrSelf() should return an Element.
901         <https://webkit.org/b/122401>
902
903         Reviewed by Sam Weinig.
904
905         Only Elements are ever linked, so make enclosingLinkEventParentOrSelf()
906         return an Element* instead of a Node*. The only call site was already
907         doing toElement() on the return value without checking, so this makes
908         things look a bit nicer.
909
910 2013-10-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
911
912         Add *CSS* prefix to FontFeatureValue to generate toCSSFontFeatureValue(), and use it
913         https://bugs.webkit.org/show_bug.cgi?id=122204
914
915         Reviewed by Darin Adler.
916
917         *CSS* prefix needs to be added to FontFeatureValue class in order to generate toCSSFontFeatureValue().
918         static_cast<FontFeatureValue*> is changed with toCSSFontFeatureValue() by using this change.
919
920         No new tests, no behavior changes.
921
922         * CMakeLists.txt:
923         * GNUmakefile.list.am:
924         * Target.pri:
925         * WebCore.vcxproj/WebCore.vcxproj:
926         * WebCore.vcxproj/WebCore.vcxproj.filters:
927         * WebCore.xcodeproj/project.pbxproj:
928         * css/CSSComputedStyleDeclaration.cpp:
929         (WebCore::ComputedStyleExtractor::propertyValue):
930         * css/CSSFontFeatureValue.cpp: Renamed from Source/WebCore/css/FontFeatureValue.cpp.
931         (WebCore::CSSFontFeatureValue::CSSFontFeatureValue):
932         (WebCore::CSSFontFeatureValue::customCSSText):
933         (WebCore::CSSFontFeatureValue::equals):
934         * css/CSSFontFeatureValue.h: Renamed from Source/WebCore/css/FontFeatureValue.h.
935         (WebCore::CSSFontFeatureValue::create):
936         (WebCore::CSSFontFeatureValue::tag):
937         (WebCore::CSSFontFeatureValue::value):
938         * css/CSSParser.cpp:
939         (WebCore::CSSParser::parseFontFeatureTag):
940         * css/CSSValue.cpp:
941         (WebCore::CSSValue::equals):
942         (WebCore::CSSValue::cssText):
943         (WebCore::CSSValue::destroy):
944         * css/StyleResolver.cpp:
945         (WebCore::StyleResolver::applyProperty):
946
947 2013-10-05  Andreas Kling  <akling@apple.com>
948
949         FrameSelection: Remove two unused member functions.
950
951         Rubber-stamped by Anders Carlsson.
952
953         - rootEditableElementOrTreeScopeRootNode()
954         - rootEditableElementRespectingShadowTree()
955
956 2013-10-05  Andreas Kling  <akling@apple.com>
957
958         CTTE: Node::treeScope() should return a reference.
959         <https://webkit.org/b/122399>
960
961         Reviewed by Superlative Sam.
962
963         Every Node belongs to a TreeScope. To enforce this, I've made
964         treeScope() return a TreeScope&, and setTreeScope() now takes a
965         TreeScope& so there is no way to clear it.
966
967 2013-10-05  Sam Weinig  <sam@webkit.org>
968
969         CTTE: Use references more for the Document parser
970         https://bugs.webkit.org/show_bug.cgi?id=122398
971
972         Reviewed by Andreas Kling.
973
974         Clarify the construction semantics of Document parsers.
975
976 2013-10-05  Daniel Bates  <dabates@apple.com>
977
978         [iOS] Default initialize Settings::setFixedPositionCreatesStackingContext() to true
979         https://bugs.webkit.org/show_bug.cgi?id=122338
980         <rdar://problem/14908151>
981
982         Reviewed by Darin Adler.
983
984         On iOS we always want an element with a fixed position to create a stacking context.
985         See <rdar://problem/9813262> for more details.
986
987         * page/Settings.cpp: Define constant defaultFixedPositionCreatesStackingContext to
988         be true when building for iOS and false otherwise.
989         * page/Settings.in: Initialize the setting fixedPositionCreatesStackingContext with
990         the value of the constant defaultFixedPositionCreatesStackingContext.
991
992 2013-10-05  Sam Weinig  <sam@webkit.org>
993
994         CTTE: Pass DocumentWriter around as a reference
995         https://bugs.webkit.org/show_bug.cgi?id=122396
996
997         Reviewed by Andreas Kling.
998
999         * bindings/js/ScriptController.cpp:
1000         (WebCore::ScriptController::executeIfJavaScriptURL):
1001         * dom/DecodedDataDocumentParser.cpp:
1002         (WebCore::DecodedDataDocumentParser::appendBytes):
1003         (WebCore::DecodedDataDocumentParser::flush):
1004         * dom/DecodedDataDocumentParser.h:
1005         * dom/DocumentParser.h:
1006         * dom/RawDataDocumentParser.h:
1007         (WebCore::RawDataDocumentParser::flush):
1008         * html/ImageDocument.cpp:
1009         (WebCore::ImageDocumentParser::appendBytes):
1010         * html/MediaDocument.cpp:
1011         (WebCore::MediaDocumentParser::appendBytes):
1012         (WebCore::MediaDocument::replaceMediaElementTimerFired):
1013         * html/PluginDocument.cpp:
1014         (WebCore::PluginDocumentParser::createDocumentStructure):
1015         (WebCore::PluginDocumentParser::appendBytes):
1016         * inspector/InspectorOverlay.cpp:
1017         (WebCore::InspectorOverlay::overlayPage):
1018         * loader/DocumentLoader.h:
1019         (WebCore::DocumentLoader::writer):
1020         * loader/DocumentWriter.cpp:
1021         (WebCore::DocumentWriter::addData):
1022         (WebCore::DocumentWriter::end):
1023         * loader/FrameLoader.cpp:
1024         (WebCore::FrameLoader::transitionToCommitted):
1025         * loader/SinkDocument.cpp:
1026         (WebCore::SinkDocumentParser::appendBytes):
1027         * svg/graphics/SVGImage.cpp:
1028         (WebCore::SVGImage::dataChanged):
1029
1030 2013-10-05  Andreas Kling  <akling@apple.com>
1031
1032         FrameView: Remove code for disabling repaints.
1033         <https://webkit.org/b/122393>
1034
1035         Reviewed by Sam Weinig.
1036
1037         Nobody uses this mode for anything so let's just remove it.
1038
1039         It was added back in r110469 to fix an issue with SVGImageCache
1040         and its only user disappeard in the cache overhaul in r142765.
1041
1042 2013-10-05  Andreas Kling  <akling@apple.com>
1043
1044         Remove IFrameShimSupport, it was only used by dead ports.
1045
1046         Rubber-stamped by Anders Carlsson.
1047
1048         * plugins/IFrameShimSupport.cpp: Removed.
1049         * plugins/IFrameShimSupport.h: Removed.
1050
1051 2013-10-05  Anders Carlsson  <andersca@apple.com>
1052
1053         Clean up MessageQueue.h
1054         https://bugs.webkit.org/show_bug.cgi?id=122392
1055
1056         Reviewed by Andreas Kling.
1057
1058         Update for changes to MessageQueue, mostly changing create functions to return std::unique_ptr.
1059         I intentionally avoided using std::make_unique in a couple of places because I didn't want to make nested classes
1060         public, and I believe that we can change some of this code to use std::function.
1061
1062         * Modules/webaudio/AsyncAudioDecoder.cpp:
1063         (WebCore::AsyncAudioDecoder::decodeAsync):
1064         (WebCore::AsyncAudioDecoder::runLoop):
1065         (WebCore::AsyncAudioDecoder::DecodingTask::create):
1066         * Modules/webaudio/AsyncAudioDecoder.h:
1067         * Modules/webdatabase/Database.cpp:
1068         (WebCore::Database::markAsDeletedAndClose):
1069         (WebCore::Database::tableNames):
1070         * Modules/webdatabase/DatabaseBackend.cpp:
1071         (WebCore::DatabaseBackend::openAndVerifyVersion):
1072         (WebCore::DatabaseBackend::scheduleTransaction):
1073         (WebCore::DatabaseBackend::scheduleTransactionStep):
1074         * Modules/webdatabase/DatabaseTask.h:
1075         (WebCore::DatabaseBackend::DatabaseOpenTask::create):
1076         (WebCore::DatabaseBackend::DatabaseCloseTask::create):
1077         (WebCore::DatabaseBackend::DatabaseTransactionTask::create):
1078         (WebCore::DatabaseBackend::DatabaseTableNamesTask::create):
1079         * Modules/webdatabase/DatabaseThread.cpp:
1080         (WebCore::DatabaseThread::databaseThread):
1081         (WebCore::DatabaseThread::scheduleTask):
1082         (WebCore::DatabaseThread::scheduleImmediateTask):
1083         (WebCore::SameDatabasePredicate::operator()):
1084         * Modules/webdatabase/DatabaseThread.h:
1085         * dom/default/PlatformMessagePortChannel.cpp:
1086         (WebCore::PlatformMessagePortChannel::EventData::create):
1087         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
1088         * dom/default/PlatformMessagePortChannel.h:
1089         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
1090         (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
1091         * fileapi/FileThread.cpp:
1092         (WebCore::FileThread::postTask):
1093         (WebCore::SameInstancePredicate::operator()):
1094         (WebCore::FileThread::runLoop):
1095         * fileapi/FileThread.h:
1096         * fileapi/FileThreadTask.h:
1097         (WebCore::createFileThreadTask):
1098         * storage/StorageThread.cpp:
1099         (WebCore::StorageThread::threadEntryPoint):
1100         (WebCore::StorageThread::dispatch):
1101         (WebCore::StorageThread::terminate):
1102         * workers/WorkerRunLoop.cpp:
1103         (WebCore::ModePredicate::operator()):
1104         (WebCore::WorkerRunLoop::runInMode):
1105         (WebCore::WorkerRunLoop::runCleanupTasks):
1106         (WebCore::WorkerRunLoop::Task::create):
1107         * workers/WorkerRunLoop.h:
1108
1109 2013-10-04  Dean Jackson  <dino@apple.com>
1110
1111         [WebGL] program should not be able to link if a bad shader is attached
1112         https://bugs.webkit.org/show_bug.cgi?id=94036
1113
1114         Reviewed by Darin Adler.
1115
1116         If you attempt to link a program when bad shaders are attached, the
1117         link should fail. WebGL also requires that the previously linked
1118         program should remain intact. We were doing the former, but not
1119         the latter.
1120
1121         Fix this by not calling glLinkProgram if we know we have bad
1122         shaders, and synthesize a bad link status instead.
1123
1124         Test: WebGL conformance test conformance/programs/program-test.html
1125         (found in LayoutTests/webgl)
1126
1127         * html/canvas/WebGLRenderingContext.cpp:
1128         (WebCore::WebGLRenderingContext::compileShader): Mark a shader as valid
1129         if it compiled ok.
1130         (WebCore::WebGLRenderingContext::linkProgram): Don't call into GraphicsContext3D::linkProgram
1131         if we know that we don't have valid shaders.
1132         * html/canvas/WebGLShader.cpp:
1133         (WebCore::WebGLShader::WebGLShader): Initialize m_isValid.
1134         * html/canvas/WebGLShader.h:
1135         (WebCore::WebGLShader::isValid): New member variable getter and setter.
1136         (WebCore::WebGLShader::setValid):
1137
1138 2013-10-05  Dean Jackson  <dino@apple.com>
1139
1140         Undo texture unit code refactoring - it is ok to bind a texture to multiple locations
1141         https://bugs.webkit.org/show_bug.cgi?id=122369
1142         <rdar://problem/15158465>
1143
1144         Reviewed by Darin Adler.
1145
1146         The optimisation in r152351 (http://webkit.org/b/117868) incorrectly
1147         assumes that a texture cannot be bound to more than one location.
1148         That's true only within the same program object. It's legal to
1149         address TEXTURE_BINDING_2D and TEXTURE_BINDING_CUBE_MAP with the
1150         same texture in different programs.
1151
1152         See https://github.com/KhronosGroup/WebGL/pull/391 for more information.
1153
1154         This change reverts the optimisation, but also does some minor
1155         cleanup (0 -> nullptr, class -> struct).
1156
1157         Covered by the following Khronos WebGL 1.0.1 tests, which
1158         now pass:
1159         - conformance/more/functions/texImage2DHTML.html
1160         - conformance/more/functions/texSubImage2D.html
1161         - conformance/more/functions/texSubImage2DHTML.html
1162
1163         * html/canvas/WebGLRenderingContext.cpp:
1164         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
1165         (WebCore::WebGLRenderingContext::reshape):
1166         (WebCore::WebGLRenderingContext::bindTexture):
1167         (WebCore::WebGLRenderingContext::deleteTexture):
1168         (WebCore::WebGLRenderingContext::getParameter):
1169         (WebCore::WebGLRenderingContext::handleNPOTTextures):
1170         (WebCore::WebGLRenderingContext::validateTextureBinding):
1171         (WebCore::WebGLRenderingContext::restoreCurrentTexture2D):
1172         * html/canvas/WebGLRenderingContext.h:
1173
1174 2013-10-05  Anders Carlsson  <andersca@apple.com>
1175
1176         Remove createOwned
1177         https://bugs.webkit.org/show_bug.cgi?id=122388
1178
1179         Reviewed by Darin Adler.
1180
1181         * dom/Document.cpp:
1182         (WebCore::Document::Document):
1183         (WebCore::Document::~Document):
1184         (WebCore::Document::createRenderTree):
1185         (WebCore::Document::destroyRenderTree):
1186         * dom/Document.h:
1187         * page/Frame.cpp:
1188         (WebCore::Frame::Frame):
1189         * page/Frame.h:
1190         * page/animation/AnimationController.cpp:
1191         (WebCore::AnimationController::AnimationController):
1192         * page/animation/AnimationController.h:
1193         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:
1194         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
1195         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
1196         (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC):
1197         (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack):
1198         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:
1199         (WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC):
1200         (WebCore::VideoTrackPrivateAVFObjC::setPlayerItemTrack):
1201         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
1202         * rendering/svg/RenderSVGResourceClipper.cpp:
1203         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1204         * rendering/svg/RenderSVGResourceClipper.h:
1205         * rendering/svg/RenderSVGResourceFilter.cpp:
1206         (WebCore::RenderSVGResourceFilter::applyResource):
1207         * rendering/svg/RenderSVGResourceFilter.h:
1208         * rendering/svg/RenderSVGResourceMasker.cpp:
1209         (WebCore::RenderSVGResourceMasker::applyResource):
1210         * rendering/svg/RenderSVGResourceMasker.h:
1211
1212 2013-10-05  Darin Adler  <darin@apple.com>
1213
1214         Remove COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES) since it's required now
1215         https://bugs.webkit.org/show_bug.cgi?id=122387
1216
1217         Reviewed by Anders Carlsson.
1218
1219         * html/canvas/CanvasStyle.h: Take out conditionals.
1220
1221 2013-10-05  Darin Adler  <darin@apple.com>
1222
1223         Add AtomicString::number and use it
1224         https://bugs.webkit.org/show_bug.cgi?id=122384
1225
1226         Reviewed by Anders Carlsson.
1227
1228         * css/CSSGrammar.y.in: Use AtomicString::number instead of String::number since
1229         we are creating an AtomicString. This can save a memory allocation if the string
1230         happens to already be in the atomic string table.
1231         * dom/Element.cpp:
1232         (WebCore::Element::setIntegralAttribute): Ditto.
1233         (WebCore::Element::setUnsignedIntegralAttribute): Ditto.
1234         * editing/BreakBlockquoteCommand.cpp:
1235         (WebCore::BreakBlockquoteCommand::doApply): Ditto.
1236         * html/HTMLBodyElement.cpp:
1237         (WebCore::HTMLBodyElement::insertedInto): Use setIntegralAttribute instead of
1238         a local homegrown equivalent.
1239         * html/HTMLCanvasElement.cpp:
1240         (WebCore::HTMLCanvasElement::setHeight): Ditto.
1241         (WebCore::HTMLCanvasElement::setWidth): Ditto.
1242         * html/HTMLElement.cpp:
1243         (WebCore::HTMLElement::setTabIndex): Ditto.
1244         * html/HTMLImageElement.cpp:
1245         (WebCore::HTMLImageElement::setHeight): Ditto.
1246         (WebCore::HTMLImageElement::setWidth): Ditto.
1247         * html/HTMLInputElement.cpp:
1248         (WebCore::HTMLInputElement::setMaxLength): Ditto.
1249         (WebCore::HTMLInputElement::setSize): Same, but setUnsignedIntegralAttribute.
1250         (WebCore::HTMLInputElement::setHeight): Ditto.
1251         (WebCore::HTMLInputElement::setWidth): Ditto.
1252         * html/HTMLMediaElement.cpp:
1253         (WebCore::HTMLMediaElement::mediaPlayerSetSize): Ditto.
1254         * html/HTMLMeterElement.cpp:
1255         (WebCore::HTMLMeterElement::setMin): More of the same.
1256         (WebCore::HTMLMeterElement::setMax): Ditto.
1257         (WebCore::HTMLMeterElement::setValue): Ditto.
1258         (WebCore::HTMLMeterElement::setLow): Ditto.
1259         (WebCore::HTMLMeterElement::setHigh): Ditto.
1260         (WebCore::HTMLMeterElement::setOptimum): Ditto.
1261         * html/HTMLOListElement.cpp:
1262         (WebCore::HTMLOListElement::setStart): Ditto.
1263         * html/HTMLProgressElement.cpp:
1264         (WebCore::HTMLProgressElement::setValue): Ditto.
1265         (WebCore::HTMLProgressElement::setMax): Ditto.
1266         * html/HTMLSelectElement.cpp:
1267         (WebCore::HTMLSelectElement::parseAttribute): Ditto.
1268         (WebCore::HTMLSelectElement::setSize): Ditto.
1269         * html/HTMLTableCellElement.cpp:
1270         (WebCore::HTMLTableCellElement::setColSpan): Ditto.
1271         (WebCore::HTMLTableCellElement::setRowSpan): Ditto.
1272         * html/HTMLTableColElement.cpp:
1273         (WebCore::HTMLTableColElement::setSpan): Ditto.
1274         * html/HTMLTextAreaElement.cpp:
1275         (WebCore::HTMLTextAreaElement::setMaxLength): Ditto.
1276         (WebCore::HTMLTextAreaElement::setCols): Ditto.
1277         (WebCore::HTMLTextAreaElement::setRows): Ditto.
1278         * html/shadow/MediaControlElements.cpp:
1279         (WebCore::MediaControlTimelineElement::setDuration): Ditto.
1280
1281 2013-10-05  Darin Adler  <darin@apple.com>
1282
1283         Cut down on use of String::number
1284         https://bugs.webkit.org/show_bug.cgi?id=122382
1285
1286         Reviewed by Anders Carlsson.
1287
1288         * css/CSSGradientValue.cpp:
1289         (WebCore::CSSLinearGradientValue::customCSSText): Use StringBuilder::appendNumber,
1290         instead of creating a string and then appending it.
1291         (WebCore::CSSRadialGradientValue::customCSSText): Ditto.
1292         * css/CSSParser.cpp:
1293         (WebCore::CSSParser::createKeyframe): Ditto.
1294         * editing/DeleteButtonController.cpp:
1295         (WebCore::DeleteButtonController::createDeletionUI): Use ASCII literals instead of
1296         converting numeric constants to strings at runtime with String::number.
1297         (WebCore::DeleteButtonController::show): Ditto.
1298         * svg/SVGNumberList.cpp:
1299         (WebCore::SVGNumberList::valueAsString): Use StringBuilder::appendNumber.
1300         * svg/SVGPointList.cpp:
1301         (WebCore::SVGPointList::valueAsString): Ditto.
1302         * svg/SVGRect.h: Ditto.
1303
1304 2013-10-05  Anders Carlsson  <andersca@apple.com>
1305
1306         Test the waters and begin using lambdas
1307         https://bugs.webkit.org/show_bug.cgi?id=121809
1308
1309         Reviewed by Andreas Kling.
1310
1311         Use lambdas instead of static functions and function objects.
1312         
1313         * css/MediaQuery.cpp:
1314         (WebCore::MediaQuery::MediaQuery):
1315         * dom/MutationObserver.cpp:
1316         (WebCore::MutationObserver::deliverAllMutations):
1317         * page/CaptionUserPreferences.cpp:
1318         (WebCore::CaptionUserPreferences::sortedTrackListForMenu):
1319
1320 2013-10-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1321
1322         Add *CSS* prefix to FontValue to generate toCSSFontValue() 
1323         https://bugs.webkit.org/show_bug.cgi?id=122201
1324
1325         Reviewed by Darin Adler.
1326
1327         *CSS* prefix needs to be added to FontValue class in order to generate toCSSFontValue().
1328         static_cast<FontValue*> is changed with toCSSFontValue() by this change.
1329
1330         No new tests, no behavior changes.
1331
1332         * CMakeLists.txt:
1333         * GNUmakefile.list.am:
1334         * Target.pri:
1335         * WebCore.vcxproj/WebCore.vcxproj:
1336         * WebCore.vcxproj/WebCore.vcxproj.filters:
1337         * WebCore.xcodeproj/project.pbxproj:
1338         * css/CSSComputedStyleDeclaration.cpp:
1339         (WebCore::ComputedStyleExtractor::propertyValue):
1340         * css/CSSFontValue.cpp: Renamed from Source/WebCore/css/FontValue.cpp.
1341         (WebCore::CSSFontValue::customCSSText):
1342         (WebCore::CSSFontValue::equals):
1343         * css/CSSFontValue.h: Renamed from Source/WebCore/css/FontValue.h.
1344         (WebCore::CSSFontValue::create):
1345         (WebCore::CSSFontValue::CSSFontValue):
1346         * css/CSSParser.cpp:
1347         * css/CSSValue.cpp:
1348         (WebCore::CSSValue::equals):
1349         (WebCore::CSSValue::cssText):
1350         (WebCore::CSSValue::destroy):
1351         * css/StyleResolver.cpp:
1352         (WebCore::StyleResolver::applyProperty):
1353
1354 2013-10-05  Commit Queue  <commit-queue@webkit.org>
1355
1356         Unreviewed, rolling out r156952.
1357         http://trac.webkit.org/changeset/156952
1358         https://bugs.webkit.org/show_bug.cgi?id=122381
1359
1360         Made svg/custom/large-image-pattern-crash.html assert
1361         (Requested by ap on #webkit).
1362
1363         * rendering/InlineBox.cpp:
1364         (WebCore::InlineBox::paint):
1365         * rendering/InlineBox.h:
1366         * rendering/InlineFlowBox.cpp:
1367         (WebCore::InlineFlowBox::paintBoxDecorations):
1368         (WebCore::InlineFlowBox::paintMask):
1369         * rendering/InlineTextBox.cpp:
1370         (WebCore::InlineTextBox::paint):
1371         * rendering/PaintInfo.h:
1372         (WebCore::PaintInfo::shouldPaintWithinRoot):
1373         * rendering/RenderBlock.cpp:
1374         (WebCore::RenderBlock::paint):
1375         * rendering/RenderBox.cpp:
1376         (WebCore::RenderBox::paint):
1377         (WebCore::RenderBox::paintBoxDecorations):
1378         (WebCore::RenderBox::paintMask):
1379         * rendering/RenderBox.h:
1380         * rendering/RenderElement.h:
1381         * rendering/RenderFieldset.cpp:
1382         (WebCore::RenderFieldset::paintBoxDecorations):
1383         * rendering/RenderFrameSet.cpp:
1384         (WebCore::RenderFrameSet::paint):
1385         * rendering/RenderLineBreak.h:
1386         * rendering/RenderObject.cpp:
1387         (WebCore::RenderObject::paint):
1388         * rendering/RenderObject.h:
1389         * rendering/RenderReplaced.cpp:
1390         (WebCore::RenderReplaced::paint):
1391         (WebCore::RenderReplaced::shouldPaint):
1392         * rendering/RenderTable.cpp:
1393         (WebCore::RenderTable::paintObject):
1394         (WebCore::RenderTable::paintBoxDecorations):
1395         * rendering/RenderTableCell.cpp:
1396         (WebCore::RenderTableCell::paintCollapsedBorders):
1397         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
1398         (WebCore::RenderTableCell::paintBoxDecorations):
1399         * rendering/RenderTableCol.h:
1400         * rendering/RenderText.h:
1401         * rendering/RenderView.cpp:
1402         (WebCore::RenderView::paint):
1403         (WebCore::RenderView::paintBoxDecorations):
1404         * rendering/RootInlineBox.cpp:
1405         (WebCore::RootInlineBox::paintEllipsisBox):
1406         (WebCore::RootInlineBox::paintCustomHighlight):
1407         * rendering/svg/RenderSVGContainer.cpp:
1408         (WebCore::RenderSVGContainer::paint):
1409         * rendering/svg/RenderSVGGradientStop.h:
1410         * rendering/svg/RenderSVGResourceClipper.cpp:
1411         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
1412         * rendering/svg/RenderSVGResourceMasker.cpp:
1413         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
1414         * rendering/svg/RenderSVGResourcePattern.cpp:
1415         (WebCore::RenderSVGResourcePattern::createTileImage):
1416         * rendering/svg/RenderSVGRoot.cpp:
1417         (WebCore::RenderSVGRoot::paintReplaced):
1418         * rendering/svg/SVGInlineTextBox.cpp:
1419         (WebCore::SVGInlineTextBox::paintSelectionBackground):
1420         (WebCore::SVGInlineTextBox::paint):
1421         * rendering/svg/SVGRenderingContext.cpp:
1422         (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
1423         * rendering/svg/SVGRenderingContext.h:
1424         * svg/SVGUseElement.cpp:
1425         (WebCore::SVGUseElement::rendererClipChild):
1426         * svg/SVGUseElement.h:
1427         * svg/graphics/filters/SVGFEImage.cpp:
1428         (WebCore::FEImage::platformApplySoftware):
1429
1430 2013-10-05  Darin Adler  <darin@apple.com>
1431
1432         Need to check if some HTML child elements are HTMLUnknownElement
1433         https://bugs.webkit.org/show_bug.cgi?id=120297
1434
1435         Reviewed by Andreas Kling.
1436
1437         Test: fast/media/media-disable-crash.html
1438
1439         * dom/make_names.pl:
1440         (printConstructorInterior): Added additional comments about the
1441         wrapperOnlyIfMediaIsAvailable feature.
1442         (printTypeHelpers): Added an isHTMLUnknownElement check to the check helper
1443         functions for tags with the wrapperOnlyIfMediaIsAvailable feature.
1444         (printWrapperFunctions): Instead of redoing the media player check and the
1445         settings check, and possibly making a wrapper of the wrong type, call
1446         isHTMUnknownElement, guaranteeing that the wrapper will match the element
1447         it is wrapping.
1448
1449         * html/HTMLElement.h: Move HTMLElementTypeHelpers.h to the bottom of the
1450         file so that functions from that file can be use the HTMLElement class and
1451         other things defined in this file.
1452
1453         * html/HTMLMediaElement.cpp:
1454         (WebCore::HTMLMediaElement::paused): Added an assertion that made the regression
1455         test reliably assert, rather than intermittently (for me, non-reproducibly) crash.
1456
1457 2013-10-04  Antti Koivisto  <antti@apple.com>
1458
1459         Move paint() to RenderElement
1460         https://bugs.webkit.org/show_bug.cgi?id=122371
1461
1462         Reviewed by Darin Adler.
1463
1464         RenderText does not paint itself (text is painted by line boxes). We can move paint() down
1465         to RenderElement.
1466         
1467         This also requires some type tightening elsewhere in the code.
1468
1469 2013-10-04  Ryosuke Niwa  <rniwa@webkit.org>
1470
1471         Fix an assertion failure introduced in r156925.
1472
1473         Add HTMLImageElement to the document-wide map only if it's in the document.
1474
1475         * html/HTMLImageElement.cpp:
1476         (WebCore::HTMLImageElement::parseAttribute):
1477
1478 2013-10-04  Darin Adler  <darin@apple.com>
1479
1480         text-transform: lowercase is not lang-dependent (Turkish languages : tr,az)
1481         https://bugs.webkit.org/show_bug.cgi?id=21312
1482
1483         Reviewed by Ryosuke Niwa.
1484
1485         Test: fast/text/text-transform-turkish-and-azeri.html
1486
1487         This patch covers text-transform: uppercase and text-transform: lowercase.
1488         More changes will be needed to cover text-transform: capitalize.
1489
1490         * inspector/DOMPatchSupport.cpp:
1491         (WebCore::DOMPatchSupport::patchNode): Use String::upper instead of String::makeUpper.
1492         * page/EventHandler.cpp:
1493         (WebCore::findDropZone): Use String::lower instead of String::makeLower.
1494         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
1495         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use String::upper instead of String::makeUpper.
1496         * platform/network/blackberry/rss/RSS10Parser.cpp: [Seriously, how is an RSS parser
1497         part of WebKit's networking layer? Where are the tests that cover this? Seems wrong
1498         to have this code in the project.]
1499         (WebCore::RSS10Parser::parseXmlDoc): Use lower instead of makeLower.
1500         (WebCore::RSS10Parser::parseItem): Ditto.
1501         (WebCore::RSS10Parser::parseFeed): Ditto.
1502         * platform/network/blackberry/rss/RSS20Parser.cpp:
1503         (WebCore::RSS20Parser::parseXmlDoc): Ditto.
1504         (WebCore::RSS20Parser::parseItem): Ditto.
1505         (WebCore::RSS20Parser::parseFeed): Ditto.
1506         (WebCore::RSS20Parser::parseEnclosure): Ditto.
1507         * platform/network/blackberry/rss/RSSAtomParser.cpp:
1508         (WebCore::RSSAtomParser::parseXmlDoc): Ditto.
1509         (WebCore::RSSAtomParser::parseItem): Ditto.
1510         (WebCore::RSSAtomParser::parseFeed): Ditto.
1511         (WebCore::RSSAtomParser::parseLink): Ditto.
1512         (WebCore::RSSAtomParser::parseContent): Ditto.
1513         (WebCore::RSSAtomParser::parseAuthor): Ditto.
1514         (WebCore::RSSAtomParser::parseCategory): Ditto.
1515         * platform/text/win/LocaleWin.cpp:
1516         (WebCore::convertLocaleNameToLCID): Use String::lower instead of String::makeLower.
1517         * rendering/RenderText.cpp:
1518         (WebCore::applyTextTransform): Use String::upper and String::lower instead of
1519         String::makeUpper and String::makeLower, and also pass in the locale to each.
1520         * xml/XMLHttpRequest.cpp:
1521         (WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod): Changed this so it doesn't call
1522         upper just to return an already known string constant.
1523
1524 2013-10-04  Alexey Proskuryakov  <ap@apple.com>
1525
1526         Roll out r156930 and r156937, they caused 34 assertion failures on bots.
1527
1528         * css/mathml.css:
1529         * mathml/MathMLTextElement.cpp:
1530         * mathml/MathMLTextElement.h:
1531         * rendering/RenderFlexibleBox.h:
1532         * rendering/mathml/RenderMathMLBlock.cpp:
1533         * rendering/mathml/RenderMathMLBlock.h:
1534         * rendering/mathml/RenderMathMLFenced.cpp:
1535         * rendering/mathml/RenderMathMLOperator.cpp:
1536         * rendering/mathml/RenderMathMLOperator.h:
1537         * rendering/mathml/RenderMathMLRoot.cpp:
1538         * rendering/mathml/RenderMathMLRoot.h:
1539         * rendering/mathml/RenderMathMLRow.cpp:
1540         * rendering/mathml/RenderMathMLRow.h:
1541
1542 2013-10-04  Anders Carlsson  <andersca@apple.com>
1543
1544         FramePolicyFunction should be an std::function
1545         https://bugs.webkit.org/show_bug.cgi?id=122362
1546
1547         Reviewed by Darin Adler.
1548
1549         This makes policy callback handling simpler inside WebKit.
1550
1551         * loader/EmptyClients.cpp:
1552         (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
1553         (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1554         (WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):
1555         * loader/EmptyClients.h:
1556         * loader/FrameLoader.cpp:
1557         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1558         * loader/FrameLoaderClient.h:
1559         * loader/PolicyChecker.cpp:
1560         (WebCore::PolicyChecker::checkNavigationPolicy):
1561         (WebCore::PolicyChecker::checkNewWindowPolicy):
1562         (WebCore::PolicyChecker::checkContentPolicy):
1563
1564 2013-10-04  Andreas Kling  <akling@apple.com>
1565
1566         CTTE: IconController and IconLoader should have Frame& backpointer.
1567         <https://webkit.org/b/122372>
1568
1569         Reviewed by Anders Carlsson.
1570
1571         Also slap IconLoader with FINAL glove.
1572
1573 2013-10-04  Andreas Kling  <akling@apple.com>
1574
1575         CTTE: RenderScrollbar DOM owner is always an Element.
1576         <https://webkit.org/b/122348>
1577
1578         Reviewed by Antti Koivisto.
1579
1580         When RenderScrollbar is owned by a DOM node, it's always Element.
1581         Tighten the code a bit with this knowledge.
1582
1583         Also marked the class FINAL and beat it with the OVERRIDE stick.
1584
1585 2013-10-04  Andreas Kling  <akling@apple.com>
1586
1587         TypingCommand helpers should take Document&.
1588         <https://webkit.org/b/122370>
1589
1590         Reviewed by Anders Carlsson.
1591
1592         Instead of taking a Document* and immediately asserting that it's
1593         non-null, just take Document&.
1594
1595 2013-10-04  Ryosuke Niwa  <rniwa@webkit.org>
1596
1597         Use more references instead of pointers in DocumentOrderedMap
1598         https://bugs.webkit.org/show_bug.cgi?id=122368
1599
1600         Reviewed by Andreas Kling.
1601
1602         Use AtomicStringImpl& instead of AtomicString* or AtomicString& to eliminate
1603         assertions and nullity checks.
1604
1605         * bindings/js/JSDOMWindowCustom.cpp:
1606         (WebCore::namedItemGetter):
1607         (WebCore::JSDOMWindow::getOwnPropertySlot):
1608         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
1609         * bindings/js/JSHTMLDocumentCustom.cpp:
1610         (WebCore::JSHTMLDocument::canGetItemsForName):
1611         (WebCore::JSHTMLDocument::nameGetter):
1612         * dom/Document.cpp:
1613         (WebCore::Document::addImageElementByLowercasedUsemap):
1614         (WebCore::Document::removeImageElementByLowercasedUsemap):
1615         (WebCore::Document::imageElementByLowercasedUsemap):
1616         * dom/Document.h:
1617         * dom/DocumentOrderedMap.cpp:
1618         (WebCore::keyMatchesId):
1619         (WebCore::keyMatchesName):
1620         (WebCore::keyMatchesMapName):
1621         (WebCore::keyMatchesLowercasedMapName):
1622         (WebCore::keyMatchesLowercasedUsemap):
1623         (WebCore::keyMatchesLabelForAttribute):
1624         (WebCore::keyMatchesWindowNamedItem):
1625         (WebCore::keyMatchesDocumentNamedItem):
1626         (WebCore::DocumentOrderedMap::add):
1627         (WebCore::DocumentOrderedMap::remove):
1628         (WebCore::DocumentOrderedMap::get):
1629         (WebCore::DocumentOrderedMap::getElementById):
1630         (WebCore::DocumentOrderedMap::getElementByName):
1631         (WebCore::DocumentOrderedMap::getElementByMapName):
1632         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
1633         (WebCore::DocumentOrderedMap::getElementByLowercasedUsemap):
1634         (WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
1635         (WebCore::DocumentOrderedMap::getElementByWindowNamedItem):
1636         (WebCore::DocumentOrderedMap::getElementByDocumentNamedItem):
1637         (WebCore::DocumentOrderedMap::getAllElementsById):
1638         * dom/DocumentOrderedMap.h:
1639         (WebCore::DocumentOrderedMap::containsSingle):
1640         (WebCore::DocumentOrderedMap::contains):
1641         (WebCore::DocumentOrderedMap::containsMultiple):
1642         * dom/Element.cpp:
1643         (WebCore::Element::updateNameForTreeScope):
1644         (WebCore::Element::updateNameForDocument):
1645         (WebCore::Element::updateIdForTreeScope):
1646         (WebCore::Element::updateIdForDocument):
1647         (WebCore::Element::updateLabel):
1648         * dom/IdTargetObserverRegistry.cpp:
1649         (WebCore::IdTargetObserverRegistry::notifyObserversInternal):
1650         * dom/IdTargetObserverRegistry.h:
1651         (WebCore::IdTargetObserverRegistry::notifyObservers):
1652         * dom/TreeScope.cpp:
1653         (WebCore::TreeScope::getElementById):
1654         (WebCore::TreeScope::getAllElementsById):
1655         (WebCore::TreeScope::addElementById):
1656         (WebCore::TreeScope::removeElementById):
1657         (WebCore::TreeScope::getElementByName):
1658         (WebCore::TreeScope::addElementByName):
1659         (WebCore::TreeScope::removeElementByName):
1660         (WebCore::TreeScope::addImageMap):
1661         (WebCore::TreeScope::removeImageMap):
1662         (WebCore::TreeScope::getImageMap):
1663         (WebCore::TreeScope::addLabel):
1664         (WebCore::TreeScope::removeLabel):
1665         (WebCore::TreeScope::labelElementForId):
1666         * dom/TreeScope.h:
1667         (WebCore::TreeScope::hasElementWithId):
1668         (WebCore::TreeScope::containsMultipleElementsWithId):
1669         (WebCore::TreeScope::hasElementWithName):
1670         (WebCore::TreeScope::containsMultipleElementsWithName):
1671         * html/HTMLCollection.cpp:
1672         (WebCore::HTMLCollection::namedItem):
1673         * html/HTMLDocument.cpp:
1674         (WebCore::HTMLDocument::addDocumentNamedItem):
1675         (WebCore::HTMLDocument::removeDocumentNamedItem):
1676         (WebCore::HTMLDocument::addWindowNamedItem):
1677         (WebCore::HTMLDocument::removeWindowNamedItem):
1678         * html/HTMLDocument.h:
1679         (WebCore::HTMLDocument::documentNamedItem):
1680         (WebCore::HTMLDocument::hasDocumentNamedItem):
1681         (WebCore::HTMLDocument::documentNamedItemContainsMultipleElements):
1682         (WebCore::HTMLDocument::windowNamedItem):
1683         (WebCore::HTMLDocument::hasWindowNamedItem):
1684         (WebCore::HTMLDocument::windowNamedItemContainsMultipleElements):
1685         * html/HTMLImageElement.cpp:
1686         (WebCore::HTMLImageElement::parseAttribute):
1687         (WebCore::HTMLImageElement::insertedInto):
1688         (WebCore::HTMLImageElement::removedFrom):
1689         * html/HTMLMapElement.cpp:
1690         (WebCore::HTMLMapElement::imageElement):
1691         (WebCore::HTMLMapElement::parseAttribute):
1692         (WebCore::HTMLMapElement::insertedInto):
1693         (WebCore::HTMLMapElement::removedFrom):
1694         * html/HTMLObjectElement.cpp:
1695         (WebCore::HTMLObjectElement::updateDocNamedItem):
1696
1697 2013-10-04  Andreas Kling  <akling@apple.com>
1698
1699         CTTE: PolicyChecker backpointer to Frame should be a reference.
1700         <https://webkit.org/b/122354>
1701
1702         Reviewed by Anders Carlsson.
1703
1704         PolicyChecker is tied to the lifetime of FrameLoader, which in turn
1705         is tied to the lifetime of Frame.
1706
1707 2013-10-04  Andreas Kling  <akling@apple.com>
1708
1709         Editor should use reference-getting document() internally.
1710         <https://webkit.org/b/122364>
1711
1712         Reviewed by Darin Adler.
1713
1714         Instead of grabbing at Editor::m_frame.document(), use the nice
1715         Editor::document() helper that always returns a Document&.
1716
1717         Calling Editor methods on a Frame's editor() while there is no
1718         Document in the Frame is a programming error and this is covered
1719         by an assertion in document().
1720
1721         This removes a bunch of null checks and enables further cleanup.
1722
1723 2013-10-04  Martin Robinson  <mrobinson@igalia.com>
1724
1725         Try to fix the Windows build after r156930.
1726
1727         * rendering/mathml/RenderMathMLOperator.cpp:
1728         (WebCore::RenderMathMLOperator::paintCharacter): Use ceilf and floorf to avoid issues
1729         with overload collisions and implicit casts of LayoutUnits.
1730
1731 2013-10-04  Mark Lam  <mark.lam@apple.com>
1732
1733         Change ScriptDebugServer to use DebuggerCallFrame instead of JavaScriptCallFrame.
1734         https://bugs.webkit.org/show_bug.cgi?id=121969.
1735
1736         Reviewed by Geoffrey Garen.
1737
1738         Tests: inspector-protocol/debugger/call-frame-function-name.html
1739                inspector-protocol/debugger/call-frame-this-host.html
1740                inspector-protocol/debugger/call-frame-this-nonstrict.html
1741                inspector-protocol/debugger/call-frame-this-strict.html
1742
1743         1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame.
1744            DebuggerCallFrame now tracks whether it is valid instead of needing
1745            JavaScriptCallFrame do it.
1746         2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed
1747            just before it pauses and calls back to its client, and then invalidates
1748            it immediately when the callback returns. Every subsequent callback to
1749            the client will use a new instance of the DebuggerCallFrame.
1750         3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when
1751            it "pauses".
1752         4. DebuggerCallFrame only creates its caller DebuggerCallFrame when
1753            it is needed i.e. when the client calls callerFrame(). Similarly,
1754            JavaScriptCallFrame only creates its caller when it's requested.
1755         5. DebuggerCallFrame's line() and column() now returns a base-zero int.
1756         6. WebScriptDebugDelegate now only caches the functionName of the frame
1757            instead of the entire DebuggerCallFrame because that is all that is
1758            needed.
1759         7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.
1760
1761         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1762         (WebCore::JSJavaScriptCallFrame::thisObject):
1763         * bindings/js/JavaScriptCallFrame.cpp:
1764         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
1765         (WebCore::JavaScriptCallFrame::caller):
1766         * bindings/js/JavaScriptCallFrame.h:
1767         (WebCore::JavaScriptCallFrame::create):
1768         (WebCore::JavaScriptCallFrame::sourceID):
1769         (WebCore::JavaScriptCallFrame::position):
1770         (WebCore::JavaScriptCallFrame::line):
1771         (WebCore::JavaScriptCallFrame::column):
1772         (WebCore::JavaScriptCallFrame::functionName):
1773         (WebCore::JavaScriptCallFrame::type):
1774         (WebCore::JavaScriptCallFrame::scopeChain):
1775         (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
1776         (WebCore::JavaScriptCallFrame::thisValue):
1777         (WebCore::JavaScriptCallFrame::evaluate):
1778         * bindings/js/ScriptDebugServer.cpp:
1779         (WebCore::DebuggerCallFrameScope::DebuggerCallFrameScope):
1780         (WebCore::DebuggerCallFrameScope::~DebuggerCallFrameScope):
1781         (WebCore::ScriptDebugServer::ScriptDebugServer):
1782         (WebCore::ScriptDebugServer::setBreakpoint):
1783         (WebCore::ScriptDebugServer::removeBreakpoint):
1784         (WebCore::ScriptDebugServer::hasBreakpoint):
1785         (WebCore::ScriptDebugServer::evaluateBreakpointAction):
1786         (WebCore::ScriptDebugServer::breakProgram):
1787         (WebCore::ScriptDebugServer::stepOverStatement):
1788         (WebCore::ScriptDebugServer::stepOutOfFunction):
1789         (WebCore::ScriptDebugServer::currentDebuggerCallFrame):
1790         (WebCore::ScriptDebugServer::dispatchDidPause):
1791         (WebCore::ScriptDebugServer::updateCallFrame):
1792         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
1793         (WebCore::ScriptDebugServer::pauseIfNeeded):
1794         (WebCore::ScriptDebugServer::callEvent):
1795         (WebCore::ScriptDebugServer::returnEvent):
1796         (WebCore::ScriptDebugServer::willExecuteProgram):
1797         (WebCore::ScriptDebugServer::didExecuteProgram):
1798         * bindings/js/ScriptDebugServer.h:
1799         * bindings/js/WorkerScriptDebugServer.cpp:
1800         (WebCore::WorkerScriptDebugServer::willExecuteProgram):
1801
1802 2013-10-04  Andreas Kling  <akling@apple.com>
1803
1804         Ref-ify more stack guards.
1805         <https://webkit.org/b/122360>
1806
1807         Reviewed by Anders Carlsson.
1808
1809         Make another pass turning RefPtr<T> into Ref<T> where possible.
1810
1811 2013-10-04  Ojan Vafai  <ojan@chromium.org> and Martin Robinson  <mrobinson@igalia.com>
1812
1813         [MathML] Remove RenderTree modification during layout and refactor the StretchyOp code
1814         https://bugs.webkit.org/show_bug.cgi?id=121416
1815
1816         Reviewed by David Hyatt.
1817
1818         Tests: mathml/presentation/mo-minus.html
1819                mathml/presentation/mo-stacked-glyphs.html
1820                mathml/presentation/mo-stretchy-vertical-bar.html
1821                mathml/very-large-stretchy-operators.html
1822
1823         MathML stretched operators by both modifying the width of the operator
1824         and adding children to the operator node in the render tree.
1825
1826         Instead we make the operator width equal to the widest glyph possible that we use
1827         to represent the operator.  Additionally instead of rendering stretchy glyphs via
1828         stacked operator pieces in separate render tree nodes, keep only one node for the
1829         glyph, and use a custom paint method to paint the stacked representation.
1830
1831         With this patch, rendering seems roughly equivalent on Mac and markedly better
1832         on Linux.
1833
1834         * css/mathml.css:
1835         Not sure what this line-height:0 was here for, but it caused bugs with the new code
1836
1837         * mathml/MathMLTextElement.cpp:
1838         (WebCore::MathMLTextElement::attach):
1839         (WebCore):
1840         (WebCore::MathMLTextElement::childrenChanged):
1841         Need to update the anonymous render tree below <mo> elements when their
1842         children change or when the renderer is first attached.
1843
1844         * mathml/MathMLTextElement.h:
1845         (MathMLTextElement):
1846         * rendering/mathml/RenderMathMLBlock.cpp:
1847         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
1848         * rendering/mathml/RenderMathMLBlock.h:
1849         Now that the preferred width doesn't depend on the height, we don't
1850         need to override computePreferredLogicalWidths at all.
1851
1852         * rendering/mathml/RenderMathMLFenced.cpp:
1853         (WebCore::RenderMathMLFenced::makeFences):
1854         (WebCore::RenderMathMLFenced::styleDidChange):
1855         Need to update the anonymous renderers for the anonymous RenderMathMLOperators.
1856
1857         * rendering/mathml/RenderMathMLOperator.cpp:
1858         (WebCore::RenderMathMLOperator::expandedStretchHeight):
1859         Store the non-expanded stretch height so that we can detect when the height
1860         actually changed.
1861
1862         (WebCore::RenderMathMLOperator::stretchToHeight):
1863         Only update the style on the anonymous render tree since this is called
1864         from RenderMathMLRow::layout
1865
1866         (WebCore::RenderMathMLOperator::styleDidChange):
1867         (WebCore::RenderMathMLOperator::glyphBoundsForCharacter): A helper to get glyph boundaries.
1868         (WebCore::RenderMathMLOperator::glyphHeightForCharacter): Ditto for glyph width.
1869         (WebCore::RenderMathMLOperator::advanceForCharacter): The advance is different from the width,
1870         and we want the width of the operator to be the advance instead of the tight bounding width.
1871         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use the max of all possible glyphs
1872         we can use to render this operator.
1873         (WebCore::RenderMathMLOperator::updateFromElement): We add a child for rendering the non-scaled
1874         version of the glyph.
1875         (WebCore::RenderMathMLOperator::firstCharacterForStretching): Helper to figure out what character
1876         is the character used for stretching operations.
1877         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): Helper to find an acceptable set
1878         of glyph pieces for stretching characters.
1879         (WebCore::RenderMathMLOperator::updateStyle): Resize the operator to the appropriate height and hide
1880         the child if we are using the stretchy style.
1881         (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
1882         (WebCore::RenderMathMLOperator::paintCharacter): Helper to paint a single character component of the
1883         stretchy glyph.
1884         (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Helper to paint the extender glue between
1885         features of the stretchy glyph.
1886         (WebCore::RenderMathMLOperator::paint): Properly paint stretchy glyphs.
1887         * rendering/mathml/RenderMathMLOperator.h: Update method declarations.
1888
1889 2013-10-04  Ryosuke Niwa  <rniwa@webkit.org>
1890
1891         Build fix after r156925. It collided with r156903.
1892
1893         * html/HTMLImageElement.cpp:
1894         (WebCore::HTMLImageElement::insertedInto):
1895         (WebCore::HTMLImageElement::removedFrom):
1896
1897 2013-10-04  Andreas Kling  <akling@apple.com>
1898
1899         Clean out some FrameLoaderClient hooks that no ports were using.
1900         <https://webkit.org/b/122356>
1901
1902         Reviewed by Anders Carlsson.
1903
1904         Removed the following hooks that were leftovers from dead ports:
1905
1906             - didExhaustMemoryAvailableForScript
1907             - didNotAllowScript
1908             - didNotAllowPlugins
1909             - willCheckAndDispatchMessageEvent
1910             - didChangeName
1911             - dispatchWillInsertBody
1912             - dispatchDidChangeResourcePriority
1913
1914 2013-10-03  Ryosuke Niwa  <rniwa@webkit.org>
1915
1916         FocusController::advanceFocus spends a lot of time in HTMLMapElement::imageElement
1917         https://bugs.webkit.org/show_bug.cgi?id=122313
1918
1919         Reviewed by Andreas Kling.
1920
1921         The bug was caused by HTMLMapElement::imageElement traversing the entire document to look for
1922         the image element associated with a given map element. Because HTMLCollection used to find the
1923         image element is not cached, it traversed the entire document on every area element we visit,
1924         resulting in O(n^2) behavior.
1925
1926         Fixed the bug by adding the name-to-image-element map on document to avoid the traversal in
1927         HTMLMapElement::imageElement.
1928
1929         * dom/Document.cpp:
1930         (WebCore::Document::addImageElementByLowercasedUsemap): Added.
1931         (WebCore::Document::removeImageElementByLowercasedUsemap): Added.
1932         (WebCore::Document::imageElementByLowercasedUsemap): Added.
1933
1934         * dom/Document.h: Added m_imagesByUsemap.
1935
1936         * dom/DocumentOrderedMap.cpp:
1937         (WebCore::keyMatchesLowercasedUsemap): Added.
1938         (WebCore::DocumentOrderedMap::getElementByLowercasedUsemap): Added.
1939
1940         * dom/DocumentOrderedMap.h:
1941         * html/HTMLImageElement.cpp:
1942         (WebCore::HTMLImageElement::parseAttribute): Update the name-to-usemap map. The code to parse
1943         the usemap attribute and strip # was moved from HTMLMapElement::imageElement.
1944         (WebCore::HTMLImageElement::insertedInto): Ditto.
1945         (WebCore::HTMLImageElement::removedFrom): Ditto.
1946         (WebCore::HTMLImageElement::matchesLowercasedUsemap): Added; called by DocumentOrderedMap.
1947
1948         * html/HTMLImageElement.h:
1949
1950         * html/HTMLMapElement.cpp:
1951         (WebCore::HTMLMapElement::imageElement): Call Document::imageElementByUsemap instead of
1952         looking through all image elements in the document.
1953
1954 2013-10-04  Sam Weinig  <sam@webkit.org>
1955
1956         Unify rubberband control
1957         https://bugs.webkit.org/show_bug.cgi?id=122341
1958
1959         Reviewed by Tim Horton.
1960
1961         - Consolidates the two ways we were passing state about whether
1962           to rubber-band on a particular edge down to one.
1963
1964         * WebCore.exp.in:
1965         * page/Page.cpp:
1966         * page/Page.h:
1967         * page/scrolling/ScrollingCoordinator.h:
1968         (WebCore::ScrollingCoordinator::isRubberBandInProgress):
1969         * page/scrolling/ScrollingTree.cpp:
1970         (WebCore::ScrollingTree::ScrollingTree):
1971         (WebCore::ScrollingTree::setCanRubberBandState):
1972         (WebCore::ScrollingTree::rubberBandsAtLeft):
1973         (WebCore::ScrollingTree::rubberBandsAtRight):
1974         (WebCore::ScrollingTree::rubberBandsAtBottom):
1975         (WebCore::ScrollingTree::rubberBandsAtTop):
1976         (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
1977         * page/scrolling/ScrollingTree.h:
1978         * page/scrolling/mac/ScrollingCoordinatorMac.h:
1979         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1980         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1981         (WebCore::ScrollingTreeScrollingNodeMac::shouldRubberBandInDirection):
1982
1983 2013-10-04  Andreas Kling  <akling@apple.com>
1984
1985         CTTE: SubframeLoader backpointer to Frame should be a reference.
1986         <https://webkit.org/b/122350>
1987
1988         Reviewed by Anders Carlsson.
1989
1990         SubframeLoader is tied to the lifetime of FrameLoader, which in turn
1991         is tied to the lifetime of Frame.
1992
1993 2013-10-04  Anders Carlsson  <andersca@apple.com>
1994
1995         Remove some unneeded code from WidgetMac
1996         https://bugs.webkit.org/show_bug.cgi?id=122355
1997
1998         Reviewed by Dan Bernstein.
1999
2000         Remove code to manage the visible rect, it's not needed anymore.
2001
2002         * platform/Widget.h:
2003         * platform/mac/WidgetMac.mm:
2004         (WebCore::Widget::~Widget):
2005         (WebCore::Widget::setFrameRect):
2006         (WebCore::Widget::setPlatformWidget):
2007
2008 2013-10-04  Daniel Bates  <dabates@apple.com>
2009
2010         [iOS] Upstream disk image cache
2011         https://bugs.webkit.org/show_bug.cgi?id=121985
2012
2013         Reviewed by Joseph Pecoraro.
2014
2015         * WebCore.exp.in:
2016         * WebCore.xcodeproj/project.pbxproj:
2017         * loader/ResourceBuffer.cpp:
2018         (WebCore::ResourceBuffer::isUsingDiskImageCache):
2019         * loader/ResourceBuffer.h:
2020         * loader/cache/CachedImage.cpp:
2021         (WebCore::CachedImage::canUseDiskImageCache): Added.
2022         (WebCore::CachedImage::useDiskImageCache): Added.
2023         * loader/cache/CachedImage.h:
2024         * loader/cache/CachedResource.cpp:
2025         (WebCore::CachedResource::isSafeToMakePurgeable):
2026         (WebCore::CachedResource::isUsingDiskImageCache): Added.
2027         * loader/cache/CachedResource.h:
2028         (WebCore::CachedResource::canUseDiskImageCache): Added.
2029         (WebCore::CachedResource::useDiskImageCache): Added.
2030         * loader/cache/MemoryCache.cpp:
2031         (WebCore::MemoryCache::flushCachedImagesToDisk): Added.
2032         (WebCore::MemoryCache::TypeStatistic::addResource):
2033         (WebCore::MemoryCache::dumpStats):
2034         (WebCore::MemoryCache::dumpLRULists):
2035         * loader/cache/MemoryCache.h:
2036         (WebCore::MemoryCache::TypeStatistic::TypeStatistic):
2037         * loader/ios/DiskImageCacheClientIOS.h: Added.
2038         * loader/ios/DiskImageCacheIOS.h: Added.
2039         * loader/ios/DiskImageCacheIOS.mm: Added.
2040         * platform/Logging.h:
2041         * platform/SharedBuffer.cpp:
2042         (WebCore::SharedBuffer::SharedBuffer):
2043         (WebCore::SharedBuffer::~SharedBuffer):
2044         (WebCore::SharedBuffer::isAllowedToBeMemoryMapped): Added.
2045         (WebCore::SharedBuffer::allowToBeMemoryMapped): Added.
2046         (WebCore::SharedBuffer::failedMemoryMap): Added.
2047         (WebCore::SharedBuffer::markAsMemoryMapped): Added.
2048         (WebCore::SharedBuffer::memoryMappedNotificationCallbackData): Added.
2049         (WebCore::SharedBuffer::memoryMappedNotificationCallback): Added.
2050         (WebCore::SharedBuffer::setMemoryMappedNotificationCallback): Added.
2051         (WebCore::SharedBuffer::data):
2052         (WebCore::SharedBuffer::append):
2053         (WebCore::SharedBuffer::buffer):
2054         (WebCore::SharedBuffer::getSomeData):
2055         * platform/SharedBuffer.h:
2056         (WebCore::SharedBuffer::isMemoryMapped): Added.
2057         * platform/cf/SharedBufferCF.cpp:
2058         (WebCore::SharedBuffer::SharedBuffer):
2059
2060 2013-10-04  Bear Travis  <betravis@adobe.com>
2061
2062         [CSS Shapes] Basic shapes should be animatable for shape-outside
2063         https://bugs.webkit.org/show_bug.cgi?id=122343
2064
2065         Reviewed by Dirk Schulze.
2066
2067         Test: fast/shapes/shape-outside-floats/shape-outside-animation.html
2068
2069         Add shape outside to the list of animatable properties. The infrastructure
2070         is already in place for animating basic shapes on shape-inside and clipping
2071         paths. See https://bugs.webkit.org/show_bug.cgi?id=101854.
2072
2073         * page/animation/CSSPropertyAnimation.cpp:
2074         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
2075
2076 2013-10-04  Andreas Kling  <akling@apple.com>
2077
2078         Tighten typing in some RenderLayer code.
2079         <https://webkit.org/b/122342>
2080
2081         Reviewed by Antti Koivisto.
2082
2083         Use tighter types instead of Node and RenderObject inside RenderLayer
2084         where applicable.
2085
2086 2013-10-04  Ralph Thomas  <ralpht@gmail.com>
2087
2088         Inserting a JS generated keyframe animation shouldn't trigger a whole document style recalc
2089         https://bugs.webkit.org/show_bug.cgi?id=119479
2090
2091         Reviewed by Antti Koivisto.
2092
2093         Change CSSStyleSheet::didMutateRules to not invalidate all node's styles when inserting a
2094         @-webkit-keyframes rule, and to instead insert the rule directly into the StyleResolver.
2095
2096         Test: animation/keyframes-dynamic.html: adds and removes keyframe rules using JavaScript and
2097         validates that the correct elements are animated.
2098
2099         * css/CSSStyleSheet.cpp:
2100         (WebCore::CSSStyleSheet::didMutateRules):
2101         (WebCore::CSSStyleSheet::insertRule):
2102         * css/CSSStyleSheet.h:
2103
2104 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
2105
2106         [WebIDL] Annotate IDL interfaces under Source/WebCore/fileapi/ with the OperationsNotDeletable attribute
2107         https://bugs.webkit.org/show_bug.cgi?id=122275
2108
2109         Reviewed by Darin Adler.
2110
2111         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
2112         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
2113         doesn't have any effect, but will keep the operations not configurable after the generator is modified
2114         to preserve the original behavior. The attribute will be removed from each interface after checking
2115         conformity with other browsers (in terms of configurability of operations of that interface) and the
2116         WebKit's existing test suites.
2117
2118         This patch covers IDL interfaces under Source/WebCore/fileapi/.
2119
2120         * fileapi/Blob.idl:
2121         * fileapi/FileException.idl:
2122         * fileapi/FileList.idl:
2123         * fileapi/FileReader.idl:
2124         * fileapi/FileReaderSync.idl:
2125
2126 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
2127
2128         [WebIDL] Annotate IDL interfaces under Source/WebCore/dom/ with the OperationsNotDeletable attribute
2129         https://bugs.webkit.org/show_bug.cgi?id=122271
2130
2131         Reviewed by Darin Adler.
2132
2133         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
2134         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
2135         doesn't have any effect, but will keep the operations not configurable after the generator is modified
2136         to preserve the original behavior. The attribute will be removed from each interface after checking
2137         conformity with other browsers (in terms of configurability of operations of that interface) and the
2138         WebKit's existing test suites.
2139
2140         This patch covers IDL interfaces under Source/WebCore/dom/.
2141
2142         * dom/CharacterData.idl:
2143         * dom/ChildNode.idl:
2144         * dom/ClientRectList.idl:
2145         * dom/Clipboard.idl:
2146         * dom/CompositionEvent.idl:
2147         * dom/CustomEvent.idl:
2148         * dom/DOMCoreException.idl:
2149         * dom/DOMImplementation.idl:
2150         * dom/DOMNamedFlowCollection.idl:
2151         * dom/DOMStringList.idl:
2152         * dom/DOMStringMap.idl:
2153         * dom/DataTransferItem.idl:
2154         * dom/DataTransferItemList.idl:
2155         * dom/DeviceMotionEvent.idl:
2156         * dom/DeviceOrientationEvent.idl:
2157         * dom/Document.idl:
2158         * dom/DocumentFragment.idl:
2159         * dom/DocumentType.idl:
2160         * dom/Element.idl:
2161         * dom/Event.idl:
2162         * dom/EventException.idl:
2163         * dom/EventListener.idl:
2164         * dom/EventTarget.idl:
2165         * dom/KeyboardEvent.idl:
2166         * dom/MessageEvent.idl:
2167         * dom/MessagePort.idl:
2168         * dom/MouseEvent.idl:
2169         * dom/MutationEvent.idl:
2170         * dom/MutationObserver.idl:
2171         * dom/NamedNodeMap.idl:
2172         * dom/Node.idl:
2173         * dom/NodeFilter.idl:
2174         * dom/NodeIterator.idl:
2175         * dom/NodeList.idl:
2176         * dom/Range.idl:
2177         * dom/RangeException.idl:
2178         * dom/ShadowRoot.idl:
2179         * dom/Text.idl:
2180         * dom/TextEvent.idl:
2181         * dom/TouchEvent.idl:
2182         * dom/TouchList.idl:
2183         * dom/TreeWalker.idl:
2184         * dom/UIEvent.idl:
2185         * dom/WebKitNamedFlow.idl:
2186         * dom/WheelEvent.idl:
2187
2188 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
2189
2190         [WebIDL] Annotate IDL interfaces under Source/WebCore/xml/ with the OperationsNotDeletable attribute
2191         https://bugs.webkit.org/show_bug.cgi?id=122269
2192
2193         Reviewed by Darin Adler.
2194
2195         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
2196         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
2197         doesn't have any effect, but will keep the operations not configurable after the generator is modified
2198         to preserve the original behavior. The attribute will be removed from each interface after checking
2199         conformity with other browsers (in terms of configurability of operations of that interface) and the
2200         WebKit's existing test suites.
2201
2202         This patch covers IDL interfaces under Source/WebCore/xml/.
2203
2204         * xml/DOMParser.idl:
2205         * xml/XMLHttpRequest.idl:
2206         * xml/XMLHttpRequestException.idl:
2207         * xml/XMLHttpRequestUpload.idl:
2208         * xml/XMLSerializer.idl:
2209         * xml/XPathEvaluator.idl:
2210         * xml/XPathException.idl:
2211         * xml/XPathExpression.idl:
2212         * xml/XPathNSResolver.idl:
2213         * xml/XPathResult.idl:
2214         * xml/XSLTProcessor.idl:
2215
2216 2013-10-04  Bear Travis  <betravis@adobe.com>
2217
2218         [CSS Shapes] Shape Outside should relayout when set dynamically
2219         https://bugs.webkit.org/show_bug.cgi?id=122197
2220
2221         Reviewed by Alexandru Chiculita.
2222
2223         Tests: fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html
2224                fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html
2225
2226         When shape outside is modified, dependent content needs to relayout. This patch
2227         removes the float from the float lists and marks dependents for layout using
2228         RenderBox::removeFloatingOrPositionedChildFromBlockLists(). This is the same
2229         method used when switching from float: left to float: right and vice versa
2230         (see RenderElement::styleWillChange).
2231
2232         * rendering/RenderBox.cpp:
2233         (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Mark shape-outside dependents
2234         for layout.
2235         * rendering/RenderBox.h:
2236         (WebCore::RenderBox::markShapeOutsideDependentsForLayout): Mark all the items that may be
2237         affected by this shape-outside for relayout.
2238
2239 2013-10-04  Antti Koivisto  <antti@apple.com>
2240
2241         Tighten markContainingBlocksForLayout
2242         https://bugs.webkit.org/show_bug.cgi?id=122326
2243
2244         Reviewed by Anders Carlsson.
2245
2246 2013-10-04  Andreas Kling  <akling@apple.com>
2247
2248         Node: removedFrom() and insertedInto() should use references.
2249         <https://webkit.org/b/122315>
2250
2251         Reviewed by Anders Carlsson.
2252
2253         ContainerNode* -> ContainerNode&
2254
2255 2013-10-04  Romain Perier  <romain.perier@gmail.com>
2256
2257         Optimize strings copies in srcset parser
2258         https://bugs.webkit.org/show_bug.cgi?id=121899
2259
2260         Reviewed by Alexey Proskuryakov.
2261
2262         No new tests, covered by existing ones.
2263
2264         * html/parser/HTMLParserIdioms.cpp:
2265         (WebCore::parseImagesWithScaleFromSrcsetAttribute): Don't copy
2266         image.imageURL at each loop iteration, save indexes instead.
2267         (WebCore::bestFitSourceForImageAttributes): Make a String for
2268         the URL only when the corresponding candidate is chosen
2269         by the selection algorithm. It reduces the number of copies
2270         significantly and improves performance
2271         (around 30% with the "Release" profile and 60% with the "Debug" one).
2272
2273 2013-10-04  Alexey Proskuryakov  <ap@apple.com>
2274
2275         Add svn:ignore to *.pyc files in inspector/Scripts directory, so that they don't
2276         show up as unversioned all the time.
2277
2278         * inspector/Scripts: Added property svn:ignore.
2279
2280 2013-10-04  peavo@outlook.com  <peavo@outlook.com>
2281
2282         [Win][WebGL] Crash on exit
2283         https://bugs.webkit.org/show_bug.cgi?id=120764
2284
2285         Reviewed by Martin Robinson.
2286
2287         On exit, libGLESv2.dll is detached from the process and relevant memory is released
2288         before the atexit GL context cleanup handler is called, causing a NULL pointer crash.
2289         The GL context cleanup code was originally written to avoid a X server crash on exit,
2290         so it's only needed for PLATFORM(X11).
2291
2292         * platform/graphics/GLContext.cpp: Only clean up active GL contexts on exit for PLATFORM(X11).
2293         (WebCore::GLContext::cleanupSharedX11Display):
2294         (WebCore::GLContext::cleanupActiveContextsAtExit):
2295         (WebCore::GLContext::GLContext):
2296         (WebCore::GLContext::~GLContext):
2297
2298 2013-10-04  Mihnea Ovidenie  <mihnea@adobe.com>
2299
2300         [CSSRegions] Regions as stacking contexts should paint over positioned sibling
2301         https://bugs.webkit.org/show_bug.cgi?id=122321
2302
2303         Reviewed by Alexandru Chiculita.
2304
2305         Test: fast/regions/layers/region-normalflow-stacking-context.html
2306
2307         Since regions are stacking contexts, they should not be in normal flow list of layers.
2308         More clean-up after https://bugs.webkit.org/show_bug.cgi?id=117365 and https://bugs.webkit.org/show_bug.cgi?id=121828
2309         which enabled the layers.
2310
2311         * rendering/RenderLayer.cpp:
2312         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2313         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
2314
2315 2013-10-04  Krzysztof Wolanski  <k.wolanski@samsung.com>
2316
2317         [EFL] Enable correct behaviour for deleting regional indicator symbols
2318         https://bugs.webkit.org/show_bug.cgi?id=122209
2319
2320         Reviewed by Gyuyoung Kim.
2321
2322         Regional indicator symbols that are combined should behave as a single character when deleting.
2323         Removed unused variable initialState.
2324
2325         * rendering/RenderText.cpp:
2326         (WebCore::RenderText::previousOffsetForBackwardDeletion):
2327
2328 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
2329
2330         [WebIDL] Annotate IDL interfaces under Source/WebCore/css/ with the OperationsNotDeletable attribute
2331         https://bugs.webkit.org/show_bug.cgi?id=122276
2332
2333         Reviewed by Darin Adler.
2334
2335         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
2336         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
2337         doesn't have any effect, but will keep the operations not configurable after the generator is modified
2338         to preserve the original behavior. The attribute will be removed from each interface after checking
2339         conformity with other browsers (in terms of configurability of operations of that interface) and the
2340         WebKit's existing test suites.
2341
2342         This patch covers IDL interfaces under Source/WebCore/css/.
2343
2344         * css/CSSHostRule.idl:
2345         * css/CSSMediaRule.idl:
2346         * css/CSSPrimitiveValue.idl:
2347         * css/CSSRuleList.idl:
2348         * css/CSSStyleDeclaration.idl:
2349         * css/CSSStyleSheet.idl:
2350         * css/CSSSupportsRule.idl:
2351         * css/CSSValueList.idl:
2352         * css/DOMWindowCSS.idl:
2353         * css/FontLoader.idl:
2354         * css/MediaList.idl:
2355         * css/MediaQueryList.idl:
2356         * css/MediaQueryListListener.idl:
2357         * css/StyleMedia.idl:
2358         * css/StyleSheet.idl:
2359         * css/StyleSheetList.idl:
2360         * css/WebKitCSSFilterValue.idl:
2361         * css/WebKitCSSKeyframesRule.idl:
2362         * css/WebKitCSSMatrix.idl:
2363         * css/WebKitCSSTransformValue.idl:
2364
2365 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
2366
2367         [WebIDL] Annotate IDL interfaces under Source/WebCore/loader/appcache/ with the OperationsNotDeletable attribute
2368         https://bugs.webkit.org/show_bug.cgi?id=122274
2369
2370         Reviewed by Darin Adler.
2371
2372         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
2373         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
2374         doesn't have any effect, but will keep the operations not configurable after the generator is modified
2375         to preserve the original behavior. The attribute will be removed from each interface after checking
2376         conformity with other browsers (in terms of configurability of operations of that interface) and the
2377         WebKit's existing test suites.
2378
2379         This patch covers IDL interfaces under Source/WebCore/loader/appcache/.
2380
2381         * loader/appcache/DOMApplicationCache.idl:
2382
2383 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
2384
2385         [WebIDL] Annotate IDL interfaces under Source/WebCore/plugins/ with the OperationsNotDeletable attribute
2386         https://bugs.webkit.org/show_bug.cgi?id=122273
2387
2388         Reviewed by Darin Adler.
2389
2390         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
2391         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
2392         doesn't have any effect, but will keep the operations not configurable after the generator is modified
2393         to preserve the original behavior. The attribute will be removed from each interface after checking
2394         conformity with other browsers (in terms of configurability of operations of that interface) and the
2395         WebKit's existing test suites.
2396
2397         This patch covers IDL interfaces under Source/WebCore/plugins/.
2398
2399         * plugins/DOMMimeTypeArray.idl:
2400         * plugins/DOMPlugin.idl:
2401         * plugins/DOMPluginArray.idl:
2402
2403 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
2404
2405         [WebIDL] Annotate IDL interfaces under Source/WebCore/storage/ with the OperationsNotDeletable attribute
2406         https://bugs.webkit.org/show_bug.cgi?id=122272
2407
2408         Reviewed by Darin Adler.
2409
2410         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
2411         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
2412         doesn't have any effect, but will keep the operations not configurable after the generator is modified
2413         to preserve the original behavior. The attribute will be removed from each interface after checking
2414         conformity with other browsers (in terms of configurability of operations of that interface) and the
2415         WebKit's existing test suites.
2416
2417         This patch covers IDL interfaces under Source/WebCore/storage/.
2418
2419         * storage/Storage.idl:
2420         * storage/StorageEvent.idl:
2421
2422 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
2423
2424         [WebIDL] Annotate IDL interfaces under Source/WebCore/workers/ with the OperationsNotDeletable attribute
2425         https://bugs.webkit.org/show_bug.cgi?id=122270
2426
2427         Reviewed by Darin Adler.
2428
2429         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
2430         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
2431         doesn't have any effect, but will keep the operations not configurable after the generator is modified
2432         to preserve the original behavior. The attribute will be removed from each interface after checking
2433         conformity with other browsers (in terms of configurability of operations of that interface) and the
2434         WebKit's existing test suites.
2435
2436         This patch covers IDL interfaces under Source/WebCore/workers/.
2437
2438         * workers/DedicatedWorkerGlobalScope.idl:
2439         * workers/Worker.idl:
2440         * workers/WorkerGlobalScope.idl:
2441         * workers/WorkerLocation.idl:
2442
2443 2013-10-04  Andrei Bucur  <abucur@adobe.com>
2444
2445         [CSS Regions] Infinite loop when computing widows
2446         https://bugs.webkit.org/show_bug.cgi?id=122215
2447
2448         Reviewed by David Hyatt.
2449
2450         The patch ensures it's not possible to relayout a block indefinitely because of widows contraints. You can't
2451         break a block more than once to account for widows. This can happen if, for example, some lines are moved
2452         to the next container and there the content breaks in another container again without respecting the widows property.
2453         This is in line with the idea of not leaving empty fragmentation containers during layout.
2454
2455         Test: fast/regions/regions-widows-stack-overflow.html
2456
2457         * rendering/RenderBlockFlow.cpp:
2458         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
2459         (WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
2460         (WebCore::RenderBlockFlow::setDidBreakAtLineToAvoidWidow):
2461         (WebCore::RenderBlockFlow::clearDidBreakAtLineToAvoidWidow):
2462         (WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
2463
2464         * rendering/RenderBlockFlow.h:
2465         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData): Rename the m_shouldBreakAtLineToAvoidWidow
2466         flag to m_didBreakAtLineToAvoidWidow.
2467
2468         (WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow): Use the line index to determine if it should break or not.
2469         (WebCore::RenderBlockFlow::didBreakAtLineToAvoidWidow): Use to determine if a break already happened because of widows.
2470
2471         * rendering/RenderBlockLineLayout.cpp:
2472         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2473
2474 2013-10-03  Anders Carlsson  <andersca@apple.com>
2475
2476         Assert that we don't try to index past the end of the m_coreTextIndices array
2477         https://bugs.webkit.org/show_bug.cgi?id=122308
2478
2479         Reviewed by Dan Bernstein.
2480
2481         Because an assertion failure is better than a random crash.
2482
2483         * platform/graphics/mac/ComplexTextController.cpp:
2484         (WebCore::ComplexTextController::ComplexTextRun::indexAt):
2485
2486 2013-10-03  Antti Koivisto  <antti@apple.com>
2487
2488         Move setting of some layout bits to RenderElement
2489         https://bugs.webkit.org/show_bug.cgi?id=122256
2490
2491         Reviewed by Andreas Kling.
2492         
2493         These bits never apply to RenderText nodes:
2494         
2495         normalChildNeedsLayout
2496         posChildNeedsLayout
2497         needsSimplifiedNormalFlowLayout
2498         normalChildNeedsLayout
2499         positionedMovementLayout
2500
2501         The code for setting them can be moved to RenderElement.
2502
2503         Also separated the code paths for setting and clearing the bits and uninlined
2504         everything that is not massively popular.
2505
2506 2013-10-03  Sam Weinig  <sam@webkit.org>
2507
2508         Remove shouldRubberBandInDirection from the WKBundlePageUIClient
2509         https://bugs.webkit.org/show_bug.cgi?id=122309
2510
2511         Reviewed by Andreas Kling.
2512
2513         * loader/EmptyClients.h:
2514         * page/ChromeClient.h:
2515         * page/FrameView.cpp:
2516         * page/FrameView.h:
2517         * platform/ScrollableArea.h:
2518         * platform/mac/ScrollAnimatorMac.mm:
2519         (WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):
2520
2521 2013-10-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2522
2523         Fix the HTMLSelectElement.prototype.remove() method
2524         https://bugs.webkit.org/show_bug.cgi?id=121586
2525
2526         Reviewed by Darin Adler.
2527
2528         Fix the HTMLSelectElement.prototype.remove() method so that it behaves like
2529         Element.remove() if no argument is passed (from ChildNode). This behavior
2530         is consistent with Firefox and Blink.
2531
2532         See https://www.w3.org/Bugs/Public/show_bug.cgi?id=20720 for more
2533         information.
2534
2535         Tests: js/dom/select-options-remove.html
2536
2537         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2538         (WebCore::JSHTMLOptionsCollection::remove):
2539         Stop calling JSHTMLSelectElement::remove() blindly as it is dangerous, especially
2540         now that calling it without argument now detaches the element. Instead, have the
2541         bindings call the corresponding methods on the HTMLOptionsCollection implementation
2542         object, as it should.
2543
2544         * bindings/js/JSHTMLSelectElementCustom.cpp:
2545         (WebCore::JSHTMLSelectElement::remove):
2546         Call Element::remove() if no argument is given.
2547
2548         * html/HTMLOptionsCollection.cpp:
2549         (WebCore::HTMLOptionsCollection::remove):
2550         * html/HTMLOptionsCollection.h:
2551         * html/HTMLSelectElement.cpp:
2552         * html/HTMLSelectElement.h:
2553         Rename remove(int) to removeByIndex(int) to avoid conflict with
2554         Node::remove(ExceptionCode&).
2555
2556 2013-10-03  Samuel White  <samuel_white@apple.com>
2557
2558         Regression: AX: <table><caption> no longer exposed as AXTitle.
2559         https://bugs.webkit.org/show_bug.cgi?id=121977
2560
2561         Reviewed by Darin Adler.
2562
2563         Some cleanup of accessibilityText. Notably, subclasses were unnecessarily redeclaring this method as both private and
2564         protected. Added OVERRIDE keyword to these subclasses as needed. Moved titleElementText to virtual so we can do subclass
2565         overrides in cases like this bug. That is, AccessibilityTable can leverage the existing machinery for alternativeText,
2566         visibleText, and helpText, but we do some custom work ONLY in titleElementText.
2567
2568         Test: accessibility/table-title.html
2569
2570         * accessibility/AccessibilityImageMapLink.h:
2571         * accessibility/AccessibilityMediaControls.h:
2572         * accessibility/AccessibilityNodeObject.cpp:
2573         (WebCore::AccessibilityNodeObject::titleElementText):
2574         * accessibility/AccessibilityNodeObject.h:
2575         * accessibility/AccessibilityTable.cpp:
2576         (WebCore::AccessibilityTable::titleElementText):
2577         * accessibility/AccessibilityTable.h:
2578
2579 2013-10-03  Anders Carlsson  <andersca@apple.com>
2580
2581         Ignore deprecation warnings
2582         https://bugs.webkit.org/show_bug.cgi?id=122302
2583
2584         Reviewed by Mark Rowe.
2585
2586         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2587         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
2588         * bindings/objc/DOMHTML.mm:
2589         (-[DOMHTMLInputElement _rectOnScreen]):
2590         * page/mac/EventHandlerMac.mm:
2591         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
2592         * page/mac/FrameSnapshottingMac.mm:
2593         (WebCore::imageFromRect):
2594         * platform/graphics/mac/IconMac.mm:
2595         (WebCore::Icon::Icon):
2596         * platform/mac/DragImageMac.mm:
2597         (WebCore::scaleDragImage):
2598         * platform/mac/PlatformEventFactoryMac.mm:
2599         (WebCore::globalPoint):
2600         * platform/mac/ScrollViewMac.mm:
2601         (WebCore::ScrollView::platformContentsToScreen):
2602         (WebCore::ScrollView::platformScreenToContents):
2603
2604 2013-10-03  Hans Muller  <hmuller@adobe.com>
2605
2606         [CSS Shapes] Support the shape-image-threshold property
2607         https://bugs.webkit.org/show_bug.cgi?id=122254
2608
2609         Reviewed by Andreas Kling.
2610
2611         Replace the hardwired 0 Shape::createShape() threshold parameter with the style's
2612         shapeImageThreshold() value (which has been clamped to [0,1]).
2613
2614         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-001.html
2615                fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-002.html
2616
2617         * rendering/shapes/ShapeInfo.cpp:
2618         (WebCore::::computedShape):
2619
2620 2013-10-03  Mihai Maerean  <mmaerean@adobe.com>
2621
2622         [CSS Regions] Follow-up code style change after bug #121828 All regions have layers
2623         https://bugs.webkit.org/show_bug.cgi?id=122265
2624
2625         Reviewed by Darin Adler.
2626
2627         Comments moved to the cpp file, as requested in the review of bug #121828 All regions have layers.
2628
2629         No new tests, no behavior change.
2630
2631         * rendering/RenderMultiColumnSet.cpp:
2632         (WebCore::RenderMultiColumnSet::requiresLayer):
2633         * rendering/RenderMultiColumnSet.h:
2634         * rendering/RenderRegion.cpp:
2635         (WebCore::RenderRegion::requiresLayer):
2636         * rendering/RenderRegion.h:
2637
2638 2013-10-03  Alejandro G. Castro  <alex@igalia.com>
2639
2640         [cairo] Initialize the m_compositorTexture in GraphicsContext3DCairo.cpp
2641         https://bugs.webkit.org/show_bug.cgi?id=122285
2642
2643         Reviewed by Noam Rosenthal.
2644
2645         Initialize to the default texture to avoid the random texture name
2646         and generate the texture name.
2647
2648         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
2649         (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize
2650         m_compositorTexture.
2651         (WebCore::GraphicsContext3D::~GraphicsContext3D): Delete the
2652         generated textures names.
2653         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2654         (WebCore::GraphicsContext3D::reshapeFBOs): Generate the texture
2655         names for m_compositorTexture and m_texture.
2656
2657 2013-10-03  Zoltan Horvath  <zoltan@webkit.org>
2658
2659         [CSS Shapes] Support block content with inline content around floats in shape-inside
2660         https://bugs.webkit.org/show_bug.cgi?id=121616
2661
2662         Reviewed by David Hyatt.
2663
2664         In r156022 and r156364, I added support for floats inside shape-inside with inline content. This change extends
2665         the existing implementation to support block content with inline content (paragraphs). I added an extra text for
2666         positioning a float inside shape-inside without text content around it.
2667
2668         Tests: fast/shapes/shape-inside/shape-inside-left-float-in-lower-left-triangle-block-content.html
2669                fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle-block-content.html
2670                fast/shapes/shape-inside/shape-inside-left-float-in-lower-right-triangle.html
2671                fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-block-content.html
2672                fast/shapes/shape-inside/shape-inside-left-float-in-upper-right-triangle-block-content.html
2673
2674         * rendering/FloatingObjects.h:
2675         (WebCore::FloatingObject::logicalSize): Add new function to return the FloatingObject logical size.
2676         * rendering/LineWidth.cpp:
2677         (WebCore::LineWidth::fitBelowFloats): When the lineBreaker code pushes down the content below the floating object,
2678         we need to update the segments if we are in a shape-inside.
2679         * rendering/RenderBlock.cpp:
2680         (WebCore::RenderBlock::computeLogicalLocationForFloat): Do the positioning based on the float actual size, and use the
2681         recent shapeInsideInfo. (Calling layoutShapeInsideInfo which deals with the layoutStates also instead of shapeInsideInfo.)
2682         * rendering/RenderBlock.h:
2683         * rendering/RenderBlockLineLayout.cpp:
2684         (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): If we don't have inline content we still need to positionize
2685         our float content in a shape-inside.
2686         (WebCore::updateSegmentsForShapes): Use the right coordinates for block content with inline content.
2687
2688 2013-10-03  Brady Eidson  <beidson@apple.com>
2689
2690         Move IDBFactoryBackend creation to DatabaseStrategy.
2691         https://bugs.webkit.org/show_bug.cgi?id=122284
2692
2693         Reviewed by Alexey Proskuryakov.
2694
2695         * WebCore.exp.in:
2696         * WebCore.xcodeproj/project.pbxproj:
2697
2698         * Modules/indexeddb/IDBFactory.h:
2699         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
2700         (WebCore::IDBFactoryBackendInterface::create):
2701
2702         * platform/DatabaseStrategy.cpp:
2703         (WebCore::DatabaseStrategy::createIDBFactoryBackend): Implement a default.
2704         * platform/DatabaseStrategy.h:
2705
2706 2013-10-03  peavo@outlook.com  <peavo@outlook.com>
2707
2708         [WinCairo] Compile error with VIDEO disabled.
2709         https://bugs.webkit.org/show_bug.cgi?id=122266
2710
2711         Reviewed by Brent Fulgham.
2712
2713         * dom/Document.cpp:
2714         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent): Protect with ENABLE(VIDEO) guard.
2715
2716 2013-10-03  Hans Muller  <hmuller@adobe.com>
2717
2718         [CSS Shapes] add shape-margin support for image valued shapes
2719         https://bugs.webkit.org/show_bug.cgi?id=121619
2720
2721         Reviewed by Alexandru Chiculita.
2722
2723         Add support for computing the shape-margin boundary for a shape-outside whose
2724         value is an image.
2725
2726         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-001.html
2727                fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-002.html
2728                fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-003.html
2729
2730         * rendering/shapes/RasterShape.cpp:
2731         (WebCore::MarginIntervalGenerator::MarginIntervalGenerator): Internal utility that generates the margin intervals for the image interval specified with set().
2732         (WebCore::MarginIntervalGenerator::set):
2733         (WebCore::MarginIntervalGenerator::intervalAt):
2734         (WebCore::findInsertionPoint): Find the insertion point index for the the specified X value, within a vector of intervals sorted by X1.
2735         (WebCore::RasterShapeIntervals::uniteMarginInterval): Destructively unite one interval with an existing one, or append it.
2736         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
2737         (WebCore::RasterShape::marginIntervals): Return the lazily computed value, or create it with computeShapeMarginIntervals().
2738         * rendering/shapes/RasterShape.h:
2739         (WebCore::RasterShapeIntervals::getIntervals):
2740         (WebCore::RasterShape::RasterShape):
2741         (WebCore::RasterShapeIntervals::uniteMarginInterval):
2742         * WTF/wtf/MathExtras.h: Added clampToUnsigned() inline.
2743
2744 2013-10-03  Mihnea Ovidenie  <mihnea@adobe.com>
2745
2746         [CSSRegions] Remove unused RenderLayerModelObject::updateLayerIfNeeded
2747         https://bugs.webkit.org/show_bug.cgi?id=122262
2748
2749         Reviewed by Alexandru Chiculita.
2750
2751         All regions have layers by default therefore there is no need for this function.
2752         No tests needed, just a minor cleanup.
2753
2754         * rendering/RenderLayerModelObject.cpp:
2755         * rendering/RenderLayerModelObject.h:
2756
2757 2013-10-02  Mario Sanchez Prada  <mario.prada@samsung.com>
2758
2759         [ATK] Expose aria-invalid as a text attribute (not object attribute)
2760         https://bugs.webkit.org/show_bug.cgi?id=122015
2761
2762         Reviewed by Chris Fleizach.
2763
2764         Expose the aria-invalid attribute correctly through a text
2765         attribute (through the AtkText interface) instead of using an
2766         object, according to what the WAI-ARIA specs says.
2767         http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
2768
2769         This will be tested by accesibility/aria-invalid.html, which should
2770         keep passing after thanks to the changes done in the DRT and WKTR.
2771
2772         * accessibility/AccessibilityObject.cpp:
2773         (WebCore::AccessibilityObject::invalidStatus): Update this method
2774         to only return values recognized by the WAI-ARIA specification.
2775
2776         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2777         (getAttributeSetForAccessibilityObject): Expose aria-invalid as a
2778         custom text attribute 'invalid', following the lead of Firefox.
2779         Also register that custom attribute as a AtkTextAttribute.
2780         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2781         (webkitAccessibleGetAttributes): Remove exposure of aria-invalid
2782         as an object attribute from here.
2783
2784 2013-10-03  Zan Dobersek  <zdobersek@igalia.com>
2785
2786         Add the NotDeletable, OperationsNotDeletable IDL attributes
2787         https://bugs.webkit.org/show_bug.cgi?id=122217
2788
2789         Reviewed by Darin Adler.
2790
2791         Before adjusting the JSC bindings generator to enforce configurable operations and thus conform to the
2792         WebIDL specification in this regard, two no-op attributes are introduced that will preserve the current
2793         behavior of operations being non-configurable.
2794
2795         All the relevant interfaces will be annotated with the OperationsNotDeletable attribute first. After the
2796         generator is properly modified, this attribute will be removed from the interfaces after checking that
2797         the operations' configurability also matches the configurability of operations in other browser engines
2798         and that the change introduces no regressions in tests.
2799
2800         The NotDeletable attribute will be used as required to annotate operations that should stay
2801         non-configurable for backwards compatibility or cross-browser compatibility.
2802
2803         * bindings/scripts/IDLAttributes.txt:
2804
2805 2013-10-03  Ryosuke Niwa  <rniwa@webkit.org>
2806
2807         Remove preDispatchEventHandler and postDispatchEventHandler,
2808         functions that are supposed to be removed in the previous commit (r156825).
2809
2810         * dom/Node.h:
2811
2812 2013-10-02  Ryosuke Niwa  <rniwa@webkit.org>
2813
2814         Get rid of Node::preDispatchEventHandler and Node::postDispatchEventHandler
2815         https://bugs.webkit.org/show_bug.cgi?id=122144
2816
2817         Reviewed by Darin Adler.
2818
2819         Get rid of pre/post event dispatch callbacks preDispatchEventHandler and postDispatchEventHandler since
2820         the former was only called by HTMLMediaElement and HTMLInputElement and the latter was only called by
2821         HTMLInputElement.
2822
2823         Explicitly call HTMLMediaElement's willDispatchFullScreenChangeEvent in fullScreenChangeDelayTimerFired
2824         of Document since this is the only place that fires the fullscreenchange event.
2825
2826         Also add an explicit call to willDispatchEvent and didDispatchClickEvent in EventDispatcher::dispatch.
2827         This also allows us to stack-allocate InputElementClickHandlingState instead of having willDispatchEvent
2828         heap-allocate it and pass it around as void*.
2829
2830         * WebCore.order:
2831         * dom/Document.cpp:
2832         (WebCore::Document::fullScreenChangeDelayTimerFired):
2833         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent):
2834         * dom/Document.h:
2835         * dom/EventContext.cpp:
2836         * dom/EventDispatcher.cpp:
2837         (WebCore::EventDispatcher::dispatch):
2838         (WebCore::EventDispatcher::callWillDispatchEventOnInputElement):
2839         (WebCore::EventDispatcher::dispatchEventPostProcess):
2840         * dom/EventDispatcher.h:
2841         * html/CheckboxInputType.cpp:
2842         (WebCore::CheckboxInputType::willDispatchClick):
2843         * html/CheckboxInputType.h:
2844         * html/HTMLInputElement.cpp:
2845         (WebCore::HTMLInputElement::willDispatchEvent):
2846         (WebCore::HTMLInputElement::didDispatchClickEvent):
2847         * html/HTMLInputElement.h:
2848         * html/HTMLMediaElement.cpp:
2849         * html/HTMLMediaElement.h:
2850         (WebCore::HTMLMediaElement::willDispatchFullScreenChangeEvent): Renamed from preDispatchEventHandler.
2851         * html/HTMLTextFormControlElement.h:
2852         * html/InputType.cpp:
2853         (WebCore::InputType::willDispatchClick):
2854         * html/InputType.h:
2855         * html/RadioInputType.cpp:
2856         (WebCore::RadioInputType::willDispatchClick):
2857         * html/RadioInputType.h:
2858
2859 2013-10-02  Ryosuke Niwa  <rniwa@webkit.org>
2860
2861         Update binding test results after r156808 for r156769.
2862
2863         * bindings/scripts/test/JS/JSattribute.cpp:
2864         (WebCore::JSattributeOwner::finalize):
2865         * bindings/scripts/test/JS/JSattribute.h:
2866         (WebCore::wrapperOwner):
2867         (WebCore::wrapperContext):
2868         * bindings/scripts/test/JS/JSreadonly.cpp:
2869         (WebCore::JSreadonlyOwner::finalize):
2870         * bindings/scripts/test/JS/JSreadonly.h:
2871         (WebCore::wrapperOwner):
2872         (WebCore::wrapperContext):
2873
2874 2013-10-02  Commit Queue  <commit-queue@webkit.org>
2875
2876         Unreviewed, rolling out r156816.
2877         http://trac.webkit.org/changeset/156816
2878         https://bugs.webkit.org/show_bug.cgi?id=122259
2879
2880         broke 8 tests (Requested by kling on #webkit).
2881
2882         * html/HTMLFrameSetElement.cpp:
2883         (WebCore::HTMLFrameSetElement::willRecalcStyle):
2884         * html/RangeInputType.cpp:
2885         (WebCore::RangeInputType::listAttributeTargetChanged):
2886         * html/shadow/SliderThumbElement.cpp:
2887         (WebCore::RenderSliderContainer::layout):
2888         (WebCore::SliderThumbElement::setPositionFromValue):
2889         (WebCore::SliderThumbElement::setPositionFromPoint):
2890         (WebCore::SliderThumbElement::stopDragging):
2891         * page/FrameView.cpp:
2892         (WebCore::FrameView::setHeaderHeight):
2893         (WebCore::FrameView::setFooterHeight):
2894         (WebCore::FrameView::layout):
2895         (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
2896         (WebCore::FrameView::scheduleRelayout):
2897         (WebCore::FrameView::setNeedsLayout):
2898         * page/Page.cpp:
2899         (WebCore::Page::setPageScaleFactor):
2900         * rendering/FlowThreadController.h:
2901         (WebCore::FlowThreadController::setIsRenderNamedFlowThreadOrderDirty):
2902         * rendering/RenderBlock.cpp:
2903         (WebCore::RenderBlock::relayoutShapeDescendantIfMoved):
2904         (WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
2905         (WebCore::RenderBlock::layoutBlock):
2906         (WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout):
2907         (WebCore::RenderBlock::dirtyForLayoutFromPercentageHeightDescendants):
2908         (WebCore::RenderBlock::simplifiedNormalFlowLayout):
2909         (WebCore::RenderBlock::simplifiedLayout):
2910         (WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
2911         (WebCore::RenderBlock::layoutPositionedObjects):
2912         (WebCore::RenderBlock::markPositionedObjectsForLayout):
2913         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
2914         (WebCore::RenderBlock::removePositionedObjects):
2915         (WebCore::RenderBlock::insertFloatingObject):
2916         (WebCore::RenderBlock::positionNewFloats):
2917         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
2918         (WebCore::RenderBlock::getClearDelta):
2919         * rendering/RenderBlockFlow.cpp:
2920         (WebCore::RenderBlockFlow::layoutBlock):
2921         (WebCore::RenderBlockFlow::layoutBlockChild):
2922         (WebCore::RenderBlockFlow::adjustPositionedBlock):
2923         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
2924         * rendering/RenderBlockLineLayout.cpp:
2925         (WebCore::RenderBlock::layoutRunsAndFloats):
2926         (WebCore::RenderBlockFlow::layoutInlineChildren):
2927         (WebCore::RenderBlock::positionNewFloatOnLine):
2928         * rendering/RenderBox.cpp:
2929         (WebCore::RenderBox::styleWillChange):
2930         (WebCore::RenderBox::styleDidChange):
2931         (WebCore::RenderBox::layout):
2932         (WebCore::RenderBox::positionLineBox):
2933         * rendering/RenderDeprecatedFlexibleBox.cpp:
2934         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2935         (WebCore::gatherFlexChildrenInfo):
2936         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
2937         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
2938         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
2939         (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
2940         * rendering/RenderElement.cpp:
2941         (WebCore::RenderElement::insertChildInternal):
2942         * rendering/RenderElement.h:
2943         (WebCore::RenderElement::setAncestorLineBoxDirty):
2944         (WebCore::RenderObject::setNeedsLayout):
2945         * rendering/RenderEmbeddedObject.cpp:
2946         (WebCore::RenderEmbeddedObject::layout):
2947         * rendering/RenderFieldset.cpp:
2948         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
2949         * rendering/RenderFlexibleBox.cpp:
2950         (WebCore::RenderFlexibleBox::styleDidChange):
2951         (WebCore::RenderFlexibleBox::layoutBlock):
2952         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
2953         (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
2954         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2955         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
2956         * rendering/RenderFlowThread.cpp:
2957         (WebCore::RenderFlowThread::invalidateRegions):
2958         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
2959         * rendering/RenderFrameBase.cpp:
2960         (WebCore::RenderFrameBase::layoutWithFlattening):
2961         * rendering/RenderFrameSet.cpp:
2962         (WebCore::RenderFrameSet::layout):
2963         (WebCore::RenderFrameSet::positionFrames):
2964         (WebCore::RenderFrameSet::positionFramesWithFlattening):
2965         (WebCore::RenderFrameSet::continueResizing):
2966         * rendering/RenderGrid.cpp:
2967         (WebCore::RenderGrid::layoutBlock):
2968         (WebCore::RenderGrid::logicalContentHeightForChild):
2969         (WebCore::RenderGrid::layoutGridItems):
2970         * rendering/RenderHTMLCanvas.cpp:
2971         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
2972         * rendering/RenderIFrame.cpp:
2973         (WebCore::RenderIFrame::layout):
2974         * rendering/RenderImage.cpp:
2975         (WebCore::RenderImage::imageDimensionsChanged):
2976         * rendering/RenderInline.cpp:
2977         (WebCore::RenderInline::styleDidChange):
2978         * rendering/RenderLayer.cpp:
2979         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
2980         * rendering/RenderLayerModelObject.cpp:
2981         (WebCore::RenderLayerModelObject::styleDidChange):
2982         * rendering/RenderListMarker.cpp:
2983         (WebCore::RenderListMarker::layout):
2984         * rendering/RenderMarquee.cpp:
2985         (WebCore::RenderMarquee::updateMarqueeStyle):
2986         * rendering/RenderMedia.cpp:
2987         (WebCore::RenderMedia::layout):
2988         * rendering/RenderMultiColumnBlock.cpp:
2989         (WebCore::RenderMultiColumnBlock::relayoutForPagination):
2990         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
2991         * rendering/RenderObject.cpp:
2992         (WebCore::RenderObject::markContainingBlocksForLayout):
2993         (WebCore::RenderObject::layout):
2994         * rendering/RenderObject.h:
2995         (WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc):
2996         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
2997         (WebCore::RenderObject::setNormalChildNeedsLayout):
2998         (WebCore::RenderObject::setPosChildNeedsLayout):
2999         (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
3000         (WebCore::RenderObject::setChildNeedsLayout):
3001         * rendering/RenderReplaced.cpp:
3002         (WebCore::RenderReplaced::layout):
3003         * rendering/RenderReplica.cpp:
3004         (WebCore::RenderReplica::layout):
3005         * rendering/RenderRubyRun.cpp:
3006         (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
3007         * rendering/RenderScrollbar.cpp:
3008         (WebCore::RenderScrollbar::updateScrollbarParts):
3009         * rendering/RenderScrollbarPart.cpp:
3010         (WebCore::RenderScrollbarPart::layout):
3011         * rendering/RenderTable.cpp:
3012         (WebCore::RenderTable::layout):
3013         * rendering/RenderTable.h:
3014         (WebCore::RenderTable::setNeedsSectionRecalc):
3015         * rendering/RenderTableCell.cpp:
3016         (WebCore::RenderTableCell::computeIntrinsicPadding):
3017         (WebCore::RenderTableCell::setCellLogicalWidth):
3018         (WebCore::RenderTableCell::layout):
3019         * rendering/RenderTableRow.cpp:
3020         (WebCore::RenderTableRow::styleDidChange):
3021         (WebCore::RenderTableRow::layout):
3022         * rendering/RenderTableSection.cpp:
3023         (WebCore::RenderTableSection::calcRowLogicalHeight):
3024         (WebCore::RenderTableSection::layout):
3025         (WebCore::RenderTableSection::layoutRows):
3026         (WebCore::RenderTableSection::recalcCells):
3027         * rendering/RenderTextControl.cpp:
3028         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
3029         * rendering/RenderTextControlSingleLine.cpp:
3030         (WebCore::setNeedsLayoutOnAncestors):
3031         (WebCore::RenderTextControlSingleLine::layout):
3032         (WebCore::RenderTextControlSingleLine::styleDidChange):
3033         * rendering/RenderVideo.cpp:
3034         (WebCore::RenderVideo::updateIntrinsicSize):
3035         * rendering/RenderView.cpp:
3036         (WebCore::RenderView::layout):
3037         * rendering/RenderWidget.cpp:
3038         (WebCore::RenderWidget::layout):
3039         * rendering/mathml/RenderMathMLBlock.cpp:
3040         (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
3041         * rendering/mathml/RenderMathMLScripts.cpp:
3042         (WebCore::RenderMathMLScripts::layout):
3043         * rendering/svg/RenderSVGContainer.cpp:
3044         (WebCore::RenderSVGContainer::layout):
3045         * rendering/svg/RenderSVGGradientStop.cpp:
3046         (WebCore::RenderSVGGradientStop::layout):
3047         * rendering/svg/RenderSVGHiddenContainer.cpp:
3048         (WebCore::RenderSVGHiddenContainer::layout):
3049         * rendering/svg/RenderSVGImage.cpp:
3050         (WebCore::RenderSVGImage::layout):
3051         * rendering/svg/RenderSVGResource.cpp:
3052         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
3053         * rendering/svg/RenderSVGResourceContainer.cpp:
3054         (WebCore::RenderSVGResourceContainer::registerResource):
3055         * rendering/svg/RenderSVGRoot.cpp:
3056         (WebCore::RenderSVGRoot::layout):
3057         * rendering/svg/RenderSVGShape.cpp:
3058         (WebCore::RenderSVGShape::layout):
3059         * rendering/svg/RenderSVGText.cpp:
3060         (WebCore::RenderSVGText::layout):
3061         * rendering/svg/SVGRenderSupport.cpp:
3062         (WebCore::SVGRenderSupport::layoutChildren):
3063         * svg/SVGClipPathElement.cpp:
3064         (WebCore::SVGClipPathElement::svgAttributeChanged):
3065         (WebCore::SVGClipPathElement::childrenChanged):
3066         * svg/SVGFilterElement.cpp:
3067         (WebCore::SVGFilterElement::setFilterRes):
3068         (WebCore::SVGFilterElement::svgAttributeChanged):
3069         (WebCore::SVGFilterElement::childrenChanged):
3070         * svg/SVGGradientElement.cpp:
3071         (WebCore::SVGGradientElement::svgAttributeChanged):
3072         (WebCore::SVGGradientElement::childrenChanged):
3073         * svg/SVGLinearGradientElement.cpp:
3074         (WebCore::SVGLinearGradientElement::svgAttributeChanged):
3075         * svg/SVGMarkerElement.cpp:
3076         (WebCore::SVGMarkerElement::svgAttributeChanged):
3077         (WebCore::SVGMarkerElement::childrenChanged):
3078         * svg/SVGMaskElement.cpp:
3079         (WebCore::SVGMaskElement::svgAttributeChanged):
3080         (WebCore::SVGMaskElement::childrenChanged):
3081         * svg/SVGPatternElement.cpp:
3082         (WebCore::SVGPatternElement::svgAttributeChanged):
3083         (WebCore::SVGPatternElement::childrenChanged):
3084         * svg/SVGRadialGradientElement.cpp:
3085         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
3086         * svg/SVGSVGElement.cpp:
3087         (WebCore::SVGSVGElement::updateCurrentTranslate):
3088
3089 2013-10-02  Andreas Kling  <akling@apple.com>
3090
3091         Keep SVGElementRareData in an SVGElement member instead of a hashmap.
3092         <https://webkit.org/b/122253>
3093
3094         Reviewed by Antti Koivisto.
3095
3096         Free up another Node flag by moving SVGElement's SVG-specific rare data
3097         to a member variable instead of tracking them in a hashmap on the side.
3098
3099         This grows SVGElement by one pointer, but I will make up for this in
3100         subsequent patches.
3101
3102 2013-10-02  Antti Koivisto  <antti@apple.com>
3103
3104         Move setting of some layout bits to RenderElement
3105         https://bugs.webkit.org/show_bug.cgi?id=122256
3106
3107         Reviewed by Andreas Kling.
3108         
3109         These bits never apply to RenderText nodes:
3110         
3111         normalChildNeedsLayout
3112         posChildNeedsLayout
3113         needsSimplifiedNormalFlowLayout
3114         normalChildNeedsLayout
3115         positionedMovementLayout
3116
3117         The code for setting them can be moved to RenderElement.
3118
3119         Also separated the code paths for setting and clearing the bits and uninlined
3120         everything that is not massively popular.
3121
3122 2013-10-02  Andreas Kling  <akling@apple.com>
3123
3124         CTTE: Drag events are only dispatched on Elements.
3125         <https://webkit.org/b/122250>
3126
3127         Reviewed by Antti Koivisto.
3128
3129         We never dispatch drag events on non-Element nodes so tighten up the
3130         code to operate on Elements instead.
3131
3132 2013-10-02  Hans Muller  <hmuller@adobe.com>
3133
3134         [CSS Shapes] Implement the shape-image-threshold property
3135         https://bugs.webkit.org/show_bug.cgi?id=122216
3136
3137         Reviewed by Andreas Kling.
3138
3139         Added support for the CSS shape-image-threshold property. This change
3140         just enables parsing the property, it's not connected to the
3141         Shapes code yet.
3142
3143         The number valued shape-image-threshold property is defined here:
3144         http://dev.w3.org/csswg/css-shapes-1/#shape-image-threshold-property
3145         Its computed value is clamped to the range [0, 1].
3146
3147         Test: fast/shapes/parsing/parsing-shape-image-threshold.html
3148
3149         * css/CSSComputedStyleDeclaration.cpp:
3150         (WebCore::ComputedStyleExtractor::propertyValue):
3151         * css/CSSParser.cpp:
3152         (WebCore::CSSParser::parseValue):
3153         * css/CSSPropertyNames.in:
3154         * css/DeprecatedStyleBuilder.cpp:
3155         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3156         * css/StyleResolver.cpp:
3157         (WebCore::StyleResolver::applyProperty):
3158         * rendering/style/RenderStyle.h:
3159         * rendering/style/StyleRareNonInheritedData.cpp:
3160         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3161         (WebCore::StyleRareNonInheritedData::operator==):
3162         * rendering/style/StyleRareNonInheritedData.h:
3163
3164 2013-10-02  Andreas Kling  <akling@apple.com>
3165
3166         Remove Qt-specific code in WebCore/plugins.
3167         <https://webkit.org/b/122247>
3168
3169         Reviewed by Anders Carlsson.
3170
3171         Purge PLATFORM(QT) blocks and Qt-specific files.
3172
3173 2013-10-02  Eric Carlson  <eric.carlson@apple.com>
3174
3175         IDL parser should remove a leading "_" from identifier names
3176         https://bugs.webkit.org/show_bug.cgi?id=122239
3177
3178         Reviewed by Jer Noble.
3179
3180         No new tests, updated bindings tests and results.
3181
3182         * bindings/scripts/IDLParser.pm:
3183         (identifierRemoveNullablePrefix): Remove leading "_".
3184         (parseInterface): Call identifierRemoveNullablePrefix.
3185         (parseException): Ditto.
3186         (parseEnum): Ditto.
3187         (parseConst): Ditto.
3188         (parseAttributeRest): Ditto.
3189         (parseOperationRest): Ditto.
3190         (parseOptionalOrRequiredArgument): Ditto.
3191         (parseExceptionField): Ditto.
3192         (parseNonAnyType): Ditto.
3193
3194         Update tests and results.
3195         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
3196         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3197         * bindings/scripts/test/CPP/WebDOMattribute.cpp: Added.
3198         * bindings/scripts/test/CPP/WebDOMattribute.h: Added.
3199         * bindings/scripts/test/CPP/WebDOMreadonly.cpp: Added.
3200         * bindings/scripts/test/CPP/WebDOMreadonly.h: Added.
3201         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3202         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3203         * bindings/scripts/test/GObject/WebKitDOMTestObj.symbols:
3204         * bindings/scripts/test/GObject/WebKitDOMattribute.cpp: Added.
3205         * bindings/scripts/test/GObject/WebKitDOMattribute.h: Added.
3206         * bindings/scripts/test/GObject/WebKitDOMattribute.symbols: Added.
3207         * bindings/scripts/test/GObject/WebKitDOMattributePrivate.h: Added.
3208         * bindings/scripts/test/GObject/WebKitDOMreadonly.cpp: Added.
3209         * bindings/scripts/test/GObject/WebKitDOMreadonly.h: Added.
3210         * bindings/scripts/test/GObject/WebKitDOMreadonly.symbols: Added.
3211         * bindings/scripts/test/GObject/WebKitDOMreadonlyPrivate.h: Added.
3212         * bindings/scripts/test/JS/JSTestObj.cpp:
3213         * bindings/scripts/test/JS/JSTestObj.h:
3214         * bindings/scripts/test/JS/JSattribute.cpp: Added.
3215         * bindings/scripts/test/JS/JSattribute.h: Added.
3216         * bindings/scripts/test/JS/JSreadonly.cpp: Added.
3217         * bindings/scripts/test/JS/JSreadonly.h: Added.
3218         * bindings/scripts/test/ObjC/DOMTestObj.h:
3219         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3220         * bindings/scripts/test/ObjC/DOMattribute.h: Added.
3221         * bindings/scripts/test/ObjC/DOMattribute.mm: Added.
3222         * bindings/scripts/test/ObjC/DOMattributeInternal.h: Added.
3223         * bindings/scripts/test/ObjC/DOMreadonly.h: Added.
3224         * bindings/scripts/test/ObjC/DOMreadonly.mm: Added.
3225         * bindings/scripts/test/ObjC/DOMreadonlyInternal.h: Added.
3226         * bindings/scripts/test/TestException.idl:
3227         * bindings/scripts/test/TestInterface.idl:
3228         * bindings/scripts/test/TestObj.idl:
3229
3230 2013-10-02  Andreas Kling  <akling@apple.com>
3231
3232         Remove Qt-specific code in WebCore/{bindings,bridge,loader,icon,testing}.
3233         <https://webkit.org/b/122242>
3234
3235         Reviewed by Anders Carlsson.
3236
3237         Purge PLATFORM(QT) blocks and Qt-specific files.
3238
3239 2013-10-02  Andreas Kling  <akling@apple.com>
3240
3241         Remove Qt-specific code in WebCore/{page,accessibility}.
3242         <https://webkit.org/b/122222>
3243
3244         Reviewed by Anders Carlsson.
3245
3246         Purge PLATFORM(QT) blocks and FooBarQt.* files.
3247
3248 2013-10-02  Zoltan Horvath  <zoltan@webkit.org>
3249
3250         [CSS Shapes] Move ShapeInsideInfo::updateSegmentsForLine implementations into the cpp
3251         https://bugs.webkit.org/show_bug.cgi?id=122236
3252
3253         Reviewed by Oliver Hunt.
3254
3255         There is no reason for updateSegmentsForLine methods to be inline. I moved them to the cpp.
3256
3257         No new tests, no behavior change.
3258
3259         * rendering/shapes/ShapeInsideInfo.cpp:
3260         (WebCore::ShapeInsideInfo::updateSegmentsForLine):
3261         * rendering/shapes/ShapeInsideInfo.h:
3262
3263 2013-10-02  Andreas Kling  <akling@apple.com>
3264
3265         Remove Qt from WebCore/platform.
3266         <https://webkit.org/b/122228>
3267
3268         Reviewed by Anders Carlsson.
3269
3270         Purge PLATFORM(QT) blocks and FooBarQt.* files.
3271
3272 2013-10-02  Tim Horton  <timothy_horton@apple.com>
3273
3274         [mac] Stop using DrawingAreaImpl on PLATFORM(MAC) 
3275         https://bugs.webkit.org/show_bug.cgi?id=121859
3276         <rdar://problem/15069359>
3277
3278         Reviewed by Anders Carlsson.
3279
3280         Test: platform/mac-wk2/tiled-drawing/window-server-snapshots-work.html
3281
3282         * page/FrameView.cpp:
3283         (WebCore::FrameView::addTrackedRepaintRect):
3284         (WebCore::FrameView::repaintContentRectangle):
3285         * page/FrameView.h:
3286         Factor out the coordinate conversion and appending of new repaint rects on FrameView.
3287
3288         * platform/graphics/GraphicsLayer.cpp:
3289         (WebCore::GraphicsLayer::dumpProperties):
3290         * rendering/RenderLayerBacking.cpp:
3291         (WebCore::RenderLayerBacking::shouldDumpPropertyForLayer):
3292         Don't dump repaint rects on the root tile cache, they'll be included at the top,
3293         where FrameView's repaints are normally included.
3294
3295         * rendering/RenderLayerBacking.cpp:
3296         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
3297         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
3298         Push the root tile cache's tracked repaint rects to FrameView instead.
3299
3300 2013-10-02  Benjamin Poulain  <benjamin@webkit.org>
3301
3302         Clean up more <style scoped> from style resolution
3303         https://bugs.webkit.org/show_bug.cgi?id=122188
3304
3305         Reviewed by Darin Adler.
3306
3307         * css/ElementRuleCollector.cpp:
3308         (WebCore::MatchRequest::MatchRequest):
3309         (WebCore::ElementRuleCollector::collectMatchingRules):
3310         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
3311         (WebCore::ElementRuleCollector::matchAuthorRules):
3312         (WebCore::ElementRuleCollector::ruleMatches):
3313         (WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
3314         * css/ElementRuleCollector.h:
3315         * css/SelectorChecker.cpp:
3316         (WebCore::SelectorChecker::matchRecursively):
3317         * css/SelectorChecker.h:
3318         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
3319         * dom/SelectorQuery.cpp:
3320         (WebCore::SelectorDataList::selectorMatches):
3321
3322 2013-10-02  Anders Carlsson  <andersca@apple.com>
3323
3324         Update bindings test results.
3325
3326         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3327         (WebCore::JSTestActiveDOMObjectOwner::finalize):
3328         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
3329         (WebCore::wrapperOwner):
3330         (WebCore::wrapperContext):
3331         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3332         (WebCore::JSTestCustomNamedGetterOwner::finalize):
3333         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
3334         (WebCore::wrapperOwner):
3335         (WebCore::wrapperContext):
3336         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3337         (WebCore::JSTestEventConstructorOwner::finalize):
3338         * bindings/scripts/test/JS/JSTestEventConstructor.h:
3339         (WebCore::wrapperOwner):
3340         (WebCore::wrapperContext):
3341         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3342         (WebCore::JSTestEventTargetOwner::finalize):
3343         * bindings/scripts/test/JS/JSTestEventTarget.h:
3344         (WebCore::wrapperOwner):
3345         (WebCore::wrapperContext):
3346         * bindings/scripts/test/JS/JSTestException.cpp:
3347         (WebCore::JSTestExceptionOwner::finalize):
3348         * bindings/scripts/test/JS/JSTestException.h:
3349         (WebCore::wrapperOwner):
3350         (WebCore::wrapperContext):
3351         * bindings/scripts/test/JS/JSTestInterface.cpp:
3352         (WebCore::JSTestInterfaceOwner::finalize):
3353         * bindings/scripts/test/JS/JSTestInterface.h:
3354         (WebCore::wrapperOwner):
3355         (WebCore::wrapperContext):
3356         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3357         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
3358         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3359         (WebCore::wrapperOwner):
3360         (WebCore::wrapperContext):
3361         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3362         (WebCore::JSTestNamedConstructorOwner::finalize):
3363         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
3364         (WebCore::wrapperOwner):
3365         (WebCore::wrapperContext):
3366         * bindings/scripts/test/JS/JSTestObj.cpp:
3367         (WebCore::JSTestObjOwner::finalize):
3368         * bindings/scripts/test/JS/JSTestObj.h:
3369         (WebCore::wrapperOwner):
3370         (WebCore::wrapperContext):
3371         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3372         (WebCore::JSTestOverloadedConstructorsOwner::finalize):
3373         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
3374         (WebCore::wrapperOwner):
3375         (WebCore::wrapperContext):
3376         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3377         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
3378         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3379         (WebCore::wrapperOwner):
3380         (WebCore::wrapperContext):
3381         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3382         (WebCore::JSTestTypedefsOwner::finalize):
3383         * bindings/scripts/test/JS/JSTestTypedefs.h:
3384         (WebCore::wrapperOwner):
3385         (WebCore::wrapperContext):
3386
3387 2013-10-02  Andreas Kling  <akling@apple.com>
3388
3389         Remove Qt-specific code in WebCore/{rendering,editing,history}.
3390         <https://webkit.org/b/122220>
3391
3392         Reviewed by Anders Carlsson.
3393
3394         Purge PLATFORM(QT) blocks and FooBarQt.* files.
3395
3396 2013-10-02  Andreas Kling  <akling@apple.com>
3397
3398         Remove Qt-specific code in common WebCore/{html,dom} files.
3399         <https://webkit.org/b/122219>
3400
3401         Reviewed by Anders Carlsson.
3402
3403         Purge PLATFORM(QT) blocks.
3404
3405 2013-10-01  Sam Weinig  <sam@webkit.org>
3406
3407         CTTE: DOMWrapperWorlds should be passed around by reference
3408         https://bugs.webkit.org/show_bug.cgi?id=122206
3409
3410         Reviewed by Andreas Kling.
3411
3412         * bindings/js/DOMWrapperWorld.cpp:
3413         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
3414         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
3415         (WebCore::DOMWrapperWorld::clearWrappers):
3416         (WebCore::normalWorld):
3417         (WebCore::mainThreadNormalWorld):
3418         * bindings/js/DOMWrapperWorld.h:
3419         (WebCore::debuggerWorld):
3420         (WebCore::pluginWorld):
3421         (WebCore::currentWorld):
3422         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3423         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
3424         * bindings/js/JSCSSValueCustom.cpp:
3425         (WebCore::JSCSSValueOwner::finalize):
3426         * bindings/js/JSDOMBinding.h:
3427         (WebCore::wrapperOwner):
3428         (WebCore::wrapperContext):
3429         (WebCore::getInlineCachedWrapper):
3430         (WebCore::setInlineCachedWrapper):
3431         (WebCore::clearInlineCachedWrapper):
3432         (WebCore::getCachedWrapper):
3433         (WebCore::cacheWrapper):
3434         (WebCore::uncacheWrapper):
3435         (WebCore::jsStringWithCache):
3436         * bindings/js/JSDOMGlobalObject.cpp:
3437         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
3438         (WebCore::toJSDOMGlobalObject):
3439         * bindings/js/JSDOMGlobalObject.h:
3440         (WebCore::JSDOMGlobalObject::world):
3441         * bindings/js/JSDOMWindowBase.cpp:
3442         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3443         (WebCore::toJSDOMWindow):
3444         * bindings/js/JSDOMWindowBase.h:
3445         * bindings/js/JSDOMWindowShell.cpp:
3446         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
3447         (WebCore::JSDOMWindowShell::setWindow):
3448         (WebCore::toJSDOMWindowShell):
3449         * bindings/js/JSDOMWindowShell.h:
3450         (WebCore::JSDOMWindowShell::create):
3451         (WebCore::JSDOMWindowShell::world):
3452         * bindings/js/JSErrorHandler.cpp:
3453         (WebCore::JSErrorHandler::JSErrorHandler):
3454         * bindings/js/JSErrorHandler.h:
3455         (WebCore::JSErrorHandler::create):
3456         * bindings/js/JSEventListener.cpp:
3457         (WebCore::JSEventListener::JSEventListener):
3458         (WebCore::JSEventListener::handleEvent):
3459         * bindings/js/JSEventListener.h:
3460         (WebCore::JSEventListener::create):
3461         (WebCore::JSEventListener::isolatedWorld):
3462         * bindings/js/JSInjectedScriptHostCustom.cpp:
3463         (WebCore::getJSListenerFunctions):
3464         * bindings/js/JSLazyEventListener.cpp:
3465         (WebCore::JSLazyEventListener::JSLazyEventListener):
3466         * bindings/js/JSLazyEventListener.h:
3467         * bindings/js/JSMutationCallback.cpp:
3468         (WebCore::JSMutationCallback::JSMutationCallback):
3469         (WebCore::JSMutationCallback::call):
3470         * bindings/js/JSNodeCustom.cpp:
3471         (WebCore::JSNodeOwner::finalize):
3472         * bindings/js/JSPluginElementFunctions.h:
3473         (WebCore::pluginElementCustomGetOwnPropertySlot):
3474         * bindings/js/JSWorkerGlobalScopeBase.cpp:
3475         (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
3476         * bindings/js/ScheduledAction.cpp:
3477         (WebCore::ScheduledAction::create):
3478         (WebCore::ScheduledAction::ScheduledAction):
3479         (WebCore::ScheduledAction::execute):
3480         * bindings/js/ScheduledAction.h:
3481         (WebCore::ScheduledAction::ScheduledAction):
3482         * bindings/js/ScriptCachedFrameData.cpp:
3483         (WebCore::ScriptCachedFrameData::restore):
3484         * bindings/js/ScriptCachedFrameData.h:
3485         * bindings/js/ScriptController.cpp:
3486         (WebCore::ScriptController::~ScriptController):
3487         (WebCore::ScriptController::destroyWindowShell):
3488         (WebCore::ScriptController::createWindowShell):
3489         (WebCore::ScriptController::evaluateInWorld):
3490         (WebCore::ScriptController::getAllWorlds):
3491         (WebCore::ScriptController::initScript):
3492         (WebCore::ScriptController::executeScriptInWorld):
3493         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
3494         * bindings/js/ScriptController.h:
3495         (WebCore::ScriptController::windowShell):
3496         (WebCore::ScriptController::existingWindowShell):
3497         (WebCore::ScriptController::globalObject):
3498         * bindings/js/ScriptDebugServer.cpp:
3499         (WebCore::ScriptDebugServer::isContentScript):
3500         * bindings/js/ScriptState.cpp:
3501         (WebCore::execStateFromNode):
3502         (WebCore::execStateFromPage):
3503         * bindings/js/ScriptState.h:
3504         * bindings/js/SerializedScriptValue.cpp:
3505         (WebCore::SerializedScriptValue::transferArrayBuffers):
3506         * bindings/js/WebCoreJSClientData.h:
3507         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
3508         (WebCore::WebCoreJSClientData::normalWorld):
3509         (WebCore::WebCoreJSClientData::getAllWorlds):
3510         (WebCore::WebCoreJSClientData::rememberWorld):
3511         (WebCore::WebCoreJSClientData::forgetWorld):
3512         * bindings/js/WebCoreTypedArrayController.cpp:
3513         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
3514         * bindings/scripts/CodeGeneratorJS.pm:
3515         (GenerateHeader):
3516         (GenerateImplementation):
3517         * dom/Document.cpp:
3518         (WebCore::Document::ensurePlugInsInjectedScript):
3519         * dom/Document.h:
3520         * dom/DocumentStyleSheetCollection.cpp:
3521         * html/HTMLMediaElement.cpp:
3522         (WebCore::HTMLMediaElement::ensureIsolatedWorld):
3523         (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
3524         (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
3525         * html/HTMLMediaElement.h:
3526         * html/HTMLPlugInImageElement.cpp:
3527         (WebCore::plugInImageElementIsolatedWorld):
3528         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
3529         * inspector/InspectorAgent.cpp:
3530         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
3531         * inspector/InspectorAgent.h:
3532         * inspector/InspectorController.cpp:
3533         (WebCore::InspectorController::didClearWindowObjectInWorld):
3534         * inspector/InspectorController.h:
3535         * inspector/InspectorDOMAgent.cpp:
3536         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3537         * inspector/InspectorInstrumentation.cpp:
3538         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
3539         * inspector/InspectorInstrumentation.h:
3540         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
3541         * inspector/InspectorPageAgent.cpp:
3542         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
3543         * inspector/InspectorPageAgent.h:
3544         * loader/EmptyClients.h:
3545         (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
3546         * loader/FrameLoader.cpp:
3547         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
3548         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
3549         (WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):
3550         * loader/FrameLoader.h:
3551         * loader/FrameLoaderClient.h:
3552         (WebCore::FrameLoaderClient::dispatchGlobalObjectAvailable):
3553         * page/CaptionUserPreferencesMediaAF.cpp:
3554         * page/DOMWindowExtension.cpp:
3555         (WebCore::DOMWindowExtension::DOMWindowExtension):
3556         * page/DOMWindowExtension.h:
3557         (WebCore::DOMWindowExtension::create):
3558         (WebCore::DOMWindowExtension::world):
3559         * page/Frame.cpp:
3560         (WebCore::Frame::injectUserScripts):
3561         (WebCore::Frame::injectUserScriptsForWorld):
3562         * page/Frame.h:
3563         * page/PageGroup.cpp:
3564         (WebCore::PageGroup::addUserScriptToWorld):
3565         (WebCore::PageGroup::addUserStyleSheetToWorld):
3566         (WebCore::PageGroup::removeUserScriptFromWorld):
3567         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
3568         (WebCore::PageGroup::removeUserScriptsFromWorld):
3569         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
3570         * page/PageGroup.h:
3571
3572 2013-10-02  Zan Dobersek  <zdobersek@igalia.com>
3573
3574         Unreviewed, removing references to the recently removed Modules/filesystem directory.
3575
3576         * GNUmakefile.am:
3577
3578 2013-10-02  Mihai Maerean  <mmaerean@adobe.com>
3579
3580         [CSS Regions] Activate all regions to have layers, as CSS Regions create a new stacking context
3581         https://bugs.webkit.org/show_bug.cgi?id=121828
3582
3583         Reviewed by Darin Adler.
3584
3585         The CSS Regions specification says "CSS Regions create a new stacking context." (http://dev.w3.org/csswg/css-regions/).
3586
3587         Divs that create stacking contexts are painted after the divs that don't create stacking contexts.
3588
3589         Test: fast/regions/layers/stacking-context-paint-order.html: While the existing region-sibling-paint-order.html
3590         test verifies that regions paint correctly when the next sibling also creates a stacking context, this new test
3591         verifies that regions paint correctly when the next sibling doesn't create a stacking context.
3592
3593         * rendering/RenderBlock.cpp: Remove code that is not needed now that all regions have layers.
3594         * rendering/RenderBlock.h: Remove code that is not needed now that all regions have layers.
3595         * rendering/RenderBox.cpp: Remove code that is not needed now that all regions have layers.
3596         * rendering/RenderBox.h: Remove code that is not needed now that all regions have layers.
3597         * rendering/RenderFlowThread.cpp:
3598         (WebCore::RenderFlowThread::updateLayerToRegionMappings): Remove code that is not needed now that all regions have layers.
3599         * rendering/RenderRegion.cpp:
3600         (WebCore::RenderRegion::RenderRegion):
3601         * rendering/RenderRegion.h:
3602         (WebCore::RenderRegion::requiresLayer): Always. CSS Regions create Stacking Contexts. RenderMultiColumnSet
3603         implements its own behaviour so the behaviour of each class is contained within its own files.
3604         * rendering/RenderMultiColumnSet.h:
3605         (WebCore::RenderMultiColumnSet::requiresLayer): RenderMultiColumnSet derives from RenderRegion, but unlike the
3606         CSS Regions specification, the Multi-Columns CSS specification states that the column boxes do not establish new
3607         Stacking Contexts.
3608         * rendering/RenderTreeAsText.cpp:
3609         (WebCore::writeRenderRegionList): There's no need to output " hasLayer" since all regions now have layers.
3610
3611 2013-10-02  Renata Hodovan  <reni@webkit.org>
3612
3613         HTML listbox is not resized horizontally when zooming
3614         https://bugs.webkit.org/show_bug.cgi?id=20445
3615
3616         Reviewed by Darin Adler.
3617
3618         If any style changes happens on a HTMLSelectElement, we need to set the m_optionsChanged property
3619         of its renderer (RenderListBox) otherwise its size won't follow the changed content.
3620
3621         Test: fast/transforms/listbox-zoom.html
3622
3623         * html/HTMLSelectElement.cpp:
3624         (WebCore::HTMLSelectElement::didRecalcStyle):
3625         * html/HTMLSelectElement.h:
3626
3627 2013-10-01  Santosh Mahto  <santosh.ma@samsung.com>
3628
3629         contenteditable justify commands applied to next paragraph as well
3630         https://bugs.webkit.org/show_bug.cgi?id=90611
3631
3632         Reviewed by Ryosuke Niwa.
3633
3634         When the selection extends from first paragraph to start of next
3635         paragraph then Justify command is applied to both the paragraph,
3636         Instead it should be applied only to first paragraph.
3637
3638         Co-author: Sudarshan C P <sudarshan.cp@samsung.com>
3639
3640         Test: editing/execCommand/contenteditable-justify-next-paragraph.html
3641
3642         * editing/ApplyStyleCommand.cpp:
3643         (WebCore::ApplyStyleCommand::applyBlockStyle):
3644         Adjusted visibleEnd to previous position.
3645
3646 2013-10-01  Andreas Kling  <akling@apple.com>
3647
3648         Move mouse event dispatch from Node to Element.
3649         <https://webkit.org/b/122203>
3650
3651         Reviewed by Anders Carlsson.
3652
3653         We never dispatch mouse events on text or other non-element nodes,
3654         so move the related logic to using Element.
3655
3656         Node::dispatchMouseEvent() moves to Element. I also changed the
3657         relatedTarget argument to be an Element* since the related target
3658         is never a Node either.
3659
3660         Most of this patch is *Node -> *Element renames in EventHandler.
3661
3662 2013-10-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3663
3664         Generate toCSSFooValue for CSS child values
3665         https://bugs.webkit.org/show_bug.cgi?id=122157
3666
3667         Reviewed by Darin Adler.
3668
3669         As a step to cleanup static_cast<> for CSSFooValue, this patch adds toCSSFooValue()
3670         for "CSSAspectRatioValue, CSSBorderImageSliceValue, CSSFunctionValue, CSSInheritedValue,
3671         CSSValueList, CSSVariableValue, and CSSFontFaceSrcValue".
3672
3673         To use CSS_VALUE_TYPE_CASTS, isFunctionValue(), isFontFaceSrcValue() are added to
3674         generate toCSSFunctionValue, toCSSFontFaceSrcValue().
3675
3676         No new tests, no behavior changes.
3677
3678         * css/CSSAspectRatioValue.h:
3679         * css/CSSBorderImageSliceValue.h:
3680         * css/CSSFontFaceSrcValue.h:
3681         * css/CSSFontSelector.cpp:
3682         (WebCore::CSSFontSelector::addFontFaceRule):
3683         * css/CSSFunctionValue.h:
3684         * css/CSSInheritedValue.h:
3685         * css/CSSParser.cpp:
3686         (WebCore::filterProperties):
3687         (WebCore::CSSParser::addFillValue):
3688         (WebCore::CSSParser::addAnimationValue):
3689         (WebCore::CSSParser::createFontFaceRule):
3690         * css/CSSProperty.cpp:
3691         (WebCore::CSSProperty::wrapValueInCommaSeparatedList):
3692         * css/CSSToStyleMap.cpp:
3693         (WebCore::CSSToStyleMap::mapNinePieceImage):
3694         (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
3695         * css/CSSValue.cpp:
3696         (WebCore::CSSValue::destroy):
3697         * css/CSSValue.h:
3698         (WebCore::CSSValue::isFunctionValue):
3699         (WebCore::CSSValue::isFontFaceSrcValue):
3700         * css/CSSValueList.h:
3701         (WebCore::CSSValueListInspector::CSSValueListInspector):
3702         * css/CSSVariableValue.h:
3703         * css/DeprecatedStyleBuilder.cpp:
3704         (WebCore::ApplyPropertyFillLayer::applyValue):
3705         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
3706         (WebCore::ApplyPropertyCounter::applyValue):
3707         (WebCore::ApplyPropertyCursor::applyValue):
3708         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
3709         (WebCore::ApplyPropertyAspectRatio::applyValue):
3710         (WebCore::ApplyPropertyImageResolution::applyValue):
3711         (WebCore::ApplyPropertyTextIndent::applyValue):
3712         * css/MediaQueryEvaluator.cpp:
3713         (WebCore::compareAspectRatioValue):
3714         * css/SVGCSSStyleSelector.cpp:
3715         (WebCore::StyleResolver::applySVGProperty):
3716         * css/StylePropertySet.cpp:
3717         (WebCore::StylePropertySet::getLayeredShorthandValue):
3718         * css/StyleResolver.cpp:
3719         (WebCore::createGridPosition):
3720         (WebCore::StyleResolver::applyProperty):
3721         (WebCore::StyleResolver::parseCustomFilterParameter):
3722         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
3723         * editing/EditingStyle.cpp:
3724         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
3725         (WebCore::EditingStyle::mergeStyle):
3726         (WebCore::StyleChange::extractTextStyles):
3727         (WebCore::diffTextDecorations):
3728         * editing/EditorCommand.cpp:
3729         (WebCore::executeToggleStyleInList):
3730         * svg/SVGFontFaceElement.cpp:
3731         (WebCore::SVGFontFaceElement::rebuildFontFace):
3732
3733 2013-10-01  Sam Weinig  <sam@webkit.org>
3734
3735         Convert PageGroup to using std::unique_ptr
3736         https://bugs.webkit.org/show_bug.cgi?id=122184
3737
3738         Reviewed by Anders Carlsson.
3739
3740         * page/CaptionUserPreferences.cpp:
3741         * page/CaptionUserPreferences.h:
3742         * page/CaptionUserPreferencesMediaAF.cpp:
3743         * page/CaptionUserPreferencesMediaAF.h:
3744         * page/Frame.cpp:
3745         * page/GroupSettings.h:
3746         * page/Page.cpp:
3747         * page/PageGroup.cpp:
3748         * page/PageGroup.h:
3749         * page/UserScriptTypes.h:
3750         * page/UserStyleSheetTypes.h:
3751         * workers/DedicatedWorkerGlobalScope.h:
3752         * workers/DedicatedWorkerThread.cpp:
3753         * workers/DedicatedWorkerThread.h:
3754         * workers/SharedWorkerGlobalScope.cpp:
3755         * workers/SharedWorkerGlobalScope.h:
3756         * workers/SharedWorkerThread.cpp:
3757         * workers/SharedWorkerThread.h:
3758         * workers/WorkerGlobalScope.cpp:
3759         * workers/WorkerGlobalScope.h:
3760         * workers/WorkerThread.cpp:
3761         * workers/WorkerThread.h:
3762
3763 2013-10-01  Tim Horton  <timothy_horton@apple.com>
3764
3765         Tiled drawing GraphicsLayer tree dumps should match non-tiled more closely
3766         https://bugs.webkit.org/show_bug.cgi?id=122172
3767
3768         Reviewed by Anders Carlsson.
3769
3770         No new tests, but will be tested by all of the compositing tests after bug 121859 lands.
3771
3772         * platform/graphics/GraphicsLayer.cpp:
3773         (WebCore::GraphicsLayer::dumpProperties):
3774         Only dump drawsContent and backgroundColor if the client says we should.
3775         Provide the ability to skip over a layer in the dump, making it appear as if that layer's
3776         children are direct decendents of that layer's parent.
3777
3778         * platform/graphics/GraphicsLayerClient.h:
3779         (WebCore::GraphicsLayerClient::shouldSkipLayerInDump): Added.
3780         (WebCore::GraphicsLayerClient::shouldDumpPropertyForLayer): Added.
3781
3782         * rendering/RenderLayerBacking.cpp:
3783         (WebCore::RenderLayerBacking::shouldSkipLayerInDump):
3784         Added. Always skip the root tile cache's flattening layer, as it is
3785         uninteresting and does not exist in the non-tiled-drawing compositing case.
3786
3787         (WebCore::RenderLayerBacking::shouldDumpPropertyForLayer):
3788         Don't dump drawsContent on the root tile cache.
3789         Don't dump backgroundcolor on the root tile cache, unless it is non-white.
3790         This may require some WebKit2-specific rebaselines, but they will occur later.
3791
3792         * rendering/RenderLayerBacking.h:
3793         * rendering/RenderLayerCompositor.cpp:
3794         (WebCore::RenderLayerCompositor::updateBacking):
3795         (WebCore::RenderLayerCompositor::layerTreeAsText):
3796         If the root tile cache has no composited children, don't dump anything,
3797         to match the traditional case where we drop out of compositing when
3798         we have no reason to be compositing. Except, do dump the root tile cache's
3799         layers if we're specifically being asked to dump tile caches.
3800
3801 2013-10-01  Joone Hur  <joone.hur@intel.com>
3802
3803         Quirksmode: CSS1: WebKit fails dynamic :first-letter test
3804         https://bugs.webkit.org/show_bug.cgi?id=15602
3805
3806         Reviewed by David Hyatt.
3807
3808         CSS first-letter property does not work properly when the first letter is changed 
3809         by DOM scripting. 
3810         This patch allows to check if the existing first-letter is no longer the
3811         first-letter. In this case, it deletes the old first-letter object and creates 
3812         a new one. For the remaining text, the oldRemainingText object is used 
3813         again for containing the full text(first letter + remaining text). 
3814
3815         Test: fast/css/first-letter-block-change.html
3816
3817         * rendering/RenderBlock.cpp:
3818         (WebCore::RenderBlock::updateFirstLetter):
3819
3820 2013-10-01  Antti Koivisto  <antti@apple.com>
3821
3822         Make tests for renderer base types non-virtual
3823         https://bugs.webkit.org/show_bug.cgi?id=122185
3824
3825         Reviewed by Dave Hyatt.
3826
3827         Make isRenderFoo() functions for commonly tested base types use bit flags instead of virtual calls.
3828         This is faster and we have space in RenderElement.
3829         
3830         These bits are not mutully exclusive. For testing leaf types we can add an enum.
3831
3832 2013-10-01  Ryosuke Niwa  <rniwa@webkit.org>
3833
3834         Cleanup Document::dispatchFullScreenChangeOrErrorEvent
3835         https://bugs.webkit.org/show_bug.cgi?id=122143
3836
3837         Reviewed by Antti Koivisto.
3838
3839         Reduce the code duplication by extracting dispatchFullScreenChangeOrErrorEvent.
3840
3841         * dom/Document.cpp:
3842         (WebCore::Document::fullScreenChangeDelayTimerFired):
3843         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent): Extracted.
3844         * dom/Document.h:
3845
3846 2013-10-01  Brent Fulgham  <bfulgham@apple.com>
3847
3848         [Win] Implement the media controls in JavaScript 
3849         https://bugs.webkit.org/show_bug.cgi?id=122166
3850
3851         Reviewed by Jer Noble.
3852
3853         * DerivedSources.make: Uncomment feature flag test.
3854         * WebCore.vcxproj/WebCore.vcxproj: Add new media control implementation files.
3855         Also cleaned up some misplaced files in the project tree.
3856         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3857         * WebCore.vcxproj/WebCoreCommon.props: Add missing include path for the
3858         mediacontrols path.
3859         * WebCore.vcxproj/copyForwardingHeaders.cmd: Add Modules/mediacontrols to copied headers.
3860         * rendering/RenderThemeWin.cpp: Add missing include for UserAgentScripts.
3861
3862 2013-10-01  Alex Christensen  <achristensen@webkit.org>
3863
3864         Added adoptCOM to COMPtr on Windows.
3865         https://bugs.webkit.org/show_bug.cgi?id=122069
3866
3867         Reviewed by Brent Fulgham.
3868
3869         * platform/win/COMPtr.h:
3870         (adoptCOM): Added.
3871
3872 2013-10-01  Jer Noble  <jer.noble@apple.com>
3873
3874         Unreviewed build fix; The addedFunction and removedFunction arguments to determineChangedTracksFromNewTracksAndOldItems
3875         were reversed, exposing an underlying, existing bug in AudioTrackPrivate and VideoTrack private. Give a default (null)
3876         value to AudioTrackPrivate::m_client and VideoTrackPrivate::m_client and fix the ordering of arguments in
3877         determineChangedTracksFromNewTracksAndOldItems.
3878
3879         * platform/graphics/AudioTrackPrivate.h:
3880         (WebCore::AudioTrackPrivate::AudioTrackPrivate):
3881         * platform/graphics/VideoTrackPrivate.h:
3882         (WebCore::VideoTrackPrivate::VideoTrackPrivate):
3883         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3884         (WebCore::determineChangedTracksFromNewTracksAndOldItems):
3885
3886 2013-09-30  Jer Noble  <jer.noble@apple.com>
3887
3888         [Mac] Add support for VideoTrack to MediaPlayerPrivateAVFObjC
3889         https://bugs.webkit.org/show_bug.cgi?id=122122
3890
3891         Reviewed by Eric Carlson.
3892
3893         Test: media/track/video-track.html
3894
3895         Refactor the methods which query AVAssetTrack and AVPlayerItemTrack into an Impl class, and
3896         use that class to reset the properties of both AudioTrackAVFObjC and the new VideoTrackAVFObjC.
3897
3898         Add new files to project:
3899         * WebCore.xcodeproj/project.pbxproj:
3900
3901         Add the new implementation class, shared by AudioTrackAVFObjC and VideoTrackAVFObjC:
3902         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h: Added.
3903         (WebCore::AVTrackPrivateAVFObjCImpl::create): Simple factory.
3904         (WebCore::AVTrackPrivateAVFObjCImpl::playerItemTrack): Simple getter.
3905         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: Added.
3906         (WebCore::AVTrackPrivateAVFObjCImpl::AVTrackPrivateAVFObjCImpl): Simple constructor.
3907         (WebCore::AVTrackPrivateAVFObjCImpl::enabled): Pass to AVPlayerItemTrack.
3908         (WebCore::AVTrackPrivateAVFObjCImpl::setEnabled): Ditto.
3909         (WebCore::AVTrackPrivateAVFObjCImpl::audioKind): Distinguish between Alternative and Main content.
3910         (WebCore::AVTrackPrivateAVFObjCImpl::videoKind): Distinguish between Alternative, Main, Caption,
3911             and Description content.
3912         (WebCore::AVTrackPrivateAVFObjCImpl::id): Pass to AVAssetTrack.
3913         (WebCore::AVTrackPrivateAVFObjCImpl::label): Retrieve the Title metadata in the user's preferred
3914             language.
3915         (WebCore::AVTrackPrivateAVFObjCImpl::language): Pass to languageForAVAssetTrack.
3916         (WebCore::AVTrackPrivateAVFObjCImpl::languageForAVAssetTrack): Moved from AudioTrackPrivateAVFObjC.
3917         * platform/graphics/avfoundation/VideoTrackPrivateAVF.h: Copied from Source/WebCore/platform/graphics/avfoundation/AudioTrackPrivateAVF.h.
3918         (WebCore::VideoTrackPrivateAVF::kind): Simple getter.
3919         (WebCore::VideoTrackPrivateAVF::id): Ditto.
3920         (WebCore::VideoTrackPrivateAVF::label): Ditto.
3921         (WebCore::VideoTrackPrivateAVF::language): Ditto.
3922         (WebCore::VideoTrackPrivateAVF::setKind): Simple setter.
3923         (WebCore::VideoTrackPrivateAVF::setId): Ditto.
3924         (WebCore::VideoTrackPrivateAVF::setLabel): Ditto.
3925         (WebCore::VideoTrackPrivateAVF::setLanguage): Ditto.
3926         (WebCore::VideoTrackPrivateAVF::VideoTrackPrivateAVF): Simple constructor.
3927         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
3928         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
3929         (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC): Create a AVTrackPrivateAVFObjCImpl.
3930         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack): Retrieve properties from m_impl.
3931         (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack): Create a new AVTrackPrivateAVFObjCImpl.
3932         (WebCore::AudioTrackPrivateAVFObjC::playerItemTrack): Pass to m_impl.
3933         (WebCore::AudioTrackPrivateAVFObjC::setEnabled): Ditto.
3934         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3935         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3936         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Refactor implementation into
3937             template method determineChangedTracksFromNewTracksAndOldItems().
3938         (WebCore::determineChangedTracksFromNewTracksAndOldItems): Refactored.
3939         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks): Pass to determineChangedTracksFromNewTracksAndOldItems.
3940         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): Ditto.
3941         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Changed class hosting
3942             languageForAVAssetTrack.
3943         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp: Added.
3944         (WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC): Create a AVTrackPrivateAVFObjCImpl.
3945         (WebCore::VideoTrackPrivateAVFObjC::resetPropertiesFromTrack): Retrieve properties from m_impl.
3946         (WebCore::VideoTrackPrivateAVFObjC::setPlayerItemTrack): Create a new AVTrackPrivateAVFObjCImpl.
3947         (WebCore::VideoTrackPrivateAVFObjC::playerItemTrack): Pass to m_impl.
3948         (WebCore::VideoTrackPrivateAVFObjC::setSelected): Ditto.
3949         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h: Added.
3950         (WebCore::VideoTrackPrivateAVFObjC::create): Simple factory.
3951
3952 2013-10-01  Andreas Kling  <akling@apple.com>
3953
3954         Leaf EventTarget subclasses should be FINAL.
3955         <https://webkit.org/b/122141>
3956
3957         Reviewed by Darin Adler.
3958
3959         Clear out a slew of FIXMEs now that HasMemoryCostMemberFunction
3960         works on classes marked FINAL (fixed in bug 121747.)
3961
3962 2013-10-01  Szabolcs Dávid  <davidsz@inf.u-szeged.hu>
3963
3964         Rename URL type variables in Curl network backend.
3965         https://bugs.webkit.org/show_bug.cgi?id=122158
3966
3967         Reviewed by Darin Adler.
3968
3969         I changed the name of the URL objects to match with the new class name.
3970
3971         * platform/network/curl/ResourceHandleManager.cpp:
3972         (WebCore::getProtectionSpace):
3973         (WebCore::ResourceHandleManager::initializeHandle):
3974
3975 2013-10-01  Myles C. Maxfield  <mmaxfield@apple.com>
3976
3977         Center misspelling dots across width of word
3978         https://bugs.webkit.org/show_bug.cgi?id=122046
3979
3980         Reviewed by Darin Adler.
3981
3982         Test: editing/spelling/spelling.html
3983
3984         * platform/graphics/GraphicsContext.h:
3985         * platform/graphics/mac/GraphicsContextMac.mm:
3986         (WebCore::GraphicsContext::drawLineForDocumentMarker):
3987
3988 2013-10-01  Daniel Bates  <dabates@apple.com>
3989
3990         [iOS] WebCore fails to build with newer versions of clang
3991         https://bugs.webkit.org/show_bug.cgi?id=122161
3992
3993         Reviewed by Darin Adler.
3994
3995         * editing/FrameSelection.cpp: Add ENABLE(TEXT_CARET)-guard around shouldStopBlinkingDueToTypingCommand().
3996         * page/EventHandler.cpp: Add !PLATFORM(IOS)-guard around constants cursorUpdateInterval and maximumCursorSize;
3997         also add touch event/gesture event guard around shouldGesturesTriggerActive().
3998         * platform/network/cf/ResourceResponseCFNet.cpp: Remove unused function filenameHasSaneExtension.
3999         * platform/network/mac/ResourceResponseMac.mm: Only define static variables commonHeaderFields when building
4000         without CFNetwork; also remove variable numCommonHeaderFields, instead use WTF_ARRAY_LENGTH(commonHeaderFields)
4001         to compute the size of the fixed-sized array commonHeaderFields.
4002
4003 2013-10-01  Brendan Long  <b.long@cablelabs.com>
4004
4005         [GStreamer] Support "chapter" text tracks
4006         https://bugs.webkit.org/show_bug.cgi?id=122000
4007
4008         Reviewed by Eric Carlson.
4009
4010         Test: media/track/in-band/track-in-band-mkv-chapters.html
4011
4012         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h: New class, needed for cues that aren't associated with GstPads.
4013         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
4014         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Check for table of contents messages.
4015         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents): Parse table of contents messages into text tracks.
4016         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry): Recursive method for parsing all of the TOC entries.
4017         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Add the processTableOfContents functions.
4018
4019 2013-10-01  Allan Sandfeld Jensen  <allan.jensen@digia.com>
4020
4021         [Texmap] CSS filter not working on software composited layers
4022         https://bugs.webkit.org/show_bug.cgi?id=122159
4023
4024         Reviewed by Noam Rosenthal.
4025
4026         Tell the rendering layer we do not support CSS filters when we do not. This
4027         will make RenderLayer fall back to using its own software implementation.
4028
4029         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
4030         (WebCore::GraphicsLayerTextureMapper::setFilters):
4031         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
4032         (WebCore::BitmapTextureImageBuffer::applyFilters):
4033
4034 2013-10-01  Darin Adler  <darin@apple.com>
4035
4036         Try to fix assertion failures seem on bots.
4037
4038         * css/StyleResolver.cpp:
4039         (WebCore::StyleResolver::createFilterOperations): Rearrange code so this
4040         won't try ot call toCSSPrimitiveValue on a non-primitive-value in the
4041         DROP_SHADOW case.
4042
4043 2013-10-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
4044
4045         Generate toCSSFooValue for CSSPrimitiveValue
4046         https://bugs.webkit.org/show_bug.cgi?id=122101
4047
4048         Reviewed by Antti Koivisto.
4049
4050         As a step of clean-up static_cast<> in CSSValues, this patch generates
4051         toCSSFooPrimitiveValue() in order to detect bad casts as well as improves
4052         code readability.
4053
4054         No new tests, no behavior changes.
4055
4056         * css/CSSFontSelector.cpp:
4057         (WebCore::CSSFontSelector::addFontFaceRule):
4058         * css/CSSImageGeneratorValue.cpp:
4059         (WebCore::CSSImageGeneratorValue::subimageIsPending):
4060         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
4061      &n