getAttribute does not behave correctly for mixed-case attributes on HTML elements
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-17  Arpita Bahuguna  <a.bah@samsung.com>
2
3         getAttribute does not behave correctly for mixed-case attributes on HTML elements
4         https://bugs.webkit.org/show_bug.cgi?id=105713
5
6         Reviewed by Andreas Kling.
7
8         getAttribute() and getAttributeNode() APIs do not convert the
9         passed attribute name to lowercase before comparing against the
10         existing attributes.
11         The specification however states that the passed name should
12         be converted to ASCII lowercase before checking for the existence
13         of the given attribute. [www.w3.org/TR/domcore/#dom-element-getattribute]
14
15         Test: fast/dom/Element/getAttribute-case-insensitivity.html
16
17         * dom/Element.h:
18         (WebCore::ElementData::getAttributeItemIndex):
19         getAttributeItemIndex() accepts a bool param 'shouldIgnoreAttributeCase'
20         which specifies whether or not the attribute's case should be ignored
21         before comparison but we don't really convert the passed name to lowercase
22         before carrying out the comparison.
23
24         Thus, when called from APIs such as getAttribute() and getAttributeNode()
25         which do not explicitally convert the attribute name to lowercase
26         before calling on this method, it fails to carry out a case-insensitive
27         search.
28
29         Have thus made changes to convert the passed attribute's name to
30         lowercase if 'shouldIgnoreAttributeCase' is true.
31
32 2013-04-17  John Griggs  <jgriggs@blackberry.com>
33
34         [BlackBerry] Add support for filesystem: URLs to BlackBerry Media Player.
35         https://bugs.webkit.org/show_bug.cgi?id=114686
36         https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=314865
37
38         Reviewed by Rob Buis.
39
40         Translate filesystem: URLs to file:// URLs for use by the media player, but only after the filesystem: URL has been checked for security, etc.
41
42         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
43         (WebCore::MediaPlayerPrivate::load):
44         (WebCore::MediaPlayerPrivate::onError):
45         (WebCore::MediaPlayerPrivate::onDurationChanged):
46         (WebCore::MediaPlayerPrivate::notifyChallengeResult):
47
48 2013-04-17  Brendan Long  <b.long@cablelabs.com>
49
50         [GStreamer] Eclipse warnings in MediaPlayerPrivateGStreamer
51         https://bugs.webkit.org/show_bug.cgi?id=114654
52
53         Reviewed by Philippe Normand.
54
55         No new tests (nothing added).
56
57         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
58         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
59         Initialize m_volumeAndMuteInitialized
60         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
61         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
62         Initialize signal handlers to 0.
63
64 2013-04-17  Andrei Bucur  <abucur@adobe.com>
65
66         [CSS Regions] Remove m_flowThread from NodeRenderingContext
67         https://bugs.webkit.org/show_bug.cgi?id=114732
68
69         Reviewed by Antti Koivisto.
70
71         Cleanup NodeRenderingContext. Remove unused member m_flowThread.
72
73         Tests: None needed.
74
75         * dom/NodeRenderingContext.cpp:
76         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
77         * dom/NodeRenderingContext.h: Removed m_flowThread.
78
79 2013-04-17  Allan Sandfeld Jensen  <allan.jensen@digia.com>
80
81         [Qt] MediaPlayerPrivateQt.cpp doesn't build in debug
82
83         Unreviewed build fix.
84
85         We need to include Logging.h to get the LOG definitions.
86
87         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
88
89 2013-04-17  Claudio Saavedra  <csaavedra@igalia.com>
90
91         execCommand("RemoveFormat") might remove format after the selection
92         https://bugs.webkit.org/show_bug.cgi?id=112240
93
94         Reviewed by Ryosuke Niwa.
95
96         Tests: editing/execCommand/remove-format-multiple-elements-mac.html
97
98         This bug is hit when ApplyStyleCommand is used to change the
99         style and the current selection ends in the beginning of a new node.
100         The bug is actually a two-fold thing:
101
102         1. There was no check as to whether the end node is really
103         selected or not, and format was always removed from it with
104         pushDownInlineStyleAroundNode(). An equivalent check for the start
105         node was already in place, so fix it analogously.
106
107         2. Previous stage might change the dom tree, resulting in a render
108         tree that is not up-to-date. Position::upstream() is later used
109         and, in order to be able to find a visually equivalent position in
110         a text node, this method needs the render tree to be up-to-date,
111         therefore, a call to updateLayoutIgnorePendingStylesheets() is
112         necessary.
113
114         * editing/ApplyStyleCommand.cpp:
115         (WebCore::ApplyStyleCommand::removeInlineStyle): Make sure that no
116         format is removed from the end node if it's not fully selected.
117         (WebCore::ApplyStyleCommand::nodeFullySelected): Call updateLayoutIgnorePendingStylesheets()
118
119 2013-04-17  Alberto Garcia  <agarcia@igalia.com>
120
121         [BlackBerry] GraphicsContext3D: don't initialize m_extensions in the constructor
122         https://bugs.webkit.org/show_bug.cgi?id=114726
123
124         Reviewed by Carlos Garcia Campos.
125
126         m_extensions is now initialized on demand by
127         GraphicsContext3D::getExtensions().
128
129         Doing it in the constructor produces a crash, because
130         Extensions3DOpenGLES() calls glGetString before the WebGL context
131         is current.
132
133         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
134         (WebCore::GraphicsContext3D::GraphicsContext3D):
135
136 2013-04-16  Maciej Stachowiak  <mjs@apple.com>
137
138         Replace JSC-specific IDL extended attributes with generic (JSC+V8) ones, now that the distinction no longer matters
139         https://bugs.webkit.org/show_bug.cgi?id=114712
140
141         Reviewed by Dan Bernstein.
142
143         No behavior change expected.
144
145         * bindings/scripts/IDLAttributes.txt: Remove the JSFoo attributes
146         that have bare Foo equivalents.
147         * bindings/scripts/CodeGeneratorJS.pm: Remove support for JSFoo
148         aliases.
149         (GetGenerateIsReachable):
150         (GetCustomIsReachable):
151         (ShouldGenerateToJSDeclaration):
152         (ShouldGenerateToJSImplementation):
153         (HasCustomConstructor):
154         (HasCustomGetter):
155         (HasCustomSetter):
156         (HasCustomMethod):
157
158         Replace JSFoo attributes with equivalen Foo attributs in all files
159         below:
160         
161         * Modules/geolocation/Geolocation.idl:
162         * Modules/indexeddb/IDBDatabase.idl:
163         * Modules/indexeddb/IDBObjectStore.idl:
164         * Modules/webaudio/DOMWindowWebAudio.idl:
165         * Modules/websockets/DOMWindowWebSocket.idl:
166         * Modules/websockets/WorkerContextWebSocket.idl:
167         * css/CSSRule.idl:
168         * css/CSSRuleList.idl:
169         * css/CSSStyleDeclaration.idl:
170         * css/CSSValue.idl:
171         * css/MediaList.idl:
172         * css/StyleMedia.idl:
173         * css/StyleSheet.idl:
174         * dom/MessagePort.idl:
175         * dom/MutationObserver.idl:
176         * dom/Node.idl:
177         * fileapi/Blob.idl:
178         * html/HTMLDocument.idl:
179         * html/HTMLTemplateElement.idl:
180         * html/canvas/ArrayBuffer.idl:
181         * html/canvas/CanvasRenderingContext.idl:
182         * html/canvas/DataView.idl:
183         * html/canvas/EXTDrawBuffers.idl:
184         * html/canvas/EXTTextureFilterAnisotropic.idl:
185         * html/canvas/OESElementIndexUint.idl:
186         * html/canvas/OESStandardDerivatives.idl:
187         * html/canvas/OESTextureFloat.idl:
188         * html/canvas/OESTextureHalfFloat.idl:
189         * html/canvas/OESVertexArrayObject.idl:
190         * html/canvas/WebGLCompressedTextureATC.idl:
191         * html/canvas/WebGLCompressedTexturePVRTC.idl:
192         * html/canvas/WebGLCompressedTextureS3TC.idl:
193         * html/canvas/WebGLDebugRendererInfo.idl:
194         * html/canvas/WebGLDebugShaders.idl:
195         * html/canvas/WebGLDepthTexture.idl:
196         * html/canvas/WebGLLoseContext.idl:
197         * html/track/TextTrack.idl:
198         * html/track/TextTrackCue.idl:
199         * html/track/TextTrackList.idl:
200         * loader/appcache/DOMApplicationCache.idl:
201         * page/BarInfo.idl:
202         * page/Console.idl:
203         * page/DOMSelection.idl:
204         * page/DOMWindow.idl:
205         * page/History.idl:
206         * page/Location.idl:
207         * page/MemoryInfo.idl:
208         * page/Navigator.idl:
209         * page/Screen.idl:
210         * page/WorkerNavigator.idl:
211         * plugins/DOMMimeTypeArray.idl:
212         * plugins/DOMPluginArray.idl:
213         * storage/Storage.idl:
214         * workers/AbstractWorker.idl:
215         * workers/SharedWorker.idl:
216         * workers/Worker.idl:
217         * workers/WorkerContext.idl:
218         * workers/WorkerLocation.idl:
219         * xml/XMLHttpRequestUpload.idl:
220
221 2013-04-16  Beth Dakin  <bdakin@apple.com>
222
223         Re-name Page::layoutMilestones() to Page::requestedLayoutMilestones()
224         https://bugs.webkit.org/show_bug.cgi?id=114713
225
226         Reviewed by Simon Fraser.
227
228         * page/FrameView.cpp:
229         (WebCore::FrameView::performPostLayoutTasks):
230         * page/Page.cpp:
231         (WebCore::Page::Page):
232         (WebCore::Page::addLayoutMilestones):
233         (WebCore::Page::removeLayoutMilestones):
234         (WebCore::Page::isCountingRelevantRepaintedObjects):
235         * page/Page.h:
236         (WebCore::Page::requestedLayoutMilestones):
237         (Page):
238         * rendering/RenderLayerCompositor.cpp:
239         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
240
241 2013-04-16  Patrick Gansterer  <paroga@webkit.org>
242
243         [CMake] Fix dependecy calculation for generated inspector files
244         https://bugs.webkit.org/show_bug.cgi?id=114092
245
246         Reviewed by Brent Fulgham.
247
248         At least in a generated Visual Studio solution the files generated via
249         CodeGeneratorInspector.py are considered outdated all the time because
250         the code generator only touches the file when the content changed.
251         Add an --write_always parameter to the script to touch the file always.
252
253         * CMakeLists.txt:
254         * inspector/CodeGeneratorInspector.py:
255
256 2013-04-16  Anders Carlsson  <andersca@apple.com>
257
258         Clone storage namespaces for window.open
259         https://bugs.webkit.org/show_bug.cgi?id=114703
260
261         Reviewed by Sam Weinig.
262
263         Pass the new page to StorageNamespace::copy.
264
265         * page/Chrome.cpp:
266         (WebCore::Chrome::createWindow):
267         * storage/StorageNamespace.h:
268         (StorageNamespace):
269         * storage/StorageNamespaceImpl.cpp:
270         (WebCore::StorageNamespaceImpl::copy):
271         * storage/StorageNamespaceImpl.h:
272         (WebCore):
273         (StorageNamespaceImpl):
274
275 2013-04-16  Sam Weinig  <sam@webkit.org>
276
277         Fix fallout after r148545.
278
279         * platform/text/TextChecking.h:
280         Move Platform defines that were incorrectly in WebCore, into Platform.h
281
282 2013-04-16  Hans Muller  <hmuller@adobe.com>
283
284         [CSS Exclusions] polygon shape-inside layout fails
285         https://bugs.webkit.org/show_bug.cgi?id=114402
286
287         Reviewed by Dirk Schulze.
288
289         The firstIncludedIntervalLogicalTop() method's implementation relied on optimistic
290         assumptions about floating point accuracy which, in rare cases, caused it to discard
291         first-fit locations based on the intersection of the minLogicalIntervalTop offset edge
292         and a polygon offset edge. Now: we do not verify that first-fit locations based on the
293         intersection of an offset edge and the minLogicalIntervalTop offset edge are below
294         the horizontal minLogicalIntervalTop line. They're essentially below the line "by definition".
295
296         Test: fast/exclusions/shape-inside/shape-inside-polygon-layout.html
297
298         * rendering/ExclusionPolygon.cpp:
299         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Avoid floating point problems
300             when checking intersections with the offset edge based on minLogicalIntervalTop.
301         * rendering/ExclusionPolygon.h:
302         (WebCore::OffsetPolygonEdge::OffsetPolygonEdge): Initialize the basis field.
303         (WebCore::OffsetPolygonEdge::basis): Report what the offset edge is "based on": a polygon
304             edge, the top of the line, or a (reflex) vertex.
305         (OffsetPolygonEdge): Added the Basis enum to enable tracking what the geometry of
306             an offset edge is based on.
307
308 2013-04-16  Jer Noble  <jer.noble@apple.com>
309
310         Further unreviewed build fix: protect JSAudioBufferCustom with a ENABLE(WEB_AUDIO) check.
311
312         * bindings/js/JSAudioBufferCustom.cpp:
313
314 2013-04-16  Jer Noble  <jer.noble@apple.com>
315
316         Unreviewed build fix; add new JSAudioBuffer.cpp file to more build systems.
317
318         * GNUmakefile.list.am:
319         * Target.pri:
320         * UseJSC.cmake:
321
322 2013-04-16  Jer Noble  <jer.noble@apple.com>
323
324         Repeated use of decodeAudioData() causes leak
325         https://bugs.webkit.org/show_bug.cgi?id=114709
326
327         Reviewed by Geoffrey Garen.
328
329         Report the correct size of the AudioBuffer to the garbage collector so that creating
330         these large buffers will trigger garbage collection.
331
332         * Modules/webaudio/AudioBuffer.cpp:
333         (WebCore::AudioBuffer::memoryCost): Added; simple sum of the buffer sizes in m_channels;
334         * Modules/webaudio/AudioBuffer.h:
335         * Modules/webaudio/AudioBuffer.idl: Add the CustomToJSObject flag.
336         * WebCore.xcodeproj/project.pbxproj:
337         * bindings/js/JSAudioBufferCustom.cpp: Added.
338         (WebCore::toJS): Added; report the extra size of an AudioBuffer when the wrapper
339             is created.
340
341 2013-04-16  Beth Dakin  <bdakin@apple.com>
342
343         Need a new layout milestone to notify bundle clients when the header has been 
344         flushed
345         https://bugs.webkit.org/show_bug.cgi?id=114706
346         -and corresponding-
347         <rdar://problem/13657284>
348
349         Reviewed by Simon Fraser.
350
351         New LayoutMilestone is DidFirstFlushForHeaderLayer.
352         * page/LayoutMilestones.h:
353         
354         New API to allow removing a LayoutMilestone.
355         * WebCore.exp.in:
356         * page/Page.cpp:
357         (WebCore::Page::removeLayoutMilestones):
358         * page/Page.h:
359         (Page):
360
361         New boolean member variable m_headerLayerAwaitingFirstFlush keeps track of whether 
362         we need to send the DidFirstFlushForHeaderLayer milestone.
363         * rendering/RenderLayerCompositor.h:
364         (RenderLayerCompositor):
365         * rendering/RenderLayerCompositor.cpp:
366         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
367
368         Send the milestone if appropriate.
369         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
370
371          Set m_headerLayerAwaitingFirstFlush to true for a newly created layer.
372         (WebCore::RenderLayerCompositor::updateLayerForHeader):
373
374 2013-04-16  Tim Horton  <timothy_horton@apple.com>
375
376         PlugIn Snapshotting: Crashes refreshing non-main-frame PDFPlugins
377         https://bugs.webkit.org/show_bug.cgi?id=114702
378         <rdar://problem/13542020>
379
380         Reviewed by Dean Jackson.
381
382         If:
383
384             a) a plugin fails all the tests in willCreatePlugIn, so it is WaitingForSnapshot there
385             b) primary plugin detection attempts to restart a plugin between the
386                time that willCreatePlugIn and didCreatePlugIn fire
387             c) when didCreatePlugIn fires, shouldAlwaysAutoStart() returns true,
388                because the plug-in is whitelisted,
389
390         we end up reattach()ing and going to Restarted state, and then going straight
391         to Playing state in didCreatePlugIn.
392
393         Instead, primary plugin promotion should be deferred until after the plugin is created,
394         so that we can take that one last bit of information (shouldAlwaysAutoStart) into account
395         before restarting and reattaching the plug-in.
396
397         * html/HTMLPlugInImageElement.cpp:
398         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
399         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn):
400         (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
401         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
402         (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn):
403         * html/HTMLPlugInImageElement.h:
404
405 2013-04-16  Wei James  <james.wei@intel.com>
406
407         ASSERTION FAILED: i < size(), UNKNOWN in WebCore::ChannelMergerNode::process
408         https://bugs.webkit.org/show_bug.cgi?id=112657
409
410         Avoid to access input bus in checkNumberOfChannelsForInput() before the
411         bus is updated with AudioNode::checkNumberOfChannelsForInput().
412
413         Reviewed by Chris Rogers.
414
415         * Modules/webaudio/ChannelMergerNode.cpp:
416         (WebCore::ChannelMergerNode::checkNumberOfChannelsForInput):
417
418 2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
419
420         Even more Windows build fix and a Qt minimal build fix attempt.
421
422         * html/parser/XSSAuditorDelegate.cpp:
423         * page/win/FrameCGWin.cpp:
424
425 2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
426
427         More Windows build fixes.
428
429         * platform/win/DragDataWin.cpp:
430         * platform/win/PasteboardWin.cpp:
431
432 2013-04-16  Sam Weinig  <sam@webkit.org>
433
434         Windows build fix.
435
436         * page/win/FrameWin.cpp:
437
438 2013-04-16  Dean Jackson  <dino@apple.com>
439
440         PlugIns that resize in user gestures should be immune to snapshotting
441         https://bugs.webkit.org/show_bug.cgi?id=114697
442         <rdar://problem/13666258>
443
444         Reviewed by Tim Horton.
445
446         Now that we snapshot plugins if they resize above the snapshotting threshold,
447         we need to make sure that we don't do it in response to a user gesture
448         such as a click.
449
450         Due to the complexities of real-world content and the way they often do
451         things using timeout, I copied the code from the generic user gesture
452         timeout, which gives a 5 second grace period after clicks.
453
454         * html/HTMLPlugInImageElement.cpp:
455         (WebCore::documentHadRecentUserGesture): New static function to share the code for
456             checking the time since the last click (or whatever).
457         (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): Make sure
458             to test for a user gesture.
459         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Move the
460             code into the new function.
461
462 2013-04-15  Sam Weinig  <sam@webkit.org>
463
464         Remove more #includes from Frame.h
465         https://bugs.webkit.org/show_bug.cgi?id=114642
466
467         Reviewed by Anders Carlsson.
468
469         Convert Editor, FrameSelection, EventHandler and AnimationController into
470         OwnPtrs, to avoid inclusion.
471
472         * accessibility/AXObjectCache.cpp:
473         * accessibility/AccessibilityObject.cpp:
474         * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
475         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
476         * bindings/objc/DOM.mm:
477         * dom/CharacterData.cpp:
478         * dom/ContainerNode.cpp:
479         * dom/Element.cpp:
480         * editing/AlternativeTextController.cpp:
481         * editing/CompositeEditCommand.cpp:
482         * editing/DeleteButtonController.h:
483         * editing/EditingStyle.cpp:
484         * editing/InsertLineBreakCommand.cpp:
485         * editing/SpellChecker.cpp:
486         * editing/SpellingCorrectionCommand.cpp:
487         * editing/TextInsertionBaseCommand.cpp:
488         * history/CachedFrame.cpp:
489         * html/HTMLAnchorElement.cpp:
490         * html/HTMLInputElement.cpp:
491         * html/HTMLPlugInElement.cpp:
492         * html/HTMLSelectElement.cpp:
493         * html/HTMLTextAreaElement.cpp:
494         * html/HTMLTextFormControlElement.cpp:
495         * html/TextFieldInputType.cpp:
496         * html/shadow/ClearButtonElement.cpp:
497         * html/shadow/MediaControlElements.cpp:
498         * html/shadow/SliderThumbElement.cpp:
499         * inspector/InspectorPageAgent.h:
500         * loader/FrameLoader.cpp:
501         * page/DOMWindow.cpp:
502         * page/Frame.cpp:
503         * page/Frame.h:
504         * page/FrameView.cpp:
505         * page/FrameView.h:
506         * page/Page.cpp:
507         * page/TouchAdjustment.cpp:
508         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
509         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
510         * platform/gtk/PasteboardGtk.cpp:
511         * platform/qt/ClipboardQt.cpp:
512         * rendering/HitTestResult.cpp:
513         * rendering/RenderBlock.cpp:
514         * rendering/RenderEmbeddedObject.cpp:
515         * rendering/RenderLayer.cpp:
516         * rendering/RenderNamedFlowThread.cpp:
517         * rendering/RenderObject.cpp:
518         * rendering/RenderSnapshottedPlugIn.cpp:
519         * svg/graphics/SVGImage.cpp:
520         * testing/Internals.cpp:
521
522 2013-04-16  Jessie Berlin  <jberlin@apple.com>
523
524         Speculative Windows build fix.
525
526         * platform/win/ContextMenuWin.cpp:
527
528 2013-04-16  Eric Carlson  <eric.carlson@apple.com>
529
530         [Mac] in-band cues sometimes displayed late
531         https://bugs.webkit.org/show_bug.cgi?id=114629
532
533         Reviewed by Jer Noble.
534
535         No new tests, this deals with a platform-specific issue that is extremely timing dependent.
536
537         * html/track/InbandTextTrack.cpp:
538         (WebCore::TextTrackCueMap::add): New, two way cue data <-> cue map.
539         (WebCore::TextTrackCueMap::find): 
540         (WebCore::TextTrackCueMap::remove):
541         (WebCore::InbandTextTrack::updateCueFromCueData): New, update an existing cue. Set cue end time
542             to video duration if it is unknown.
543         (WebCore::InbandTextTrack::addGenericCue): Look for existing cues without considering duration
544             so we can match incomplete cues.
545         (WebCore::InbandTextTrack::updateGenericCue): New, update an existing cue. This allows us to 
546             add in-band cues as soon as we get them from the media engine and update them as more
547             information becomes available.
548         (WebCore::InbandTextTrack::removeGenericCue): New, remove an existing cue. This is necessary
549             because we never want to keep an incomplete cue when a seek happens.
550         (WebCore::InbandTextTrack::removeCue): New, base class override so we can keep the two way
551             map up to date.
552         * html/track/InbandTextTrack.h:
553
554         * html/track/TextTrack.cpp:
555         (WebCore::TextTrack::addCue): TextTrack::removeCue takes a RefPtr.
556         (WebCore::TextTrack::removeCue): Take a RefPtr.
557         (WebCore::TextTrack::hasCue): Allow caller to request match without considering end time.
558         * html/track/TextTrack.h:
559
560         * html/track/TextTrackCue.cpp:
561         (WebCore::TextTrackCue::TextTrackCue): Initialize m_processingCueChanges.
562         (WebCore::TextTrackCue::willChange): Renamed from cueWillChange. Use m_processingCueChanges
563             to avoid thrashing the track when many cue properties will change.
564         (WebCore::TextTrackCue::didChange): Renamed from cueDidChange. Use m_processingCueChanges
565             to avoid thrashing the track when many cue properties will change.
566         (WebCore::TextTrackCue::setId): cueWillChange -> willChange. cueDidChange -> didChange. 
567         (WebCore::TextTrackCue::setStartTime): Ditto.
568         (WebCore::TextTrackCue::setEndTime): Ditto.
569         (WebCore::TextTrackCue::setPauseOnExit): Ditto.
570         (WebCore::TextTrackCue::setVertical): Ditto.
571         (WebCore::TextTrackCue::setSnapToLines): Ditto.
572         (WebCore::TextTrackCue::setLine): Ditto.
573         (WebCore::TextTrackCue::setPosition): Ditto.
574         (WebCore::TextTrackCue::setSize): Ditto.
575         (WebCore::TextTrackCue::setAlign): Ditto.
576         (WebCore::TextTrackCue::setText): Ditto.
577         (WebCore::TextTrackCue::setRegionId): Ditto.
578         (WebCore::TextTrackCue::isEqual): Renamed from operator==, take match rules param.
579         * html/track/TextTrackCue.h:
580
581         * html/track/TextTrackCueGeneric.cpp:
582         (WebCore::TextTrackCueGeneric::isEqual): Renamed from operator==, take match rules param.
583         * html/track/TextTrackCueGeneric.h:
584
585         * platform/graphics/InbandTextTrackPrivateClient.h: Make GenericCueData refcounted.
586         (WebCore::GenericCueData::create): New.
587         (WebCore::GenericCueData::status): Ditto.
588         (WebCore::GenericCueData::setStatus): Ditto.
589         (WebCore::GenericCueData::GenericCueData):
590
591         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
592         (WebCore::InbandTextTrackPrivateAVF::processCue): Add cues as soon as we get them from the media
593             engine, update duration once we know it.
594         (WebCore::InbandTextTrackPrivateAVF::resetCueValues): Tell the client to remove all incomplete
595             cues we have delivered.
596         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
597
598         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
599         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Do not flush cues when seek completes,
600             we did that when the seek started and cues can be delivered before we get the the 
601             seek completed  notification.
602
603 2013-04-16  James Craig  <james@cookiecrook.com>
604
605         dfn element should be exposed as AXGroup:AXDefinition
606         https://bugs.webkit.org/show_bug.cgi?id=108980
607
608         Reviewed by Chris Fleizach.
609
610         dfn element now exposed as AXGroup:AXDefinition. Updated existing tests.
611
612         * accessibility/AccessibilityRenderObject.cpp:
613         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
614         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
615
616 2013-04-16  Anders Carlsson  <andersca@apple.com>
617
618         Begin chipping away at ScriptState
619         https://bugs.webkit.org/show_bug.cgi?id=114695
620
621         Reviewed by Geoffrey Garen.
622
623         Remove ScriptStateProtectedPtr as well as evalEnabled and setEvalEnabled.
624
625         * bindings/js/ScriptState.cpp:
626         * bindings/js/ScriptState.h:
627         * inspector/InjectedScriptBase.cpp:
628         (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
629         * inspector/ScriptArguments.cpp:
630         (WebCore::ScriptArguments::ScriptArguments):
631         (WebCore::ScriptArguments::globalState):
632         * inspector/ScriptArguments.h:
633
634 2013-04-15  Anders Carlsson  <andersca@apple.com>
635
636         Remove unneeded headers from ScriptExecutionContext.h
637         https://bugs.webkit.org/show_bug.cgi?id=114631
638
639         Reviewed by Alexey Proskuryakov.
640
641         This shaves another minute off WebCore build time on my MacBook Pro.
642
643         * dom/ScriptExecutionContext.cpp:
644         * dom/ScriptExecutionContext.h:
645         * fileapi/Blob.cpp:
646         * rendering/RenderBlock.cpp:
647         * rendering/RenderBox.cpp:
648         * rendering/RenderFlowThread.cpp:
649         * rendering/RenderFrameSet.cpp:
650         * rendering/RenderIFrame.cpp:
651         * rendering/RenderImage.cpp:
652         * rendering/RenderListBox.cpp:
653         * rendering/RenderListItem.cpp:
654         * rendering/RenderListMarker.cpp:
655         * rendering/RenderMedia.cpp:
656         * rendering/RenderObject.cpp:
657         * rendering/RenderRegion.cpp:
658         * rendering/RenderReplaced.cpp:
659         * rendering/RenderReplica.cpp:
660         * rendering/RenderRubyRun.cpp:
661         * rendering/RenderScrollbarPart.cpp:
662         * rendering/RenderSlider.cpp:
663         * rendering/RenderTable.cpp:
664         * rendering/RenderTableCell.cpp:
665         * rendering/RenderTableRow.cpp:
666         * rendering/RenderTableSection.cpp:
667         * rendering/RenderTextControlSingleLine.cpp:
668         * rendering/RenderTextTrackCue.cpp:
669         * rendering/RenderVideo.cpp:
670         * rendering/RenderView.cpp:
671         * rendering/RenderWidget.cpp:
672         * rendering/svg/RenderSVGContainer.cpp:
673         * rendering/svg/RenderSVGForeignObject.cpp:
674         * rendering/svg/RenderSVGGradientStop.cpp:
675         * rendering/svg/RenderSVGHiddenContainer.cpp:
676         * rendering/svg/RenderSVGImage.cpp:
677         * rendering/svg/RenderSVGResourceContainer.cpp:
678         * rendering/svg/RenderSVGResourceMarker.cpp:
679         * rendering/svg/RenderSVGRoot.cpp:
680         * rendering/svg/RenderSVGShape.cpp:
681         * rendering/svg/RenderSVGText.cpp:
682
683 2013-04-16  Maciej Stachowiak  <mjs@apple.com>
684
685         Remove even yet still more traces of v8
686         https://bugs.webkit.org/show_bug.cgi?id=114693
687
688         Reviewed by Anders Carlsson.
689
690         No behavior change.
691
692         * bindings/generic/ActiveDOMCallback.h:
693         (WebCore::ActiveDOMCallback::isScriptControllerTerminating): Remove a V8-specific
694         method and the comment referencing it.
695         * bindings/generic/ActiveDOMCallback.cpp:
696         (WebCore::ActiveDOMCallback::isScriptControllerTerminating): ditto
697         * fileapi/File.cpp:
698         (WebCore::File::File): Remove a comment referencing v8
699         * inspector/InjectedScriptExterns.js: ditto
700
701 2013-04-16  Alexey Proskuryakov  <ap@apple.com>
702
703         Remove unused AlternativeTextClient::dismissDictationAlternativeUI
704         https://bugs.webkit.org/show_bug.cgi?id=114598
705
706         Reviewed by Ryosuke Niwa.
707
708         Removing dead code.
709
710         * WebCore.exp.in:
711         * editing/mac/AlternativeTextUIController.h: Made dismissAlternatives() private.
712         * page/AlternativeTextClient.h:
713
714 2013-04-16  Robert Hogan  <robert@webkit.org>
715
716         Float at exact multiple of line-height affects too many lines
717         https://bugs.webkit.org/show_bug.cgi?id=112744
718
719         Reviewed by David Hyatt.
720
721         Tests: fast/block/float/float-with-fractional-height-vertical-lr.html
722                fast/block/float/float-with-fractional-height.html
723
724         When adding floats to the interval tree used for testing floats' overlap with lineboxes
725         truncate the dimensions of the float rather than rounding them. This matches the
726         treatment of linebox dimensions so ensures the test for overlap is comparing like
727         with like.
728
729         * rendering/RenderBlock.cpp:
730         (WebCore::::collectIfNeeded):
731         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
732         (WebCore::::string):
733
734 2013-04-16  Chris Fleizach  <cfleizach@apple.com>
735
736         AX: aria-valuetext is not exposed on OS X.
737         https://bugs.webkit.org/show_bug.cgi?id=114628
738
739         Reviewed by Tim Horton.
740
741         aria-valuetext is only being exposed on ARIA controls. That's because there were
742         checks in place so that ONLY ARIA defined controls would return anything related to valuetext.
743         We should allow this to work on native controls as well.
744
745         Test: platform/mac/accessibility/aria-valuetext-on-native-slider.html
746
747         * accessibility/AccessibilityNodeObject.cpp:
748         (WebCore::AccessibilityNodeObject::valueDescription):
749         (WebCore):
750         (WebCore::AccessibilityNodeObject::valueForRange):
751         (WebCore::AccessibilityNodeObject::maxValueForRange):
752         (WebCore::AccessibilityNodeObject::minValueForRange):
753         * accessibility/AccessibilityNodeObject.h:
754         (AccessibilityNodeObject):
755         * accessibility/AccessibilityObject.cpp:
756         (WebCore::AccessibilityObject::isRangeControl):
757              Rename isARIAControl to isRangeControl and make it apply to all elements.
758         * accessibility/AccessibilityObject.h:
759
760 2013-04-15  Jon Lee  <jonlee@apple.com>
761
762         RenderView should bail out of paintBoxDecorations() when painting with a different renderer
763         https://bugs.webkit.org/show_bug.cgi?id=114665
764         <rdar://problem/13434884>
765
766         Reviewed by Simon Fraser.
767
768         * rendering/RenderView.cpp:
769         (WebCore::RenderView::paintBoxDecorations): Add a check to see if we should paint within the renderer.
770         This check exists in all other implementations of paintBoxDecorations(), and correctly avoids painting the
771         decorations if the root provided is not the RenderView.
772
773 2013-04-16  Max Vujovic  <mvujovic@adobe.com>
774
775         [CSS Shaders] Remove the cache of validated programs
776         https://bugs.webkit.org/show_bug.cgi?id=112844
777
778         Reviewed by Dean Jackson.
779
780         Since we're caching CustomFilterProgram(s) now, we don't need another cache for
781         CustomFilterValidatedProgram(s). With this patch, CustomFilterProgram stores a reference
782         to a lazily created CustomFilterValidatedProgram, and CustomFilterGlobalContext no longer
783         has a validated program cache.
784
785         Also, this patch removes the CustomFilterValidatedProgram's stored reference to
786         CustomFilterGlobalContext. The removal of the validated program cache would cause
787         this reference to become weak. Validated programs only needed to keep the global context
788         reference in order to create a CustomFilterCompiledProgram. In this patch, we create
789         CustomFilterCompiledProgram(s) in FECustomFilter instead of in CustomFilterValidatedProgram,
790         so validated programs don't need to store the global context reference anymore.
791
792         No new tests. Just Refactoring.
793
794         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
795         (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
796         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
797         (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
798         * platform/graphics/filters/CustomFilterGlobalContext.h:
799         (CustomFilterGlobalContext):
800         * platform/graphics/filters/CustomFilterProgram.cpp:
801         (WebCore::CustomFilterProgram::validatedProgram):
802         (WebCore::CustomFilterProgram::setValidatedProgram):
803         * platform/graphics/filters/CustomFilterProgram.h:
804         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
805         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
806         (WebCore::CustomFilterValidatedProgram::compiledProgram):
807         (WebCore::CustomFilterValidatedProgram::setCompiledProgram):
808         (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
809         * platform/graphics/filters/CustomFilterValidatedProgram.h:
810         (CustomFilterValidatedProgram):
811         * platform/graphics/filters/FECustomFilter.cpp:
812         (WebCore::FECustomFilter::prepareForDrawing):
813         * rendering/FilterEffectRenderer.cpp:
814         * rendering/RenderLayer.cpp:
815         (WebCore::RenderLayer::computeFilterOperations):
816
817 2013-04-16  Anthony Scian  <ascian@blackberry.com>
818
819         [BlackBerry] LayerTexture: check if the graphics context is NULL
820         https://bugs.webkit.org/show_bug.cgi?id=114674
821
822         Reviewed by Rob Buis.
823
824         Internal PR: 256522
825
826         * platform/graphics/blackberry/LayerTexture.cpp:
827         (WebCore::LayerTexture::setContentsToColor):
828
829 2013-04-13  Andreas Kling  <akling@apple.com>
830
831         REGRESSION(r148128): window.resizeTo doesn't work from Safari address bar.
832         <rdar://problem/13635894>
833         <http://webkit.org/b/114561>
834
835         Reviewed by Sam Weinig.
836
837         Suppressing window geometry changes while any user gesture is active was a bit too restrictive,
838         and broke legitimate use-cases. Narrow it down to checking EventHandler::mousePressed().
839
840         No test yet, adding one is tracked by <http://webkit.org/b/114561>.
841
842         * page/DOMWindow.cpp:
843         (WebCore::DOMWindow::allowedToChangeWindowGeometry):
844
845             Added to share code between all DOMWindow functions that alter window geometry.
846
847         (WebCore::DOMWindow::moveBy):
848         (WebCore::DOMWindow::moveTo):
849         (WebCore::DOMWindow::resizeBy):
850         (WebCore::DOMWindow::resizeTo):
851
852 2013-04-16  Manuel Rego Casasnovas  <rego@igalia.com>
853
854         [GTK][EFL] Remove deprecated libsoup API usage
855         https://bugs.webkit.org/show_bug.cgi?id=104894
856
857         Reviewed by Philippe Normand.
858
859         Based on a patch by Claudio Saavedra <csaavedra@igalia.com>.
860         Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
861         libsoup/soup.h.
862
863         * platform/network/ResourceHandleInternal.h:
864         * platform/network/soup/GOwnPtrSoup.cpp:
865         * platform/network/soup/ProxyResolverSoup.h:
866         * platform/network/soup/ResourceErrorSoup.cpp:
867         * platform/network/soup/ResourceHandleSoup.cpp:
868         (WebCore::ensureSessionIsInitialized): No need to add the requester
869         feature.
870         (WebCore::createSoupRequestAndMessageForHandle): SoupSession has a
871         requester API, use it.
872
873 2013-04-15  Maciej Stachowiak  <mjs@apple.com>
874
875         Remove more traces of the now-obsolete support for V8
876         https://bugs.webkit.org/show_bug.cgi?id=114657
877
878         Reviewed by Ryosuke Niwa.
879
880         In addition to passing existing tests, I verified that the ElementFactory
881         and ElementWrapperFactory files were all textually identical before and after.
882
883         * dom/CustomEvent.cpp:
884         (WebCore): Remove Use(V8) bock.
885         * dom/CustomEvent.h:
886         (CustomEvent): ditto
887         * dom/MessageEvent.cpp:
888         (WebCore::MessageEvent::MessageEvent): ditto
889         (WebCore::MessageEvent::initMessageEvent): ditto
890         * dom/Node.h:
891         (Node): ditto
892         * dom/make_event_factory.pl:
893         (generateImplementation): Remove V8 support.
894         * dom/make_names.pl: Remove gobs of V8 support and simplify.
895         (printJSElementIncludes): 
896         (printConditionalElementIncludes):
897         (printFactoryCppFile):
898         (printWrapperFunctions):
899         (printWrapperFactoryCppFile):
900         (printWrapperFactoryHeaderFile):
901         * inspector/InjectedScriptCanvasModuleSource.js: Remove V8 stack
902         trace code.
903         * platform/qt/PlatformSupport.h: Remove a macro only used for V8 
904         bindings.
905         * svg/SVGZoomAndPan.h:
906         (SVGZoomAndPan): Remove mention of V8 from comment.
907
908 2013-04-15  Ryosuke Niwa  <rniwa@webkit.org>
909
910         Potential use after free in ApplyStyleCommand::splitAncestorsWithUnicodeBidi
911         https://bugs.webkit.org/show_bug.cgi?id=114664
912
913         Reviewed by Oliver Hunt.
914
915         Use RefPtr as needed.
916
917         No new tests since this bug was discovered by code inspection.
918
919         * editing/ApplyStyleCommand.cpp:
920         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
921
922 2013-04-15  Timothy Hatcher  <timothy@apple.com>
923
924         Web Inspector: Make var and function declarations work again in the Console.
925
926         https://webkit.org/b/114534
927         rdar://problem/13614477
928
929         Reviewed by Oliver Hunt.
930
931         * inspector/InjectedScriptSource.js:
932         (InjectedScript.prototype._evaluateOn): Use 'with' when not evaluating
933         on a call frame.
934
935 2013-04-15  Seokju Kwon  <seokju.kwon@gmail.com>
936
937         Web Inspector: Add missing Localized strings
938         https://bugs.webkit.org/show_bug.cgi?id=114656
939
940         Reviewed by Timothy Hatcher.
941
942         No tests because no behavior change is expected.
943
944         * English.lproj/localizedStrings.js:
945
946 2013-04-15  Dean Jackson  <dino@apple.com>
947
948         Rename restartedPlugin to isRestartedPlugin. This was
949         review feedback from r148038 that I thought I fixed
950         everywhere but failed.
951         https://bugs.webkit.org/show_bug.cgi?id=114233
952
953         * html/HTMLPlugInElement.h:
954         (WebCore::HTMLPlugInElement::isRestartedPlugin): Prefix with "is".
955         * html/HTMLPlugInImageElement.cpp:
956         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
957         (WebCore::HTMLPlugInImageElement::setDisplayState):
958         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
959         * html/HTMLPlugInImageElement.h:
960         * rendering/RenderEmbeddedObject.cpp:
961         (WebCore::RenderEmbeddedObject::paintContents):
962         * rendering/RenderLayerBacking.cpp:
963         (WebCore::isRestartedPlugin):
964
965 2013-04-15  Maciej Stachowiak  <mjs@apple.com>
966
967         Remove V8 attribtues from IDLAttributes.txt
968         https://bugs.webkit.org/show_bug.cgi?id=114651
969
970         Reviewed by Sam Weinig.
971
972         No tests because no behavior change is expected.
973
974         * bindings/scripts/IDLAttributes.txt: Remove V8 attribtues.
975         * html/track/TextTrackList.idl: Remove a stray V8-specific attribute
976         (so I guess this change is not useless)
977
978 2013-04-15  James Craig  <james@cookiecrook.com>
979
980         WebKit should not expose AXSubrole:AXDescriptionList on Mountain Lion as it causes a regression in VoiceOver behavior
981         https://bugs.webkit.org/show_bug.cgi?id=113975
982
983         Reviewed by Chris Fleizach.
984
985         Serve NSAccessibilityDescriptionListSubrole or NSAccessibilityDefinitionListSubrole
986         depending on platform. Updated existing test coverage.
987
988         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
989         (-[WebAccessibilityObjectWrapper subrole]):
990
991 2013-04-15  Dean Jackson  <dino@apple.com>
992
993         Plugins that resize might need to be snapshotted.
994         https://bugs.webkit.org/show_bug.cgi?id=102157
995         <rdar://problem/12696259>
996
997         Reviewed by Tim Horton.
998
999         A plugin could avoid snapshotting if it started very
1000         small (below the threshold where we autostart), and then
1001         resized to be large (above the threshold). Detect this
1002         case and tell the plugin to snapshot.
1003
1004         There unfortunately is a bit of state to track when doing
1005         this. We have to start the snapshotting in a post-layout
1006         task, so we carry a flag to say we're checking size but
1007         not wanting the plugin to update (which would restart it).
1008         We also might be a plugin that would have already restarted
1009         due to a similar plugin being clicked or detected as dominant.
1010         So this patch introduces a member variable that tracks what
1011         decision has been made on snapshotting.
1012
1013         I also added some more logging to be more clear about what is
1014         happening to plugins going through the snapshot process, and
1015         changed the order of the tests in the algorithm so that domain
1016         detection comes before examining the size.
1017
1018         * html/HTMLPlugInImageElement.cpp:
1019         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialise
1020             the two new member variables.
1021         (WebCore::HTMLPlugInImageElement::setDisplayState): Mark a restarted
1022             plugin as NeverSnapshot. This means that if it later resizes above the
1023             threshold, it won't trigger the snapshot detection.
1024         (WebCore::HTMLPlugInImageElement::checkSnapshotStatus): Renamed from
1025             updateSnapshotInfo. This now updates the snapshot, but also runs
1026             the check for size changes.
1027         (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Gather all plugins
1028             that look like a restarting plugin, not just those snapshotted. That
1029             way they can all be marked as NeverSnapshot.
1030         (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): Bless every
1031             plugin that looks similar, whether or not it is snapshotted.
1032         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): More logging.
1033         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Ditto.
1034         (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): New
1035             method. If the plugin was below the threshold and is now above it,
1036             begin the snapshotting process.
1037         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Plugins
1038             that were marked as NeverSnapshot should start immediately. Move the origin
1039             test earlier in the method. If a plugin avoided snapshotting due to size,
1040             remember the size.
1041         (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Mark the
1042             plugin as NeverSnapshot.
1043
1044         * html/HTMLPlugInImageElement.h:
1045         (HTMLPlugInImageElement): Four new member variables:
1046             - the decision we made regarding snapshotting (or not), uses the SnapshotDecision enum
1047             - the size when it avoided snapshotting
1048             - a flag to indicate the post layout update was triggered due to
1049               a size change
1050         (WebCore::HTMLPlugInImageElement::needsCheckForSizeChange): New method.
1051         (WebCore::HTMLPlugInImageElement::setNeedsCheckForSizeChange): New method.
1052         (WebCore::HTMLPlugInImageElement::snapshotDecision): Return the decision
1053             regarding snapshotting or not snapshotting.
1054
1055         * page/FrameView.cpp:
1056         (WebCore::FrameView::addWidgetToUpdate): Guard updating the widget. We don't
1057             want to do it when we're checking for a size change in the plugin.
1058         (WebCore::FrameView::updateWidget): Call new name.
1059
1060         * plugins/PluginViewBase.h:
1061         (WebCore::PluginViewBase::beginSnapshottingRunningPlugin): Empty virtual
1062             method to snapshot a running plugin.
1063
1064         * rendering/RenderEmbeddedObject.cpp:
1065         (WebCore::RenderEmbeddedObject::layout): If the plugin has increased in
1066             size add it to the post layout list so that it will be checked.
1067
1068 2013-04-15  Chris Fleizach  <cfleizach@apple.com>
1069
1070         activating a focused link to an in-page fragment ID should transfer focus to the target of the link when possible
1071         https://bugs.webkit.org/show_bug.cgi?id=17450
1072
1073         Reviewed by Maciej Stachowiak.
1074
1075         When a fragment is scrolled to due to an activation event or on load, focus should attempt to 
1076         move to the fragment if possible.
1077
1078         Test: fast/dom/fragment-activation-focuses-target.html
1079
1080         * page/FrameView.cpp:
1081         (WebCore::FrameView::scrollToAnchor):
1082
1083 2013-04-12  Maciej Stachowiak  <mjs@apple.com>
1084
1085         Remove V8-specific extended attributes from IDL files
1086         https://bugs.webkit.org/show_bug.cgi?id=114523
1087
1088         Reviewed by Geoffrey Garen.
1089
1090         No tests because no behavior change is expected.
1091
1092         * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
1093         * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
1094         * Modules/encryptedmedia/MediaKeySession.idl:
1095         * Modules/encryptedmedia/MediaKeys.idl:
1096         * Modules/filesystem/HTMLInputElementFileSystem.idl:
1097         * Modules/indexeddb/IDBAny.idl:
1098         * Modules/mediasource/MediaSource.idl:
1099         * Modules/mediasource/SourceBuffer.idl:
1100         * Modules/mediasource/SourceBufferList.idl:
1101         * Modules/mediastream/MediaStream.idl:
1102         * Modules/webaudio/AudioDestinationNode.idl:
1103         * html/track/TextTrackCue.idl:
1104         * html/track/TextTrackCueList.idl:
1105         * html/track/TextTrackList.idl:
1106         * html/track/TextTrackRegion.idl:
1107         * html/track/TextTrackRegionList.idl:
1108         * html/track/TrackEvent.idl:
1109         * storage/Storage.idl:
1110         * svg/SVGDocument.idl:
1111         * svg/SVGElement.idl:
1112         * workers/WorkerContext.idl:
1113         * xml/XMLHttpRequest.idl:
1114         * xml/XPathNSResolver.idl:
1115
1116 2013-04-15  Anders Carlsson  <andersca@apple.com>
1117
1118         ScriptWrappable subclasses shouldn't have to include WeakInlines.h
1119         https://bugs.webkit.org/show_bug.cgi?id=114641
1120
1121         Reviewed by Alexey Proskuryakov.
1122
1123         Remove ScriptWrappableInlines.h includes, they're not needed anymore.
1124
1125         * css/WebKitCSSMatrix.cpp:
1126         * dom/ClientRect.cpp:
1127         * dom/ClientRectList.cpp:
1128         * dom/Clipboard.cpp:
1129         * dom/DOMStringMap.cpp:
1130         * dom/Event.cpp:
1131         * dom/MutationRecord.cpp:
1132         * fileapi/FileList.cpp:
1133         * page/BarInfo.cpp:
1134         * plugins/DOMMimeTypeArray.cpp:
1135         * plugins/DOMPlugin.cpp:
1136         * plugins/DOMPluginArray.cpp:
1137         * storage/Storage.cpp:
1138
1139 2013-04-15  Igor Oliveira  <igor.o@sisa.samsung.com>
1140
1141         Call directly RenderBlock::deleteLineBoxTree
1142         https://bugs.webkit.org/show_bug.cgi?id=102761
1143
1144         Reviewed by Darin Adler.
1145
1146         Instead of implementing RenderLineBoxList::deleteLineBoxTree logic inside 
1147         RenderBlock::determineStartPosition, we can reuse the code. The commentaries added
1148         in the changeset #86628 are not valid anymore, nextRootBox is casting m_nextLineBox 
1149         and nextLineBox is returning m_nextLineBox.
1150
1151         * rendering/RenderBlockLineLayout.cpp:
1152         (WebCore::RenderBlock::determineStartPosition):
1153
1154 2013-04-15  Anders Carlsson  <andersca@apple.com>
1155
1156         Remove files related to quota and proximity events from the Xcode project
1157         https://bugs.webkit.org/show_bug.cgi?id=114635
1158
1159         Reviewed by Benjamin Poulain.
1160
1161         * WebCore.xcodeproj/project.pbxproj:
1162         * history/PageCache.cpp:
1163         * page/DOMWindow.cpp:
1164
1165 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
1166
1167         [CMake] Add WTF_USE_*_UNICODE variables
1168         https://bugs.webkit.org/show_bug.cgi?id=114556
1169
1170         Reviewed by Brent Fulgham.
1171
1172         WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
1173         reduce duplication in the platform specific CMake files.
1174
1175         * CMakeLists.txt:
1176         * PlatformBlackBerry.cmake:
1177         * PlatformEfl.cmake:
1178         * PlatformWinCE.cmake:
1179
1180 2013-04-15  Eric Carlson  <eric.carlson@apple.com>
1181
1182         HTMLMediaElement::removeTextTrack should clear track client
1183         https://bugs.webkit.org/show_bug.cgi?id=114630
1184
1185         Reviewed by Jer Noble.
1186
1187         No new tests, this is clean-up that prevents a potential crash.
1188
1189         * html/HTMLMediaElement.cpp:
1190         (WebCore::HTMLMediaElement::removeTextTrack): Clear the track client.
1191
1192 2013-04-15  Robert Hogan  <robert@webkit.org>
1193
1194         An inline element with an absolutely positioned child does not correctly calculate/render padding and margin
1195         https://bugs.webkit.org/show_bug.cgi?id=47554
1196
1197         Reviewed by David Hyatt.
1198
1199         When looking for padding/margin to add from the start of a child's parent skip past any leading positioned siblings as 
1200         we don't add the padding/margin of the common parent when skipping past them in |skipLeadingWhitespace|. We
1201         don't need to worry about the case of trailing positioned objects as we will account for their parent's
1202         border/margin/padding when we encounter them in |nextSegmentBreak|.
1203
1204         Test: fast/inline/padding-before-leading-positioned-element-contributes-width.html
1205
1206         * rendering/RenderBlockLineLayout.cpp:
1207         (WebCore::previousInFlowSibling):
1208         (WebCore):
1209         (WebCore::inlineLogicalWidth):
1210
1211 2013-04-15  peavo@outlook.com  <peavo@outlook.com>
1212
1213         [WinCairo] Compile fix.
1214         https://bugs.webkit.org/show_bug.cgi?id=114623
1215
1216         Reviewed by Brent Fulgham.
1217
1218         * platform/network/curl/CookieJarCurl.cpp: Added required header files.
1219
1220 2013-04-15  Rob Buis  <rbuis@rim.com>
1221
1222         Fix some compiler warnings (miscellaneous)
1223         https://bugs.webkit.org/show_bug.cgi?id=80790
1224
1225         Reviewed by Darin Adler.
1226
1227         It does not seem needed to initialize jpeg_create_compress struct to zero,
1228         all that is needed is set the err field. See for instance SkImageDecoder_libjpeg.cpp.
1229
1230         * platform/image-encoders/JPEGImageEncoder.cpp:
1231         (WebCore::compressRGBABigEndianToJPEG):
1232
1233 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
1234
1235         [GTK] Remove platform specific implementation of KURL::fileSystemPath()
1236         https://bugs.webkit.org/show_bug.cgi?id=114133
1237
1238         Reviewed by Martin Robinson.
1239
1240         r147883 added a generic implementation of this function,
1241         which can be used by all ports to share the code.
1242
1243         * GNUmakefile.list.am:
1244         * platform/KURL.cpp:
1245         (WebCore):
1246         * platform/gtk/KURLGtk.cpp: Removed.
1247
1248 2013-04-15  Csaba Osztrogon√°c  <ossy@webkit.org>
1249
1250         Debug buildfix after r148433.
1251         https://bugs.webkit.org/show_bug.cgi?id=108295
1252
1253         Reviewed by Allan Sandfeld Jensen.
1254
1255         * platform/graphics/texmap/TextureMapperLayer.h:
1256         (WebCore::TextureMapperLayer::children): Added.
1257
1258 2013-04-15  Noam Rosenthal  <noam@webkit.org>
1259
1260         Coordinated Graphics: Remove GraphicsLayerTextureMapper dependency from CoordinatedGraphicsScene.
1261         https://bugs.webkit.org/show_bug.cgi?id=108295
1262
1263         Since all the changes to the TextureMapperLayer tree now come in a single IPC message via
1264         CoordinatedGraphicsState, we don't need the additional buffering done in GraphicsLayerTextureMapper.
1265
1266         This reduces unnecessary function calls, and also streamlines GraphicsLayerTextureMapper to be used
1267         only in WebKit1 (without CoordinatedGraphics).
1268
1269         Reviewed by Allan Sandfeld Jensen.
1270
1271         No new tests, refactor only.
1272
1273         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1274         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
1275         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
1276         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
1277         (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
1278         (WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
1279         (WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
1280         (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
1281         (WebCore):
1282         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1283         (GraphicsLayerTextureMapper):
1284             Removed references to m_hasOwnBackingStore, which was done to separate the CoordinatedGraphics
1285             path from the WK1 path.
1286
1287         * platform/graphics/texmap/TextureMapperLayer.h:
1288         (WebCore::TextureMapperLayer::drawsContent):
1289         (WebCore::TextureMapperLayer::contentsAreVisible):
1290         (WebCore::TextureMapperLayer::size):
1291         (WebCore::TextureMapperLayer::opacity):
1292         (WebCore::TextureMapperLayer::transform):
1293         (WebCore::TextureMapperLayer::isShowingRepaintCounter):
1294         (WebCore::TextureMapperLayer::fixedToViewport):
1295         (TextureMapperLayer):
1296             Added a few public functions needed by CoordinatedGraphicsScene.
1297
1298         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1299         (WebCore::layerShouldHaveBackingStore):
1300         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
1301         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
1302         (WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
1303         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
1304         (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
1305         (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
1306         (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
1307         (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
1308         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
1309         (WebCore::CoordinatedGraphicsScene::setLayerState):
1310         (WebCore::CoordinatedGraphicsScene::getLayerByIDIfExists):
1311         (WebCore::CoordinatedGraphicsScene::createLayer):
1312         (WebCore::CoordinatedGraphicsScene::deleteLayer):
1313         (WebCore::CoordinatedGraphicsScene::setRootLayerID):
1314         (WebCore::CoordinatedGraphicsScene::prepareContentBackingStore):
1315         (WebCore::CoordinatedGraphicsScene::createBackingStoreIfNeeded):
1316         (WebCore::CoordinatedGraphicsScene::removeBackingStoreIfNeeded):
1317         (WebCore::CoordinatedGraphicsScene::resetBackingStoreSizeToLayerSize):
1318         (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
1319         (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
1320         (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
1321         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
1322         (WebCore::CoordinatedGraphicsScene::commitSceneState):
1323         (WebCore::CoordinatedGraphicsScene::ensureRootLayer):
1324         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
1325         (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
1326         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1327         (CoordinatedGraphicsScene):
1328         (WebCore::CoordinatedGraphicsScene::layerByID):
1329         (WebCore::CoordinatedGraphicsScene::rootLayer):
1330             Use TextureMapperLayer instead of GraphicsLayer and GraphicsLayerTextureMapper.
1331
1332 2013-04-15  Antti Koivisto  <antti@apple.com>
1333
1334         Dynamically triggered subframe loads are causing tile churn
1335         https://bugs.webkit.org/show_bug.cgi?id=114440
1336         
1337         Reviewed by Andreas Kling.
1338         
1339         In some cases we switch in and out of minimal tiles multiple times during page loading. This
1340         creates tile churn where we create speculative tiles and then throw them out. This can be
1341         caused by various reasons including dynamically created subframes.
1342
1343         * page/FrameView.cpp:
1344         (WebCore::FrameView::setIsVisuallyNonEmpty):
1345         
1346             Stay in minimal tiles modes until there is some visual contents. This avoids switching out from minimal
1347             tiles while awaiting response for the initial requests.
1348
1349         * page/FrameView.h:
1350         * rendering/RenderLayerBacking.cpp:
1351         (WebCore::RenderLayerBacking::RenderLayerBacking):
1352         (WebCore::computeTileCoverage):
1353         * rendering/RenderLayerBacking.h:
1354         (WebCore::RenderLayerBacking::didSwitchToFullTileCoverageDuringLoading):
1355         (WebCore::RenderLayerBacking::setDidSwitchToFullTileCoverageDuringLoading):
1356         
1357             Only switch into minimal coverage mode once per page load.
1358
1359         (RenderLayerBacking):
1360
1361 2013-04-15  Rune Lillesveen  <rune@opera.com>
1362
1363         color-index media feature not supported
1364         https://bugs.webkit.org/show_bug.cgi?id=114468
1365
1366         Reviewed by Kenneth Rohde Christiansen.
1367
1368         Support the color-index media feature. Currently assumes that no WebKit
1369         browser will have an output device that uses a color lookup table.
1370
1371         Tests: fast/media/mq-color-index-01.html
1372                fast/media/mq-color-index-02.html
1373
1374         * css/MediaFeatureNames.h:
1375         (MediaFeatureNames):
1376         * css/MediaQueryEvaluator.cpp:
1377         (WebCore::color_indexMediaFeatureEval):
1378         (WebCore):
1379         (WebCore::min_color_indexMediaFeatureEval):
1380         (WebCore::max_color_indexMediaFeatureEval):
1381         * css/MediaQueryExp.cpp:
1382         (WebCore::featureWithPositiveInteger):
1383         (WebCore::featureWithoutValue):
1384
1385 2013-04-15  Balazs Kelemen  <kbalazs@webkit.org>
1386
1387         [CoordGfx] Background color should not be part of GraphicsLayerState
1388         https://bugs.webkit.org/show_bug.cgi?id=113785
1389
1390         Page background is independent from layer state, send it to the UI
1391         as soon as possible.
1392
1393         Should not cause observable change in behavior so no new tests.
1394
1395         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1396         (WebCore::CoordinatedGraphicsScene::commitSceneState):
1397         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
1398
1399 2013-04-15  Carlos Garcia Campos  <cgarcia@igalia.com>
1400
1401         [BlackBerry] Filesystem callback notifyCreateSnapshotFileAndReadMetadata can be called on the wring thread
1402         https://bugs.webkit.org/show_bug.cgi?id=114610
1403
1404         Reviewed by Xan Lopez.
1405
1406         Override notifyCreateSnapshotFileAndReadMetadata to make sure the
1407         callback is called on the right thread.
1408
1409         Fixes a crash in several fast/filesystem test in debug builds.
1410
1411         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp:
1412         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
1413         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadataOnWorkerThread):
1414         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h:
1415
1416 2013-04-15  Arvid Nilsson  <anilsson@rim.com>
1417
1418         [BlackBerry][CSS Filters] Non-image content disappears when filter applied
1419         https://bugs.webkit.org/show_bug.cgi?id=114498
1420
1421         Reviewed by Carlos Garcia Campos.
1422
1423         Applying a filter to a div with simple text content caused the div to
1424         disappear.
1425
1426         In https://bugs.webkit.org/show_bug.cgi?id=114276, we added some GL
1427         state save/restore code for vertex attributes to make sure the state
1428         changes done by BlackBerry::Platform::Graphics don't interfere with
1429         GL code executing in WebKit. However, saving and restoring vertex
1430         attribute state won't do much good if those attributes were never
1431         enabled to begin with. Fixed by enabling vertex attributes
1432         appropriately when setting them, so that state can be saved and
1433         restored.
1434
1435         All the CSS Filters layout tests apply the filters to simple rectangles
1436         or images, there's nothing sufficiently complex that we manage to
1437         trigger this GL state conflict in the BlackBerry port. This suggests
1438         adding a new platform-specific layout test would be appropriate, but
1439         since we don't use pixel tests yet, such a test would not help detect
1440         regressions. Ultimately we decided against adding a layout test for
1441         this bug at this time.
1442
1443         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
1444         (WebCore::LayerFilterRenderer::applyActions):
1445
1446 2013-04-14  Jaehun Lim  <ljaehun.lim@samsung.com>
1447
1448         [css3-text] Parsing -webkit-hanging value for text-indent from css3-text
1449         https://bugs.webkit.org/show_bug.cgi?id=113680
1450
1451         Reviewed by Andreas Kling.
1452
1453         This patch is the parsing part to support hanging value for text-indent.
1454         "hanging" means "Inverts which lines are affected."
1455         It's prefixed and guarded by CSS3_TEXT flag.
1456
1457         No new tests, this patch updates existing tests.
1458
1459         * css/CSSComputedStyleDeclaration.cpp:
1460         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1461         * css/CSSParser.cpp:
1462         (WebCore::CSSParser::parseTextIndent): Parsed "-webkit-hanging" with "-webkit-each-line".
1463         * css/CSSValueKeywords.in: Added "-webkit-hanging" keyword.
1464         * css/DeprecatedStyleBuilder.cpp:
1465         (WebCore::ApplyPropertyTextIndent::applyInheritValue):
1466         (WebCore::ApplyPropertyTextIndent::applyInitialValue):
1467         (WebCore::ApplyPropertyTextIndent::applyValue):
1468         * rendering/style/RenderStyle.h:
1469         * rendering/style/RenderStyleConstants.h: Added enum TextIndentType.
1470         * rendering/style/StyleRareInheritedData.cpp:
1471         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1472         (WebCore::StyleRareInheritedData::operator==):
1473         * rendering/style/StyleRareInheritedData.h: Added m_textIndentType.
1474         (StyleRareInheritedData):
1475             Added the usual getter / setter / initial methods for m_textIndentType.
1476
1477 2013-04-14  Sam Weinig  <sam@webkit.org>
1478
1479         Move Mac specific snapshotting code into its own file
1480         https://bugs.webkit.org/show_bug.cgi?id=114597
1481
1482         Reviewed by Andreas Kling.
1483
1484         * WebCore.exp.in:
1485         * WebCore.xcodeproj/project.pbxproj:
1486         * bindings/objc/DOM.mm:
1487         (-[DOMRange renderedImageForcingBlackText:]):
1488         * page/Frame.h:
1489         * page/mac/FrameMac.mm:
1490         (WebCore::Frame::nodeImage):
1491         (WebCore::Frame::dragImageForSelection):
1492         * page/mac/FrameSnapshottingMac.h: Added.
1493         * page/mac/FrameSnapshottingMac.mm: Added.
1494         (WebCore::imageFromRect):
1495         (WebCore::selectionImage):
1496         (WebCore::rangeImage):
1497         (WebCore::snapshotDragImage):
1498         * platform/mac/ClipboardMac.mm:
1499         (WebCore::ClipboardMac::dragNSImage):
1500         Move the four Mac specific snapshotting functions in Frame.h into FrameSnapshottingMac.h/mm and turn
1501         them into free standing functions.
1502
1503 2013-04-14  Andreas Kling  <akling@apple.com>
1504
1505         Hawtfix Mac build.
1506
1507         * WebCore.exp.in:
1508
1509 2013-04-14  Andreas Kling  <akling@apple.com>
1510
1511         Only MutableStylePropertySets should be able to have CSSOM wrappers.
1512         <http://webkit.org/b/114595>
1513
1514         Reviewed by Antti Koivisto.
1515
1516         Tighten typing so that only MutableStylePropertySets can have CSSOM wrappers associated.
1517         This allows us to get rid of the out-of-line base class destructor.
1518
1519         * WebCore.exp.in:
1520         * css/StylePropertySet.cpp:
1521         (WebCore::MutableStylePropertySet::~MutableStylePropertySet):
1522         (WebCore::MutableStylePropertySet::cssStyleDeclaration):
1523         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
1524         * css/StylePropertySet.h:
1525         (StylePropertySet):
1526         (MutableStylePropertySet):
1527         * dom/StyledElement.cpp:
1528         (WebCore::StyledElement::inlineStyleCSSOMWrapper):
1529
1530 2013-04-14  Andreas Kling  <akling@apple.com>
1531
1532         Remove unused function declaration StylePropertySet::setNeedsStyleRecalc().
1533
1534         Rubber-stamped by Antti Koivisto.
1535
1536         * css/StylePropertySet.h:
1537         (StylePropertySet):
1538
1539 2013-04-14  Andreas Kling  <akling@apple.com>
1540
1541         Move StylePropertySet internal storage access helpers to subclass.
1542         <http://webkit.org/b/114592>
1543
1544         Reviewed by Antti Koivisto.
1545
1546         Removed mutablePropertyVector() since most call sites are inside MutableStylePropertySet
1547         and can access m_propertyVector directly. The few ones that aren't can just cast.
1548
1549         For ImmutableStylePropertySet, moved value/metadata array accessors to the subclass
1550         and remove "immutable" from their names.
1551
1552         * css/StylePropertySet.cpp:
1553         (WebCore::StylePropertySet::immutableCopyIfNeeded):
1554         (WebCore::ImmutableStylePropertySet::ImmutableStylePropertySet):
1555         (WebCore::ImmutableStylePropertySet::~ImmutableStylePropertySet):
1556         (WebCore::MutableStylePropertySet::MutableStylePropertySet):
1557         (WebCore::MutableStylePropertySet::removeProperty):
1558         (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
1559         (WebCore::MutableStylePropertySet::setProperty):
1560         (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
1561         (WebCore::MutableStylePropertySet::parseDeclaration):
1562         (WebCore::MutableStylePropertySet::addParsedProperties):
1563         (WebCore::MutableStylePropertySet::clear):
1564         (WebCore::MutableStylePropertySet::removePropertiesInSet):
1565         (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
1566         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
1567         (WebCore::StylePropertySet::reportMemoryUsage):
1568         * css/StylePropertySet.h:
1569         (PropertyReference):
1570         (StylePropertySet):
1571         (ImmutableStylePropertySet):
1572         (WebCore::ImmutableStylePropertySet::valueArray):
1573         (WebCore::ImmutableStylePropertySet::metadataArray):
1574         (WebCore::StylePropertySet::PropertyReference::propertyMetadata):
1575         (WebCore::StylePropertySet::PropertyReference::propertyValue):
1576         (WebCore::StylePropertySet::propertyCount):
1577
1578 2013-04-14  Andreas Kling  <akling@apple.com>
1579
1580         Specialize propertyCount() in StylePropertySet subclasses.
1581         <http://webkit.org/b/114590>
1582
1583         Reviewed by Antti Koivisto.
1584
1585         Avoid branching on m_isMutable in code that already knows which type of set it is.
1586
1587         * css/StylePropertySet.h:
1588         (WebCore::ImmutableStylePropertySet::propertyCount):
1589         (ImmutableStylePropertySet):
1590         (WebCore::MutableStylePropertySet::propertyCount):
1591         (MutableStylePropertySet):
1592
1593 2013-04-14  Andreas Kling  <akling@apple.com>
1594
1595         Move property setting/removing functions to MutableStylePropertySet.
1596         <http://webkit.org/b/114589>
1597
1598         Reviewed by Antti Koivisto.
1599
1600         Move all functions for setting/removing properties from StylePropertySet to MutableStylePropertySet.
1601         Had to change SVGElement::animatedSMILStyleProperties() & friends to hand out MutableStylePropertySet*
1602         which was always the internal type anyway.
1603
1604         * css/StylePropertySet.cpp:
1605         (WebCore::MutableStylePropertySet::removeShorthandProperty):
1606         (WebCore::MutableStylePropertySet::removeProperty):
1607         (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
1608         (WebCore::MutableStylePropertySet::setProperty):
1609         (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
1610         (WebCore::MutableStylePropertySet::setPrefixingVariantProperty):
1611         (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
1612         (WebCore::MutableStylePropertySet::removeBlockProperties):
1613         (WebCore::MutableStylePropertySet::removePropertiesInSet):
1614         (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
1615         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
1616         * css/StylePropertySet.h:
1617         (StylePropertySet):
1618         (MutableStylePropertySet):
1619         * editing/ApplyStyleCommand.cpp:
1620         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1621         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1622         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1623         * editing/EditingStyle.cpp:
1624         (WebCore::EditingStyle::triStateOfStyle):
1625         (WebCore::removePropertiesInStyle):
1626         (WebCore::reconcileTextDecorationProperties):
1627         * svg/SVGAnimateElement.cpp:
1628         (WebCore::applyCSSPropertyToTarget):
1629         * svg/SVGElement.cpp:
1630         (WebCore::SVGElement::animatedSMILStyleProperties):
1631         (WebCore::SVGElement::ensureAnimatedSMILStyleProperties):
1632         * svg/SVGElement.h:
1633         (SVGElement):
1634         * svg/SVGElementRareData.h:
1635         (WebCore::SVGElementRareData::animatedSMILStyleProperties):
1636         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
1637         (SVGElementRareData):
1638
1639 2013-04-14  Andreas Kling  <akling@apple.com>
1640
1641         EditingStyle should have a MutableStylePropertySet internally.
1642         <http://webkit.org/b/114588>
1643
1644         Reviewed by Anders Carlsson.
1645
1646         Switch EditingStyle::m_mutableStyle to a RefPtr<MutableStylePropertySet>.
1647
1648         * css/StylePropertySet.cpp:
1649         (WebCore::StylePropertySet::copyBlockProperties):
1650         * css/StylePropertySet.h:
1651         (StylePropertySet):
1652         * editing/EditingStyle.cpp:
1653         (WebCore::EditingStyle::setStyle):
1654         (WebCore::EditingStyle::mergeStyleFromRules):
1655         (WebCore::StyleChange::StyleChange):
1656         (WebCore::setTextDecorationProperty):
1657         (WebCore::StyleChange::extractTextStyles):
1658         (WebCore::diffTextDecorations):
1659         (WebCore::getPropertiesNotIn):
1660         * editing/EditingStyle.h:
1661         (WebCore::EditingStyle::style):
1662         (EditingStyle):
1663         (StyleChange):
1664
1665 2013-04-14  Andreas Kling  <akling@apple.com>
1666
1667         Move addParsedProperty/addParsedProperties to MutableStylePropertySet.
1668         <http://webkit.org/b/114587>
1669
1670         Reviewed by Antti Koivisto.
1671
1672         All CSSParser methods that mutate an existing StylePropertySet now take a MutableStylePropertySet*
1673         instead of a StylePropertySet*.
1674
1675         * css/CSSParser.cpp:
1676         (WebCore::parseColorValue):
1677         (WebCore::parseSimpleLengthValue):
1678         (WebCore::parseKeywordValue):
1679         (WebCore::parseTranslateTransformValue):
1680         (WebCore::CSSParser::parseValue):
1681         (WebCore::CSSParser::parseDeclaration):
1682         * css/CSSParser.h:
1683         (CSSParser):
1684         * css/StylePropertySet.cpp:
1685         (WebCore::StylePropertySet::setProperty):
1686         (WebCore::MutableStylePropertySet::addParsedProperties):
1687         (WebCore::MutableStylePropertySet::addParsedProperty):
1688         * css/StylePropertySet.h:
1689         (StylePropertySet):
1690         (MutableStylePropertySet):
1691         * css/ViewportStyleResolver.h:
1692         (ViewportStyleResolver):
1693
1694 2013-04-14  Andreas Kling  <akling@apple.com>
1695
1696         CSSParser should return ImmutableStylePropertySets.
1697         <http://webkit.org/b/114585>
1698
1699         Reviewed by Anders Carlsson.
1700
1701         The StylePropertySets created by CSSParser were already immutable.
1702         Let this be reflected in the pointer types returned.
1703
1704         * css/CSSParser.cpp:
1705         (WebCore::CSSParser::parseInlineStyleDeclaration):
1706         (WebCore::CSSParser::parseDeclaration):
1707         (WebCore::CSSParser::createStylePropertySet):
1708         * css/CSSParser.h:
1709         (CSSParser):
1710
1711 2013-04-14  Andreas Kling  <akling@apple.com>
1712
1713         Move StylePropertySet::createImmutable() to ImmutableStylePropertySet.
1714         <http://webkit.org/b/114584>
1715
1716         Reviewed by Anders Carlsson.
1717
1718         StylePropertySet::createImmutable() -> ImmutableStylePropertySet::create()
1719         Also, immutableCopyIfNeeded() now returns a PassRefPtr<ImmutableStylePropertySet>.
1720
1721         * css/CSSParser.cpp:
1722         (WebCore::CSSParser::createStylePropertySet):
1723         * css/StylePropertySet.cpp:
1724         (WebCore::ImmutableStylePropertySet::create):
1725         (WebCore::StylePropertySet::immutableCopyIfNeeded):
1726         * css/StylePropertySet.h:
1727         (StylePropertySet):
1728         (ImmutableStylePropertySet):
1729
1730 2013-04-14  Andreas Kling  <akling@apple.com>
1731
1732         Move parseDeclaration() and clear() to MutableStylePropertySet.
1733         <http://webkit.org/b/114583>
1734
1735         Reviewed by Anders Carlsson.
1736
1737         ...and remove ASSERT(isMutable()) from the function bodies.
1738
1739         * svg/SVGFontFaceElement.cpp:
1740         (WebCore::SVGFontFaceElement::removedFrom):
1741
1742             Use clear() directly instead of taking an empty string through the CSS parser.
1743
1744         * css/StylePropertySet.cpp:
1745         (WebCore::MutableStylePropertySet::parseDeclaration):
1746         (WebCore::MutableStylePropertySet::clear):
1747         * css/StylePropertySet.h:
1748         (StylePropertySet):
1749         (MutableStylePropertySet):
1750         * dom/StyledElement.cpp:
1751         (WebCore::StyledElement::setInlineStyleFromString):
1752
1753 2013-04-14  Andreas Kling  <akling@apple.com>
1754
1755         Move CSSOM classes to using MutableStylePropertySet over StylePropertySet.
1756         <http://webkit.org/b/114581>
1757
1758         Reviewed by Anders Carlsson.
1759
1760         Moved ensureCSSStyleDeclaration() and ensureInlineCSSStyleDeclaration() from StylePropertySet
1761         to MutableStylePropertySet.
1762
1763         StyleRule & co now return a MutableStylePropertySet* from mutableProperties() to aid with...
1764
1765         CSSStyleDeclaration now only deals with MutableStylePropertySets. This was already the case
1766         in practice, we just didn't have any compile-time foot-shooting protection.
1767         In other words, if there's a CSSOM wrapper for a given StylePropertySet, it's guaranteed to
1768         be mutable, and the pointer types now reflect this.
1769
1770         * WebCore.exp.in:
1771         * css/PropertySetCSSStyleDeclaration.cpp:
1772         (WebCore::StyleRuleCSSStyleDeclaration::StyleRuleCSSStyleDeclaration):
1773         (WebCore::StyleRuleCSSStyleDeclaration::reattach):
1774         * css/PropertySetCSSStyleDeclaration.h:
1775         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
1776         (PropertySetCSSStyleDeclaration):
1777         (WebCore::StyleRuleCSSStyleDeclaration::create):
1778         (StyleRuleCSSStyleDeclaration):
1779         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
1780         * css/StylePropertySet.cpp:
1781         (WebCore::MutableStylePropertySet::ensureCSSStyleDeclaration):
1782         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
1783         * css/StylePropertySet.h:
1784         (StylePropertySet):
1785         (MutableStylePropertySet):
1786         * css/StyleRule.cpp:
1787         (WebCore::StyleRule::mutableProperties):
1788         (WebCore::StyleRulePage::mutableProperties):
1789         (WebCore::StyleRuleFontFace::mutableProperties):
1790         (WebCore::StyleRuleViewport::mutableProperties):
1791         (WebCore::StyleRuleFilter::mutableProperties):
1792         * css/StyleRule.h:
1793         (StyleRule):
1794         (StyleRuleFontFace):
1795         (StyleRulePage):
1796         (StyleRuleViewport):
1797         (StyleRuleFilter):
1798         * css/WebKitCSSKeyframeRule.cpp:
1799         (WebCore::StyleKeyframe::mutableProperties):
1800         * css/WebKitCSSKeyframeRule.h:
1801         (StyleKeyframe):
1802         * dom/Attr.cpp:
1803         (WebCore::Attr::style):
1804         * dom/Attr.h:
1805         (Attr):
1806         * editing/EditingStyle.cpp:
1807         (WebCore::EditingStyle::removeStyleAddedByNode):
1808         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
1809         (WebCore::EditingStyle::triStateOfStyle):
1810         (WebCore::styleFromMatchedRulesForElement):
1811         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
1812         * editing/FrameSelection.cpp:
1813         (WebCore::FrameSelection::copyTypingStyle):
1814         * editing/FrameSelection.h:
1815         * inspector/InspectorCSSAgent.cpp:
1816         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
1817
1818 2013-04-14  Andreas Kling  <akling@apple.com>
1819
1820         Move create() methods from StylePropertySet to MutableStylePropertySet.
1821         <http://webkit.org/b/114574>
1822
1823         Reviewed by Antti Koivisto.
1824
1825         Move the two create() methods that create MutableStylePropertySets from StylePropertySet
1826         to MutableStylePropertySet, and make them actually return MutableStylePropertySets.
1827         Switch to using {Pass,}RefPtr<MutableStylePropertySet> where appropriate to keep things building.
1828
1829         * css/CSSComputedStyleDeclaration.cpp:
1830         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
1831         * css/CSSParser.cpp:
1832         (WebCore::CSSParser::parseFontFaceValue):
1833         * css/DOMWindowCSS.cpp:
1834         (WebCore::DOMWindowCSS::supports):
1835         * css/ElementRuleCollector.cpp:
1836         (WebCore::leftToRightDeclaration):
1837         (WebCore::rightToLeftDeclaration):
1838         * css/FontLoader.cpp:
1839         (WebCore::FontLoader::resolveFontStyle):
1840         * css/StylePropertySet.cpp:
1841         (WebCore::StylePropertySet::copyPropertiesInSet):
1842         (WebCore::MutableStylePropertySet::create):
1843         * css/StylePropertySet.h:
1844         (StylePropertySet):
1845         (MutableStylePropertySet):
1846         * css/StyleResolver.cpp:
1847         (WebCore::StyleResolver::resolveVariables):
1848         * css/WebKitCSSMatrix.cpp:
1849         (WebCore::WebKitCSSMatrix::setMatrixValue):
1850         * dom/Attr.cpp:
1851         (WebCore::Attr::style):
1852         * dom/Document.cpp:
1853         (WebCore::Document::createCSSStyleDeclaration):
1854         * dom/StyledElement.cpp:
1855         (WebCore::StyledElement::ensureMutableInlineStyle):
1856         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1857         * editing/ApplyStyleCommand.cpp:
1858         (WebCore::copyStyleOrCreateEmpty):
1859         * editing/EditingStyle.cpp:
1860         (WebCore::editingStyleFromComputedStyle):
1861         (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
1862         (WebCore::EditingStyle::setProperty):
1863         (WebCore::EditingStyle::extractAndRemoveTextDirection):
1864         (WebCore::styleFromMatchedRulesForElement):
1865         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
1866         (WebCore::EditingStyle::forceInline):
1867         * editing/Editor.cpp:
1868         (WebCore::Editor::setBaseWritingDirection):
1869         * editing/EditorCommand.cpp:
1870         (WebCore::executeApplyStyle):
1871         (WebCore::executeToggleStyleInList):
1872         (WebCore::executeApplyParagraphStyle):
1873         (WebCore::executeMakeTextWritingDirectionLeftToRight):
1874         (WebCore::executeMakeTextWritingDirectionNatural):
1875         (WebCore::executeMakeTextWritingDirectionRightToLeft):
1876         * html/HTMLTableElement.cpp:
1877         (WebCore::leakBorderStyle):
1878         (WebCore::HTMLTableElement::createSharedCellStyle):
1879         (WebCore::leakGroupBorderStyle):
1880         * html/canvas/CanvasRenderingContext2D.cpp:
1881         (WebCore::CanvasRenderingContext2D::setFont):
1882         * inspector/InspectorStyleSheet.cpp:
1883         (WebCore::InspectorStyle::setPropertyText):
1884         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
1885         * page/DragController.cpp:
1886         (WebCore::DragController::concludeEditDrag):
1887         * svg/SVGElementRareData.h:
1888         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
1889         * svg/SVGFontFaceElement.cpp:
1890         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
1891         * svg/SVGStyledElement.cpp:
1892         (WebCore::SVGStyledElement::getPresentationAttribute):
1893
1894 2013-04-13  Sam Weinig  <sam@webkit.org>
1895
1896         Fix three crashes seen on the bots after "Make Frame's ScriptController an OwnPtr and remove the #include"
1897
1898         * xml/XMLHttpRequest.cpp:
1899         (WebCore::XMLHttpRequest::open):
1900         Check that the frame is not null (as it can be in cases like http/tests/xmlhttprequest/detaching-frame-2.html).
1901         We used to be getting lucky, in that shouldBypassMainWorldContentSecurityPolicy(), the function that is ultimately
1902         called, only operates on global state. Now that we need to actually dereference the Frame to get the ScriptController,
1903         we see this crash.
1904
1905 2013-04-13  Sukolsak Sakshuwong  <sukolsak@gmail.com>
1906
1907         Selection direction is not preserved when applying styles
1908         https://bugs.webkit.org/show_bug.cgi?id=110979
1909
1910         Reviewed by Ryosuke Niwa.
1911
1912         The patch is based on the one submitted by Shezan Baig.
1913
1914         If the starting selection was directional and its base was not first,
1915         switch newStart and newEnd when setting the ending direction. Otherwise,
1916         leave the order unchanged.
1917
1918         Test: editing/style/preserve-selection-direction.html
1919
1920         * editing/ApplyStyleCommand.cpp:
1921         (WebCore::ApplyStyleCommand::updateStartEnd):
1922
1923 2013-04-13  Alexey Proskuryakov  <ap@apple.com>
1924
1925         Added svn:ignore for inspector/CodeGeneratorInspectorStrings.pyc
1926
1927         * inspector: Added property svn:ignore.
1928
1929 2013-04-13  Sam Weinig  <sam@webkit.org>
1930
1931         Make Frame's ScriptController an OwnPtr and remove the #include
1932         https://bugs.webkit.org/show_bug.cgi?id=114105
1933
1934         Reviewed by Dean Jackson.
1935
1936         * Modules/websockets/WebSocket.cpp:
1937         * bindings/generic/BindingSecurity.cpp:
1938         * bindings/js/JSEventListener.cpp:
1939         * bindings/js/JSLazyEventListener.cpp:
1940         * bindings/js/PageScriptDebugServer.cpp:
1941         * bindings/js/ScriptEventListener.cpp:
1942         * bindings/js/ScriptState.cpp:
1943         * bindings/objc/DOM.mm:
1944         * bindings/objc/DOMAbstractView.mm:
1945         * bindings/objc/DOMInternal.mm:
1946         * dom/DocumentStyleSheetCollection.cpp:
1947         * dom/EventTarget.cpp:
1948         * dom/ScriptElement.cpp:
1949         * history/CachedFrame.cpp:
1950         * html/HTMLCanvasElement.cpp:
1951         * html/HTMLDocument.cpp:
1952         * html/HTMLElement.cpp:
1953         * html/HTMLFormElement.cpp:
1954         * html/HTMLPlugInElement.cpp:
1955         * html/HTMLPlugInImageElement.cpp:
1956         * html/parser/HTMLParserOptions.cpp:
1957         * inspector/InspectorAgent.cpp:
1958         * inspector/InspectorController.cpp:
1959         * inspector/InspectorFrontendClientLocal.cpp:
1960         * inspector/InspectorFrontendHost.cpp:
1961         * inspector/InspectorInstrumentation.cpp:
1962         * inspector/InspectorOverlay.cpp:
1963         * inspector/InspectorPageAgent.cpp:
1964         * inspector/PageRuntimeAgent.cpp:
1965         * loader/DocumentWriter.cpp:
1966         * loader/NavigationScheduler.cpp:
1967         * loader/SubframeLoader.cpp:
1968         * loader/cache/CachedResourceLoader.cpp:
1969         * page/DOMWindow.cpp:
1970         * page/EventSource.cpp:
1971         * page/Frame.cpp:
1972         * page/Frame.h:
1973         * page/Navigator.cpp:
1974         * page/Page.cpp:
1975         * page/PageGroup.cpp:
1976         * xml/XMLHttpRequest.cpp:
1977         * xml/XMLTreeViewer.cpp:
1978
1979 2013-04-13  Anders Carlsson  <andersca@apple.com>
1980
1981         Add form delegate method that's invoked right before sending a submit event to a form element
1982         https://bugs.webkit.org/show_bug.cgi?id=114575
1983
1984         Reviewed by Dan Bernstein.
1985
1986         * WebCore.exp.in:
1987         Export a symbol.
1988
1989         * WebCore.xcodeproj/project.pbxproj:
1990         Make DOMHTMLFormElementInternal.h a private header.
1991
1992 2013-03-13  Robert Hogan  <robert@webkit.org>
1993
1994         Whitespace between nowrap elements ignored after collapsed trailing space in a text run
1995         https://bugs.webkit.org/show_bug.cgi?id=17705
1996
1997         Reviewed by Ryosuke Niwa.
1998
1999         Bug 93448 and r138654 fixed the treatment of line-breaks between nowrap elements. This augments
2000         that fix by recognizing that we have a potential break not only in situations where the next character is a 
2001         space and the current character is not, but also where the next character is a space and the current character 
2002         *is* a space *and* we are ignoring spaces. This is so because any spaces we have ignored up to this point 
2003         after the actual word end will get collapsed away even if we don't end up taking the line break. 
2004
2005         In a nutshell, if we allow whitespace collapsing 'word  ' and 'word' are equivalent when before a whitespace
2006         character, so treat the first as well as the second as a potential linebreak.
2007
2008         Test: fast/text/whitespace/inline-whitespace-wrapping-5.html
2009
2010         * rendering/RenderBlockLineLayout.cpp:
2011         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2012
2013 2013-04-13  Andreas Kling  <akling@apple.com>
2014
2015         Rename/tweak some StylePropertySet/CSSStyleDeclaration copying functions.
2016         <http://webkit.org/b/114569>
2017
2018         Reviewed by Anders Carlsson.
2019
2020         - StylePropertySet::copy() -> mutableCopy()
2021
2022             This function now returns a MutableStylePropertySet, and this is also reflected in the name.
2023
2024         - CSSStyleDeclaration::copy() -> copyProperties()
2025
2026             Renamed to reflect that it's the properties being copied, not the CSSStyleDeclaration.
2027             They also now return MutableStylePropertySets.
2028
2029         - StylePropertySet::copyPropertiesInSet()
2030         - CSSStyleDeclaration::copyPropertiesInSet()
2031
2032             These functions now return MutableStylePropertySets.
2033
2034         * css/CSSComputedStyleDeclaration.cpp:
2035         (WebCore::CSSComputedStyleDeclaration::copyProperties):
2036         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
2037         * css/CSSComputedStyleDeclaration.h:
2038         (CSSComputedStyleDeclaration):
2039         * css/CSSStyleDeclaration.h:
2040         (CSSStyleDeclaration):
2041         * css/PropertySetCSSStyleDeclaration.cpp:
2042         (WebCore::PropertySetCSSStyleDeclaration::copyProperties):
2043         * css/PropertySetCSSStyleDeclaration.h:
2044         * css/StylePropertySet.cpp:
2045         (WebCore::StylePropertySet::mutableCopy):
2046         (WebCore::StylePropertySet::copyPropertiesInSet):
2047         * css/StylePropertySet.h:
2048         (StylePropertySet):
2049         * css/StyleRule.cpp:
2050         (WebCore::StyleRule::StyleRule):
2051         (WebCore::StyleRule::mutableProperties):
2052         (WebCore::StyleRulePage::StyleRulePage):
2053         (WebCore::StyleRulePage::mutableProperties):
2054         (WebCore::StyleRuleFontFace::StyleRuleFontFace):
2055         (WebCore::StyleRuleFontFace::mutableProperties):
2056         (WebCore::StyleRuleViewport::StyleRuleViewport):
2057         (WebCore::StyleRuleViewport::mutableProperties):
2058         (WebCore::StyleRuleFilter::StyleRuleFilter):
2059         (WebCore::StyleRuleFilter::mutableProperties):
2060         * css/ViewportStyleResolver.cpp:
2061         (WebCore::ViewportStyleResolver::addViewportRule):
2062         * css/WebKitCSSKeyframeRule.cpp:
2063         (WebCore::StyleKeyframe::mutableProperties):
2064         * dom/Element.cpp:
2065         (WebCore::UniqueElementData::UniqueElementData):
2066         * dom/StyledElement.cpp:
2067         (WebCore::StyledElement::ensureMutableInlineStyle):
2068         * editing/ApplyStyleCommand.cpp:
2069         (WebCore::copyStyleOrCreateEmpty):
2070         * editing/EditingStyle.cpp:
2071         (WebCore::copyEditingProperties):
2072         (WebCore::editingStyleFromComputedStyle):
2073         (WebCore::EditingStyle::EditingStyle):
2074         (WebCore::EditingStyle::init):
2075         (WebCore::EditingStyle::copy):
2076         (WebCore::EditingStyle::mergeStyle):
2077         (WebCore::getPropertiesNotIn):
2078         * editing/FrameSelection.cpp:
2079         (WebCore::FrameSelection::copyTypingStyle):
2080
2081 2013-04-13  Dirk Schulze  <krit@webkit.org>
2082
2083         Rename StyleBuilder to DeprecatedStyleBuilder
2084         https://bugs.webkit.org/show_bug.cgi?id=114532
2085
2086         Reviewed by Benjamin Poulain.
2087
2088         The StyleBuilder code is hard to read and maintain. People should
2089         not add new properties to this class. To make this clear, this
2090         patch renames the class to DeprecatedStyleBuilder.
2091
2092         Pure refactoring, no change in functionality.
2093
2094         * CMakeLists.txt:
2095         * GNUmakefile.list.am:
2096         * Target.pri:
2097         * WebCore.vcproj/WebCore.vcproj:
2098         * WebCore.vcxproj/WebCore.vcxproj.filters:
2099         * WebCore.xcodeproj/project.pbxproj:
2100         * css/CSSAllInOne.cpp:
2101         * css/DeprecatedStyleBuilder.cpp: Renamed from Source/WebCore/css/StyleBuilder.cpp.
2102         * css/DeprecatedStyleBuilder.h: Renamed from Source/WebCore/css/StyleBuilder.h.
2103         * css/StyleResolver.cpp:
2104         (WebCore::StyleResolver::StyleResolver):
2105         (WebCore::StyleResolver::applyProperty):
2106         (WebCore::StyleResolver::reportMemoryUsage):
2107         * css/StyleResolver.h:
2108         (StyleResolver):
2109         * rendering/style/RenderStyle.h:
2110
2111 2013-04-13  Andreas Kling  <akling@apple.com>
2112
2113         Remove unused method CSSStyleDeclaration::makeMutable().
2114         <http://webkit.org/b/114567>
2115
2116         Reviewed by Anders Carlsson.
2117
2118         * css/CSSComputedStyleDeclaration.cpp:
2119         * css/CSSComputedStyleDeclaration.h:
2120         (CSSComputedStyleDeclaration):
2121         * css/CSSStyleDeclaration.h:
2122         (CSSStyleDeclaration):
2123         * css/PropertySetCSSStyleDeclaration.cpp:
2124         * css/PropertySetCSSStyleDeclaration.h:
2125
2126 2013-04-13  Antoine Quint  <graouts@apple.com>
2127
2128         Width of last of consecutive tabs may be incorrect with "white-space: pre-wrap"
2129         https://bugs.webkit.org/show_bug.cgi?id=114562
2130
2131         Reviewed by Dan Bernstein.
2132
2133         When we measure the last word of a RenderText, make sure we use the correct x
2134         position taking into account the current accumulated word measurements up to
2135         this character. This is of particular importance in the case of tabs where the
2136         measured width would differ based on the x position.
2137
2138         Test: fast/text/tab-last-word-in-renderer-pre-wrap.html
2139
2140         * rendering/RenderBlockLineLayout.cpp:
2141         (WebCore::setLogicalWidthForTextRun):
2142
2143 2013-04-13  Mark Salisbury  <mark.salisbury@hp.com>
2144
2145         [Windows, WinCairo] ImageBufferCairo.cpp fails to compile after 148247, 148264.
2146         https://bugs.webkit.org/show_bug.cgi?id=114540
2147         
2148         Reviewed by Brent Fulgham.
2149
2150         * platform/graphics/cairo/ImageBufferCairo.cpp:
2151
2152 2013-04-13  Zan Dobersek  <zdobersek@igalia.com>
2153
2154         Unreviewed GTK build fix after r148305.
2155
2156         * GNUmakefile.list.am: Adding the TrackListBase build targets to the build.
2157
2158 2013-04-09  Roger Fong  <roger_fong@apple.com>
2159
2160         Update AVFoundationCF code following http://trac.webkit.org/changeset/148291.
2161         https://bugs.webkit.org/show_bug.cgi?id=114548.
2162
2163         Reviewed by Eric Carlson.
2164
2165         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2166         (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
2167         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
2168         (WebCore):
2169         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
2170         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
2171         (MediaPlayerPrivateAVFoundationCF):
2172
2173 2013-04-12  Simon Fraser  <simon.fraser@apple.com>
2174
2175         Demystify some code in RenderLayer::updateScrollableAreaSet()
2176         https://bugs.webkit.org/show_bug.cgi?id=114543
2177
2178         Reviewed by Tim Horton.
2179
2180         Clean up some code that called functions with important side effects
2181         inside a ternary operator, and clean up the #ifdefs.
2182
2183         * rendering/RenderLayer.cpp:
2184         (WebCore::RenderLayer::updateScrollableAreaSet):
2185
2186 2013-04-12  Alexey Proskuryakov  <ap@apple.com>
2187
2188         <rdar://problem/13277362> REGRESSION (r141981): Crash when closing a Google Docs document
2189         https://bugs.webkit.org/show_bug.cgi?id=114541
2190
2191         Reviewed by Brady Eidson.
2192
2193         Test: http/tests/ssl/ping-with-unsafe-redirect.html
2194
2195         * loader/FrameNetworkingContext.h:
2196         (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
2197         Added a null check. All NetworkingContext functions except for this one had it already.
2198
2199 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
2200
2201         [Mac] REGRESSION: Auto substitution strips new lines
2202         https://bugs.webkit.org/show_bug.cgi?id=114537
2203
2204         Reviewed by Enrica Casucci.
2205
2206         The bug was caused by SpellingCorrectionCommand's use of InsertTextCommand. This command can't insert
2207         new lines and there's even an assertion for it. Use TypingCommand::insertText instead.
2208
2209         Since TypingCommand::insertText calls appliedEditing on its own, we need to avoid calling that again in
2210         CompositeEditCommand::apply after SpellingCorrectionCommand::doApply. Replaced the check in apply to use
2211         callsAppliedEditingInDoApply instead of isTypingCommand, and added callsAppliedEditingInDoApply to both
2212         TypingCommand and SpellingCorrectionCommand to return true (it returns false by default).
2213
2214         Test: platform/mac/editing/spelling/autocorrection-with-multi-line-text.html
2215
2216         * editing/CompositeEditCommand.cpp:
2217         (WebCore::CompositeEditCommand::apply): Use TypingCommand::insertText instead of InsertTextCommand
2218         (WebCore::CompositeEditCommand::callsAppliedEditingInDoApply): Added. Returns false.
2219         * editing/CompositeEditCommand.h:
2220         (CompositeEditCommand):
2221         * editing/SpellingCorrectionCommand.cpp:
2222         (WebCore::SpellingCorrectionCommand::doApply):
2223         (WebCore::SpellingCorrectionCommand::callsAppliedEditingInDoApply): Added. Returns true.
2224         * editing/SpellingCorrectionCommand.h:
2225         (SpellingCorrectionCommand):
2226         * editing/TypingCommand.cpp:
2227         (WebCore::TypingCommand::callsAppliedEditingInDoApply): Added. Returns true.
2228         * editing/TypingCommand.h:
2229         (TypingCommand):
2230
2231 2013-04-12  Brendan Long  <b.long@cablelabs.com>
2232
2233         Refactor TextTrack and TextTrackList to make it easier to add audio and video tracks
2234         https://bugs.webkit.org/show_bug.cgi?id=114330
2235
2236         Reviewed by Jer Noble.
2237
2238         No new tests because this doesn't add new functionality.
2239
2240         * CMakeLists.txt: Only compile text track files if ENABLE(VIDEO_TRACK), and add TrackListBase
2241         * Target.pri: Add TrackListBase
2242         * WebCore.vcproj/WebCore.vcproj: Correct InbandTextTrackPrivate.h's location and add TrackListBase
2243         * WebCore.xcodeproj/project.pbxproj: Add TrackListBase
2244         * html/HTMLMediaElement.cpp: Renamed "track" functions to "textTrack"
2245         (WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack): Renamed.
2246         (WebCore::HTMLMediaElement::mediaPlayerDidRemoveTextTrack): Renamed.
2247         (WebCore::HTMLMediaElement::addTextTrack): Renamed.
2248         (WebCore::HTMLMediaElement::removeTextTrack): Renamed.
2249         (WebCore::HTMLMediaElement::removeAllInbandTracks): Use renamed functions.
2250         (WebCore::HTMLMediaElement::didAddTextTrack): Renamed.
2251         (WebCore::HTMLMediaElement::didRemoveTextTrack): Renamed.
2252         * html/HTMLMediaElement.h:
2253         Renamed "track" functions to "textTrack" and only forward-declare TextTrackList if ENABLE(VIDEO_TRACK)
2254         * html/HTMLTrackElement.cpp: Renamed "track" functions to "textTrack"
2255         (WebCore::HTMLTrackElement::insertedInto):
2256         (WebCore::HTMLTrackElement::removedFrom):
2257         * html/track/TextTrack.cpp:
2258         Move media element, label, language and kind into TrackBase and move EventTarget functions into TextTrack.
2259         (WebCore::TextTrack::TextTrack): Added.
2260         (WebCore::TextTrack::interfaceName): Added.
2261         (WebCore::TextTrack::scriptExecutionContext): Added.
2262         (WebCore::TextTrack::eventTargetData): Added.
2263         (WebCore::TextTrack::ensureEventTargetData): Added.
2264         (WebCore::TextTrack::isValidKind): Added to support TrackBase::setKind()
2265         (WebCore::TextTrack::setKind): Override to support textTrackKindChanged()
2266         (WebCore::TextTrack::isRendered): Use kind(), label() and language() instead of m_kind, etc.
2267         (WebCore::TextTrack::platformTextTrack): Ditto.
2268         (WebCore::TextTrack::isMainProgramContent): Ditto.
2269         * html/track/TextTrack.h:
2270         Same as TextTrack.cpp, plus added defaultKindKeyword() so TrackBase::setKind() will work and added
2271         toTextTrack().
2272         * html/track/TextTrackList.cpp:
2273         Move functionality into TrackListBase, add toTextTrack() casts, use
2274         TrackBase where necesssary and use owner() instead of m_owner.
2275
2276         Moved EventTarget functions into TrackListBase.
2277         (TextTrackList::TextTrackList):
2278         (TextTrackList::getTrackIndexRelativeToRenderedTracks):
2279         (TextTrackList::item):
2280         (TextTrackList::invalidateTrackIndexesAfterTrack):
2281         (TextTrackList::append):
2282         (TextTrackList::remove):
2283         (TextTrackList::contains):
2284         * html/track/TextTrackList.h:
2285         Move EventTarget, RefCounted and m_inbandTracks into TrackListBase.
2286         Override length(), contains() and remove().
2287         * html/track/TrackBase.cpp: Remove EventTarget functions.
2288         (WebCore::TrackBase::TrackBase):
2289         Remove EventTarget, add label and language
2290         (WebCore::TrackBase::setKind): Added
2291         * html/track/TrackBase.h:
2292         Don't extend EventTarget (AudioTrack and VideoTrack aren't). Handle
2293         kind, label, language and media element.
2294         (WebCore::TrackBase::setMediaElement): Added.
2295         (WebCore::TrackBase::mediaElement): Added.
2296         (WebCore::TrackBase::kind): Added.
2297         (WebCore::TrackBase::label): Added.
2298         (WebCore::TrackBase::setLabel): Added.
2299         (WebCore::TrackBase::language): Added.
2300         (WebCore::TrackBase::setLanguage): Added.
2301         * html/track/TrackListBase.cpp:
2302         Added. Handles functionality common to TextTrackList, AudioTrackList and
2303         VideoTrackList.
2304         (TrackListBase::TrackListBase): Added.
2305         (TrackListBase::~TrackListBase): Added.
2306         (TrackListBase::length): Added.
2307         (TrackListBase::remove): Added.
2308         (TrackListBase::contains): Added.
2309         (TrackListBase::scheduleAddTrackEvent): Added.
2310         (TrackListBase::scheduleRemoveTrackEvent): Added.
2311         (TrackListBase::scheduleChangeEvent): Added.
2312         (TrackListBase::asyncEventTimerFired): Added.
2313         * html/track/TrackListBase.h:
2314         Copied from Source/WebCore/html/track/TextTrackList.h. Handles
2315         functionality common to TextTrackList, AudioTrackList and VideoTrackList.
2316         (WebCore::TrackListBase::scriptExecutionContext): Added.
2317         (WebCore::TrackListBase::clearOwner): Added.
2318         (WebCore::TrackListBase::owner): Added.
2319         (WebCore::TrackListBase::isFiringEventListeners): Added.
2320         * platform/graphics/MediaPlayer.cpp:
2321         (WebCore::MediaPlayer::addTextTrack): Renamed (was addTrack)
2322         (WebCore::MediaPlayer::removeTextTrack): Renamed (was removeTrack)
2323         * platform/graphics/MediaPlayer.h:
2324         (WebCore::MediaPlayerClient::mediaPlayerDidAddTextTrack): Renamed (was mediaPlayerDidAddTrack)
2325         (WebCore::MediaPlayerClient::mediaPlayerDidRemoveTextTrack): Renamed (was mediaPlayerDidRemoveTrack)
2326
2327 2013-04-12  Oliver Hunt  <oliver@apple.com>
2328
2329         make the codegenerator actually emit polymorphism check in the "no vtable" path
2330         https://bugs.webkit.org/show_bug.cgi?id=114533
2331
2332         Reviewed by David Kilzer.
2333
2334         Make the "no vtable" check correct so that we actually plant a polymorphism
2335         check.  Update a few interfaces to have the correct validation attributes.        
2336
2337         * Modules/webdatabase/SQLTransaction.idl:
2338         * bindings/scripts/CodeGeneratorJS.pm:
2339         (GenerateImplementation):
2340         * bindings/scripts/test/JS/JSTestInterface.cpp:
2341         (WebCore::toJS):
2342         * bindings/scripts/test/TestInterface.idl:
2343         * html/track/TextTrackCue.idl:
2344         * svg/SVGAnimatedAngle.idl:
2345         * svg/SVGAnimatedBoolean.idl:
2346         * svg/SVGAnimatedEnumeration.idl:
2347         * svg/SVGAnimatedInteger.idl:
2348         * svg/SVGAnimatedLength.idl:
2349         * svg/SVGAnimatedLengthList.idl:
2350         * svg/SVGAnimatedNumber.idl:
2351         * svg/SVGAnimatedNumberList.idl:
2352         * svg/SVGAnimatedPreserveAspectRatio.idl:
2353         * svg/SVGAnimatedRect.idl:
2354         * svg/SVGAnimatedString.idl:
2355         * svg/SVGAnimatedTransformList.idl:
2356
2357 2013-04-12  Oliver Hunt  <oliver@apple.com>
2358
2359         Make CodeGeneratorJS plant comments to explain failures in the binding validation
2360         https://bugs.webkit.org/show_bug.cgi?id=114528
2361
2362         Reviewed by Sam Weinig.
2363
2364         No change in behaviour, just make the generated bindings include comments
2365         to aid diagnosing issues that may be non-obvious.
2366
2367         * bindings/scripts/CodeGeneratorJS.pm:
2368         (GenerateImplementation):
2369         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2370         (WebCore::toJS):
2371         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2372         (WebCore::toJS):
2373         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2374         (WebCore::toJS):
2375         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2376         (WebCore::toJS):
2377         * bindings/scripts/test/JS/JSTestException.cpp:
2378         (WebCore::toJS):
2379         * bindings/scripts/test/JS/JSTestInterface.cpp:
2380         (WebCore::toJS):
2381         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2382         (WebCore::toJS):
2383         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2384         (WebCore::toJS):
2385         * bindings/scripts/test/JS/JSTestObj.cpp:
2386         (WebCore::toJS):
2387         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2388         (WebCore::toJS):
2389         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2390         (WebCore::toJS):
2391         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2392         (WebCore::toJS):
2393
2394 2013-04-12  Tim Horton  <timothy_horton@apple.com>
2395
2396         REGRESSION (r138858): GIFs don't start playing when they come out of background tabs
2397         https://bugs.webkit.org/show_bug.cgi?id=108864
2398         <rdar://problem/13140489>
2399
2400         Reviewed by Antti Koivisto.
2401
2402         * loader/cache/CachedImage.cpp:
2403         (WebCore::CachedImage::resumeAnimatingImagesForLoader): Added.
2404         Iterate through all of the loader's cached resources. If they are bitmap images
2405         which claim to be animatable, notify the image's observers that the animation advanced
2406         by one frame. In reality, the image is still on the same frame, but will now be repainted,
2407         restarting the animation loop.
2408         * loader/cache/CachedImage.h:
2409         * page/FrameView.cpp:
2410         (WebCore::FrameView::setIsInWindow):
2411         When the FrameView is brought into a window, repaint all animated images.
2412         * platform/graphics/BitmapImage.cpp:
2413         (WebCore::BitmapImage::canAnimate): Added. 
2414         Return whether or not the image should animate (claims to animate, has not already
2415         finished its animation, and has an ImageObserver) *and* has more than one frame.
2416         * platform/graphics/BitmapImage.h:
2417         (BitmapImage): Add canAnimate.
2418
2419 2013-04-12  Martin Robinson  <mrobinson@igalia.com>
2420
2421         r148197 broke the GTK+ build
2422         https://bugs.webkit.org/show_bug.cgi?id=114525
2423
2424         Reviewed by Anders Carlsson.
2425
2426         Re-add the ENABLE(SCROLLING_THREAD) guards to scrolling thread files
2427         and extend them with USE(COORDINATED_GRAPHICS). This code is unused
2428         by other configurations currently.
2429
2430         * page/scrolling/ScrollingStateFixedNode.cpp: Re-add guards.
2431         * page/scrolling/ScrollingStateFixedNode.h: Ditto.
2432         * page/scrolling/ScrollingStateNode.cpp: Ditto.
2433         * page/scrolling/ScrollingStateNode.h: Ditto.
2434         * page/scrolling/ScrollingStateScrollingNode.cpp: Ditto.
2435         * page/scrolling/ScrollingStateScrollingNode.h: Ditto.
2436         * page/scrolling/ScrollingStateStickyNode.cpp: Ditto.
2437         * page/scrolling/ScrollingStateStickyNode.h: Ditto.
2438         * page/scrolling/ScrollingStateTree.cpp: Ditto.
2439         * page/scrolling/ScrollingStateTree.h: Ditto.
2440         * page/scrolling/mac/ScrollingStateNodeMac.mm: Ditto.
2441         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm: Ditto.
2442
2443 2013-04-12  Jer Noble  <jer.noble@apple.com>
2444
2445         (AVFoundation) WebKit fails to detect live stream.
2446         https://bugs.webkit.org/show_bug.cgi?id=114474
2447
2448         Reviewed by Eric Carlson.
2449
2450         Remove a workaround (added by r88944) for an error in an Apple.com javascript
2451         media controller. The error has been fixed, and the workaround is causing problems
2452         with other media streams.
2453
2454         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2455         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
2456
2457 2013-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2458
2459         [GTK] Split GtkAuthenticationDialog in two widgets
2460         https://bugs.webkit.org/show_bug.cgi?id=103644
2461
2462         Reviewed by Xan Lopez.
2463
2464         The current GtkAuthenticationDialog implements both the common
2465         logic and widgets to implement a real GtkDialog and a widget to be
2466         embedded in any container. WebKit1 uses a GtkDialog while WebKit2
2467         embeds the dialog in the WebView. This patch splits the code to
2468         leave in Platform only the code that is actually common, leaving
2469         the widget implementation to the WebKit layer, using a dialog in
2470         WebKit1 and embedding auth widget in the WebView in WebKit2.
2471
2472         * GNUmakefile.list.am: Add new files to compilation.
2473         * platform/gtk/GtkAuthenticationDialog.cpp: Removed.
2474         * platform/gtk/GtkAuthenticationDialog.h: Removed.
2475         * platform/gtk/WebKitAuthenticationWidget.cpp: Added.
2476         (_WebKitAuthenticationWidgetPrivate):
2477         (packTwoColumnLayoutInBox):
2478         (createLabel):
2479         (createEntry):
2480         (webkitAuthenticationWidgetInitialize):
2481         (webkitAuthenticationWidgetFinalize):
2482         (webkit_authentication_widget_init):
2483         (webkit_authentication_widget_class_init):
2484         (webkitAuthenticationWidgetNew):
2485         (webkitAuthenticationWidgetCreateCredential):
2486         (webkitAuthenticationWidgetGetChallenge):
2487         * platform/gtk/WebKitAuthenticationWidget.h: Added.
2488         (_WebKitAuthenticationWidget):
2489         (_WebKitAuthenticationWidgetClass):
2490
2491 2013-04-11  Jer Noble  <jer.noble@apple.com>
2492
2493         Add support for MediaPlayer::minTimeSeekable()
2494         https://bugs.webkit.org/show_bug.cgi?id=114484
2495
2496         Reviewed by Eric Carlson.
2497
2498         Plumb a new minTimeSeekable() method through MediaPlayer and
2499         MediaPlayerPrivate and use this new method in the existing
2500         HTMLMediaElement::minTimeSeekable() method.
2501
2502         * html/HTMLMediaElement.cpp:
2503         (WebCore::HTMLMediaElement::minTimeSeekable): Pass to MediaPlayer.
2504         * platform/graphics/MediaPlayer.cpp:
2505         (WebCore::NullMediaPlayerPrivate::minTimeSeekable): Return 0.
2506         (WebCore::MediaPlayer::minTimeSeekable): Pass to MediaPlayerPrivate.
2507         * platform/graphics/MediaPlayer.h:
2508         * platform/graphics/MediaPlayerPrivate.h:
2509         (WebCore::MediaPlayerPrivateInterface::seekable): Define in terms of 
2510             minTimeSeekable()
2511         (WebCore::MediaPlayerPrivateInterface::minTimeSeekable): Default to 0.
2512         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2513         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
2514             Initialize new m_cachedMinTimeSeekable ivar.
2515         (WebCore::MediaPlayerPrivateAVFoundation::maxTimeSeekableDouble):
2516             Renamed from maxTimeSeekable().
2517         (WebCore::MediaPlayerPrivateAVFoundation::minTimeSeekable): Added.
2518             Cache value of platformMinTimeSeekable().
2519         (WebCore::MediaPlayerPrivateAVFoundation::seekableTimeRangesChanged):
2520             Reset m_cachedMinTimeSeekable.
2521         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2522         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2523         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2524         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): float -> double.
2525         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
2526             Added. Retrieve the lowest value from -[m_playerItem seekableTimeRanges].
2527         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
2528             float -> double.
2529
2530 2013-04-12  Commit Queue  <rniwa@webkit.org>
2531
2532         Unreviewed, rolling out r147942, r148026, and r148092.
2533         http://trac.webkit.org/changeset/147942
2534         http://trac.webkit.org/changeset/148026
2535         http://trac.webkit.org/changeset/148092
2536         https://bugs.webkit.org/show_bug.cgi?id=114521
2537
2538         "r147942 is buggy. Rollback all the patches depending on it."
2539         (Requested by abucur on #webkit).
2540
2541         * dom/ContainerNode.cpp:
2542         (WebCore::willRemoveChildren):
2543         (WebCore):
2544         (WebCore::ContainerNode::removeChildren):
2545         * dom/Document.cpp:
2546         (WebCore::Document::nodeChildrenWillBeRemoved):
2547         (WebCore):
2548         * dom/Document.h:
2549         (Document):
2550         * dom/Node.cpp:
2551         * dom/Node.h:
2552         (Node):
2553         * dom/NodeTraversal.cpp:
2554         * dom/NodeTraversal.h:
2555         (ElementTraversal):
2556         (NodeTraversal):
2557         * dom/Range.cpp:
2558         (WebCore::boundaryNodeChildrenWillBeRemoved):
2559         (WebCore):
2560         (WebCore::Range::nodeChildrenWillBeRemoved):
2561         * dom/Range.h:
2562         * html/HTMLLIElement.cpp:
2563         (WebCore::HTMLLIElement::attach):
2564         * html/HTMLOListElement.cpp:
2565         (WebCore::HTMLOListElement::updateItemValues):
2566         (WebCore::HTMLOListElement::recalculateItemCount):
2567         * rendering/RenderCounter.cpp:
2568         (WebCore::previousInPreOrder):
2569         (WebCore::previousSiblingOrParent):
2570         (WebCore::parentElement):
2571         (WebCore::nextInPreOrder):
2572         * rendering/RenderListItem.cpp:
2573         (WebCore::enclosingList):
2574         (WebCore::RenderListItem::nextListItem):
2575         (WebCore::previousListItem):
2576         (WebCore::RenderListItem::calcValue):
2577         (WebCore::RenderListItem::explicitValueChanged):
2578         (WebCore::previousOrNextItem):
2579         (WebCore::RenderListItem::updateListMarkerNumbers):
2580         * rendering/RenderListItem.h:
2581         (RenderListItem):
2582
2583 2013-04-12  Jer Noble  <jer.noble@apple.com>
2584
2585         TimeRanges::nearest() returns incorrect results.
2586         https://bugs.webkit.org/show_bug.cgi?id=114483
2587
2588         Reviewed by Eric Carlson.
2589
2590         Test: media/timeranges-nearest.html
2591
2592         TimeRanges::nearest() has had an incorrect algorithm since its
2593         addition, which has gone unnoticed because no media engine supports
2594         seekable ranges with greater than one entry, and no media engine
2595         seekable ranges with startTime values > 0.
2596
2597         Fix the algorithm used to walk a TimeRanges object; return the closest
2598         time, not the smallest delta between range and target time.
2599         * html/TimeRanges.cpp:
2600         (TimeRanges::nearest):
2601
2602         Add some internal functions to allow us to write LayoutTests for
2603         TimeRanges objects:
2604         * WebCore.exp.in:
2605         * testing/Internals.cpp:
2606         (WebCore::Internals::createTimeRanges):
2607         (WebCore::Internals::closestTimeToTimeRanges):
2608         * testing/Internals.h:
2609         * testing/Internals.idl:
2610
2611 2013-04-12  Eric Carlson  <eric.carlson@apple.com>
2612
2613         Support "forced" subtitles
2614         https://bugs.webkit.org/show_bug.cgi?id=114460
2615
2616         Reviewed by Jer Noble.
2617
2618         Test: media/track/track-forced-subtitles.html
2619
2620         * html/HTMLMediaElement.cpp:
2621         (WebCore::HTMLMediaElement::configureTextTrackGroup): Enable a forced track if nothing else is enabled.
2622         (WebCore::HTMLMediaElement::configureTextTracks): Include forced tracks with captions+subtitles.
2623
2624         * html/track/InbandTextTrack.cpp:
2625         (WebCore::InbandTextTrack::InbandTextTrack): Deal with kind=forced.
2626
2627         * html/track/TextTrack.cpp:
2628         (WebCore::TextTrack::forcedKeyword): New keyword.
2629         (WebCore::TextTrack::isValidKindKeyword): Include forced.
2630         (WebCore::TextTrack::platformTextTrack): Ditto.
2631         * html/track/TextTrack.h:
2632
2633         * page/CaptionUserPreferences.cpp:
2634         (WebCore::CaptionUserPreferences::primaryAudioTrackLanguageOverride): New override to support testing.
2635         * page/CaptionUserPreferences.h:
2636
2637         * page/CaptionUserPreferencesMac.mm:
2638         (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Support forced tracks.
2639         * platform/graphics/InbandTextTrackPrivate.h:
2640
2641         * platform/graphics/PlatformTextTrack.h: Add Forced, minor cleanup.
2642
2643         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2644         (WebCore::InbandTextTrackPrivateAVF::processCue): Drive-by enhancement: log cue position.
2645
2646         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
2647         (WebCore::InbandTextTrackPrivateAVFObjC::kind): Support forced.
2648         (WebCore::InbandTextTrackPrivateAVFObjC::label): Drive-by cleanup.
2649
2650         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2651         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Don't filter out forced tracks.
2652         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Log the language returned.
2653
2654         * testing/Internals.cpp:
2655         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride): New.
2656         (WebCore::Internals::setCaptionDisplayMode): New.
2657         * testing/Internals.h:
2658         * testing/Internals.idl:
2659
2660 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
2661
2662         [Mac] Some ligatures are applied across different fronts
2663         https://bugs.webkit.org/show_bug.cgi?id=113604
2664
2665         Reviewed by Darin Adler.
2666
2667         The bug was caused by applyFontTransforms applying ligatures without updating the font data in the glyph buffer.
2668
2669         Suppose we have characters AB and A uses font X and B uses font Y. Further suppose that we have ligatures for AB
2670         in Y. The problem was that WithIterator::advanceInternal calls applyFontTransforms on AB to apply this ligature
2671         even though A and B use different fonts. Since X doesn't contain the same ligature for A to be paired with that
2672         of B in X, we get a blank A.
2673
2674         Fixed the bug by resetting lastGlyphCount after calling applyFontTransforms. This ensures that we don't call
2675         applyFontTransforms across different fonts.
2676
2677         No new tests since this requires a variant of Osaka font that doesn't come with OS X.
2678
2679         The bug 114482 tracks the effort to add a test for this bug fix. I've already asked someone to create a custom
2680         font for us so that we can test this bug fix but that's going to a while.
2681
2682         * platform/graphics/WidthIterator.cpp:
2683         (WebCore::WidthIterator::advanceInternal):
2684
2685 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
2686
2687         [Mac] Enable spellchecking tests added in r141471
2688         https://bugs.webkit.org/show_bug.cgi?id=108525
2689
2690         Reviewed by Darin Adler.
2691
2692         Made automatic quote substitution, dash substitution, text replacement, and spelling correction
2693         togglable via internals object. These functions are no-op when text replacement is not used.
2694
2695         This allows us to disable automatic spelling correction in spellcheck tests.
2696
2697         Enabled several tests added in r141471.
2698
2699         * WebCore.exp.in:
2700         * testing/Internals.cpp:
2701         (WebCore::Internals::setContinuousSpellCheckingEnabled): Don't null check editor() since it's not
2702         null whenever frame() is not null.
2703         (WebCore::Internals::setAutomaticQuoteSubstitutionEnabled): Added.
2704         (WebCore::Internals::setAutomaticLinkDetectionEnabled): Added.
2705         (WebCore::Internals::setAutomaticDashSubstitutionEnabled): Added.
2706         (WebCore::Internals::setAutomaticTextReplacementEnabled): Added.
2707         (WebCore::Internals::setAutomaticSpellingCorrectionEnabled): Added.
2708         * testing/Internals.h:
2709         * testing/Internals.idl:
2710
2711 2013-04-12  Alberto Garcia  <agarcia@igalia.com>
2712
2713         [BlackBerry] Upstream the filesystem code
2714         https://bugs.webkit.org/show_bug.cgi?id=114437
2715
2716         Reviewed by Rob Buis.
2717
2718         These are the changes for AsyncFileSystemBlackBerry.
2719
2720         This patch contains contributions from many members of the
2721         BlackBerry WebKit team.
2722
2723         * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
2724         (WebCore::AsyncFileSystem::isAvailable):
2725         (WebCore):
2726         (WebCore::AsyncFileSystem::create):
2727         (WebCore::AsyncFileSystem::openFileSystem):
2728         (WebCore::AsyncFileSystemBlackBerry::openFileSystem):
2729         (WebCore::AsyncFileSystem::deleteFileSystem):
2730         (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
2731         (WebCore::AsyncFileSystemBlackBerry::~AsyncFileSystemBlackBerry):
2732         (WebCore::AsyncFileSystemBlackBerry::move):
2733         (WebCore::AsyncFileSystemBlackBerry::copy):
2734         (WebCore::AsyncFileSystemBlackBerry::remove):
2735         (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
2736         (WebCore::AsyncFileSystemBlackBerry::readMetadata):
2737         (WebCore::AsyncFileSystemBlackBerry::createFile):
2738         (WebCore::AsyncFileSystemBlackBerry::createDirectory):
2739         (WebCore::AsyncFileSystemBlackBerry::fileExists):
2740         (WebCore::AsyncFileSystemBlackBerry::directoryExists):
2741         (WebCore::AsyncFileSystemBlackBerry::readDirectory):
2742         (WebCore::AsyncFileSystemBlackBerry::createWriter):
2743         (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
2744         (WebCore::AsyncFileSystemBlackBerry::fileSystemURLToPath):
2745         * platform/blackberry/AsyncFileSystemBlackBerry.h:
2746         (WTF):
2747         (WTF::BlackBerry::Platform::WebFileSystem):
2748         (WebCore::AsyncFileSystemBlackBerry::create):
2749         (AsyncFileSystemBlackBerry):
2750
2751 2013-04-12  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2752
2753         Apply our MSVC 2012 optimizer bug workaround to all minor releases
2754         https://bugs.webkit.org/show_bug.cgi?id=114436
2755
2756         Reviewed by Alexey Proskuryakov.
2757
2758         The bug has only been partially fixed in Update 2 but our Update 1 workaround
2759         still avoids the crash.
2760
2761         * platform/text/TextEncodingRegistry.cpp:
2762         (WebCore::TextEncodingNameHash::equal):
2763
2764 2013-04-12  Mark Rowe  <mrowe@apple.com>
2765
2766         And again, with the correct case this time.
2767
2768         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
2769
2770 2013-04-12  Mark Rowe  <mrowe@apple.com>
2771
2772         Build fix.
2773
2774         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
2775         Add missing #include and forward declaration.
2776
2777 2013-04-12  Zan Dobersek  <zdobersek@igalia.com>
2778
2779         Unreviewed functionality fix for ports enabling the MicroData feature.
2780
2781         * html/DOMSettableTokenList.idl: Add the SkipVTableValidation IDL attribute to the DOMSettableTokenList interface.
2782         This removes crashes in the MicroData layout tests that are occurring on EFL and GTK builders, the two ports being
2783         the only ports that enable this feature.
2784
2785 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
2786
2787         Move CachedRawResourceClient into a separate file
2788         https://bugs.webkit.org/show_bug.cgi?id=114491
2789
2790         Reviewed by Mark Rowe.
2791
2792         * GNUmakefile.list.am:
2793         * Target.pri:
2794         * WebCore.vcproj/WebCore.vcproj:
2795         * WebCore.vcxproj/WebCore.vcxproj:
2796         * WebCore.vcxproj/WebCore.vcxproj.filters:
2797         * WebCore.xcodeproj/project.pbxproj:
2798         * loader/DocumentLoader.cpp:
2799         * loader/DocumentLoader.h:
2800         * loader/DocumentThreadableLoader.h:
2801         * loader/archive/cf/LegacyWebArchive.cpp:
2802         * loader/cache/CachedRawResource.cpp:
2803         * loader/cache/CachedRawResource.h:
2804         * loader/cache/CachedRawResourceClient.h: Added.
2805         * loader/icon/IconLoader.h:
2806         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
2807
2808 2013-04-12  Commit Queue  <rniwa@webkit.org>
2809
2810         Unreviewed, rolling out r148262.
2811         http://trac.webkit.org/changeset/148262
2812         https://bugs.webkit.org/show_bug.cgi?id=114493
2813
2814         Cairo dep should now build, rolling r148247 back in (Requested
2815         by zdobersek on #webkit).
2816
2817         * platform/graphics/GraphicsContext.cpp:
2818         (WebCore):
2819         * platform/graphics/ImageBuffer.cpp:
2820         (WebCore):
2821         * platform/graphics/cairo/GLContext.h:
2822         (GLContext):
2823         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2824         (WebCore::GraphicsContext::isAcceleratedContext):
2825         (WebCore):
2826         * platform/graphics/cairo/ImageBufferCairo.cpp:
2827         (WebCore::ImageBufferData::ImageBufferData):
2828         (WebCore):
2829         (WebCore::createCairoGLSurface):
2830         (WebCore::ImageBuffer::ImageBuffer):
2831         (WebCore::ImageBuffer::platformTransformColorSpace):
2832         (WebCore::mapSurfaceToImage):
2833         (WebCore::unmapSurfaceFromImage):
2834         (WebCore::getImageData):
2835         (WebCore::ImageBuffer::putByteArray):
2836         (WebCore::ImageBufferData::paintToTextureMapper):
2837         (WebCore::ImageBuffer::platformLayer):
2838         * platform/graphics/cairo/ImageBufferDataCairo.h:
2839         (ImageBufferData):
2840         * platform/graphics/egl/GLContextEGL.cpp:
2841         (WebCore::GLContextEGL::GLContextEGL):
2842         (WebCore::GLContextEGL::~GLContextEGL):
2843         (WebCore::GLContextEGL::cairoDevice):
2844         (WebCore):
2845         * platform/graphics/egl/GLContextEGL.h:
2846         * platform/graphics/glx/GLContextGLX.cpp:
2847         (WebCore::GLContextGLX::GLContextGLX):
2848         (WebCore::GLContextGLX::~GLContextGLX):
2849         (WebCore::GLContextGLX::cairoDevice):
2850         (WebCore):
2851         * platform/graphics/glx/GLContextGLX.h:
2852         (GLContextGLX):
2853
2854 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
2855
2856         Reduce includes of CachedSVGDocument.h
2857         https://bugs.webkit.org/show_bug.cgi?id=114489
2858
2859         Reviewed by Jon Honeycutt.
2860
2861         * loader/cache/CachedSVGDocumentReference.cpp: Added.
2862         * loader/cache/CachedSVGDocumentReference.h:
2863         Moved function implementations to newly added .cpp file, and removed an include
2864         of CachedSVGDocument.h.
2865
2866         * css/WebKitCSSSVGDocumentValue.h: Just removed an unnecessary include.
2867
2868         * CMakeLists.txt:
2869         * GNUmakefile.list.am:
2870         * Target.pri:
2871         * WebCore.vcproj/WebCore.vcproj:
2872         * WebCore.vcxproj/WebCore.vcxproj:
2873         * WebCore.vcxproj/WebCore.vcxproj.filters:
2874         * WebCore.xcodeproj/project.pbxproj:
2875
2876 2013-04-11  Commit Queue  <rniwa@webkit.org>
2877
2878         Unreviewed, rolling out r148247.
2879         http://trac.webkit.org/changeset/148247
2880         https://bugs.webkit.org/show_bug.cgi?id=114490
2881
2882         Cairo dep fails to build on builders due to missing EGL
2883         headers (Requested by zdobersek on #webkit).
2884
2885         * platform/graphics/GraphicsContext.cpp:
2886         (WebCore):
2887         * platform/graphics/ImageBuffer.cpp:
2888         (WebCore):
2889         * platform/graphics/cairo/GLContext.h:
2890         (GLContext):
2891         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2892         * platform/graphics/cairo/ImageBufferCairo.cpp:
2893         (WebCore::ImageBufferData::ImageBufferData):
2894         (WebCore::ImageBuffer::ImageBuffer):
2895         (WebCore::ImageBuffer::platformTransformColorSpace):
2896         (WebCore::getImageData):
2897         (WebCore::ImageBuffer::putByteArray):
2898         (WebCore):
2899         * platform/graphics/cairo/ImageBufferDataCairo.h:
2900         (ImageBufferData):
2901         * platform/graphics/egl/GLContextEGL.cpp:
2902         (WebCore::GLContextEGL::GLContextEGL):
2903         (WebCore::GLContextEGL::~GLContextEGL):
2904         * platform/graphics/egl/GLContextEGL.h:
2905         * platform/graphics/glx/GLContextGLX.cpp:
2906         (WebCore::GLContextGLX::GLContextGLX):
2907         (WebCore::GLContextGLX::~GLContextGLX):
2908         * platform/graphics/glx/GLContextGLX.h:
2909         (GLContextGLX):
2910
2911 2013-04-11  Nico Weber  <thakis@chromium.org>
2912
2913         Remove debugging code that is no longer used with current mac sdks.
2914         https://bugs.webkit.org/show_bug.cgi?id=114486
2915
2916         Reviewed by Dan Bernstein.
2917
2918         This code compared __MAC_OS_X_VERSION_MAX_ALLOWED and friends to
2919         107 and 106 instead of the correct 1070 and 1060. Instead of fixing
2920         this, rip the code out completely: Since WebKit now only targets
2921         current systems, the ifdef is always false anyways.
2922
2923         No tests, as this only removes debugging code.
2924
2925         * platform/graphics/mac/SimpleFontDataMac.mm:
2926         (WebCore::SimpleFontData::platformInit):
2927
2928 2013-04-11  Oliver Hunt  <oliver@apple.com>
2929
2930         Fix windows build and land new binding test results
2931
2932         * bindings/scripts/CodeGeneratorJS.pm:
2933         (GenerateImplementation):
2934         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2935         (WebCore):
2936         (WebCore::toJS):
2937         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2938         (WebCore):
2939         (WebCore::toJS):
2940         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2941         (WebCore):
2942         (WebCore::toJS):
2943         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2944         (WebCore):
2945         (WebCore::toJS):
2946         * bindings/scripts/test/JS/JSTestException.cpp:
2947         (WebCore):
2948         (WebCore::toJS):
2949         * bindings/scripts/test/JS/JSTestInterface.cpp:
2950         (WebCore):
2951         (WebCore::toJS):
2952         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2953         (WebCore):
2954         (WebCore::toJS):
2955         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2956         (WebCore):
2957         (WebCore::toJS):
2958         * bindings/scripts/test/JS/JSTestObj.cpp:
2959         (WebCore):
2960         (WebCore::toJS):
2961         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2962         (WebCore):
2963         (WebCore::toJS):
2964         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2965         (WebCore):
2966         (WebCore::toJS):
2967         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2968         (WebCore):
2969         (WebCore::toJS):
2970
2971 2013-04-11  Shezan Baig  <sbaig1@bloomberg.net>
2972
2973         Selection gaps don't repaint correctly with transforms
2974         https://bugs.webkit.org/show_bug.cgi?id=111000
2975
2976         Reviewed by Simon Fraser.
2977
2978         When computing offsetFromRepaintContainer, we need to add UseTransforms
2979         to the MapCoordinateFlags argument. Note that ApplyContainerFlip is
2980         the default value for the flag, so this change effectively only adds
2981         the UseTransforms flag.
2982
2983         Tests: fast/repaint/selection-gap-absolute-child.html
2984                fast/repaint/selection-gap-fixed-child.html
2985                fast/repaint/selection-gap-flipped-absolute-child.html
2986                fast/repaint/selection-gap-flipped-fixed-child.html
2987                fast/repaint/selection-gap-transformed-absolute-child.html
2988                fast/repaint/selection-gap-transformed-fixed-child.html
2989
2990         * rendering/RenderBlock.cpp:
2991         (WebCore::RenderBlock::selectionGapRectsForRepaint):
2992
2993 2013-04-11  Oliver Hunt  <oliver@apple.com>
2994
2995         Add more type validation to debug builds
2996         https://bugs.webkit.org/show_bug.cgi?id=114478
2997
2998         Reviewed by Mark Hahnenberg.
2999
3000         Add a bunch more type checks to the JS DOM bindings.
3001
3002         * Modules/mediastream/MediaStream.idl:
3003         * Modules/webaudio/AudioDestinationNode.idl:
3004         * WebCore.xcodeproj/project.pbxproj:
3005         * bindings/js/JSDOMBinding.h:
3006         (WebCore::getExistingWrapper):
3007         (WebCore):
3008         (WebCore::createNewWrapper):
3009         * bindings/scripts/CodeGeneratorJS.pm:
3010         (GetNativeTypeForConversions):
3011         (GetGnuVTableRefForInterface):
3012         (GetGnuVTableNameForInterface):
3013         (GetGnuMangledNameForInterface):
3014         (GetGnuVTableOffsetForType):
3015         (GetWinVTableRefForInterface):
3016         (GetWinVTableNameForInterface):
3017         (GetWinMangledNameForInterface):
3018         (GetNamespaceForInterface):
3019         (GetImplementationLacksVTableForInterface):
3020         (GetSkipVTableValidationForInterface):
3021         (GenerateImplementation):
3022         * bindings/scripts/IDLAttributes.txt:
3023         * css/CSSRuleList.idl:
3024         * css/CSSStyleDeclaration.idl:
3025         * dom/Clipboard.idl:
3026         * dom/DOMStringMap.idl:
3027         * dom/MutationRecord.idl:
3028         * dom/NodeList.idl:
3029         * html/DOMTokenList.idl:
3030         * html/track/TextTrack.idl:
3031         * inspector/ScriptProfileNode.idl:
3032         * storage/Storage.idl:
3033         * xml/XPathNSResolver.idl:
3034
3035 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
3036
3037         Remove ResourceLoadInfo
3038         https://bugs.webkit.org/show_bug.cgi?id=113302
3039
3040         Reviewed by Benjamin Poulain.
3041
3042         Co-authored by Christophe Dumez.
3043
3044         Removed ResourceLoadInfo since it had been only used by Chromium port.
3045
3046         * GNUmakefile.list.am:
3047         * Target.pri:
3048         * WebCore.order:
3049         * WebCore.vcproj/WebCore.vcproj:
3050         * WebCore.vcxproj/WebCore.vcxproj:
3051         * WebCore.vcxproj/WebCore.vcxproj.filters:
3052         * WebCore.xcodeproj/project.pbxproj:
3053         * inspector/InspectorResourceAgent.cpp:
3054         (WebCore::buildObjectForResourceResponse):
3055         * loader/FrameLoader.cpp:
3056         (WebCore::FrameLoader::loadResourceSynchronously):
3057         * platform/network/ResourceLoadInfo.h: Removed.
3058         * platform/network/ResourceResponseBase.cpp:
3059         (WebCore):
3060         (WebCore::ResourceResponseBase::reportMemoryUsage):
3061         * platform/network/ResourceResponseBase.h:
3062         (ResourceResponseBase):
3063
3064 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
3065
3066         Another Mac Lion build fix attempt after r148197.
3067
3068         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
3069
3070 2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>
3071
3072         Unable to paste twice in input field when specific CSS present
3073         https://bugs.webkit.org/show_bug.cgi?id=108675
3074
3075         Reviewed by Ryosuke Niwa.
3076
3077         When we are pre-rendering text in ReplaceSelectionCommand, we shouldn't care
3078         whether the content is clipped by its ancestors or not. This bug was caused
3079         by the fact the plainText() method returned an empty string because the text
3080         was fully clipped by its ancestors. Make plainText ignore style visibility.
3081
3082         Test: editing/inserting/insert-text-into-text-field.html
3083
3084         * editing/ReplaceSelectionCommand.cpp:
3085         (WebCore::ReplacementFragment::ReplacementFragment):
3086
3087 2013-04-11  Martin Robinson  <mrobinson@igalia.com>
3088
3089         [GTK] Add accelerated 2D canvas support using cairo-gl
3090         https://bugs.webkit.org/show_bug.cgi?id=104672
3091
3092         Reviewed by Alejandro G. Castro.
3093
3094         No new tests. We do not yet have the ability to run tests against
3095         accelerated content.
3096
3097         * platform/graphics/GraphicsContext.cpp:
3098         (WebCore): We don't use the stub implementation of isAcceleratedContext any longer.
3099         * platform/graphics/ImageBuffer.cpp:
3100         (WebCore): Ditto for ImageBuffer::platformLayer.
3101         * platform/graphics/cairo/GLContext.h:
3102         (GLContext): Added method to get a cairo_device_t from the context.
3103         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3104         (WebCore::GraphicsContext::isAcceleratedContext): Return true when we are a CairoGL surface.
3105         * platform/graphics/cairo/ImageBufferCairo.cpp:
3106         (WebCore::ImageBufferData::ImageBufferData): Initialize the size and the texture to 0.
3107         (WebCore::createCairoGLSurface): Added this helper.
3108         (WebCore::ImageBuffer::ImageBuffer): When we are in accelerated rendering mode, create
3109         a CairoGL surface.
3110         (WebCore::ImageBuffer::platformTransformColorSpace): Do not implement this for accelerated
3111         contexts yet.
3112         (WebCore::mapSurfaceToImage): Added this helper, since we don't require Cairo 1.12 yet,
3113         which provides an builtin implementation.
3114         (WebCore::unmapSurfaceFromImage): Ditto.
3115         (WebCore::getImageData): Map the surface to an image surface first.
3116         (WebCore::ImageBuffer::putByteArray): Ditto.
3117         (WebCore::ImageBufferData::paintToTextureMapper): Connect the accelerated canvas into the
3118         TextureMapper infrastructure.
3119         (WebCore::ImageBuffer::platformLayer): This lets the TextureMapper at the ImageBufferData.
3120         * platform/graphics/cairo/ImageBufferDataCairo.h:
3121         (ImageBufferData): Subclass TexturMapperPlatformLayer where appropriate.
3122         * platform/graphics/egl/GLContextEGL.cpp: Added implementation of cairoDevice.
3123         * platform/graphics/egl/GLContextEGL.h: Ditto.
3124         * platform/graphics/glx/GLContextGLX.cpp: Ditto
3125         * platform/graphics/glx/GLContextGLX.h: Ditto.
3126
3127 2013-04-11  Anders Carlsson  <andersca@apple.com>
3128
3129         Implement removing storage area items
3130         https://bugs.webkit.org/show_bug.cgi?id=114472
3131
3132         Reviewed by Beth Dakin.
3133
3134         Export StorageMap::removeItem.
3135
3136         * WebCore.exp.in:
3137
3138 2013-04-11  Brendan Long  <b.long@cablelabs.com>
3139
3140         TextTrackList's .onremovetrack is missing from IDL
3141         https://bugs.webkit.org/show_bug.cgi?id=103421
3142
3143         Reviewed by Eric Carlson.
3144
3145         Fixed test media/track/opera/interfaces/TextTrackList/onremovetrack.html
3146
3147         * html/track/TextTrackList.cpp:
3148         (TextTrackList::remove):
3149         (TextTrackList::scheduleRemoveTrackEvent):
3150         * html/track/TextTrackList.h:
3151         (TextTrackList):
3152         * html/track/TextTrackList.idl:
3153
3154 2013-04-11  Alberto Garcia  <agarcia@igalia.com>
3155
3156         [BlackBerry] Upstream the filesystem code
3157         https://bugs.webkit.org/show_bug.cgi?id=114437
3158
3159         Reviewed by Rob Buis.
3160
3161         This patch contains contributions from many members of the
3162         BlackBerry WebKit team.
3163
3164         * platform/blackberry/AsyncFileWriterBlackBerry.cpp: Added.
3165         (WebCore):
3166         (WebCore::AsyncFileWriterBlackBerry::write):
3167         * platform/blackberry/AsyncFileWriterBlackBerry.h: Added.
3168         (WTF):
3169         (WTF::BlackBerry::Platform::WebFileWriter):
3170         (WebCore):
3171         * platform/blackberry/DOMFileSystemBlackBerry.cpp: Added.
3172         (WebCore):
3173         (WebCore::DOMFileSystemBase::createFileSystemURL):
3174         (WebCore::DOMFileSystemBase::crackFileSystemURL):
3175         (WebCore::DOMFileSystemBase::supportsToURL):
3176         (WebCore::DOMFileSystemBase::isValidType):
3177         * platform/blackberry/LocalFileSystemBlackBerry.cpp: Added.
3178         (WebCore):
3179         (WebCore::fileSystemTypeString):
3180         (WebCore::openFileSystem):
3181         (WebCore::LocalFileSystem::deleteFileSystem):
3182         (WebCore::LocalFileSystem::readFileSystem):
3183         (WebCore::LocalFileSystem::requestFileSystem):
3184         * platform/blackberry/PlatformAsyncFileSystemCallbacks.cpp: Added.
3185         (WebCore):
3186         (WebCore::PlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
3187         (WebCore::PlatformAsyncFileSystemCallbacks::notifySucceed):
3188         (WebCore::PlatformAsyncFileSystemCallbacks::notifyFail):
3189         (WebCore::getFileMetadata):
3190         (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadMetadata):
3191         (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
3192         (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadDirectory):
3193         (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
3194         (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
3195         (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
3196         (WebCore::PlatformAsyncFileSystemCallbacks::deleteMe):
3197         * platform/blackberry/PlatformAsyncFileSystemCallbacks.h: Added.
3198         (WebCore):
3199         * platform/blackberry/PlatformBlob.cpp: Added.
3200         (WebCore):
3201         (WebCore::PlatformBlob::nextDataItem):
3202         * platform/blackberry/PlatformBlob.h: Added.
3203         (WebCore):
3204         * platform/blackberry/PlatformFileWriterClient.cpp: Added.
3205         (WebCore):
3206         (WebCore::PlatformFileWriterClient::notifyWrite):
3207         (WebCore::PlatformFileWriterClient::notifyTruncate):
3208         (WebCore::PlatformFileWriterClient::notifyFail):
3209         * platform/blackberry/PlatformFileWriterClient.h: Added.
3210         (WebCore):
3211         (WTF):
3212         (WTF::WebCore::PlatformFileWriterClient):
3213         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp: Added.
3214         (WebCore):
3215         (WebCore::WorkerAsyncFileSystemBlackBerry::WorkerAsyncFileSystemBlackBerry):
3216         (WebCore::WorkerAsyncFileSystemBlackBerry::~WorkerAsyncFileSystemBlackBerry):
3217         (WebCore::WorkerAsyncFileSystemBlackBerry::waitForOperationToComplete):
3218         (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystemOnMainThread):
3219         (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystemOnMainThread):
3220         (WebCore::WorkerAsyncFileSystemBlackBerry::moveOnMainThread):
3221         (WebCore::WorkerAsyncFileSystemBlackBerry::copyOnMainThread):
3222         (WebCore::WorkerAsyncFileSystemBlackBerry::removeOnMainThread):
3223         (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursivelyOnMainThread):
3224         (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadataOnMainThread):
3225         (WebCore::WorkerAsyncFileSystemBlackBerry::createFileOnMainThread):
3226         (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectoryOnMainThread):
3227         (WebCore::WorkerAsyncFileSystemBlackBerry::fileExistsOnMainThread):
3228         (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExistsOnMainThread):
3229         (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectoryOnMainThread):
3230         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread):
3231         (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadataOnMainThread):
3232         (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystem):
3233         (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystem):
3234         (WebCore::WorkerAsyncFileSystemBlackBerry::move):
3235         (WebCore::WorkerAsyncFileSystemBlackBerry::copy):
3236         (WebCore::WorkerAsyncFileSystemBlackBerry::remove):
3237         (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursively):
3238         (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadata):
3239         (WebCore::WorkerAsyncFileSystemBlackBerry::createFile):
3240         (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectory):
3241         (WebCore::WorkerAsyncFileSystemBlackBerry::fileExists):
3242         (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExists):
3243         (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectory):
3244         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriter):
3245         (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
3246         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.h: Added.
3247         (WebCore):
3248         (WorkerAsyncFileSystemBlackBerry):
3249         (WebCore::WorkerAsyncFileSystemBlackBerry::create):
3250         * platform/blackberry/WorkerAsyncFileWriterBlackBerry.cpp: Added.
3251         (WebCore):
3252         (WebCore::WorkerAsyncFileWriterBlackBerry::writeOnMainThread):
3253         (WebCore::WorkerAsyncFileWriterBlackBerry::truncateOnMainThread):
3254         (WebCore::WorkerAsyncFileWriterBlackBerry::abortOnMainThread):
3255         (WebCore::WorkerAsyncFileWriterBlackBerry::write):
3256         (WebCore::WorkerAsyncFileWriterBlackBerry::truncate):
3257         (WebCore::WorkerAsyncFileWriterBlackBerry::abort):
3258         (WebCore::WorkerAsyncFileWriterBlackBerry::waitForOperationToComplete):
3259         (WebCore::WorkerAsyncFileWriterBlackBerry::platformWriterClient):
3260         * platform/blackberry/WorkerAsyncFileWriterBlackBerry.h: Added.
3261         (WebCore):
3262         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp: Added.
3263         (WebCore):
3264         (WebCore::performTaskOnMainThread):
3265         (WebCore::postTaskToMainThread):
3266         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyStop):
3267         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
3268         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceed):
3269         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFail):
3270         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadata):
3271         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectory):
3272         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
3273         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
3274         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
3275         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::deleteMe):
3276         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::postTaskToWorkerThread):
3277         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystemOnWorkerThread):
3278         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceedOnWorkerThread):
3279         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFailOnWorkerThread):
3280         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadataOnWorkerThread):
3281         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectoryEntryOnWorkerThread):
3282         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriterOnWorkerThread):
3283         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h: Added.
3284         (WebCore):
3285         * platform/blackberry/WorkerPlatformFileWriterClient.cpp: Added.
3286         (WebCore):
3287         (WebCore::WorkerPlatformFileWriterClient::notifyWriteOnWorkerThread):
3288         (WebCore::WorkerPlatformFileWriterClient::notifyFailOnWorkerThread):
3289         (WebCore::WorkerPlatformFileWriterClient::notifyTruncateOnWorkerThread):
3290         (WebCore::WorkerPlatformFileWriterClient::notifyWrite):
3291         (WebCore::WorkerPlatformFileWriterClient::notifyTruncate):
3292         (WebCore::WorkerPlatformFileWriterClient::notifyFail):
3293         (WebCore::WorkerPlatformFileWriterClient::postTaskToWorkerThreadIfNeeded):
3294         * platform/blackberry/WorkerPlatformFileWriterClient.h: Added.
3295         (WebCore):
3296         (WTF):
3297         (WTF::WebCore::WorkerPlatformFileWriterClient):
3298
3299 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
3300
3301         Mac Lion build fix attempt after r148197.
3302
3303         * page/scrolling/mac/ScrollingStateNodeMac.mm:
3304
3305 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
3306
3307         <rdar://problem/10416316> [Mac] WebSocket doesn't work with authenticating proxies
3308         https://bugs.webkit.org/show_bug.cgi?id=114464
3309
3310         Reviewed by Brady Eidson.
3311
3312         * platform/mac/WebCoreSystemInterface.h:
3313         * platform/mac/WebCoreSystemInterface.mm:
3314         Updated for new wkCopyCONNECTProxyResponse signature.
3315
3316         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3317         (WebCore::SocketStreamHandle::executePACFileURL): Fixed a typo in a comment.
3318         (WebCore::SocketStreamHandle::addCONNECTCredentials): Don't crash even if the rest
3319         of the fix didn't work (which would be the case on some OS versions).
3320         (WebCore::SocketStreamHandle::readStreamCallback): Replaced most breaks with returns,
3321         because breaks were confusing in such a huge switch. Changed null proxyResponse
3322         to not be treated as authentication success, because it's not. Merged two parts
3323         of WaitingForConnect state handling for clarity.
3324         (WebCore::SocketStreamHandle::writeStreamCallback): Don't blindly assume that we
3325         can start WebSocket handshake after kCFStreamEventCanAcceptBytes. Perhaps it's
3326         nothing but a failed CONNECT, and a read callback still needs to send authentication.
3327         Without this, establishing connections was flaky. Added a check for Closed state,
3328         matching read callback.
3329
3330 2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>
3331
3332         MutationRecord is not exposed
3333         https://bugs.webkit.org/show_bug.cgi?id=114288
3334
3335         Reviewed by Darin Adler.
3336
3337         Expose MutationRecord on DOMWindow. This patch is copied from a patch
3338         by Adam Klein. https://codereview.chromium.org/13861028
3339
3340         Test: fast/dom/MutationObserver/mutation-record-constructor.html
3341
3342         * page/DOMWindow.idl:
3343
3344 2013-04-11  Beth Dakin  <bdakin@apple.com>
3345
3346         Cannot scroll to footer on a page with overflow:hidden on the body
3347         https://bugs.webkit.org/show_bug.cgi?id=114462
3348         -and corresponding-
3349         <rdar://problem/13530042>
3350
3351         Reviewed by Simon Fraser.
3352
3353         Add a new scenario in which we want to overrideHidden -- whenever we are the 
3354         mainFrame and there is a header or footer.
3355
3356         * page/FrameView.cpp:
3357         (WebCore::FrameView::applyOverflowToViewport):
3358
3359 2013-04-11  Commit Queue  <rniwa@webkit.org>
3360
3361         Unreviewed, rolling out r148034, r148052, r148097, and
3362         r148194.
3363         http://trac.webkit.org/changeset/148034
3364         http://trac.webkit.org/changeset/148052
3365         http://trac.webkit.org/changeset/148097
3366         http://trac.webkit.org/changeset/148194
3367         https://bugs.webkit.org/show_bug.cgi?id=114463
3368
3369         broke mutiresolution favicons, among other things (Requested
3370         by thorton on #webkit).
3371
3372         * loader/icon/IconDatabase.cpp:
3373         (WebCore::IconDatabase::setIconDataForIconURL):
3374         * loader/icon/IconDatabase.h:
3375         (IconDatabase):
3376         * loader/icon/IconDatabaseBase.h:
3377         * loader/icon/IconRecord.cpp:
3378         * loader/icon/IconRecord.h:
3379         (IconRecord):
3380
3381 2013-04-11  ChangSeok Oh  <changseok.oh@collabora.com>
3382
3383         [GTK][AC] Implement GraphicsLayerClutter::moveOrCopyAnimations
3384         https://bugs.webkit.org/show_bug.cgi?id=114019
3385
3386         Reviewed by Gustavo Noronha Silva.
3387
3388         Fill moveOrCopyAnimations that is based on Mac port implementation.
3389
3390         Tests: animations/3d/change-transform-in-end-event.html
3391                animations/3d/transform-origin-vs-functions.html
3392                compositing/animation/state-at-end-event-transform-layer.html
3393
3394         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
3395         (WebCore::GraphicsLayerClutter::moveOrCopyLayerAnimation):
3396         (WebCore):
3397         (WebCore::GraphicsLayerClutter::moveOrCopyAnimations):
3398         * platform/graphics/clutter/GraphicsLayerClutter.h:
3399
3400 2013-04-11  Anders Carlsson  <andersca@apple.com>
3401
3402         Implement StorageManager::getValues
3403         https://bugs.webkit.org/show_bug.cgi?id=114461
3404
3405         Reviewed by Beth Dakin.
3406
3407         Expose the item hash map.
3408
3409         * storage/StorageMap.h:
3410         (WebCore::StorageMap::items):
3411
3412 2013-04-11  Eli Fidler  <efidler@blackberry.com>
3413
3414         [BlackBerry] Use the platform list of languages with fonts instead of hardcoding
3415         https://bugs.webkit.org/show_bug.cgi?id=114452
3416
3417         Reviewed by Rob Buis.
3418
3419         BlackBerry PR 325244
3420         Internally reviewed by Jeff Rogers
3421
3422         No functional change, but platform font changes won't need a WebKit change
3423         going forward.
3424
3425         * page/blackberry/SettingsBlackBerry.cpp:
3426         (WebCore::Settings::initializeDefaultFontFamilies):
3427
3428 2013-04-11  Dirk Schulze  <krit@webkit.org>
3429
3430         [CSS Shaders] Parse parameters descriptor
3431         https://bugs.webkit.org/show_bug.cgi?id=114455
3432
3433         Reviewed by Dean Jackson.
3434
3435         Add support for the 'parameters' descriptor in the filter at-rule to support
3436         parameterization of CSS Shaders.
3437
3438         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters
3439
3440         Tests: css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid.html
3441                css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid.html
3442
3443         * css/CSSComputedStyleDeclaration.cpp:
3444         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3445         * css/CSSParser.cpp: Added 'parameters' property and fail parsing if not inside
3446             of an @filter rule.
3447         (WebCore::CSSParser::parseValue):
3448         (WebCore::CSSParser::parseFilterRuleParameters): New helper function to verify
3449             values.
3450         (WebCore):
3451         * css/CSSParser.h:
3452         * css/CSSProperty.cpp:
3453         (WebCore::CSSProperty::isInheritedProperty):
3454         * css/CSSPropertyNames.in: Added new property name 'parameters'.
3455         * css/StyleResolver.cpp:
3456         (WebCore::StyleResolver::applyProperty):
3457
3458 2013-04-11  Arunprasad Rajkumar  <arunprasadr@nds.com>
3459
3460         Default Implementation of toString for NPObject shouldn't return NPClass & NPObject address as String
3461         https://bugs.webkit.org/show_bug.cgi?id=114450
3462
3463         Reviewed by Anders Carlsson.
3464
3465         * bridge/c/c_instance.cpp:
3466         (JSC::Bindings::CInstance::stringValue):
3467
3468 2013-04-11  Robert Hogan  <robert@webkit.org>
3469
3470         REGRESSION (142152): ensure we skip past out-of-flow objects when detecting whitespace to ignore after leading empty inlines
3471         https://bugs.webkit.org/show_bug.cgi?id=114311
3472
3473         Reviewed by Emil A Eklund.
3474
3475         When we hit an empty inline in line layout and try to detect whether it has any whitespace after it that we ought to ignore, then
3476         we need to skip past out-of-flow and floating objects when looking for that whitespace. Failure to do so will result in us
3477         adding the width from the first space we encounter to our line width and over-estimating the real width of the line.
3478
3479         We're hitting this bug now because we have broadened the category of empty inlines that get lineboxes so we go into line layout 
3480         and have to deal with them and their subsequent whitespace there. Previously this sort of whitespace would have been simply
3481         consumed by |skipLeadingWhitespace|.
3482