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