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