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