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