logicalLeftSelectionGap and logicalRightSelectionGap call availableLogicalWidth(...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-22  Ryosuke Niwa  <rniwa@webkit.org>
2
3         logicalLeftSelectionGap and logicalRightSelectionGap call availableLogicalWidth() multiple times
4         https://bugs.webkit.org/show_bug.cgi?id=113479
5
6         Reviewed by David Hyatt.
7
8         Introduced LogicalSelectionOffsetCaches to cache the containing blocks and their logical left and right
9         selection offsets in computing selection gaps. An instance of this class stores the containing block for
10         each position type and caches their logical selection offsets when none of their block ancestors up until
11         its nearest selection root do no have any floating objects or regions and exclusions.
12
13         When blockSelectionGaps recurses to another level, it creates a new cache instance by "inheriting"
14         (like RenderStyle) from the old cache, overriding those containing blocks that are replaced by "this".
15
16         This eliminates the need to traverse containing block ancestors in RenderBlock::logicalLeftSelectionOffset
17         and RenderBlock::logicalRightSelectionOffset, and improves WebKit's performance by roughly 20%.
18
19         Performance Tests: Interactive/SelectAll.html
20
21         * GNUmakefile.list.am:
22         * Target.pri:
23         * WebCore.xcodeproj/project.pbxproj:
24
25         * rendering/LogicalSelectionOffsetCaches.h: Added.
26         (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): Moved from RenderObject.h.
27         (WebCore::isNonRenderBlockInline): Ditto.
28         (WebCore::containingBlockForFixedPosition): Extracted from RenderObject::containingBlock.
29         (WebCore::containingBlockForAbsolutePosition): Ditto.
30         (WebCore::containingBlockForObjectInFlow): Ditto.
31
32         (WebCore::LogicalSelectionOffsetCaches): Added.
33         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::ContainingBlockInfo): Added.
34         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::setBlock): Added. m_hasFloatsOrRegions is
35         or'ed with itself when ContainingBlockInfo is copy constructed since m_hasFloatsOrRegions needs be true
36         for a block when any of its containing block ancestors have floats or regions.
37         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::block): Added.
38         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::cache): Added.
39         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalLeftSelectionOffset): Added. Caches
40         the logical selection offset if it hasn't.
41         (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalRightSelectionOffset): Ditto.
42
43         (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches): The first constructor is used
44         for a selection root. The second one is used for inheriting from another cache. In the latter case,
45         copy all containing block information except ones that need to be overridden by this block.
46         (WebCore::LogicalSelectionOffsetCaches::containingBlockInfo): Returns a ContainingBlockInfo based on
47         object's position value.
48
49         * rendering/RenderBlock.cpp:
50         (WebCore::RenderBlock::selectionGapRectsForRepaint):
51         (WebCore::RenderBlock::paintSelection):
52         (WebCore::RenderBlock::selectionGaps):
53         (WebCore::RenderBlock::inlineSelectionGaps):
54         (WebCore::RenderBlock::blockSelectionGaps): Exit before instantiating a new LogicalSelectionOffsetCaches
55         if there is no child to recurse.
56         (WebCore::RenderBlock::blockSelectionGap):
57         (WebCore::RenderBlock::logicalLeftSelectionGap):
58         (WebCore::RenderBlock::logicalRightSelectionGap):
59         (WebCore::RenderBlock::logicalLeftSelectionOffset): Use LogicalSelectionOffsetCaches to get its containing
60         block and its logical selection offset.
61         (WebCore::RenderBlock::logicalRightSelectionOffset): Ditto.
62
63         * rendering/RenderBlock.h:
64         (WebCore::RenderBlock):
65
66         * rendering/RenderObject.cpp:
67         (WebCore::RenderObject::containingBlock): Extracted code into LogicalSelectionOffsetCaches.h.
68
69         * rendering/RootInlineBox.cpp:
70         (WebCore::RootInlineBox::lineSelectionGap):
71
72         * rendering/RootInlineBox.h:
73         (WebCore::RootInlineBox):
74
75 2013-04-23  Eric Carlson  <eric.carlson@apple.com>
76
77         [Mac] forced subtitle track should change when audio track language changes
78         https://bugs.webkit.org/show_bug.cgi?id=115043
79
80         Reviewed by Jer Noble.
81
82         No new tests, it isn't possible to test this automatically because there is currently no way
83         to enable/disable audio tracks.
84
85         * html/HTMLMediaElement.cpp:
86         (WebCore::HTMLMediaElement::configureTextTrackGroup): Set m_forcedOrAutomaticSubtitleTrackLanguage.
87         (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):  Call markCaptionAndSubtitleTracksAsUnconfigured
88             after a delay if the language of the primary audio track changes.
89         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): markCaptionAndSubtitleTracksAsUnconfigured API change.
90         (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Take parameter to allow
91             the reconfiguration to happen after a delay to avoid doing it during a callback from the
92             media engine. Clear the ConfigureTextTracks bit in m_pendingActionFlags to cancel any pending 
93             asynch configuration.
94         * html/HTMLMediaElement.h:
95
96         * page/CaptionUserPreferencesMac.mm:
97         (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Clean up logic.
98
99         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
100         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Call characteristicChanged when
101             the primary audio track language changes.
102
103 2013-04-23  Hans Muller  <hmuller@adobe.com>
104
105         [CSS Exclusions] Improve ExclusionPolygon smart pointer safety
106         https://bugs.webkit.org/show_bug.cgi?id=114984
107
108         Reviewed by Dirk Schulze.
109
110         Assign newly allocated objects to PassOwnPtrs as early as possible to reduce the
111         chances of future leaks. No new tests were added, this change adds no new functionality.
112
113         * rendering/ExclusionPolygon.cpp:
114         (WebCore::computeShapePaddingBounds):
115         (WebCore::computeShapeMarginBounds):
116         (WebCore::ExclusionPolygon::shapePaddingBounds):
117         (WebCore::ExclusionPolygon::shapeMarginBounds):
118         * rendering/ExclusionShape.cpp:
119         (WebCore::ExclusionShape::createExclusionShape):
120
121 2013-04-23  Andreas Kling  <akling@apple.com>
122
123         Revert "Throttle resize events during live window resize."
124         <http://webkit.org/b/114292>
125         <rdar://problem/13411454>
126         <rdar://problem/13694839>
127
128         Reviewed by Geoffrey Garen.
129
130         It appears that this caused more glitches than it helped resize performance.
131
132         * page/FrameView.h:
133         * page/FrameView.cpp:
134         (WebCore::FrameView::FrameView):
135         (WebCore::FrameView::performPostLayoutTasks):
136         (WebCore::FrameView::sendResizeEvent):
137
138             Turn the null-check of m_frame into an assertion since this method is
139             no longer called asynchronously.
140
141         (WebCore::FrameView::willEndLiveResize):
142
143             Ninja fix: call up to the closest superclass implementation.
144
145 2013-04-23  Christophe Dumez  <ch.dumez@sisa.samsung.com>
146
147         Global constructors should be configurable and not enumerable
148         https://bugs.webkit.org/show_bug.cgi?id=110573
149
150         Reviewed by Geoffrey Garen.
151
152         Update JSC Code generator so that global constructors now have the following
153         attributes:
154         { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }
155         instead of previously:
156         { [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false }
157
158         The new behavior is according to the Web IDL specification (section 4.4):
159         http://dev.w3.org/cvsweb/~checkout~/2006/webapi/WebIDL/Overview.html?rev=1.617;content-type=text%2Fhtml#es-interfaces
160
161         This also matches the behavior of Firefox.
162
163         Tests: fast/js/global-constructors-attributes.html
164                fast/js/global-constructors-deletable.html
165
166         * bindings/scripts/CodeGeneratorJS.pm:
167         (GenerateAttributesHashTable):
168
169 2013-04-23  Simon Fraser  <simon.fraser@apple.com>
170
171         Don't create compositing layers for sticky position unless using the ScrollingCoordinator
172         https://bugs.webkit.org/show_bug.cgi?id=115060
173
174         Reviewed by Tim Horton.
175         
176         Creating compositing layers for sticky position elements is only useful
177         when we're using a ScrollingCoordinator, so don't create them if
178         we're not in a frame that uses a scrolling coordinator.
179
180         Tests: compositing/layer-creation/no-compositing-for-sticky.html
181                platform/mac-wk2/tiled-drawing/sticky/sticky-layers.html
182
183         * rendering/RenderLayerCompositor.cpp:
184         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
185
186 2013-04-23  Christophe Dumez  <ch.dumez@sisa.samsung.com>
187
188         'length' property of DOM bindings functions returns wrong value
189         https://bugs.webkit.org/show_bug.cgi?id=110569
190
191         Reviewed by Geoffrey Garen.
192
193         Make the 'length' property of Function objects and Interface
194         objects behave according to the latest Web IDL specification
195         editor draft:
196         http://dev.w3.org/2006/webapi/WebIDL/#es-interface-call
197         http://dev.w3.org/2006/webapi/WebIDL/#es-operations
198
199         As a result, only mandatory arguments are taken into account
200         when computing the value for the 'length' property. This
201         behavior is consistent with Firefox and Blink.
202
203         Tests: fast/js/constructor-length.html
204                fast/js/function-length.html
205
206         * bindings/scripts/CodeGeneratorJS.pm:
207         (GenerateImplementation):
208         (GenerateConstructorHelperMethods):
209         Update the JSC code generator to only account for mandatory parameters
210         when computing the value for the 'length' property of Function objects
211         and constructors.
212
213         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
214         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
215         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
216         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
217         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
218         (WebCore::JSTestEventConstructorConstructor::finishCreation):
219         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
220         (WebCore::JSTestEventTargetConstructor::finishCreation):
221         (WebCore):
222         * bindings/scripts/test/JS/JSTestException.cpp:
223         (WebCore::JSTestExceptionConstructor::finishCreation):
224         * bindings/scripts/test/JS/JSTestInterface.cpp:
225         (WebCore::JSTestInterfaceConstructor::finishCreation):
226         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
227         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
228         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
229         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
230         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
231         * bindings/scripts/test/JS/JSTestObj.cpp:
232         (WebCore):
233         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
234         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
235         (WebCore):
236         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
237         (WebCore):
238         Rebaseline bindings tests results.
239
240         * fileapi/Blob.idl:
241         Remove 'ConstructorParameters=2' extended attribute as the correct value
242         is 0, given that a Blob can be constructed without parameter.
243
244         * html/canvas/DataView.idl:
245         Update ConstructorParameters extended attribute value from 3 to 1 as only
246         one of the 3 parameters is mandatory.
247
248         * html/canvas/Float32Array.idl:
249         * html/canvas/Float64Array.idl:
250         * html/canvas/Int16Array.idl:
251         * html/canvas/Int32Array.idl:
252         * html/canvas/Int8Array.idl:
253         * html/canvas/Uint16Array.idl:
254         * html/canvas/Uint32Array.idl:
255         * html/canvas/Uint8Array.idl:
256         * html/canvas/Uint8ClampedArray.idl:
257         Remove 'ConstructorParameters=1' extended attribute from interfaces using
258         'ConstructorTemplate=TypedArray' as the bindings generator now properly
259         compute the number of constructor parameters for such interfaces.
260
261         * page/WebKitPoint.idl:
262         Remove 'ConstructorParameters=2' extended attribute as the correct value
263         should be 0, given that a WebKitPoint can be constructed without parameters.
264
265 2013-04-23  Benjamin Poulain  <benjamin@webkit.org>
266
267         Minor String usage fixes in WebCore/platform
268         https://bugs.webkit.org/show_bug.cgi?id=115021
269
270         Reviewed by Andreas Kling.
271
272         Use ASCIILiteral when possible + minor fixes.
273
274         * platform/ContentType.cpp:
275         (WebCore::ContentType::codecs):
276         * platform/ContentType.h:
277         (ContentType):
278         * platform/Decimal.cpp:
279         (WebCore::Decimal::toString):
280         * platform/KURL.cpp:
281         (WebCore::KURL::setProtocol):
282
283 2013-04-23  Dirk Schulze  <krit@webkit.org>
284
285         Pick up color and mat values in custom shaders
286         https://bugs.webkit.org/show_bug.cgi?id=115046
287
288         Reviewed by Dean Jackson.
289
290         The custom filter functions accept color values and mat2-4 functions
291         as parameter types. These were implemented in CSS already.
292         This patch picks up the values and applies them as uniforms to the
293         custom shader program. 
294
295         Tests: css3/filters/custom/custom-filter-color.html
296                css3/filters/custom/custom-filter-matN.html
297
298         * platform/graphics/filters/CustomFilterRenderer.cpp:
299         (WebCore::CustomFilterRenderer::bindProgramColorParameters): Set uniform for color values.
300         (WebCore):
301         (WebCore::CustomFilterRenderer::bindProgramMatrixParameters): Set uniform for mat2-4 values.
302         (WebCore::CustomFilterRenderer::bindProgramParameters): Call color and matrix functions.
303         * platform/graphics/filters/CustomFilterRenderer.h:
304         (WebCore):
305         (CustomFilterRenderer):
306
307 2013-04-23  Jacky Jiang  <zhajiang@blackberry.com>
308
309         Remove redundant code in ViewportArguments::resolve
310         https://bugs.webkit.org/show_bug.cgi?id=115054
311
312         Reviewed by Kenneth Rohde Christiansen.
313
314         Remove redundant code "result.orientation = orientation;".
315
316         * dom/ViewportArguments.cpp:
317         (WebCore::ViewportArguments::resolve):
318
319 2013-04-23  Simon Fraser  <simon.fraser@apple.com>
320
321         Tiled layers clipped inside nested transform/preserve-3d hierarchies
322         https://bugs.webkit.org/show_bug.cgi?id=115044
323
324         Reviewed by Dean Jackson.
325         
326         The optimization added in r139479 to call move() for integral translation
327         transforms hit a bug in TransformState::move(). If m_accumulatedTransform is
328         not null, we have to apply it.
329
330         Test: compositing/visible-rect/flipped-preserve-3d.html
331
332         * platform/graphics/transforms/TransformState.cpp:
333         (WebCore::TransformState::move):
334
335 2013-04-23  Claudio Saavedra  <csaavedra@igalia.com>
336
337         Ctrl+Shift+Right in Windows should select the spacing after the word
338         https://bugs.webkit.org/show_bug.cgi?id=110487
339
340         Reviewed by Ryosuke Niwa.
341
342         Tests: editing/deleting/smart-editing-disabled-win.html
343                editing/execCommand/remove-format-multiple-elements-win.html
344                editing/execCommand/toggle-link-win.html
345                editing/execCommand/toggle-unlink-win.html
346                editing/selection/extend-selection-enclosing-block-win.html
347                editing/style/make-text-writing-direction-inline-win.html
348                editing/style/push-down-font-styles-win.html
349                editing/style/push-down-implicit-styles-around-list-win.html
350
351         * editing/FrameSelection.cpp:
352         (WebCore::FrameSelection::nextWordPositionForPlatform): New method
353         that takes platform-specific editing behaviour in order to decide
354         what the next word position is, that is, for Windows, skip
355         spacing, for all other platforms, behave as currently.
356         (WebCore::FrameSelection::modifyExtendingRight):
357         (WebCore::FrameSelection::modifyExtendingForward):
358         (WebCore::FrameSelection::modifyMovingForward):
359         (WebCore::FrameSelection::modifyExtendingLeft): Use the new method
360         in all of the above.
361         * editing/FrameSelection.h: Declare the new method.
362
363 2013-04-23  Benjamin Poulain  <bpoulain@apple.com>
364
365         Inline SelectorQuery::matches, SelectorQuery::queryAll, SelectorQuery::queryFirst
366         https://bugs.webkit.org/show_bug.cgi?id=115012
367
368         Reviewed by Andreas Kling.
369
370         Each of these function has a single call site:
371         -SelectorQuery::matches from Element::webkitMatchesSelector.
372         -SelectorQuery::queryAll from Node::querySelectorAll.
373         -SelectorQuery::queryFirst from Node::querySelector.
374
375         Having a dedicated method to jump to was a little overkill.
376
377         * dom/SelectorQuery.cpp:
378         * dom/SelectorQuery.h:
379         (WebCore::SelectorQuery::matches):
380         (WebCore::SelectorQuery::queryAll):
381         (WebCore::SelectorQuery::queryFirst):
382
383 2013-04-23  Benjamin Poulain  <bpoulain@apple.com>
384
385         Remove wxWebKit's folders from WebCore
386         https://bugs.webkit.org/show_bug.cgi?id=115007
387
388         Reviewed by Andreas Kling.
389
390         The wxWebKit port is no longer actively maintained by Kevin
391         on webkit.org. Remove the code until new maintainers resume the work.
392
393         * accessibility/wx/AccessibilityObjectWx.cpp: Removed.
394         * editing/wx/EditorWx.cpp: Removed.
395         * page/wx/DragControllerWx.cpp: Removed.
396         * page/wx/EventHandlerWx.cpp: Removed.
397         * platform/graphics/wx/ColorWx.cpp: Removed.
398         * platform/graphics/wx/FloatRectWx.cpp: Removed.
399         * platform/graphics/wx/FontCacheWx.cpp: Removed.
400         * platform/graphics/wx/FontCustomPlatformData.cpp: Removed.
401         * platform/graphics/wx/FontCustomPlatformData.h: Removed.
402         * platform/graphics/wx/FontPlatformData.h: Removed.
403         * platform/graphics/wx/FontPlatformDataWx.cpp: Removed.
404         * platform/graphics/wx/FontPlatformDataWxMac.mm: Removed.
405         * platform/graphics/wx/FontWx.cpp: Removed.
406         * platform/graphics/wx/GlyphMapWx.cpp: Removed.
407         * platform/graphics/wx/GradientWx.cpp: Removed.
408         * platform/graphics/wx/GraphicsContextWx.cpp: Removed.
409         * platform/graphics/wx/IconWx.cpp: Removed.
410         * platform/graphics/wx/ImageBufferDataWx.h: Removed.
411         * platform/graphics/wx/ImageBufferWx.cpp: Removed.
412         * platform/graphics/wx/ImageWx.cpp: Removed.
413         * platform/graphics/wx/IntPointWx.cpp: Removed.
414         * platform/graphics/wx/IntRectWx.cpp: Removed.
415         * platform/graphics/wx/IntSizeWx.cpp: Removed.
416         * platform/graphics/wx/PathWx.cpp: Removed.
417         * platform/graphics/wx/SimpleFontDataWx.cpp: Removed.
418         * platform/graphics/wx/TransformationMatrixWx.cpp: Removed.
419         * platform/image-decoders/wx/ImageDecoderWx.cpp: Removed.
420         * platform/wx/ClipboardWx.cpp: Removed.
421         * platform/wx/ClipboardWx.h: Removed.
422         * platform/wx/ContextMenuItemWx.cpp: Removed.
423         * platform/wx/ContextMenuWx.cpp: Removed.
424         * platform/wx/CursorWx.cpp: Removed.
425         * platform/wx/DragDataWx.cpp: Removed.
426         * platform/wx/DragImageWx.cpp: Removed.
427         * platform/wx/EventLoopWx.cpp: Removed.
428         * platform/wx/FileSystemWx.cpp: Removed.
429         * platform/wx/KeyEventWin.cpp: Removed.
430         * platform/wx/KeyboardEventWx.cpp: Removed.
431         * platform/wx/LanguageWx.cpp: Removed.
432         * platform/wx/LocalDC.h: Removed.
433         * platform/wx/LocalizedStringsWx.cpp: Removed.
434         * platform/wx/LoggingWx.cpp: Removed.
435         * platform/wx/MimeTypeRegistryWx.cpp: Removed.
436         * platform/wx/MouseEventWx.cpp: Removed.
437         * platform/wx/MouseWheelEventWx.cpp: Removed.
438         * platform/wx/PasteboardWx.cpp: Removed.
439         * platform/wx/PopupMenuWx.cpp: Removed.
440         * platform/wx/PopupMenuWx.h: Removed.
441         * platform/wx/RenderThemeWx.cpp: Removed.
442         * platform/wx/RunLoopWx.cpp: Removed.
443         * platform/wx/SSLKeyGeneratorWx.cpp: Removed.
444         * platform/wx/ScreenWx.cpp: Removed.
445         * platform/wx/ScrollViewWx.cpp: Removed.
446         * platform/wx/ScrollbarThemeWx.cpp: Removed.
447         * platform/wx/ScrollbarThemeWx.h: Removed.
448         * platform/wx/SearchPopupMenuWx.cpp: Removed.
449         * platform/wx/SearchPopupMenuWx.h: Removed.
450         * platform/wx/SharedBufferWx.cpp: Removed.
451         * platform/wx/SharedTimerWx.cpp: Removed.
452         * platform/wx/SoundWx.cpp: Removed.
453         * platform/wx/SystemTimeWx.cpp: Removed.
454         * platform/wx/TemporaryLinkStubs.cpp: Removed.
455         * platform/wx/TextBreakIteratorInternalICUWx.cpp: Removed.
456         * platform/wx/WidgetWx.cpp: Removed.
457         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Removed.
458         * platform/wx/wxcode/fontprops.cpp: Removed.
459         * platform/wx/wxcode/fontprops.h: Removed.
460         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Removed.
461         * platform/wx/wxcode/gtk/fontprops.cpp: Removed.
462         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Removed.
463         * platform/wx/wxcode/gtk/scrollbar_render.cpp: Removed.
464         * platform/wx/wxcode/mac/carbon/fontprops.mm: Removed.
465         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Removed.
466         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Removed.
467         * platform/wx/wxcode/non-kerned-drawing.h: Removed.
468         * platform/wx/wxcode/scrollbar_render.h: Removed.
469         * platform/wx/wxcode/win/fontprops.cpp: Removed.
470         * platform/wx/wxcode/win/non-kerned-drawing.cpp: Removed.
471         * platform/wx/wxcode/win/scrollbar_render.cpp: Removed.
472         * plugins/wx/PluginDataWx.cpp: Removed.
473
474 2013-04-23  Roger Fong  <roger_fong@apple.com>
475
476         AppleWin build fix.
477
478         * WebCore.vcxproj/WebCore.vcxproj:
479         * WebCore.vcxproj/WebCore.vcxproj.filters:
480
481 2013-04-23  Roger Fong  <roger_fong@apple.com>
482
483         AppleWin build fix.
484
485         * inspector/InspectorAllInOne.cpp:
486         * inspector/InspectorMemoryAgent.cpp:
487         (WebCore::InspectorMemoryAgent::create):
488         (WebCore):
489         * inspector/InspectorMemoryAgent.h:
490         (InspectorMemoryAgent):
491
492 2013-04-23  Zoltan Horvath  <zoltan@webkit.org>
493
494         [CSS Exclusions] shape-inside overflow should be pushed to the outside of the content box
495         https://bugs.webkit.org/show_bug.cgi?id=114526
496
497         Reviewed by David Hyatt.
498
499         The specification has changed to define shape-outside as the inverse of an exclusion. Overflowing content
500         should not overlap the shape, and it should be pushed outside the content box. This change affects several
501         tests, but only one new has been added. In this change I'm not intended to include the behavior change for
502         shape-inside on CSS Regions, I'm going to fix that in a follow up patch.
503
504         Tests: fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html: Modified.
505                fast/exclusions/shape-inside/shape-inside-bottom-edge.html: Modified.
506                fast/exclusions/shape-inside/shape-inside-empty.html: Modified.
507                fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html: Added.
508                fast/exclusions/shape-inside/shape-inside-overflow.html: Modified.
509                fast/exclusions/shape-inside/shape-inside-percentage.html: Modified.
510                fast/exclusions/shape-inside/shape-inside-rounded-rectangle-004.html: Modified.
511
512         * rendering/ExclusionShapeInfo.h:
513         (WebCore::ExclusionShapeInfo::clearSegments): Shape-outside's code uses shape-inside codepaths, when that happens we need to provide a
514         way to reset the m_segments member.
515         (WebCore::ExclusionShapeInfo::shapeContainingBlockHeight): The containing block's height is stored in m_shapeLogicalHeight, I added a
516         function to get this value when we need it to calculate the content box's bottom position.
517         (ExclusionShapeInfo):
518         (WebCore::ExclusionShapeInfo::lineOverlapsShapeBounds):
519         (WebCore::ExclusionShapeInfo::lineWithinShapeBounds):  Add function to test whether a whole line is within a shape or not.
520         * rendering/RenderBlockLineLayout.cpp:
521         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Overflowing content should start under the content box.
522         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Since we use shape-inside codepaths for shape-outside in layoutRunsAndFloatsInRange function
523         and for shape-outside is not a requirement to check the line's bottom position is within the shape we might end up with some extra segments here.
524         In this case we should clear segments, since we don't want to apply any horizontal offsets on the overflowing content.
525
526 2013-04-23  Antti Koivisto  <antti@apple.com>
527
528         Avoid computing style twice when element has no existing style
529         https://bugs.webkit.org/show_bug.cgi?id=115042
530
531         Reviewed by Andreas Kling.
532         
533         We currently compute element style twice if we end up having to reattach, first in recalcStyle and then
534         again during attach(). We can easily avoid this in common case where the element has no existing style
535         (usually because it is display:none). 
536
537         * dom/Element.cpp:
538         (WebCore::Element::recalcStyle):
539         
540             Don't compute the style and diff if there is no existing style. There is nothing to diff against.
541             Instead just call reattach() directly, we ended up doing that anyway with the existing code.
542         
543 2013-04-23  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
544
545         WebSocket: Return type of send() should be void if hybi-10 protocol is chosen
546         https://bugs.webkit.org/show_bug.cgi?id=65850
547
548         Reviewed by Alexey Proskuryakov.
549
550         WebSocket API draft changed the return type of send() from boolean to void based on Simon
551         Pieters' post to WHATWG. Firefox 8 and IE 10 already follow the specification, hence it should
552         make sense for us to do the same when hybi protocol is used.
553
554         Original patch by Yuta Kitamura  <yutak@chromium.org>
555
556         Tests: http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
557                http/tests/websocket/tests/hybi/send-after-close-on-unload.html (updated)
558
559         * Modules/websockets/WebSocket.cpp:
560         (WebCore::WebSocket::send):
561         * Modules/websockets/WebSocket.h:
562         * Modules/websockets/WebSocket.idl:
563
564 2013-04-23  Carlos Garcia Campos  <cgarcia@igalia.com>
565
566         ScrollbarThemeComposite depends on Page/FrameView/ChromeClient
567         https://bugs.webkit.org/show_bug.cgi?id=21361
568
569         Reviewed by Andreas Kling.
570
571         Remove unused header includes.
572
573         * platform/ScrollbarThemeComposite.cpp:
574
575 2013-04-23  Carlos Garcia Campos  <cgarcia@igalia.com>
576
577         [GTK] Add webkit_uri_request_get_http_headers to WebKit2 GTK+ API
578         https://bugs.webkit.org/show_bug.cgi?id=112160
579
580         Reviewed by Andreas Kling.
581
582         * platform/network/soup/GOwnPtrSoup.cpp:
583         (WTF::SoupMessageHeaders): Add freeOwnedGPtr implementation for
584         SoupMessageHeaders.
585         (WTF):
586         * platform/network/soup/GOwnPtrSoup.h:
587         (WTF):
588         * platform/network/soup/ResourceRequest.h:
589         (ResourceRequest):
590         * platform/network/soup/ResourceRequestSoup.cpp:
591         (WebCore::ResourceRequest::updateSoupMessageHeaders): New function
592         to update the given SoupMessageHeaders with the ResourceRequest
593         headers.
594         (WebCore::ResourceRequest::updateFromSoupMessageHeaders): New
595         function to update the ResourceRequest headers with the given
596         SoupMessageHeaders.
597         (WebCore::ResourceRequest::updateSoupMessage): Use
598         updateSoupMessageHeaders() to update the headers.
599         (WebCore::ResourceRequest::toSoupMessage): Ditto.
600         (WebCore::ResourceRequest::updateFromSoupMessage): Use
601         updateFromSoupMessageHeaders to update the headers.
602
603 2013-04-23  Andreas Kling  <akling@apple.com>
604
605         Clear StyleResolver state before returning from styleForElement().
606         <http://webkit.org/b/115035>
607
608         Reviewed by Antti Koivisto.
609
610         From Blink r148687 by <inferno@chromium.org>.
611
612         A cached element pointer in the resolver state was causing confusion because
613         in some cases a subsequent call to styleForElement() would use a pointer to
614         a different object that is at the same memory address as the previous one.
615
616         Test: fast/css/reload-non-styled-element-crash.html
617
618         * css/StyleResolver.cpp:
619         (WebCore::StyleResolver::styleForElement):
620
621 2013-04-23  Andreas Kling  <akling@apple.com>
622
623         XSSAuditor performance regression due to threaded parser changes.
624         <http://webkit.org/b/115037>
625         <rdar://problem/13716069>
626
627         Reviewed by Anders Carlsson.
628
629         From Blink r148792 by <abarth@chromium.org>:
630
631         The refactoring we did for the threaded parser introduced a performance
632         regression in innerHTML because we'd boot up the XSSAuditor for fragment
633         parsing. This CL returns to our earlier behavior of not booting up the
634         XSSAuditor when parsing fragments.
635
636         * html/parser/HTMLDocumentParser.cpp:
637         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
638         * html/parser/XSSAuditor.cpp:
639         (WebCore::XSSAuditor::initForFragment):
640         * html/parser/XSSAuditor.h:
641         (XSSAuditor):
642
643 2013-04-23  Andreas Kling  <akling@apple.com>
644
645         Speed up ElementData::getAttributeItem(), which is hot.
646         <http://webkit.org/b/115031>
647
648         Reviewed by Antti Koivisto.
649
650         From Blink r148622 by <cevans@chromium.org>.
651
652         The previous version had a couple of issues:
653         - Incurred new WTF::Vector::operator[] checks.
654         - Had a branch in _every_ loop iteration that checked whether the storage was Vector or array[] backed.
655
656         Both these issues are fixed, and CloneNodes.html seems reliably at +2%.
657         I also believe GetElement.html is maybe +1%.
658
659         For WebKit, also applied the same optimization to getAttributeItemIndex().
660
661         * dom/Element.h:
662         (WebCore::ElementData::attributeBase):
663         (WebCore::ElementData::getAttributeItemIndex):
664         (WebCore::ElementData::getAttributeItem):
665         (WebCore::ElementData::attributeItem):
666
667 2013-04-23  Antoine Quint  <graouts@apple.com>
668
669         Initial advance of text runs should be taken into account
670         https://bugs.webkit.org/show_bug.cgi?id=114949
671
672         Reviewed by Darin Adler.
673
674         Keep track of complex text runs' initial advance by adding a new
675         member to GlyphBuffer and adding the initial advance of any non-first
676         text run to the advance of the last glyph added for the previous text run.
677         Additionally, we now correctly handle advance values in the y-axis.
678
679         Test: fast/text/complex-initial-advance.html
680
681         * WebCore.exp.in:
682         Add support for new WebKitSystemInterface API.
683         * platform/graphics/FontFastPath.cpp:
684         (WebCore::Font::drawGlyphBuffer):
685         Take into account the buffer's initial advance in the y-axis to adjust
686         the point at which to draw the buffers. Additionally, keep track of advances
687         on the y-axis as well as the x-axis (which we already were doing) as we iterate
688         through glyphs and adjust the start point.
689         (WebCore::Font::drawEmphasisMarks):
690         Adopt change of GlyphBuffer::advanceAt() return type.
691         * platform/graphics/GlyphBuffer.h:
692         Removing the WINCE-specific GlyphBufferAdvance struct since heights are now necessary.
693         (WebCore::GlyphBufferAdvance::GlyphBufferAdvance):
694         New default constructor for GlyphBufferAdvance to support the m_initialAdvance member.
695         (WebCore::GlyphBuffer::setInitialAdvance):
696         (WebCore::GlyphBuffer::initialAdvance):
697         New APIs to get and set the initial advance for a glyph buffer.
698         (WebCore::GlyphBuffer::advanceAt):
699         Return a GlyphBufferAdvance rather than a float which used to be only
700         the glyph buffer's x-axis advance. This is necessary to handle deltas
701         on the y-axis as well (see WebCore::Font::drawGlyphBuffer).
702         * platform/graphics/GlyphBuffer.h:
703         (GlyphBuffer):
704         (WebCore::GlyphBuffer::setInitialAdvance):
705         * platform/graphics/WidthIterator.cpp:
706         (WebCore::WidthIterator::advanceInternal):
707         (WebCore::WidthIterator::advanceOneCharacter):
708         Adopt change of GlyphBuffer::advanceAt() return type.
709         * platform/graphics/cairo/FontCairo.cpp:
710         (WebCore::Font::drawGlyphs):
711         Adopt change of GlyphBuffer::advanceAt() return type.
712         * platform/graphics/mac/ComplexTextController.cpp:
713         (WebCore::ComplexTextController::advance):
714         When processing the first text run, set that run's initial advance as
715         the glyph buffer's initial advance.
716         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
717         Represent the initial advance for a text run by adjusting the advance
718         of the last glyph of the previous text run in the glyph buffer.
719         * platform/graphics/mac/ComplexTextController.h:
720         (WebCore::ComplexTextController::ComplexTextRun::initialAdvance):
721         (ComplexTextRun):
722         New API to read the inital advance of a complex text run.
723         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
724         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
725         Obtain the text run's initial advance via the new wkCTRunGetInitialAdvance
726         WebKitSystemInterface API.
727         * platform/graphics/qt/FontQt.cpp:
728         (WebCore::Font::drawGlyphs):
729         Adopt change of GlyphBuffer::advanceAt() return type.
730         * platform/mac/WebCoreSystemInterface.h:
731         * platform/mac/WebCoreSystemInterface.mm:
732         Add support for the new wkCTRunGetInitialAdvance WebKitSystemInterface API.
733         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp:
734         (WebCore::drawTextWithSpacing):
735         Adopt change of GlyphBuffer::advanceAt() return type.
736         * rendering/svg/SVGTextRunRenderingContext.cpp:
737         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
738         Adopt change of GlyphBuffer::advanceAt() return type.
739
740 2013-04-23  Noam Rosenthal  <noam@webkit.org>
741
742         [Texmap] Don't paint to an intermediate surface when the result is going to be clipped out completely.
743         https://bugs.webkit.org/show_bug.cgi?id=115015
744
745         Reviewed by Allan Sandfeld Jensen.
746
747         Maintain a clipBounds rectangle in TextureMapper, and test it against the bounds of an intermediate
748         surface before it is painted.
749         This allows us to opt out completely of painting into the surface if the result is going to be optimized
750         out by the GPU clipping.
751
752         Covered by tests in compositing/overlap-blending.
753
754         * platform/graphics/texmap/TextureMapper.h:
755         (TextureMapper):
756         * platform/graphics/texmap/TextureMapperGL.cpp:
757         (WebCore::TextureMapperGL::clipBounds):
758         (WebCore):
759         * platform/graphics/texmap/TextureMapperGL.h:
760         * platform/graphics/texmap/TextureMapperImageBuffer.h:
761         * platform/graphics/texmap/TextureMapperLayer.cpp:
762         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
763
764 2013-04-23  Noam Rosenthal  <noam@webkit.org>
765
766         [Coordinated Graphics] Remove the lockAnimations code path
767         https://bugs.webkit.org/show_bug.cgi?id=114899
768
769         Reviewed by Benjamin Poulain.
770
771         Remove locking/unlocking animations and checks for the lock state.
772         The animation locking has been tested to create not-so-smooth animations,
773         while the use case where the composited animations run out of sync from
774         the non-composited animations is very rare and unnoticeable.
775
776         No new tests, removing functionality that wasn't tested in the first place.
777
778         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
779         (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
780         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
781         (WebCore::CoordinatedGraphicsScene::commitSceneState):
782         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
783         (CoordinatedGraphicsScene):
784
785 2013-04-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
786
787         Respect image-rendering setting for determing image-rendering quality
788         https://bugs.webkit.org/show_bug.cgi?id=113405
789
790         Reviewed by Benjamin Poulain.
791
792         Remove the CSS4 values as they are not ready for implementation yet.
793         We still parse the -webkit-crisp-edges and SVG compatibility values to
794         be closer to the the partial support in Gecko and Presto.
795
796         Tests: fast/css/image-rendering-canvas.html
797                fast/css/image-rendering-parsing.html
798                fast/css/image-rendering.html
799                fast/css/optimize-contrast-image.html
800
801         * css/CSSParser.cpp:
802         (WebCore::isValidKeywordPropertyAndValue):
803         * css/CSSPrimitiveValueMappings.h:
804         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
805         (WebCore::CSSPrimitiveValue::operator EImageRendering):
806         * css/CSSValueKeywords.in:
807         * css/SVGCSSParser.cpp:
808         (WebCore::CSSParser::parseSVGValue):
809         * rendering/RenderBoxModelObject.cpp:
810         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
811         * rendering/RenderHTMLCanvas.cpp:
812         (WebCore::RenderHTMLCanvas::paintReplaced):
813         * rendering/style/RenderStyleConstants.h:
814
815 2013-04-23  Commit Queue  <rniwa@webkit.org>
816
817         Unreviewed, rolling out r148923.
818         http://trac.webkit.org/changeset/148923
819         https://bugs.webkit.org/show_bug.cgi?id=115020
820
821         The patch causes multiple failures in CSS, canvas tests
822         (Requested by zdobersek on #webkit).
823
824         * platform/graphics/cairo/PlatformContextCairo.cpp:
825         (WebCore::PlatformContextCairo::drawSurfaceToContext):
826
827 2013-04-22  Noam Rosenthal  <noam@webkit.org>
828
829         [EFL] Assertion Failures in Coordinated Graphics after r148433
830         https://bugs.webkit.org/show_bug.cgi?id=114731
831
832         Reviewed by Gyuyoung Kim.
833
834         The assert is incorrect. In some cases in coordinated graphics we may have a backing store
835         and drawsContent would be set to false.
836
837         No new tests.
838
839         * platform/graphics/texmap/TextureMapperLayer.cpp:
840         (WebCore::TextureMapperLayer::paintSelf):
841
842 2013-04-22  Suchit Agrawal  <a.suchit@samsung.com>
843
844         table's text aligned on top instead of center because of rowspan
845         https://bugs.webkit.org/show_bug.cgi?id=18092
846
847         Reviewed by Beth Dakin.
848
849         Last row in the rowspan is not getting the height of rowspan cell because there is not
850         enough rows present below rowspan cell and we are strictly applying height of rowspan
851         to the row which should lay last in the rowspan based of rowspan value.
852
853         When row contains rowspan cell and it is last row of the table then
854         rowspan height is adding to last row of the table.
855
856         Test: fast/table/Rowspan-value-more-than-number-of-rows-present.html
857
858         It calculates logical height of the rows in the table.
859         * rendering/RenderTableSection.cpp:
860         (WebCore::RenderTableSection::calcRowLogicalHeight):
861
862 2013-04-22  Mihnea Ovidenie  <mihnea@adobe.com>
863
864         [CSS Regions] Region's float parent doesn't size according to region size but to content node size
865         https://bugs.webkit.org/show_bug.cgi?id=111332
866
867         Reviewed by David Hyatt.
868
869         Tests: fast/regions/intrinsic-sized-regions.html
870                fast/regions/region-with-float-parent.html
871
872         The patch ensures that the computation of region's preferred widths
873         takes into account the region width/min-width if these values are specified.
874         Also implemented the computation of intrinsic widths for a region,
875         based on the min/max preferred widths of the associated flow thread.
876
877         * rendering/RenderRegion.cpp:
878         (WebCore::RenderRegion::computeIntrinsicLogicalWidths):
879         (WebCore):
880         (WebCore::RenderRegion::computePreferredLogicalWidths):
881         * rendering/RenderRegion.h:
882         (RenderRegion):
883
884 2013-04-22  Jessie Berlin  <jberlin@apple.com>
885
886         Debug build fix.
887
888         Rubber-stamped by Ryosuke Niwa.
889
890         * inspector/InspectorController.cpp:
891         (WebCore::InspectorController::InspectorController):
892         * inspector/InspectorMemoryAgent.cpp:
893         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
894         * inspector/InspectorMemoryAgent.h:
895         (WebCore):
896         (WebCore::InspectorMemoryAgent::create):
897         (InspectorMemoryAgent):
898
899 2013-04-22  Brady Eidson  <beidson@apple.com>
900
901         Address review feedback I forgot to address in r148929
902         https://bugs.webkit.org/show_bug.cgi?id=114480
903
904         * loader/SubresourceLoader.cpp:
905         (WebCore::SubresourceLoader::willSendRequest): Rework the "what" comment into a more useful "why" comment.
906
907 2013-04-22  Benjamin Poulain  <bpoulain@apple.com>
908
909         Second Mac debug build fix after r148921
910
911         Unreviewed.
912
913         * inspector/InspectorMemoryAgent.cpp:
914         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
915         * inspector/InspectorMemoryAgent.h:
916         (InspectorMemoryAgent):
917
918 2013-04-22  Brady Eidson  <beidson@apple.com>
919
920         REGRESSION (r141136): Wiki "Random article" function very broken.
921         <rdar://problem/13229985> and https://bugs.webkit.org/show_bug.cgi?id=114480
922
923         Reviewed by Alexey Proskuryakov.
924
925         Test: http/tests/navigation/redirect-to-random-url-versus-memory-cache.html
926
927         If we are performing a conditional GET to revalidate a resource and there's a redirect,
928         check to see if the redirect is to a different URL than the final URL of the resource.
929
930         If the URLs differ then we should make the redirect-request unconditional and do a normal load.
931
932         * loader/SubresourceLoader.cpp:
933         (WebCore::SubresourceLoader::willSendRequest):
934
935         * platform/network/ResourceRequestBase.cpp:
936         (WebCore::ResourceRequestBase::makeUnconditional):
937
938         * platform/network/ResourceRequestBase.h:
939         (ResourceRequestBase):
940
941 2013-04-22  Benjamin Poulain  <bpoulain@apple.com>
942
943         Mac debug build fix after r148921
944
945         Unreviewed.
946
947         * page/animation/CompositeAnimation.cpp:
948
949 2013-04-22  Rashmi Shyamasundar  <rashmi.s2@samsung.com>
950
951         [Cairo] Canvas-shadow behavior is not being as expected
952         https://bugs.webkit.org/show_bug.cgi?id=108897
953
954         Reviewed by Martin Robinson.
955
956         Use the pattern-extend-mode "CAIRO_EXTEND_NONE" instead of "CAIRO_EXTEND_PAD" in
957         PlatformContextCairo::drawSurfaceToContext().
958
959         In the function PlatformContextCairo::drawSurfaceToContext(), a pattern is being
960         created from the source surface and this pattern is drawn onto the destination
961         context. There is no gradient involved. Hence the extend mode for filling the
962         pattern should be "CAIRO_EXTEND_NONE". If we use the extend mode
963         "CAIRO_EXTEND_PAD" in PlatformContextCairo::drawSurfaceToContext(), the original
964         image area is also filled with the shadow color which is not the expected behavior.
965
966         Test: fast/canvas/canvas-image-shadow.html
967
968         * platform/graphics/cairo/PlatformContextCairo.cpp:
969         (WebCore::PlatformContextCairo::drawSurfaceToContext):
970
971 2013-04-22  Benjamin Poulain  <benjamin@webkit.org>
972
973         Remove the memory instrumentation code
974         https://bugs.webkit.org/show_bug.cgi?id=114931
975
976         Reviewed by Andreas Kling.
977
978         The Memory Instrumentation code is unfinished and has already
979         become out of sync the objects it is supposed to represent.
980
981         The current approach does not seem maintainable, it is better to
982         remove it before someone gets hurt.
983
984         By removing the code, the binary become 1240976 bytes smaller.
985         Yep, almost 1 Mb, bringing WebCore to the size it has 5 months ago :)
986
987         * MostWebCoreFiles: remove the support for memory instrumentation.
988
989 2013-04-22  Bear Travis  <betravis@adobe.com>
990
991         Do not reuse ExclusionShapeInsideInfo in a recursive region layout
992         https://bugs.webkit.org/show_bug.cgi?id=114467
993
994         Reviewed by David Hyatt.
995
996         Elements that respect shape-inside that have inline children should not reuse an
997         ExclusionShapeInsideInfo for their children's layout. This patch adds the test
998         for regions. See the details for non-region layout in bug 104582.
999         https://bugs.webkit.org/show_bug.cgi?id=104582
1000
1001         Test: fast/regions/shape-inside/shape-inside-recursive-layout.html
1002
1003         * rendering/RenderBlockLineLayout.cpp:
1004         (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Do not look up a region's
1005         ExclusionShapeInsideInfo if a block is already respecting shape-inside.
1006
1007 2013-04-22  Martin Robinson  <mrobinson@igalia.com>
1008
1009         [GTK] Fix remaining introspection warnings
1010         https://bugs.webkit.org/show_bug.cgi?id=114980
1011
1012         Reviewed by Gustavo Noronha Silva.
1013
1014         * bindings/gobject/WebKitDOMCustom.h: Add scope and transfer annotations and flesh
1015         out gtkdoc for completeness.
1016         * bindings/gobject/WebKitDOMEventTarget.h:
1017         (_WebKitDOMEventTargetIface): Ditto and also align virtual method names with those used
1018         for the concrete ones.
1019
1020 2013-04-22  Tim Horton  <timothy_horton@apple.com>
1021
1022         PDFPlugin: Support unlocking encrypted PDFs
1023         https://bugs.webkit.org/show_bug.cgi?id=114938
1024         <rdar://problem/12872888>
1025
1026         Reviewed by Alexey Proskuryakov.
1027
1028         Export HTMLNames::typeAttr.
1029
1030         * WebCore.exp.in:
1031
1032 2013-04-22  Ryosuke Niwa  <rniwa@webkit.org>
1033
1034         Use-after-free in CompositeEditCommand::cloneParagraphUnderNewElement
1035         https://bugs.webkit.org/show_bug.cgi?id=114911
1036
1037         Reviewed by Oliver Hunt.
1038
1039         Back ported https://src.chromium.org/viewvc/blink?revision=148680&view=revision.
1040
1041         * editing/CompositeEditCommand.cpp:
1042         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
1043
1044 2013-04-22  Eric Carlson  <eric.carlson@apple.com>
1045
1046         [Mac] "automatic" track selection should only select a track that matches user language
1047         https://bugs.webkit.org/show_bug.cgi?id=114976
1048
1049         Reviewed by Jer Noble.
1050
1051         Test: media/track/track-automatic-subtitles.html
1052
1053         * page/CaptionUserPreferencesMac.mm:
1054         (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): When in "automatic" mode, only
1055             consider text tracks that match the user's preferred language when the primary audio track
1056             does not.
1057
1058 2013-04-22  Jer Noble  <jer.noble@apple.com>
1059
1060         Cancelling load may cause deadlock in -[AVPlayerItem release]
1061         https://bugs.webkit.org/show_bug.cgi?id=114962
1062
1063         Reviewed by Eric Carlson.
1064
1065         Work around a bug in AVAssetResourceLoader by using a generic, non-main dispatch queue
1066         to recieve AVAssetResourceLoaderDelegate callbacks, and then marshalling those
1067         callbacks to the main thread asynchronously.
1068
1069         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1070         (WebCore::globalLoaderDelegateQueue): Added.
1071         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Use the new global queue.
1072         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
1073             Marshall the request to the main queue, and return YES (wait) immediately.
1074
1075 2013-04-22  Zan Dobersek  <zdobersek@igalia.com>
1076
1077         [GTK] Set up libPlatform.la
1078         https://bugs.webkit.org/show_bug.cgi?id=114168
1079
1080         Reviewed by Martin Robinson.
1081
1082         No new tests - no new functionality.
1083
1084         * GNUmakefile.am: Also add the LevelDB-specific cppflags to the platform_cppflags if required as the LevelDB
1085         code is now built into the new libPlatform.la library.
1086         * GNUmakefile.list.am: Build a small set of non-GTK-specific platform source files that are already free of
1087         platform violations into the new libPlatform.la library.
1088
1089 2013-04-22  Andy Estes  <aestes@apple.com>
1090
1091         Range.getClientRects() should not include rects for partially selected elements
1092         https://bugs.webkit.org/show_bug.cgi?id=76839
1093
1094         Reviewed by Sam Weinig.
1095
1096         CSSOM says that Range.getClientRects() should include the border boxes
1097         of each element selected by the range. However, we were also
1098         incorrectly including border boxes for partially selected elements.
1099         For instance, consider the following selection:
1100
1101             <div>line one<br>line two</div>
1102             -------------
1103
1104         The <div> is two lines tall, but only the first line is selected.
1105         Despite this, we'd include the <div>'s border box since its start tag
1106         was included in the selection.
1107
1108         Fix this by excluding partially selected elements. This is accomplished
1109         by skipping over elements that come after the start boundary point of
1110         the range but are ancestors of the end boundary point.
1111
1112         Added test cases to LayoutTests/fast/dom/Range/getClientRects.html.
1113
1114         * dom/Range.cpp:
1115         (WebCore::Range::getBorderAndTextQuads):
1116
1117 2013-04-22  Yi Shen  <max.hong.shen@gmail.com>
1118
1119         Crash on OS X when shift clicking outside of input
1120         https://bugs.webkit.org/show_bug.cgi?id=104058
1121
1122         Reviewed by Chang Shu.
1123
1124         Shift clicking outside of a focused div while removing the focused div from
1125         the dom tree at the same time may hit a null visible position, which should
1126         not be used to calculate the text distance with the new selection's start and
1127         end position. Otherwise, the browser may crash.
1128
1129         Test: editing/selection/crash-on-shift-click.html
1130
1131         * page/EventHandler.cpp:
1132         (WebCore::EventHandler::handleMousePressEventSingleClick):
1133
1134 2013-04-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1135
1136         Scrollbar should not depend on EventHandler, Frame and FrameView
1137         https://bugs.webkit.org/show_bug.cgi?id=114941
1138
1139         Reviewed by Darin Adler.
1140
1141         It's a layering violation that Scrollbar uses EventHandler, Frame
1142         and FrameView. Frame is used to get the EventHandler that is used
1143         to set mousePressed to false after a Scrollbar::mouseUp(). This is
1144         not really needed, since EventHandler already sets m_mousePressed
1145         to false when calling Scrollbar::mouseUp(). The PopupMenu windows
1146         implementation also calls Scrollbar::mouseUp(), but that scrollbar
1147         is not inside a FrameView.
1148
1149         * platform/Scrollbar.cpp:
1150         (WebCore::Scrollbar::isScrollViewScrollbar):
1151         isScrollViewScrollbar() is a method of ScrollView so we don't need
1152         to cast to FrameView.
1153         (WebCore::Scrollbar::mouseUp): Remove EventHandler ussage.
1154
1155 2013-04-22  Andreas Kling  <akling@apple.com>
1156
1157         Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size.
1158         <http://webkit.org/b/97268>
1159         <rdar://problem/12376519>
1160
1161         Reviewed by Sam Weinig.
1162
1163         * CMakeLists.txt: Add a workaround for GCC 4.6.x in Release mode so it
1164         does not crash.
1165
1166 2013-04-22  John Griggs  <jgriggs@blackberry.com>
1167
1168         [BlackBerry] URL decode data: URLs before passing to the platform media player.
1169         https://bugs.webkit.org/show_bug.cgi?id=114887
1170
1171         Reviewed by Rob Buis.
1172
1173         Pass data URL through URL decoding before passing to platform media player.  PR 313635.
1174
1175         Reviewed internally by Liam Quinn
1176
1177         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1178         (WebCore::MediaPlayerPrivate::load):
1179
1180 2013-04-22  Xuefei Ren  <xren@blackberry.com>
1181
1182
1183         fix build warning(unused parameter)
1184         https://bugs.webkit.org/show_bug.cgi?id=114855
1185
1186         Reviewed by Rob Buis.
1187
1188         remove warning(unused parameter) in
1189         Source/WebCore/platform/graphics/blackberry
1190
1191         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
1192         (WebCore::CanvasLayerCompositingThreadClient::drawTextures):
1193         (WebCore::CanvasLayerCompositingThreadClient::deleteTextures):
1194         (WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
1195         * platform/graphics/blackberry/FontBlackBerry.cpp:
1196         (WebCore::Font::offsetForPositionForComplexText):
1197         * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
1198         (WebCore::FontCache::getSimilarFontPlatformData):
1199         (WebCore::FontCache::getTraitsInFamily):
1200         * platform/graphics/blackberry/GlyphPageTreeNodeBlackBerry.cpp:
1201         (WebCore::GlyphPage::fill):
1202         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1203         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1204         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
1205         (WebCore::GraphicsContext::drawConvexPolygon):
1206         (WebCore::GraphicsContext::fillRect):
1207         (WebCore::GraphicsContext::fillRoundedRect):
1208         (WebCore::GraphicsContext::roundToDevicePixels):
1209         (WebCore::GraphicsContext::setPlatformShadow):
1210         (WebCore::GraphicsContext::clipConvexPolygon):
1211         (WebCore::GraphicsContext::setURLForRect):
1212         (WebCore::GraphicsContext::setPlatformStrokeColor):
1213         (WebCore::GraphicsContext::setPlatformFillColor):
1214         (WebCore::GraphicsContext::setPlatformCompositeOperation):
1215         * platform/graphics/blackberry/ImageBlackBerry.cpp:
1216         (WebCore::BitmapImage::draw):
1217         (WebCore::Image::drawPattern):
1218         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
1219         (WebCore::flushAndDraw):
1220         (WebCore::ImageBuffer::ImageBuffer):
1221         (WebCore::ImageBuffer::copyImage):
1222         (WebCore::ImageBuffer::draw):
1223         (WebCore::ImageBuffer::platformTransformColorSpace):
1224         * platform/graphics/blackberry/LayerTiler.cpp:
1225         (WebCore::LayerTiler::drawTile):
1226         * platform/graphics/blackberry/PathBlackBerry.cpp:
1227         (WebCore::GraphicsContext::drawFocusRing):
1228         (WebCore::GraphicsContext::clipPath):
1229         * platform/graphics/blackberry/PatternBlackBerry.cpp:
1230         (WebCore::Pattern::platformPattern):
1231
1232 2013-04-22  Mike Fenton  <mifenton@rim.com>
1233
1234         [BlackBerry] Add additional datalist support.
1235         https://bugs.webkit.org/show_bug.cgi?id=114883
1236
1237         Reviewed by Rob Buis.
1238
1239         PR 210083.
1240
1241         Extend support for datalist to include all non-popup input types.
1242
1243         Re-enabling fast/forms/datalist/input-list
1244
1245         Internally Reviewed by Otto Cheung.
1246
1247         * platform/blackberry/RenderThemeBlackBerry.cpp:
1248         (WebCore::RenderThemeBlackBerry::supportsDataListUI):
1249
1250 2013-04-22  Alberto Garcia  <agarcia@igalia.com>
1251
1252         [BlackBerry] Add dummy implementations of DragData::droppedFileSystemId()
1253         https://bugs.webkit.org/show_bug.cgi?id=114861
1254
1255         Reviewed by Carlos Garcia Campos.
1256
1257         * platform/blackberry/DragDataBlackBerry.cpp:
1258         (WebCore):
1259         (WebCore::DragData::droppedFileSystemId):
1260
1261 2013-04-22  Mihai Maerean  <mmaerean@adobe.com>
1262
1263         [CSS Regions] Elements in a region should be assignable to a named flow
1264         https://bugs.webkit.org/show_bug.cgi?id=74144
1265
1266         Reviewed by David Hyatt.
1267
1268         DOM children of a region must not be rendered as children of the region, but can be collected in flow threads.
1269
1270         NodeRenderingContext::parentRenderer now creates the parent render flow thread if it doesn't exist.
1271
1272         Element::moveToFlowThreadIsNeeded is a virtual method that is overriden in PseudoElement to return false and
1273         in SVGElement so only svg root elements can directly be collected by a render flow thread.
1274
1275         RenderObject::canDOMChildrenHaveRenderParent exists to optimize the code so nodes inside regions (and maybe
1276         other types of renderers in the future) can still have renderers if they need to be in a flow thread while the
1277         rest of renderers that can't have children skip the new instructions.
1278
1279         Tests: fast/regions/flow-body-in-html.html . To test the duplicate bug #103685.
1280                fast/regions/region-content-flown-into-region.html
1281                fast/regions/universal-selector-children-to-the-same-region.html . To test the duplicate bug #103685.
1282
1283         * dom/Element.cpp:
1284         (WebCore::Element::moveToFlowThreadIsNeeded):
1285         * dom/Element.h:
1286         * dom/NodeRenderingContext.cpp:
1287         (WebCore::NodeRenderingContext::parentRenderer): the renderer that will be the parent for this node's renderer.
1288         In the case of RenderFlowThreads, it may need to create it.
1289         (WebCore::NodeRenderingContext::shouldCreateRenderer): In a region, only the children that need to be in a flow
1290         thread should have a renderer.
1291         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1292         (WebCore::NodeRenderingContext::moveToFlowThread):
1293         * dom/NodeRenderingContext.h:
1294         (NodeRenderingContext):
1295         * dom/PseudoElement.h: pseudo-elements cannot be directly collected into a named flow.
1296         * dom/Text.cpp:
1297         (WebCore::Text::textRendererIsNeeded):
1298         (WebCore::Text::updateTextRenderer): Because calling textRendererIsNeeded(NodeRenderingContext(...)) on a
1299         non-const l-value NodeRenderingContext cannot be done on a temporary object on the stack.
1300         * dom/Text.h:
1301         * rendering/FlowThreadController.cpp:
1302         (WebCore::FlowThreadController::isContentNodeRegisteredWithAnyNamedFlow):
1303         * rendering/FlowThreadController.h:
1304         * rendering/RenderObject.h:
1305         (WebCore::RenderObject::canDOMChildrenHaveRenderParent): Even if this render object can't have render children,
1306         the children in the DOM tree may have a render parent (that is different from this render object).
1307         * rendering/RenderRegion.h:
1308         * svg/SVGElement.cpp:
1309         (WebCore::SVGElement::moveToFlowThreadIsNeeded): Allow only svg root elements to be directly collected by a
1310         render flow thread.
1311         * svg/SVGElement.h:
1312
1313 2013-04-22  Alberto Garcia  <agarcia@igalia.com>
1314
1315         Gradient: add PlatformGradient definition for BlackBerry
1316         https://bugs.webkit.org/show_bug.cgi?id=114727
1317
1318         Reviewed by Carlos Garcia Campos.
1319
1320         * platform/graphics/Gradient.h:
1321         (Graphics):
1322
1323 2013-04-22  Andrei Bucur  <abucur@adobe.com>
1324
1325         Use DOM ordering for list counts
1326         https://bugs.webkit.org/show_bug.cgi?id=110352
1327
1328         Reviewed by Elliott Sprehn.
1329
1330         Currently the list items ordering is made by traversing the render tree. This gives bad results for:
1331         - list items flown inside regions because they are not rendered as descendants of their DOM list ancestors.
1332         - list items matched to insertion points inside a shadow tree. The insertion point may be a child of a
1333         list so the numbering gets broken.
1334
1335         To implement correct DOM ordering I've taken into account the fact that pseudo-elements can have display: list-item
1336         so they should be included when traversing the DOM tree. I've added helper methods on the NodeTraversal
1337         namespace that should allow easily traversing the tree including the pseudo-elements (e.g. firstChildWithPseudo
1338         for an element with pseudo-before will return the before PseudoElement). Using these helper methods I've implemented
1339         pre-order traversal methods aware of the pseudo-elements.
1340         An effect of this change is how the list items inside shadow tree update their counting. With the patch, if there's
1341         no <ol> or <ul> element on the ancestor chain of a <li> element to the shadow root, the list node will be considered the
1342         first parent of the <li> or the shadow root if there is no ancestor.
1343         The RenderListItem class now makes use of this new method of traversal, replacing the one based on the render tree.
1344         To simplify the CSS counters implementation, I've changed the traversal functions inside RenderCounter to also make use
1345         of this method. The CSS counters and the list items now have the same traversal algorithm.
1346
1347         In later patches I'll add tests that should cover the regions and shadow DOM use cases.
1348         Tests bug for shadow DOM: https://bugs.webkit.org/show_bug.cgi?id=113193
1349         Tests bug for regions: https://bugs.webkit.org/show_bug.cgi?id=103975
1350
1351         Tests: no new tests is this patch; added the correct expectations for fast/lists/positioned-count-crash.html
1352         and fast/dom/shadow/shadow-and-list-elements.html
1353
1354         * dom/Node.cpp:
1355         (WebCore::Node::pseudoAwarePreviousSibling):
1356         (WebCore):
1357         (WebCore::Node::pseudoAwareNextSibling):
1358         (WebCore::Node::pseudoAwareFirstChild):
1359         (WebCore::Node::pseudoAwareLastChild):
1360         * dom/Node.h:
1361         (Node):
1362         * dom/NodeTraversal.cpp:
1363         (WebCore):
1364         (WebCore::NodeTraversal::previousIncludingPseudo):
1365         (NodeTraversal):
1366         (WebCore::NodeTraversal::nextIncludingPseudo):
1367         (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
1368         * dom/NodeTraversal.h:
1369         (ElementTraversal):
1370         (NodeTraversal):
1371         (WebCore::ElementTraversal::previousIncludingPseudo):
1372         (WebCore::ElementTraversal::nextIncludingPseudo):
1373         (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
1374         (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
1375         * html/HTMLLIElement.cpp:
1376         (WebCore::HTMLLIElement::attach):
1377         * html/HTMLOListElement.cpp:
1378         (WebCore::HTMLOListElement::updateItemValues):
1379         (WebCore::HTMLOListElement::recalculateItemCount):
1380         * rendering/RenderCounter.cpp:
1381         (WebCore::previousInPreOrder):
1382         (WebCore::previousSiblingOrParent):
1383         (WebCore::parentElement):
1384         (WebCore::nextInPreOrder):
1385         * rendering/RenderListItem.cpp:
1386         (WebCore):
1387         (WebCore::enclosingList):
1388         (WebCore::RenderListItem::nextListItem):
1389         (WebCore::previousListItem):
1390         (WebCore::RenderListItem::calcValue):
1391         (WebCore::RenderListItem::explicitValueChanged):
1392         (WebCore::previousOrNextItem):
1393         (WebCore::RenderListItem::updateListMarkerNumbers):
1394         * rendering/RenderListItem.h:
1395         (RenderListItem):
1396
1397 2013-04-22  Alberto Garcia  <agarcia@igalia.com>
1398
1399         Fix multiple definition of ImageBuffer::platformLayer() in the BlackBerry port
1400         https://bugs.webkit.org/show_bug.cgi?id=114936
1401
1402         Reviewed by Carlos Garcia Campos.
1403
1404         We already have a definition in ImageBufferBlackBerry.cpp.
1405
1406         * platform/graphics/ImageBuffer.cpp:
1407         (WebCore):
1408
1409 2013-04-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1410
1411         Division by zero in CSSGradientValue::addStops()
1412         https://bugs.webkit.org/show_bug.cgi?id=114807
1413
1414         Reviewed by Dean Jackson.
1415
1416         The normalization of the color stop positions of a linear gradient
1417         doesn't take into account that the first and last position can be
1418         the same. In such case the positions are computed dividing by 0.
1419         Clamp the positions to 1 without moving the end points in such
1420         case to match what other browsers do. This ensures that positions
1421         passed to the platform gradient are in the 0-1 range which fixes a
1422         crash due to an assert in BlackBerry port running test
1423         fast/forms/type-after-focus-rule-shrink-width.html.
1424
1425         Test: fast/gradients/css3-color-stop-invalid.html
1426
1427         * css/CSSGradientValue.cpp:
1428         (WebCore::CSSGradientValue::addStops):
1429
1430 2013-04-21  Benjamin Poulain  <benjamin@webkit.org>
1431
1432         Fix some minor bad use of strings in WebCore
1433         https://bugs.webkit.org/show_bug.cgi?id=114907
1434
1435         Reviewed by Darin Adler.
1436
1437         * editing/Editor.cpp:
1438         (WebCore::Editor::selectedText): This was implicitly getting the emptyString()
1439         for the argument "".
1440         * editing/markup.cpp:
1441         (WebCore::StyledMarkupAccumulator::takeResults): ditto.
1442
1443 2013-04-21  Dirk Schulze  <krit@webkit.org>
1444
1445         [Part 4] Parse the custom() function in -webkit-filter: parse the matN() functions
1446         https://bugs.webkit.org/show_bug.cgi?id=71444
1447
1448         Reviewed by Dean Jackson.
1449
1450         Custom filter parameters should support mat2 to mat4 value functions. Added parsing
1451         and style resolving bits to support the matrix function values. A later patch will
1452         add the matrices to the shader program.
1453
1454         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters
1455
1456         Modified existing tests to cover changes.
1457
1458         * GNUmakefile.list.am: Added WebKitCSSMatFunctionValue to individual build systems.
1459         * Target.pri:
1460         * WebCore.vcproj/WebCore.vcproj:
1461         * WebCore.vcxproj/WebCore.vcxproj:
1462         * WebCore.vcxproj/WebCore.vcxproj.filters:
1463         * WebCore.xcodeproj/project.pbxproj:
1464         * css/CSSComputedStyleDeclaration.cpp:
1465         (WebCore::valueForCustomFilterMatParameter):
1466         (WebCore):
1467         (WebCore::valueForCustomFilterParameter):
1468         * css/CSSParser.cpp:
1469         (WebCore::CSSParser::parseTransform):
1470         (WebCore::CSSParser::parseMatValue):
1471         (WebCore):
1472         (WebCore::CSSParser::parseCustomFilterParameters):
1473         * css/CSSParser.h:
1474         (WebCore):
1475         * css/CSSValue.cpp:
1476         (WebCore::CSSValue::reportMemoryUsage):
1477         (WebCore::CSSValue::equals):
1478         (WebCore::CSSValue::cssText):
1479         (WebCore::CSSValue::destroy):
1480         (WebCore::CSSValue::cloneForCSSOM):
1481         * css/CSSValue.h:
1482         (WebCore::CSSValue::isWebKitCSSMatFunctionValue):
1483         * css/StyleResolver.cpp:
1484         (WebCore::StyleResolver::parseCustomFilterArrayParameter):
1485         (WebCore::StyleResolver::parseCustomFilterParameter):
1486         * css/StyleResolver.h:
1487         (StyleResolver):
1488         * css/WebKitCSSMatFunctionValue.cpp:
1489         (WebCore::WebKitCSSMatFunctionValue::WebKitCSSMatFunctionValue):
1490         (WebCore::WebKitCSSMatFunctionValue::customCssText):
1491         (WebCore::WebKitCSSMatFunctionValue::cloneForCSSOM):
1492         (WebCore::WebKitCSSMatFunctionValue::equals):
1493         (WebCore::WebKitCSSMatFunctionValue::reportDescendantMemoryUsage):
1494         * css/WebKitCSSMatFunctionValue.h:
1495         (WebKitCSSMatFunctionValue):
1496         (WebCore::WebKitCSSMatFunctionValue::create):
1497         * platform/graphics/filters/CustomFilterArrayParameter.h:
1498         (WebCore::CustomFilterArrayParameter::create):
1499         (WebCore::CustomFilterArrayParameter::CustomFilterArrayParameter):
1500         * platform/graphics/filters/CustomFilterParameter.h:
1501         (CustomFilterParameter):
1502         * platform/graphics/filters/CustomFilterRenderer.cpp:
1503         (WebCore::CustomFilterRenderer::bindProgramParameters):
1504
1505 2013-04-12  Balazs Kelemen  <kbalazs@webkit.org>
1506
1507         [GStreamer] Media attribute preload="none" is not honored
1508         https://bugs.webkit.org/show_bug.cgi?id=114357
1509
1510         Reviewed by Philippe Normand.
1511
1512         Fix the logic that prevents live streams from being buffered to not make preload="none" ignored.
1513
1514         Test: http/tests/media/video-preload.html
1515         We need a http test because the bug does not triggered with local files.
1516
1517         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1518         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1519         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1520         (MediaPlayerPrivateGStreamer):
1521         Remove m_originalPreloadWasAutoAndWasOverridden because it is not necessary and it is causing this bug.
1522         Currently if the tag has preload="none" attribute we set m_preload to Auto in the constructor. After that
1523         MedaPlayer calls setPreload(None), so we set m_originalPreloadWasAutoAndWasOverridden to true and later
1524         reset m_preload to Auto. The error prone factor here is that the m_preload member is repeated in the
1525         private class and setPreload is also used there. This seems to be necessary because we need to be able
1526         to ignore preloading if this is a live stream. Fortunately the original parsed value is available in the
1527         constructor, so we can use that. This will give the correct value that we should override only in the case
1528         of a live stream and that's it, we don't need to reset it later to Auto.
1529         Furthermore, we should ignore setting preload to auto from js if it is a live stream. This patch also handles
1530         this with an early return in setPreload.
1531
1532 2013-04-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1533
1534         Widget should not depend on AXObjectCache
1535         https://bugs.webkit.org/show_bug.cgi?id=114514
1536
1537         Reviewed by Chris Fleizach.
1538
1539         Move AXObjectCache usage from platform files to FrameView.
1540
1541         * WebCore.exp.in: Update symbols.
1542         * page/FrameView.cpp:
1543         (WebCore::FrameView::didAddScrollbar): Handle scrollbar updates in
1544         AXObjectCache.
1545         (WebCore::FrameView::willRemoveScrollbar): Handle scrollbar
1546         updates in AXObjectCache and remove the scrollbar from the cache.
1547         * page/FrameView.h:
1548         * platform/ScrollView.cpp:
1549         (WebCore::ScrollView::setHasHorizontalScrollbar): Use
1550         didAddScrollbar/willRemoveScrollbar
1551         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
1552         * platform/ScrollableArea.cpp:
1553         (WebCore::ScrollableArea::didAddScrollbar): This is the old
1554         didAddVerticalScrollbar and didAddHorizontalScrollbar joined in a
1555         single method that receives a ScrollbarOrientation parameter.
1556         (WebCore::ScrollableArea::willRemoveScrollbar): This is the old
1557         willRemoveVerticalScrollbar and
1558         willRemoveHorizontalScrollbarScrollbar joined in a single method
1559         that receives a ScrollbarOrientation parameter.
1560         * platform/ScrollableArea.h:
1561         (ScrollableArea):
1562         * platform/Scrollbar.cpp:
1563         (WebCore::Scrollbar::~Scrollbar): Remove AXObjectCache usage.
1564         * platform/Scrollbar.h:
1565         * platform/Widget.h:
1566         (Widget): Remove axObjectCache() method.
1567         * platform/mac/ScrollAnimatorMac.h:
1568         (ScrollAnimatorMac):
1569         * rendering/RenderLayer.cpp:
1570         (WebCore::RenderLayer::createScrollbar): Use didAddScrollbar.
1571         (WebCore::RenderLayer::destroyScrollbar): Use willRemoveScrollbar.
1572         * rendering/RenderListBox.cpp:
1573         (WebCore::RenderListBox::createScrollbar): Use didAddScrollbar.
1574         (WebCore::RenderListBox::destroyScrollbar): Use willRemoveScrollbar.
1575
1576 2013-04-20  Dirk Schulze  <krit@webkit.org>
1577
1578         [Part 5] Parse color value for custom() function parameters
1579         https://bugs.webkit.org/show_bug.cgi?id=114902
1580
1581         Reviewed by Dean Jackson.
1582
1583         Custom filter parameters should support color values. Added parsing
1584         and style resolving bits to support color values. A later patch will
1585         add the color values to the shader program.
1586
1587         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters
1588
1589         Modified existing tests to cover changes.
1590
1591         * GNUmakefile.list.am: Added CustomFilterColorParameter to support color values
1592             as custom filter parameters.
1593         * Target.pri:
1594         * WebCore.vcproj/WebCore.vcproj:
1595         * WebCore.vcxproj/WebCore.vcxproj:
1596         * WebCore.vcxproj/WebCore.vcxproj.filters:
1597         * WebCore.xcodeproj/project.pbxproj:
1598         * css/CSSComputedStyleDeclaration.cpp:
1599         (WebCore::valueForCustomFilterColorParameter):
1600         (WebCore):
1601         (WebCore::valueForCustomFilterParameter):
1602         * css/CSSParser.cpp:
1603         (WebCore::CSSParser::parseCustomFilterParameters):
1604         * css/StyleResolver.cpp:
1605         (WebCore::StyleResolver::parseCustomFilterColorParameter):
1606         (WebCore):
1607         (WebCore::StyleResolver::parseCustomFilterParameter):
1608         * css/StyleResolver.h:
1609         (StyleResolver):
1610         * platform/graphics/filters/CustomFilterColorParameter.h: Added.
1611         (WebCore):
1612         (WebCore::blendFunc):
1613         (CustomFilterColorParameter):
1614         (WebCore::CustomFilterColorParameter::create):
1615         (WebCore::CustomFilterColorParameter::blend):
1616         (WebCore::CustomFilterColorParameter::color):
1617         (WebCore::CustomFilterColorParameter::setColor):
1618         (WebCore::CustomFilterColorParameter::operator==):
1619         (WebCore::CustomFilterColorParameter::CustomFilterColorParameter):
1620         (WebCore::CustomFilterColorParameter::~CustomFilterColorParameter):
1621         * platform/graphics/filters/CustomFilterParameter.h:
1622         (CustomFilterParameter):
1623         * platform/graphics/filters/CustomFilterRenderer.cpp:
1624         (WebCore::CustomFilterRenderer::bindProgramParameters):
1625
1626 2013-04-20  Glenn Adams  <glenn@skynav.com>
1627
1628         REGRESSION (r147588): Line breaks occur in the middle of Hebrew words at haaertz.co.il and other websites
1629         https://bugs.webkit.org/show_bug.cgi?id=114721
1630
1631         Reviewed by Dean Jackson.
1632
1633         Tests: fast/text/line-break-after-empty-inline-hebrew.html
1634                fast/text/line-break-after-inline-latin1.html
1635
1636         If prior context changes content or length after creating line break iterator, then need to
1637         create new iterator with new prior context instead of using cached iterator with old prior context.
1638
1639         * platform/text/TextBreakIterator.h:
1640         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Initialize members to cache reference to initialized prior context.
1641         (WebCore::LazyLineBreakIterator::get): Create new iterator if prior context content reference changes.
1642         (WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator): Reset cached prior context references.
1643         (LazyLineBreakIterator): Add members to cache reference to initialized prior context.
1644
1645 2013-04-19  Ryuan Choi  <ryuan.choi@samsung.com>
1646
1647         [EFL] Arrow of combo box are drawn twice
1648         https://bugs.webkit.org/show_bug.cgi?id=113917
1649
1650         Reviewed by Gyuyoung Kim.
1651
1652         combo_button_icon part is for arrow so that images of combo_button part should
1653         not contain arrow.
1654
1655         No new tests required due to no behavioral change.
1656
1657         * platform/efl/DefaultTheme/widget/combo/combo_focus_button.png:
1658         * platform/efl/DefaultTheme/widget/combo/combo_hover_button.png:
1659         * platform/efl/DefaultTheme/widget/combo/combo_press_button.png:
1660
1661 2013-04-19  Brendan Long  <b.long@cablelabs.com>
1662
1663         Add interfaces and stubs for audio and video tracks
1664         https://bugs.webkit.org/show_bug.cgi?id=113965
1665
1666         Reviewed by Jer Noble.
1667
1668         No new tests because there's no implementations, so there's nothing
1669         interesting to test.
1670
1671         * CMakeLists.txt: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
1672         * DerivedSources.cpp: Same.
1673         * DerivedSources.make: Same.
1674         * DerivedSources.pri: Same.
1675         * GNUmakefile.list.am: Same.
1676         * Target.pri: Same.
1677         * UseJSC.cmake: Same.
1678         * WebCore.vcproj/WebCore.vcproj: Same.
1679         * WebCore.xcodeproj/project.pbxproj: Same.
1680         * bindings/gobject/GNUmakefile.am: Same.
1681         * bindings/js/JSAudioTrackCustom.cpp: Added, based on JSTestTrackCustom
1682         * bindings/js/JSAudioTrackListCustom.cpp: Same.
1683         * bindings/js/JSBindingsAllInOne.cpp: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
1684         * bindings/js/JSVideoTrackCustom.cpp: Added, based on JSTestTrackCustom
1685         * bindings/js/JSVideoTrackListCustom.cpp: Same.
1686         * dom/EventTarget.h: Make AudioTrackList and VideoTrackList event targets.
1687         * dom/EventTargetFactory.in: Same.
1688         * html/HTMLMediaElement.cpp:
1689         (WebCore::HTMLMediaElement::HTMLMediaElement): Add m_audioTracks and m_videoTracks
1690         (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear clients for audio and video tracks
1691         (WebCore::HTMLMediaElement::audioTrackEnabledChanged): Added.
1692         (WebCore::HTMLMediaElement::videoTrackSelectedChanged): Added.
1693         (WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
1694         (WebCore::HTMLMediaElement::mediaPlayerDidAddVideoTrack): Same.
1695         (WebCore::HTMLMediaElement::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
1696         (WebCore::HTMLMediaElement::mediaPlayerDidRemoveVideoTrack): Same.
1697         (WebCore::HTMLMediaElement::addAudioTrack): Added, based on addTextTrack
1698         (WebCore::HTMLMediaElement::addVideoTrack): Same.
1699         (WebCore::HTMLMediaElement::removeAudioTrack): Added, based on removeTextTrack
1700         (WebCore::HTMLMediaElement::removeVideoTrack): Added, based on removeTextTrack
1701         (WebCore::HTMLMediaElement::removeAllInbandTracks): Remove audio and video tracks too
1702         (WebCore::HTMLMediaElement::audioTracks): Added, based on textTracks
1703         (WebCore::HTMLMediaElement::videoTracks): Added, based on textTracks
1704         (WebCore::HTMLMediaElement::reportMemoryUsage): Add audio and video tracks
1705         * html/HTMLMediaElement.h: Add audioTracks and videoTracks and related functions
1706         * html/HTMLMediaElement.idl: Add audioTracks and videoTracks
1707         * html/track/AudioTrack.cpp: Added, based on TextTrack and InbandTextTrack.
1708         * html/track/AudioTrack.h: Same.
1709         * html/track/AudioTrack.idl: Added.
1710         * html/track/AudioTrackList.cpp: Added, based on TextTrackList
1711         * html/track/AudioTrackList.h: Same.
1712         * html/track/AudioTrackList.idl: Added.
1713         * html/track/TextTrackList.h: Add missing OVERRIDE on interfaceName()
1714         * html/track/VideoTrack.cpp: Added, based on TextTrack and InbandTextTrack.
1715         * html/track/VideoTrack.h: Same.
1716         * html/track/VideoTrack.idl: Added.
1717         * html/track/VideoTrackList.cpp: Added, based on TextTrackList
1718         * html/track/VideoTrackList.h: Same.
1719         * html/track/VideoTrackList.idl: Added.
1720         * platform/graphics/AudioTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
1721         * platform/graphics/MediaPlayer.cpp:
1722         (WebCore::MediaPlayer::addAudioTrack): Added, based on addTextTrack
1723         (WebCore::MediaPlayer::removeAudioTrack): Added, based on removeTextTrack
1724         (WebCore::MediaPlayer::addVideoTrack): Added, based on addTextTrack
1725         (WebCore::MediaPlayer::removeVideoTrack): Added, based on removeTextTrack
1726         * platform/graphics/MediaPlayer.h:
1727         (WebCore::MediaPlayerClient::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
1728         (WebCore::MediaPlayerClient::mediaPlayerDidAddVideoTrack): Same
1729         (WebCore::MediaPlayerClient::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
1730         (WebCore::MediaPlayerClient::mediaPlayerDidRemoveVideoTrack): Same
1731         * platform/graphics/VideoTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
1732
1733 2013-04-19  Bear Travis  <betravis@adobe.com>
1734
1735         [CSS Exclusions] Implement empty segments for multiple-segment shape-insides
1736         https://bugs.webkit.org/show_bug.cgi?id=100049
1737
1738         Reviewed by David Hyatt.
1739
1740         Content should not overflow a shape-inside segment, even if that means no content
1741         will be placed in that segment. Overflow may be pushed to outside the shape. This
1742         patch removes the restriction that every line must consume at least some text
1743         input while inside a shape-inside. Content that does not fit is pushed down until
1744         it does, either inside the shape or just below it.
1745
1746         Test: fast/exclusions/shape-inside/shape-inside-empty-segments.html
1747
1748         * rendering/RenderBlockLineLayout.cpp:
1749         (WebCore::constructBidiRunsForSegment): Do not include empty segments for
1750         consideration, as the actual BidiRuns construction expects to consume at
1751         least one character.
1752         (WebCore::constructBidiRunsForLine): Ditto.
1753         (WebCore::firstPositiveWidth): Find the first positive word measurement width,
1754         as there may be some empty word break measurements inserted.
1755         (WebCore::adjustLogicalLineTop): Move the current line down, if necessary, to
1756         fit it within the shape inside.
1757         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): If nothing fit in the
1758         current segment, find the first available position for the smallest item
1759         at the beginning of the text.
1760         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Return an empty segment
1761         for a line that is inside the shape, but has no segments.
1762         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Do not consume
1763         input to meet minimum size requirements if you are inside a shape.
1764
1765 2013-04-19  Ryosuke Niwa  <rniwa@webkit.org>
1766
1767         Add a missing null pointer check after r148759.
1768
1769         * rendering/RenderObject.cpp:
1770         (WebCore::RenderObject::containingBlock):
1771
1772 2013-04-19  Benjamin Poulain  <benjamin@webkit.org>
1773
1774         Use Vector instead of StringBuilder for CSSPreloadScanner's buffers
1775         https://bugs.webkit.org/show_bug.cgi?id=114794
1776
1777         Reviewed by Ryosuke Niwa.
1778
1779         Cleanup for other String changes.
1780
1781         CSSPreloadScanner only handles UChar, StringBuilder was a little
1782         overkill.
1783
1784         * html/parser/CSSPreloadScanner.cpp:
1785         (WebCore):
1786         (WebCore::ruleEqualIgnoringCase):
1787         (WebCore::CSSPreloadScanner::emitRule):
1788         * html/parser/CSSPreloadScanner.h:
1789
1790 2013-04-19  Benjamin Poulain  <benjamin@webkit.org>
1791
1792         StyledMarkupAccumulator::appendText() should not allocate an intermediary StringBuilder
1793         https://bugs.webkit.org/show_bug.cgi?id=114847
1794
1795         Reviewed by Geoffrey Garen.
1796
1797         For some reason StyledMarkupAccumulator::appendText() was allocating a separate buffer
1798         for invoking appendStyleNodeOpenTag. This is a bad idea.
1799
1800         * editing/markup.cpp:
1801         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
1802         (WebCore::StyledMarkupAccumulator::appendText):
1803
1804 2013-04-19  Joseph Pecoraro  <pecoraro@apple.com>
1805
1806         Web Inspector: Support the SourceMap header, X-SourceMap was deprecated
1807         https://bugs.webkit.org/show_bug.cgi?id=114888
1808
1809         Check first for SourceMap, then fallback to X-SourceMap. Leaving in
1810         support for the deprecated header because most tools and articles
1811         online mention that version and have not yet updated.
1812
1813         Reviewed by Timothy Hatcher.
1814
1815         * inspector/InspectorDebuggerAgent.cpp:
1816         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
1817         * inspector/InspectorPageAgent.cpp:
1818         (WebCore::InspectorPageAgent::sourceMapURLForResource):
1819
1820 2013-04-19  Joseph Pecoraro  <pecoraro@apple.com>
1821
1822         Web Inspector: Backend should detect sourceMappingURLs in CSS Resources
1823         https://bugs.webkit.org/show_bug.cgi?id=114854
1824
1825         Reviewed by Timothy Hatcher.
1826
1827         Test: http/tests/inspector/network/css-source-mapping-url.html
1828
1829         * inspector/Inspector.json:
1830         - Page.getResourceTree - add sourceMapURL to resource payloads
1831         - Network.loadingFinished and Network.requestServedFromMemoryCache,
1832           include the sourceMapURL in the results.
1833
1834         * inspector/ContentSearchUtils.h:
1835         * inspector/ContentSearchUtils.cpp:
1836         (WebCore::ContentSearchUtils::scriptCommentPattern):
1837         (WebCore::ContentSearchUtils::stylesheetCommentPattern):
1838         (WebCore::ContentSearchUtils::findMagicComment):
1839         (WebCore::ContentSearchUtils::findScriptSourceURL):
1840         (WebCore::ContentSearchUtils::findScriptSourceMapURL):
1841         (WebCore::ContentSearchUtils::findStylesheetSourceMapURL):
1842         Separate Script and Stylesheet regex pattern creation, but
1843         share the search function using the pattern.
1844
1845         * inspector/InspectorDebuggerAgent.cpp:
1846         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
1847         (WebCore::InspectorDebuggerAgent::didParseSource):
1848         Update function names. Check for the SourceMap header before
1849         checking for a sourceMappingURL comment.
1850
1851         * inspector/InspectorPageAgent.h:
1852         * inspector/InspectorPageAgent.cpp:
1853         (WebCore::InspectorPageAgent::sourceMapURLForResource):
1854         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
1855         Provide the sourceMapURL for Page.getResourceTree.
1856
1857         * inspector/InspectorResourceAgent.cpp:
1858         (WebCore::buildObjectForCachedResource):
1859         (WebCore::InspectorResourceAgent::didFinishLoading):
1860         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1861         Include sourceMapURLs in finish loading and request served from cache.
1862
1863 2013-04-19  Shawn Singh  <shawnsingh@chromium.org>
1864
1865         Remove non-overlap testing code in RenderLayerCompositor
1866         https://bugs.webkit.org/show_bug.cgi?id=85521
1867
1868         Reviewed by Simon Fraser.
1869
1870         m_compositingConsultsOverlap is always true in the current
1871         code. This patch removes this flag, and removes dead code that is
1872         never executed because it was never false.
1873
1874         No new tests, no change in behavior.  The cleanup is covered by
1875         existing tests.
1876
1877         * rendering/RenderLayer.cpp:
1878         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
1879         removed if-statement that is always true.
1880         
1881         * rendering/RenderLayerBacking.cpp:
1882         (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
1883         removed if-statement that would never get triggered.
1884
1885         * rendering/RenderLayerCompositor.cpp:
1886         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1887         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1888         removed m_compositingConsultsOverlap, and retained the code as if the flag were "true".
1889         
1890         * rendering/RenderLayerCompositor.h:
1891         (RenderLayerCompositor):
1892
1893 2013-04-19  Roger Fong  <roger_fong@apple.com>
1894
1895         Unreviewed. WebKit_Source is incorrectly set.
1896
1897         * WebCore.vcxproj/WebCore.make:
1898
1899 2013-04-18  Ryosuke Niwa  <rniwa@webkit.org>
1900
1901         Make loops in RenderObject::containingBlock homogeneous in their forms to simplify
1902         https://bugs.webkit.org/show_bug.cgi?id=114853
1903
1904         Reviewed by David Hyatt.
1905
1906         This patch prepares us to avoid computing containing blocks during a depth-first traversal of the render tree.
1907
1908         Extracted inline functions out of RenderBlock::containingBlock to make the code simpler. Also moved the code
1909         to obtain the nearest containing block out of the loop for a relatively positioned inline.
1910
1911         * rendering/RenderObject.cpp:
1912         (WebCore::isNonReplacedInlineInFlowPosition): Extracted.
1913         (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): Extracted.
1914         (WebCore::isNonRenderBlockInline): Extracted.
1915         (WebCore::RenderObject::containingBlock): Refactored as stated above.
1916
1917 2013-04-19  Tim Horton  <timothy_horton@apple.com>
1918
1919         WebKit should not decode or support PDF favicons
1920         https://bugs.webkit.org/show_bug.cgi?id=114650
1921         <rdar://problem/10133914>
1922
1923         Reviewed by Dan Bernstein.
1924
1925         Drop the image data on the floor if it begins with the PDF magic number.
1926         No other browser I can find on OS X supports PDF favicons (by experimentation),
1927         and we do not properly display them.
1928
1929         * loader/icon/IconLoader.cpp:
1930         (WebCore::IconLoader::notifyFinished):
1931
1932 2013-04-19  Martin Robinson  <mrobinson@igalia.com>
1933
1934         Remove the OpenVG backend
1935         https://bugs.webkit.org/show_bug.cgi?id=114881
1936
1937         Reviewed by Tim Horton.
1938
1939         * platform/graphics/FloatRect.h:
1940         (FloatRect): Remove #ifdefs for OpenVG backend.
1941         * platform/graphics/GraphicsContext.cpp:
1942         (WebCore): Ditto.
1943         * platform/graphics/GraphicsContext.h:
1944         * platform/graphics/NativeImagePtr.h:
1945         (WebCore): Ditto.
1946         * platform/graphics/Path.cpp:
1947         (WebCore): Ditto.
1948         * platform/graphics/Path.h:
1949         * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Removed.
1950         * platform/graphics/openvg/EGLDisplayOpenVG.h: Removed.
1951         * platform/graphics/openvg/EGLUtils.h: Removed.
1952         * platform/graphics/openvg/GraphicsContextOpenVG.cpp: Removed.
1953         * platform/graphics/openvg/ImageOpenVG.cpp: Removed.
1954         * platform/graphics/openvg/PainterOpenVG.cpp: Removed.
1955         * platform/graphics/openvg/PainterOpenVG.h: Removed.
1956         * platform/graphics/openvg/PathOpenVG.cpp: Removed.
1957         * platform/graphics/openvg/PlatformPathOpenVG.h: Removed.
1958         * platform/graphics/openvg/SharedResourceOpenVG.cpp: Removed.
1959         * platform/graphics/openvg/SharedResourceOpenVG.h: Removed.
1960         * platform/graphics/openvg/SurfaceOpenVG.cpp: Removed.
1961         * platform/graphics/openvg/SurfaceOpenVG.h: Removed.
1962         * platform/graphics/openvg/TiledImageOpenVG.cpp: Removed.
1963         * platform/graphics/openvg/TiledImageOpenVG.h: Removed.
1964         * platform/graphics/openvg/VGUtils.cpp: Removed.
1965         * platform/graphics/openvg/VGUtils.h: Removed.
1966         * platform/graphics/transforms/AffineTransform.h:
1967         (AffineTransform): Ditto.
1968         * platform/graphics/transforms/TransformationMatrix.h:
1969         (TransformationMatrix): Ditto.
1970         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Removed.
1971
1972 2013-04-19  Andrei Bucur  <abucur@adobe.com>
1973
1974         ContainerNode::removeChildren should first detach the children then remove them
1975         https://bugs.webkit.org/show_bug.cgi?id=113433
1976
1977         Reviewed by Ryosuke Niwa.
1978
1979         Currently, ContainerNode::removeChildren initially removes the nodes from the DOM tree and then
1980         calls detach() on each of them. This is anti-intuitive and can lead to subtle bugs because the
1981         detached renderers are not backed by a valid DOM tree any more. With the patch, the nodes are first
1982         detached and then removed from the DOM.
1983         The patch also lets the tree in a consistent state after each node removal by clearing the previous
1984         sibling pointer of the node following the one removed.
1985         I haven't found any proof the performance will get worse if the detachment happens when the children
1986         are still in the DOM tree.
1987
1988         Tests: No changed visible functionality.
1989
1990         * dom/ContainerNode.cpp:
1991         (WebCore::ContainerNode::removeChildren):
1992
1993 2013-04-19  Dirk Schulze  <krit@webkit.org>
1994
1995         Refactor transform code in StyleResolver
1996         https://bugs.webkit.org/show_bug.cgi?id=114874
1997
1998         Reviewed by Andreas Kling.
1999
2000         Move transform code frome StyleResolver into own files.
2001
2002         Refactoring, no changes in functionality.
2003
2004         * CMakeLists.txt:
2005         * GNUmakefile.list.am:
2006         * Target.pri:
2007         * WebCore.vcproj/WebCore.vcproj:
2008         * WebCore.vcxproj/WebCore.vcxproj:
2009         * WebCore.vcxproj/WebCore.vcxproj.filters:
2010         * WebCore.xcodeproj/project.pbxproj:
2011         * css/StyleResolver.cpp:
2012         (WebCore::StyleResolver::applyProperty):
2013         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
2014         * css/StyleResolver.h:
2015         * css/TransformFunctions.cpp: Added.
2016         (WebCore):
2017         (WebCore::transformOperationType):
2018         (WebCore::convertToFloatLength):
2019         (WebCore::transformsForValue):
2020         * css/TransformFunctions.h: Added.
2021         (WebCore):
2022         * css/WebKitCSSMatrix.cpp:
2023         (WebCore::WebKitCSSMatrix::setMatrixValue):
2024
2025 2013-04-19  Erik Arvidsson  <arv@chromium.org>
2026
2027         Rename TextTrackList owner to element for consistency
2028         https://bugs.webkit.org/show_bug.cgi?id=79822
2029
2030         Reviewed by Eric Carlson.
2031
2032         No new tests. Covered by existing tests.
2033
2034         * bindings/js/JSTextTrackListCustom.cpp:
2035         (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
2036         (WebCore::JSTextTrackList::visitChildren):
2037         * html/HTMLMediaElement.cpp:
2038         (WebCore::HTMLMediaElement::~HTMLMediaElement):
2039         * html/track/TextTrackList.cpp:
2040         (TextTrackList::append):
2041         (TextTrackList::remove):
2042         * html/track/TextTrackList.h:
2043         (WebCore::TextTrackList::create):
2044         * html/track/TrackListBase.cpp:
2045         (TrackListBase::TrackListBase):
2046         (TrackListBase::remove):
2047         * html/track/TrackListBase.h:
2048         (WebCore::TrackListBase::clearElement):
2049         (WebCore::TrackListBase::element):
2050         (TrackListBase):
2051
2052 2013-04-19  Andreas Kling  <akling@apple.com>
2053
2054         [Mac] ComplexTextController is slow with large numbers of text runs.
2055         <http://webkit.org/b/114875>
2056         <rdar://problem/13337036>
2057
2058         Reviewed by Dan Bernstein.
2059
2060         Instead of iterating over the text runs in indexOfCurrentRun() to figure out the leftmost glyph,
2061         create a lookup table of [run# -> distance in glyphs] at ComplexTextController construction time.
2062
2063         This avoids O(n^2) behavior in indexOfCurrentRun().
2064
2065         * platform/graphics/mac/ComplexTextController.cpp:
2066         (WebCore::ComplexTextController::ComplexTextController):
2067         (WebCore::ComplexTextController::indexOfCurrentRun):
2068         * platform/graphics/mac/ComplexTextController.h:
2069         (ComplexTextController):
2070
2071 2013-04-19  Mario Sanchez Prada  <mario.prada@samsung.com>
2072
2073         [GTK] Minimize calls to GailTextUtil in AtkText implementation
2074         https://bugs.webkit.org/show_bug.cgi?id=114868
2075
2076         Reviewed by Martin Robinson.
2077
2078         Create a new helper function to concentrate inside of it the calls to
2079         gail_text_util_get_text(), so we can get rid of it later more easily.
2080
2081         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2082         (webkitAccessibleTextGetTextForOffset): New helper function.
2083         (webkitAccessibleTextGetTextAfterOffset): Rely on the new function.
2084         (webkitAccessibleTextGetTextAtOffset): Ditto.
2085         (webkitAccessibleTextGetTextBeforeOffset): Ditto.
2086
2087 2013-04-19  Noam Rosenthal  <noam@webkit.org>
2088
2089         [Texmap] Implementation for pattern compositing
2090         https://bugs.webkit.org/show_bug.cgi?id=109588
2091
2092         Reviewed by Allan Sandfeld Jensen.
2093
2094         Enable pattern compositing (background images) for CoordinatedGraphics/TextureMapperGL.
2095         Use the existing patternTransform shader uniform, multiplying it by a matrix calculated
2096         using the contentsRect, tileSize and tilePhase.
2097
2098         Covered by existing tests in compositing/patterns.
2099
2100         * platform/graphics/GraphicsLayer.h:
2101         (GraphicsLayer):
2102             Conditionally enable pattern compositing for coordinated graphics.
2103
2104         * platform/graphics/texmap/TextureMapper.cpp:
2105         (WebCore::TextureMapper::TextureMapper):
2106         * platform/graphics/texmap/TextureMapper.h:
2107         (WebCore::TextureMapper::setPatternTransform):
2108         (WebCore::TextureMapper::setWrapMode):
2109         (WebCore::TextureMapper::wrapMode):
2110         (WebCore::TextureMapper::patternTransform):
2111             Add wrapMode and patternTransform properties to the TextureMapper state.
2112
2113         * platform/graphics/texmap/TextureMapperGL.cpp:
2114         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
2115             Paint with GL_REPEAT and a pattern transform when needed.
2116
2117         * platform/graphics/texmap/TextureMapperLayer.cpp:
2118         (WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
2119         (WebCore):
2120         (WebCore::TextureMapperLayer::paintSelf):
2121         (WebCore::TextureMapperLayer::setContentsRect):
2122         (WebCore::TextureMapperLayer::setContentsTileSize):
2123         (WebCore::TextureMapperLayer::setContentsTilePhase):
2124             Apply the patternTransform from the tile size/phase.
2125
2126         * platform/graphics/texmap/TextureMapperLayer.h:
2127         (WebCore::TextureMapperLayer::TextureMapperLayer):
2128         (TextureMapperLayer):
2129         (WebCore::TextureMapperLayer::setShouldMapBackingStoreToContentsRect):
2130         (State):
2131         (WebCore::TextureMapperLayer::State::State):
2132             Allow the client to configure whether a layer uses its bounds or its
2133             contents rect to paint the backing store.
2134             This is needed now since layers with background images, unlike layers
2135             with regular images, may have bounds that are greater than the contents
2136             rect.
2137
2138         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2139         (WebCore::CoordinatedGraphicsLayer::setContentsTileSize):
2140         (WebCore):
2141         (WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):
2142         (WebCore::CoordinatedGraphicsLayer::setShouldSupportContentsTiling):
2143         (WebCore::GraphicsLayer::supportsContentsTiling):
2144         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2145         (CoordinatedGraphicsLayer):
2146         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2147         (WebCore::CoordinatedGraphicsScene::setLayerState):
2148         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
2149         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
2150         (CoordinatedGraphicsLayerState):
2151             Logic to pass the tileSize/tilePhase from CoordinatedGraphicsLayer
2152             to TextureMapperLayer.
2153
2154         * rendering/RenderLayerBacking.cpp:
2155         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
2156             Don't reset the layer's image contents when this is a directly composited image.
2157
2158 2013-04-19  ChangSeok Oh  <changseok.oh@collabora.com>
2159
2160         [GTK][AC] Manage actor's children by using clutter's own way.
2161         https://bugs.webkit.org/show_bug.cgi?id=114257
2162
2163         Reviewed by Gustavo Noronha Silva.
2164
2165         I believe we don't need to maintain a children list of GList. We can do it
2166         by using clutter APIs like clutter_actor_get_children, clutter_actor_get_first_child, etc.
2167
2168         No new tests since no functionality changed.
2169
2170         * platform/graphics/clutter/GraphicsLayerActor.cpp:
2171         (graphics_layer_actor_init):
2172         (graphicsLayerActorAllocate):
2173         (graphicsLayerActorPaint):
2174         (graphicsLayerActorRemoveAll):
2175         (graphicsLayerActorGetnChildren):
2176         (graphicsLayerActorReplaceSublayer):
2177         (graphicsLayerActorInsertSublayer):
2178         * platform/graphics/clutter/GraphicsLayerActor.h:
2179         (_GraphicsLayerActor):
2180
2181 2013-04-19  ChangSeok Oh  <changseok.oh@collabora.com>
2182
2183         [GTK][AC] Support masksToBounds for clutter AC backend.
2184         https://bugs.webkit.org/show_bug.cgi?id=114113
2185
2186         Reviewed by Gustavo Noronha Silva.
2187
2188         We can support the masksToBounds property by using clutter_actor_set_clip simply.
2189
2190         Covered by existing AC tests.
2191
2192         * platform/graphics/clutter/GraphicsLayerActor.cpp:
2193         (graphicsLayerActorSetMasksToBounds):
2194         * platform/graphics/clutter/GraphicsLayerActor.h:
2195         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2196         (WebCore::GraphicsLayerClutter::setMasksToBounds):
2197         (WebCore):
2198         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
2199         (WebCore::GraphicsLayerClutter::setupContentsLayer):
2200         (WebCore::GraphicsLayerClutter::updateMasksToBounds):
2201         * platform/graphics/clutter/GraphicsLayerClutter.h:
2202         (GraphicsLayerClutter):
2203
2204 2013-04-19  Dan Beam  <dbeam@chromium.org>
2205
2206         Remove unmaintained feature REQUEST_AUTOCOMPLETE
2207         https://bugs.webkit.org/show_bug.cgi?id=114846
2208
2209         Reviewed by Kent Tamura.
2210
2211         * GNUmakefile.list.am: Remove AutocompleteErrorEvent.h include.
2212         * bindings/generic/RuntimeEnabledFeatures.cpp:
2213         (WebCore): Remove requestAutocomplete() runtime feature.
2214         * bindings/generic/RuntimeEnabledFeatures.h:
2215         (RuntimeEnabledFeatures): Remove requestAutocomplete() runtime feature.
2216         * dom/AutocompleteErrorEvent.h: Removed.
2217         * dom/AutocompleteErrorEvent.idl: Removed.
2218         * dom/EventNames.h: Remove `autocomplete` and `autocompleteerror` event names.
2219         (WebCore):
2220         * dom/EventNames.in: Remove `autocomplete` and `autocompleteerror` event names.
2221         * html/HTMLAttributeNames.in: Remove `onautocomplete` and `onautocompleteerror` form attributes.
2222         * html/HTMLFormElement.cpp: Remove requestAutocomplete() related code.
2223         (WebCore::HTMLFormElement::HTMLFormElement): Remove timer and event queue for requestAutocomplete() related events.
2224         (WebCore::HTMLFormElement::parseAttribute): Remove parsing of `onautocomplete` and `onautocompleterror`.
2225         * html/HTMLFormElement.h: Remove requestAutocomplete() related members.
2226         (HTMLFormElement):
2227         * html/HTMLFormElement.idl: Remove public requestAutocomplete() API method.
2228         * loader/EmptyClients.cpp: Remove stub implementation.
2229         (WebCore):
2230         * loader/EmptyClients.h: Remove stub interface.
2231         (EmptyFrameLoaderClient):
2232         * loader/FrameLoaderClient.h: Remove didRequestAutocomplete() from interface.
2233         (FrameLoaderClient):
2234         * page/DOMWindow.idl: Remove `AutocompleteErrorEvent` from window DOM interface.
2235
2236 2013-04-18  Timothy Hatcher  <timothy@apple.com>
2237
2238         Add CSS.setStyleText to the Web Inspector protocol.
2239
2240         This provides a direct path for the Safari Web Inspector to live edit whole style rules.
2241
2242         https://webkit.org/b/109340
2243         rdar://problem/13337211
2244
2245         Reviewed by Joseph Pecoraro.
2246
2247         * inspector/Inspector.json:
2248         (CSS.setStyleText): Added.
2249         * inspector/InspectorCSSAgent.cpp:
2250         (InspectorCSSAgent::SetStyleTextAction):
2251         (WebCore::InspectorCSSAgent::SetStyleTextAction::SetStyleTextAction): Added.
2252         (WebCore::InspectorCSSAgent::SetStyleTextAction::perform): Added.
2253         (WebCore::InspectorCSSAgent::SetStyleTextAction::undo): Added.
2254         (WebCore::InspectorCSSAgent::SetStyleTextAction::redo): Added.
2255         (WebCore::InspectorCSSAgent::SetStyleTextAction::mergeId): Added.
2256         (WebCore::InspectorCSSAgent::SetStyleTextAction::merge): Added.
2257         (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
2258         (WebCore::InspectorCSSAgent::setStyleText): Added.
2259         * inspector/InspectorCSSAgent.h:
2260         * inspector/InspectorStyleSheet.cpp:
2261         (WebCore::InspectorStyle::getText): Added.
2262         (WebCore::InspectorStyle::setText): Added.
2263         (WebCore::InspectorStyleSheet::setStyleText):
2264         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
2265         * inspector/InspectorStyleSheet.h:
2266         (WebCore::InspectorStyle::styleText): Added as an alias to getText.
2267         (WebCore::InspectorStyle::applyStyleText): Added as an alias to setText.
2268
2269 2013-04-18  Jer Noble  <jer.noble@apple.com>
2270
2271         Unreviewed gardening; fix bindings tests after r148700.
2272
2273         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2274         (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
2275
2276 2013-04-18  Andy Estes  <aestes@apple.com>
2277
2278         REGRESSION (r116645): Versions app's UI is munged in HiDPI due to background-size being reset to 'auto' when background short-hand is also specified
2279         https://bugs.webkit.org/show_bug.cgi?id=114833
2280
2281         Reviewed by David Kilzer.
2282
2283         Added applicationIsVersions() to RuntimeApplicationChecks.
2284
2285         * WebCore.exp.in:
2286         * platform/RuntimeApplicationChecks.cpp:
2287         (WebCore::applicationIsVersions):
2288         (WebCore):
2289         * platform/RuntimeApplicationChecks.h:
2290         (WebCore):
2291
2292 2013-04-18  Sam Weinig  <sam@webkit.org>
2293
2294         Network Process crashing trying to read in IDNScriptWhiteList.txt
2295         https://bugs.webkit.org/show_bug.cgi?id=114827
2296
2297         Reviewed by Anders Carlsson.
2298
2299         Move IDNScriptWhiteList.txt from WebKit to WebCore, so that the NetworkProcess does not have to link against
2300         WebKit. It was a layering violation for WebCore to be trying to access WebKit resources anyway.
2301
2302         * Resources/IDNScriptWhiteList.txt: Copied from Source/WebKit/mac/Resources/IDNScriptWhiteList.txt.
2303         * WebCore.xcodeproj/project.pbxproj:
2304         * platform/mac/WebCoreNSURLExtras.mm:
2305         (WebCore::readIDNScriptWhiteList):
2306
2307 2013-04-18  Simon Fraser  <simon.fraser@apple.com>
2308
2309         Remove GraphicsLayerCA::constrainedSize() now that we can manage large layer memory use ourselves in TileController
2310         https://bugs.webkit.org/show_bug.cgi?id=114834
2311
2312         Reviewed by Tim Horton.
2313
2314         GraphicsLayerCA::constrainedSize() was added to handle poor CATiledLayer behavior when layer sizes
2315         got extremely large. Now that we no longer use CATiledLayer, remove this code. We can later add
2316         tile memory bounding to TileController if that becomes necessary.
2317
2318         * platform/graphics/ca/GraphicsLayerCA.cpp:
2319         (WebCore::GraphicsLayerCA::updateGeometry):
2320         * platform/graphics/ca/GraphicsLayerCA.h:
2321         (GraphicsLayerCA):
2322
2323 2013-04-18  Alberto Garcia  <agarcia@igalia.com>
2324
2325         Remove obsolete macros from libpng
2326         https://bugs.webkit.org/show_bug.cgi?id=114817
2327
2328         Reviewed by Benjamin Poulain.
2329
2330         libpng 1.4 removes the png_voidp_NULL and png_error_ptr_NULL
2331         macros. Null pointers must be used directly instead.
2332
2333         * platform/image-encoders/PNGImageEncoder.cpp:
2334         (WebCore::compressRGBABigEndianToPNG):
2335
2336 2013-04-18  Jer Noble  <jer.noble@apple.com>
2337
2338         CodeGeneratorJS.pm should generate "isFiringEventListeners()" check in isReachableFromOpaqueRoots()
2339         https://bugs.webkit.org/show_bug.cgi?id=114784
2340
2341         Reviewed by Geoffrey Garen.
2342
2343         EventTarget subclasses shouldn't have to use CustomIsReachable directives
2344         in order to keep their wrappers alive while firing event listeners.
2345
2346         * bindings/scripts/CodeGeneratorJS.pm:
2347         (GenerateImplementation):
2348
2349 2013-04-17  Geoffrey Garen  <ggaren@apple.com>
2350
2351         Renamed JSGlobalData to VM
2352         https://bugs.webkit.org/show_bug.cgi?id=114777
2353
2354         Reviewed by Phil Pizlo.
2355
2356         * ForwardingHeaders/runtime/JSGlobalData.h: Removed.
2357         * ForwardingHeaders/runtime/VM.h: Copied from Source/WebCore/ForwardingHeaders/runtime/JSGlobalData.h.
2358         * WebCore.exp.in:
2359         * WebCore.order:
2360         * WebCore.vcxproj/WebCore.vcxproj:
2361         * WebCore.vcxproj/WebCore.vcxproj.filters:
2362         * bindings/js/DOMObjectHashTableMap.cpp:
2363         (WebCore::DOMObjectHashTableMap::mapFor):
2364         * bindings/js/DOMObjectHashTableMap.h:
2365         (JSC):
2366         (DOMObjectHashTableMap):
2367         * bindings/js/DOMWrapperWorld.cpp:
2368         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
2369         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
2370         (WebCore::normalWorld):
2371         (WebCore::mainThreadNormalWorld):
2372         * bindings/js/DOMWrapperWorld.h:
2373         (WebCore::DOMWrapperWorld::create):
2374         (WebCore::DOMWrapperWorld::vm):
2375         (DOMWrapperWorld):
2376         (WebCore):
2377         * bindings/js/GCController.cpp:
2378         (WebCore::collect):
2379         (WebCore::GCController::garbageCollectSoon):
2380         (WebCore::GCController::garbageCollectNow):
2381         (WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
2382         (WebCore::GCController::discardAllCompiledCode):
2383         * bindings/js/IDBBindingUtilities.cpp:
2384         (WebCore::get):
2385         (WebCore::set):
2386         (WebCore::deserializeIDBValue):
2387         (WebCore::deserializeIDBValueBuffer):
2388         (WebCore::idbKeyToScriptValue):
2389         * bindings/js/JSCallbackData.h:
2390         (WebCore::JSCallbackData::JSCallbackData):
2391         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2392         (WebCore::JSSQLStatementErrorCallback::handleEvent):
2393         * bindings/js/JSCustomXPathNSResolver.cpp:
2394         (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
2395         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2396         * bindings/js/JSDOMBinding.cpp:
2397         (WebCore::getHashTableForGlobalData):
2398         (WebCore::reportException):
2399         (WebCore::cacheDOMStructure):
2400         * bindings/js/JSDOMBinding.h:
2401         (WebCore::DOMConstructorObject::createStructure):
2402         (WebCore::DOMConstructorWithDocument::finishCreation):
2403         (WebCore::getDOMStructure):
2404         (WebCore::setInlineCachedWrapper):
2405         (WebCore):
2406         (WebCore::jsStringWithCache):
2407         * bindings/js/JSDOMGlobalObject.cpp:
2408         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
2409         (WebCore::JSDOMGlobalObject::finishCreation):
2410         * bindings/js/JSDOMGlobalObject.h:
2411         (JSDOMGlobalObject):
2412         (WebCore::JSDOMGlobalObject::createStructure):
2413         (WebCore::getDOMConstructor):
2414         * bindings/js/JSDOMWindowBase.cpp:
2415         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2416         (WebCore::JSDOMWindowBase::finishCreation):
2417         (WebCore::JSDOMWindowBase::updateDocument):
2418         (WebCore::JSDOMWindowBase::commonVM):
2419         * bindings/js/JSDOMWindowBase.h:
2420         (JSDOMWindowBase):
2421         (WebCore::JSDOMWindowBase::createStructure):
2422         * bindings/js/JSDOMWindowCustom.cpp:
2423         (WebCore::JSDOMWindow::setLocation):
2424         (WebCore::DialogHandler::dialogCreated):
2425         (WebCore::DialogHandler::returnValue):
2426         * bindings/js/JSDOMWindowShell.cpp:
2427         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2428         (WebCore::JSDOMWindowShell::finishCreation):
2429         (WebCore::JSDOMWindowShell::setWindow):
2430         * bindings/js/JSDOMWindowShell.h:
2431         (JSDOMWindowShell):
2432         (WebCore::JSDOMWindowShell::create):
2433         (WebCore::JSDOMWindowShell::createStructure):
2434         * bindings/js/JSDOMWrapper.h:
2435         (WebCore::JSDOMWrapper::JSDOMWrapper):
2436         * bindings/js/JSDeviceMotionEventCustom.cpp:
2437         (WebCore::createAccelerationObject):
2438         (WebCore::createRotationRateObject):
2439         * bindings/js/JSDictionary.cpp:
2440         (WebCore::JSDictionary::convertValue):
2441         * bindings/js/JSDictionary.h:
2442         (WebCore::JSDictionary::JSDictionary):
2443         * bindings/js/JSErrorHandler.cpp:
2444         (WebCore::JSErrorHandler::handleEvent):
2445         * bindings/js/JSEventListener.cpp:
2446         (WebCore::JSEventListener::handleEvent):
2447         * bindings/js/JSEventListener.h:
2448         (WebCore::JSEventListener::setWrapper):
2449         (WebCore::JSEventListener::jsFunction):
2450         * bindings/js/JSHTMLDocumentCustom.cpp:
2451         (WebCore::JSHTMLDocument::all):
2452         (WebCore::JSHTMLDocument::setAll):
2453         * bindings/js/JSHTMLTemplateElementCustom.cpp:
2454         (WebCore::JSHTMLTemplateElement::content):
2455         * bindings/js/JSHistoryCustom.cpp:
2456         (WebCore::JSHistory::state):
2457         * bindings/js/JSImageConstructor.cpp:
2458         (WebCore::JSImageConstructor::finishCreation):
2459         * bindings/js/JSImageConstructor.h:
2460         (WebCore::JSImageConstructor::createStructure):
2461         * bindings/js/JSImageDataCustom.cpp:
2462         (WebCore::toJS):
2463         * bindings/js/JSInjectedScriptHostCustom.cpp:
2464         (WebCore::InjectedScriptHost::nodeAsScriptValue):
2465         (WebCore::JSInjectedScriptHost::functionDetails):
2466         (WebCore::getJSListenerFunctions):
2467         (WebCore::JSInjectedScriptHost::getEventListeners):
2468         (WebCore::JSInjectedScriptHost::inspect):
2469         * bindings/js/JSLazyEventListener.cpp:
2470         (WebCore::JSLazyEventListener::initializeJSFunction):
2471         * bindings/js/JSMessageEventCustom.cpp:
2472         (WebCore::JSMessageEvent::data):
2473         (WebCore::handleInitMessageEvent):
2474         * bindings/js/JSMutationCallback.cpp:
2475         (WebCore::JSMutationCallback::call):
2476         * bindings/js/JSMutationObserverCustom.cpp:
2477         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
2478         * bindings/js/JSNodeFilterCondition.cpp:
2479         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
2480         * bindings/js/JSNodeFilterCondition.h:
2481         (WebCore::JSNodeFilterCondition::create):
2482         (JSNodeFilterCondition):
2483         * bindings/js/JSNodeFilterCustom.cpp:
2484         (WebCore::toNodeFilter):
2485         * bindings/js/JSPopStateEventCustom.cpp:
2486         (WebCore::cacheState):
2487         * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:
2488         (WebCore::JSRequestAnimationFrameCallback::handleEvent):
2489         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2490         (WebCore::JSSQLResultSetRowList::item):
2491         * bindings/js/JSWorkerContextBase.cpp:
2492         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
2493         (WebCore::JSWorkerContextBase::finishCreation):
2494         * bindings/js/JSWorkerContextBase.h:
2495         (WebCore::JSWorkerContextBase::createStructure):
2496         (JSWorkerContextBase):
2497         * bindings/js/PageScriptDebugServer.cpp:
2498         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
2499         * bindings/js/ScheduledAction.cpp:
2500         (WebCore::ScheduledAction::ScheduledAction):
2501         (WebCore::ScheduledAction::executeFunctionInContext):
2502         * bindings/js/ScheduledAction.h:
2503         (WebCore::ScheduledAction::ScheduledAction):
2504         * bindings/js/ScriptCachedFrameData.cpp:
2505         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
2506         (WebCore::ScriptCachedFrameData::restore):
2507         (WebCore::ScriptCachedFrameData::clear):
2508         * bindings/js/ScriptCallStackFactory.cpp:
2509         (WebCore::createScriptCallStack):
2510         (WebCore::createScriptArguments):
2511         * bindings/js/ScriptController.cpp:
2512         (WebCore::ScriptController::createWindowShell):
2513         (WebCore::ScriptController::evaluateInWorld):
2514         (WebCore::ScriptController::createWorld):
2515         (WebCore::ScriptController::getAllWorlds):
2516         (WebCore::ScriptController::clearWindowShell):
2517         (WebCore::ScriptController::initScript):
2518         (WebCore::ScriptController::updateDocument):
2519         (WebCore::ScriptController::cacheableBindingRootObject):
2520         (WebCore::ScriptController::bindingRootObject):
2521         (WebCore::ScriptController::clearScriptObjects):
2522         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
2523         * bindings/js/ScriptControllerMac.mm:
2524         (WebCore::ScriptController::windowScriptObject):
2525         * bindings/js/ScriptDebugServer.cpp:
2526         (WebCore::ScriptDebugServer::dispatchDidPause):
2527         * bindings/js/ScriptEventListener.cpp:
2528         (WebCore::eventListenerHandlerBody):
2529         (WebCore::eventListenerHandler):
2530         (WebCore::eventListenerHandlerLocation):
2531         * bindings/js/ScriptFunctionCall.cpp:
2532         (WebCore::ScriptFunctionCall::call):
2533         (WebCore::ScriptCallback::call):
2534         * bindings/js/ScriptGCEvent.cpp:
2535         (WebCore::ScriptGCEvent::getHeapSize):
2536         * bindings/js/ScriptObject.cpp:
2537         (WebCore::ScriptObject::ScriptObject):
2538         (WebCore::ScriptGlobalObject::set):
2539         * bindings/js/ScriptState.h:
2540         (WebCore):
2541         * bindings/js/ScriptValue.cpp:
2542         (WebCore::ScriptValue::deserialize):
2543         * bindings/js/ScriptValue.h:
2544         (WebCore::ScriptValue::ScriptValue):
2545         * bindings/js/ScriptWrappable.h:
2546         (JSC):
2547         (ScriptWrappable):
2548         * bindings/js/ScriptWrappableInlines.h:
2549         (WebCore::ScriptWrappable::setWrapper):
2550         * bindings/js/SerializedScriptValue.cpp:
2551         (WebCore::CloneDeserializer::readTerminal):
2552         (WebCore::SerializedScriptValue::deserializeForInspector):
2553         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
2554         * bindings/js/WebCoreJSClientData.h:
2555         (WebCoreJSClientData):
2556         (WebCore::initNormalWorldClientData):
2557         * bindings/js/WorkerScriptController.cpp:
2558         (WebCore::WorkerScriptController::WorkerScriptController):
2559         (WebCore::WorkerScriptController::~WorkerScriptController):
2560         (WebCore::WorkerScriptController::initScript):
2561         (WebCore::WorkerScriptController::evaluate):
2562         (WebCore::WorkerScriptController::scheduleExecutionTermination):
2563         (WebCore::WorkerScriptController::isExecutionTerminating):
2564         (WebCore::WorkerScriptController::disableEval):
2565         * bindings/js/WorkerScriptController.h:
2566         (JSC):
2567         (WebCore::WorkerScriptController::vm):
2568         (WorkerScriptController):
2569         * bindings/js/WorkerScriptDebugServer.cpp:
2570         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
2571         * bindings/objc/WebScriptObject.mm:
2572         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
2573         * bindings/scripts/CodeGeneratorJS.pm:
2574         (GenerateHeader):
2575         (GenerateImplementation):
2576         (GenerateCallbackImplementation):
2577         (JSValueToNative):
2578         (GenerateConstructorDeclaration):
2579         (GenerateConstructorHelperMethods):
2580         * bindings/scripts/test/JS/JSFloat64Array.cpp:
2581         (WebCore::getJSFloat64ArrayConstructorTable):
2582         (WebCore::JSFloat64ArrayConstructor::finishCreation):
2583         (WebCore::getJSFloat64ArrayPrototypeTable):
2584         (WebCore::getJSFloat64ArrayTable):
2585         (WebCore::JSFloat64Array::finishCreation):
2586         (WebCore::JSFloat64Array::createPrototype):
2587         * bindings/scripts/test/JS/JSFloat64Array.h:
2588         (WebCore::JSFloat64Array::create):
2589         (WebCore::JSFloat64Array::createStructure):
2590         (JSFloat64Array):
2591         (WebCore::JSFloat64ArrayPrototype::create):
2592         (WebCore::JSFloat64ArrayPrototype::createStructure):
2593         (WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
2594         (WebCore::JSFloat64ArrayConstructor::createStructure):
2595         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2596         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
2597         (WebCore::JSTestActiveDOMObject::finishCreation):
2598         (WebCore::JSTestActiveDOMObject::createPrototype):
2599         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
2600         (WebCore::JSTestActiveDOMObject::create):
2601         (WebCore::JSTestActiveDOMObject::createStructure):
2602         (JSTestActiveDOMObject):
2603         (WebCore::JSTestActiveDOMObjectPrototype::create):
2604         (WebCore::JSTestActiveDOMObjectPrototype::createStructure):
2605         (WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype):
2606         (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
2607         * bindings/scripts/test/JS/JSTestCallback.cpp:
2608         (WebCore::JSTestCallback::callbackWithNoParam):
2609         (WebCore::JSTestCallback::callbackWithClass1Param):
2610         (WebCore::JSTestCallback::callbackWithClass2Param):
2611         (WebCore::JSTestCallback::callbackWithStringList):
2612         (WebCore::JSTestCallback::callbackWithBoolean):
2613         (WebCore::JSTestCallback::callbackRequiresThisToPass):
2614         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2615         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
2616         (WebCore::JSTestCustomNamedGetter::finishCreation):
2617         (WebCore::JSTestCustomNamedGetter::createPrototype):
2618         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
2619         (WebCore::JSTestCustomNamedGetter::create):
2620         (WebCore::JSTestCustomNamedGetter::createStructure):
2621         (JSTestCustomNamedGetter):
2622         (WebCore::JSTestCustomNamedGetterPrototype::create):
2623         (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
2624         (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
2625         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
2626         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2627         (WebCore::JSTestEventConstructorConstructor::finishCreation):
2628         (WebCore::JSTestEventConstructor::finishCreation):
2629         (WebCore::JSTestEventConstructor::createPrototype):
2630         * bindings/scripts/test/JS/JSTestEventConstructor.h:
2631         (WebCore::JSTestEventConstructor::create):
2632         (WebCore::JSTestEventConstructor::createStructure):
2633         (JSTestEventConstructor):
2634         (WebCore::JSTestEventConstructorPrototype::create):
2635         (WebCore::JSTestEventConstructorPrototype::createStructure):
2636         (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
2637         (WebCore::JSTestEventConstructorConstructor::createStructure):
2638         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2639         (WebCore::JSTestEventTargetConstructor::finishCreation):
2640         (WebCore::JSTestEventTarget::finishCreation):
2641         (WebCore::JSTestEventTarget::createPrototype):
2642         * bindings/scripts/test/JS/JSTestEventTarget.h:
2643         (WebCore::JSTestEventTarget::create):
2644         (WebCore::JSTestEventTarget::createStructure):
2645         (JSTestEventTarget):
2646         (WebCore::JSTestEventTargetPrototype::create):
2647         (WebCore::JSTestEventTargetPrototype::createStructure):
2648         (WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype):
2649         (WebCore::JSTestEventTargetConstructor::createStructure):
2650         * bindings/scripts/test/JS/JSTestException.cpp:
2651         (WebCore::JSTestExceptionConstructor::finishCreation):
2652         (WebCore::JSTestException::finishCreation):
2653         (WebCore::JSTestException::createPrototype):
2654         * bindings/scripts/test/JS/JSTestException.h:
2655         (WebCore::JSTestException::create):
2656         (WebCore::JSTestException::createStructure):
2657         (JSTestException):
2658         (WebCore::JSTestExceptionPrototype::create):
2659         (WebCore::JSTestExceptionPrototype::createStructure):
2660         (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
2661         (WebCore::JSTestExceptionConstructor::createStructure):
2662         * bindings/scripts/test/JS/JSTestInterface.cpp:
2663         (WebCore::JSTestInterfaceConstructor::finishCreation):
2664         (WebCore::JSTestInterface::finishCreation):
2665         (WebCore::JSTestInterface::createPrototype):
2666         * bindings/scripts/test/JS/JSTestInterface.h:
2667         (WebCore::JSTestInterface::create):
2668         (WebCore::JSTestInterface::createStructure):
2669         (JSTestInterface):
2670         (WebCore::JSTestInterfacePrototype::create):
2671         (WebCore::JSTestInterfacePrototype::createStructure):
2672         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
2673         (WebCore::JSTestInterfaceConstructor::createStructure):
2674         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2675         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
2676         (WebCore::JSTestMediaQueryListListener::finishCreation):
2677         (WebCore::JSTestMediaQueryListListener::createPrototype):
2678         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2679         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2680         (WebCore::JSTestMediaQueryListListener::create):
2681         (WebCore::JSTestMediaQueryListListener::createStructure):
2682         (JSTestMediaQueryListListener):
2683         (WebCore::JSTestMediaQueryListListenerPrototype::create):
2684         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
2685         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
2686         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
2687         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2688         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
2689         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
2690         (WebCore::JSTestNamedConstructor::finishCreation):
2691         (WebCore::JSTestNamedConstructor::createPrototype):
2692         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2693         (WebCore::JSTestNamedConstructor::create):
2694         (WebCore::JSTestNamedConstructor::createStructure):
2695         (JSTestNamedConstructor):
2696         (WebCore::JSTestNamedConstructorPrototype::create):
2697         (WebCore::JSTestNamedConstructorPrototype::createStructure):
2698         (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
2699         (WebCore::JSTestNamedConstructorConstructor::createStructure):
2700         (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
2701         * bindings/scripts/test/JS/JSTestNode.cpp:
2702         (WebCore::JSTestNodeConstructor::finishCreation):
2703         (WebCore::JSTestNode::finishCreation):
2704         (WebCore::JSTestNode::createPrototype):
2705         * bindings/scripts/test/JS/JSTestNode.h:
2706         (WebCore::JSTestNode::create):
2707         (WebCore::JSTestNode::createStructure):
2708         (JSTestNode):
2709         (WebCore::JSTestNodePrototype::create):
2710         (WebCore::JSTestNodePrototype::createStructure):
2711         (WebCore::JSTestNodePrototype::JSTestNodePrototype):
2712         (WebCore::JSTestNodeConstructor::createStructure):
2713         * bindings/scripts/test/JS/JSTestObj.cpp:
2714         (WebCore::JSTestObjConstructor::finishCreation):
2715         (WebCore::JSTestObj::finishCreation):
2716         (WebCore::JSTestObj::createPrototype):
2717         (WebCore::jsTestObjCachedAttribute1):
2718         (WebCore::jsTestObjCachedAttribute2):
2719         (WebCore::setJSTestObjConditionalAttr4Constructor):
2720         (WebCore::setJSTestObjConditionalAttr5Constructor):
2721         (WebCore::setJSTestObjConditionalAttr6Constructor):
2722         (WebCore::setJSTestObjAnyAttribute):
2723         (WebCore::setJSTestObjReplaceableAttribute):
2724         * bindings/scripts/test/JS/JSTestObj.h:
2725         (WebCore::JSTestObj::create):
2726         (WebCore::JSTestObj::createStructure):
2727         (JSTestObj):
2728         (WebCore::JSTestObjPrototype::create):
2729         (WebCore::JSTestObjPrototype::createStructure):
2730         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
2731         (WebCore::JSTestObjConstructor::createStructure):
2732         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2733         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
2734         (WebCore::JSTestOverloadedConstructors::finishCreation):
2735         (WebCore::JSTestOverloadedConstructors::createPrototype):
2736         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
2737         (WebCore::JSTestOverloadedConstructors::create):
2738         (WebCore::JSTestOverloadedConstructors::createStructure):
2739         (JSTestOverloadedConstructors):
2740         (WebCore::JSTestOverloadedConstructorsPrototype::create):
2741         (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
2742         (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
2743         (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
2744         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2745         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
2746         (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
2747         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
2748         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
2749         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
2750         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2751         (WebCore::JSTestSerializedScriptValueInterface::create):
2752         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
2753         (JSTestSerializedScriptValueInterface):
2754         (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
2755         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
2756         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
2757         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
2758         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2759         (WebCore::JSTestTypedefsConstructor::finishCreation):
2760         (WebCore::JSTestTypedefs::finishCreation):
2761         (WebCore::JSTestTypedefs::createPrototype):
2762         * bindings/scripts/test/JS/JSTestTypedefs.h:
2763         (WebCore::JSTestTypedefs::create):
2764         (WebCore::JSTestTypedefs::createStructure):
2765         (JSTestTypedefs):
2766         (WebCore::JSTestTypedefsPrototype::create):
2767         (WebCore::JSTestTypedefsPrototype::createStructure):
2768         (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
2769         (WebCore::JSTestTypedefsConstructor::createStructure):
2770         * bridge/c/CRuntimeObject.h:
2771         (JSC::Bindings::CRuntimeObject::createStructure):
2772         * bridge/c/c_instance.cpp:
2773         (JSC::Bindings::CRuntimeMethod::create):
2774         (JSC::Bindings::CRuntimeMethod::createStructure):
2775         (JSC::Bindings::CRuntimeMethod::finishCreation):
2776         * bridge/jsc/BridgeJSC.cpp:
2777         (JSC::Bindings::Instance::createRuntimeObject):
2778         * bridge/objc/ObjCRuntimeObject.h:
2779         (JSC::Bindings::ObjCRuntimeObject::createStructure):
2780         * bridge/objc/objc_instance.mm:
2781         (ObjCRuntimeMethod::create):
2782         (ObjCRuntimeMethod::createStructure):
2783         (ObjCRuntimeMethod::finishCreation):
2784         * bridge/objc/objc_runtime.h:
2785         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
2786         * bridge/objc/objc_runtime.mm:
2787         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2788         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
2789         * bridge/qt/qt_instance.cpp:
2790         (JSC::Bindings::QtRuntimeObject::createStructure):
2791         (JSC::Bindings::QtInstance::~QtInstance):
2792         (JSC::Bindings::QtInstance::getQtInstance):
2793         * bridge/runtime_array.cpp:
2794         (JSC::RuntimeArray::RuntimeArray):
2795         (JSC::RuntimeArray::finishCreation):
2796         * bridge/runtime_array.h:
2797         (JSC::RuntimeArray::create):
2798         (JSC::RuntimeArray::createStructure):
2799         (RuntimeArray):
2800         * bridge/runtime_method.cpp:
2801         (JSC::RuntimeMethod::finishCreation):
2802         * bridge/runtime_method.h:
2803         (JSC::RuntimeMethod::create):
2804         (JSC::RuntimeMethod::createStructure):
2805         (RuntimeMethod):
2806         * bridge/runtime_object.cpp:
2807         (JSC::Bindings::RuntimeObject::RuntimeObject):
2808         (JSC::Bindings::RuntimeObject::finishCreation):
2809         * bridge/runtime_object.h:
2810         (JSC::Bindings::RuntimeObject::createStructure):
2811         * bridge/runtime_root.cpp:
2812         (JSC::Bindings::RootObject::RootObject):
2813         (JSC::Bindings::RootObject::gcProtect):
2814         (JSC::Bindings::RootObject::gcUnprotect):
2815         (JSC::Bindings::RootObject::updateGlobalObject):
2816         (JSC::Bindings::RootObject::addRuntimeObject):
2817         * bridge/runtime_root.h:
2818         (RootObject):
2819         * dom/Node.cpp:
2820         * dom/Node.h:
2821         (JSC):
2822         * dom/ScriptExecutionContext.cpp:
2823         (WebCore::ScriptExecutionContext::vm):
2824         * dom/ScriptExecutionContext.h:
2825         (JSC):
2826         (ScriptExecutionContext):
2827         * html/HTMLCanvasElement.cpp:
2828         (WebCore::HTMLCanvasElement::createImageBuffer):
2829         * html/HTMLImageLoader.cpp:
2830         (WebCore::HTMLImageLoader::notifyFinished):
2831         * inspector/ScriptArguments.cpp:
2832         (WebCore::ScriptArguments::ScriptArguments):
2833         * loader/icon/IconDatabaseBase.cpp:
2834         (WebCore):
2835         (WebCore::iconDatabase):
2836         (WebCore::setGlobalIconDatabase):
2837         * platform/qt/MemoryUsageSupportQt.cpp:
2838         (WebCore::memoryUsageKB):
2839         (WebCore::actualMemoryUsageKB):
2840         * platform/win/ClipboardUtilitiesWin.cpp:
2841         (WebCore::createGlobalData):
2842         * plugins/PluginView.cpp:
2843         (WebCore::PluginView::start):
2844         (WebCore::PluginView::stop):
2845         (WebCore::PluginView::performRequest):
2846         (WebCore::PluginView::npObject):
2847         (WebCore::PluginView::privateBrowsingStateChanged):
2848         * plugins/blackberry/PluginViewBlackBerry.cpp:
2849         (WebCore::PluginView::dispatchNPEvent):
2850         (WebCore::PluginView::setNPWindowIfNeeded):
2851         (WebCore::PluginView::platformStart):
2852         (WebCore::PluginView::getWindowInfo):
2853         * plugins/efl/PluginViewEfl.cpp:
2854         (WebCore::PluginView::dispatchNPEvent):
2855         * plugins/gtk/PluginViewGtk.cpp:
2856         (WebCore::PluginView::dispatchNPEvent):
2857         (WebCore::PluginView::handleKeyboardEvent):
2858         (WebCore::PluginView::handleMouseEvent):
2859         (WebCore::PluginView::setNPWindowIfNeeded):
2860         (WebCore::PluginView::platformStart):
2861         * plugins/mac/PluginViewMac.mm:
2862         (WebCore::PluginView::platformStart):
2863         * plugins/qt/PluginViewQt.cpp:
2864         (WebCore::PluginView::dispatchNPEvent):
2865         (WebCore::PluginView::setNPWindowIfNeeded):
2866         * plugins/win/PluginViewWin.cpp:
2867         (WebCore::PluginView::dispatchNPEvent):
2868         (WebCore::PluginView::handleKeyboardEvent):
2869         (WebCore::PluginView::handleMouseEvent):
2870         (WebCore::PluginView::setNPWindowRect):
2871         * testing/js/WebCoreTestSupport.cpp:
2872         (WebCoreTestSupport::injectInternalsObject):
2873         * xml/XMLHttpRequest.cpp:
2874         (WebCore::XMLHttpRequest::dropProtection):
2875
2876 2013-04-18  Oliver Hunt  <oliver@apple.com>
2877
2878         Fix windows build by moving template definition to JSDOMBinding.h
2879
2880         * bindings/js/JSDOMBinding.h:
2881         (WebCore):
2882         * bindings/scripts/CodeGeneratorJS.pm:
2883         (GenerateImplementation):
2884         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2885         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2886         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2887         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2888         * bindings/scripts/test/JS/JSTestException.cpp:
2889         * bindings/scripts/test/JS/JSTestInterface.cpp:
2890         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2891         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2892         * bindings/scripts/test/JS/JSTestObj.cpp:
2893         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2894         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2895         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2896
2897 2013-04-18  Eric Carlson  <eric.carlson@apple.com>
2898
2899         Forced subtitles never rendered
2900         https://bugs.webkit.org/show_bug.cgi?id=114818
2901
2902         Reviewed by Jer Noble.
2903
2904         No new tests, media/track/track-forced-subtitles-in-band.html was updated to test this change.
2905
2906         * html/track/TextTrack.cpp:
2907         (WebCore::TextTrack::isRendered): "forced" tracks are rendered.
2908
2909 2013-04-17  Anders Carlsson  <andersca@apple.com>
2910
2911         Change storage factory functions to take a PageGroup and Page respectively
2912         https://bugs.webkit.org/show_bug.cgi?id=114776
2913
2914         Reviewed by Beth Dakin.
2915
2916         Change StorageNamespace::localStorageNamespace to take a PageGroup since WebKit2 needs
2917         to know which local storage namespace belongs to which page group. Also remove the quota parameter from
2918         the sessionStorageNamespace function since that's trivial to get from the Page.
2919
2920         * WebCore.exp.in:
2921         * page/Page.cpp:
2922         (WebCore::Page::sessionStorage):
2923         * page/PageGroup.cpp:
2924         (WebCore::PageGroup::localStorage):
2925         * storage/StorageNamespace.cpp:
2926         (WebCore::StorageNamespace::localStorageNamespace):
2927         (WebCore::StorageNamespace::sessionStorageNamespace):
2928         * storage/StorageNamespace.h:
2929         * storage/StorageNamespaceImpl.cpp:
2930         (WebCore::StorageNamespaceImpl::localStorageNamespace):
2931         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
2932         * storage/StorageNamespaceImpl.h:
2933         * storage/StorageStrategy.cpp:
2934         (WebCore::StorageStrategy::localStorageNamespace):
2935         (WebCore::StorageStrategy::sessionStorageNamespace):
2936         * storage/StorageStrategy.h:
2937
2938 2013-04-18  Martin Robinson  <mrobinson@igalia.com>
2939
2940         [GTK] fast/canvas/DrawImageSinglePixelStretch.html fails
2941         https://bugs.webkit.org/show_bug.cgi?id=58309
2942
2943         Reviewed by Alejandro G. Castro.
2944
2945         No new tests. This patch unskips a test.
2946
2947         Prevent sampling outside source boundaries, by creating subsurfaces from source surfaces.
2948         This also requires careful handling of negative and floating source rectangles.
2949
2950         * platform/graphics/cairo/PlatformContextCairo.cpp:
2951         (WebCore::PlatformContextCairo::drawSurfaceToContext): Use a subsurface to prevent sampling
2952         outside rectangle boundaries.
2953
2954 2013-04-18  Jonathan Feldstein  <jfeldstein@blackberry.com>
2955
2956         [BlackBerry] Improper initialization of ANGLEResources (resubmission)
2957         https://bugs.webkit.org/show_bug.cgi?id=114814
2958
2959         Reviewed by Yong Li, Rob Buis
2960         Internally reviewed by Maxim Mogilnitsky
2961
2962         MaxDrawBuffers, OES_standard_derivatives, OES_EGL_image_external and ARB_texture_rectangle
2963         are initialized through the ShBuiltInResources function so these fields do not need to be
2964         set again in GraphicsContext3DBlackBerry.cpp. In addition, the extension flags should not
2965         be set to true without getExtension being called (Khronos WebGL specs, section 5.14.14.).
2966         In fact, as a direct result of these extensions being enabled prior to calling
2967         getExtension, a WebGL conformance suite test for GL_OES_standard_derivatives was failing.
2968
2969         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2970         (WebCore::GraphicsContext3D::GraphicsContext3D):
2971
2972 2013-04-18  Xuefei Ren  <xren@blackberry.com>
2973
2974         remove build warning(unused parameter)
2975         https://bugs.webkit.org/show_bug.cgi?id=114670
2976
2977         Reviewed by Rob Buis.
2978
2979         remove warning(unused parameter) in
2980         Source/WebCore/html/shadow/MediaControlsBlackBerry.cpp
2981         Source/WebCore/loader/blackberry/CookieJarBlackBerry.cpp
2982         Source/WebCore/platform/blackberry/AuthenticationChallengeManager.cpp
2983         Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp
2984         Source/WebCore/platform/network/blackberry/ResourceResponseBlackBerry.cpp
2985         Source/WebCore/platform/network/blackberry/SocketStreamHandleBlackBerry.cpp
2986         Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp
2987
2988
2989         * html/shadow/MediaControlsBlackBerry.cpp:
2990         (WebCore::MediaControlFullscreenFullscreenButtonElement::setIsFullscreen):
2991         * loader/blackberry/CookieJarBlackBerry.cpp:
2992         (WebCore::getRawCookies):
2993         (WebCore::deleteCookie):
2994         * platform/blackberry/AuthenticationChallengeManager.cpp:
2995         (WebCore::AuthenticationChallengeManager::notifyChallengeResult):
2996         * platform/blackberry/RenderThemeBlackBerry.cpp:
2997         (WebCore::RenderTheme::themeForPage):
2998         * platform/network/blackberry/ResourceResponseBlackBerry.cpp:
2999         (WebCore::ResourceResponse::doPlatformAdopt):
3000         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
3001         (WebCore::SocketStreamHandle::notifyStatusReceived):
3002         * plugins/blackberry/PluginViewBlackBerry.cpp:
3003         (WebCore::PluginView::invalidateRegion):
3004
3005 2013-04-18  Xuefei Ren  <xren@blackberry.com>
3006
3007
3008         remove build warning(unused parameter)
3009         https://bugs.webkit.org/show_bug.cgi?id=114670
3010
3011         Reviewed by Rob Buis.
3012
3013         remove builde warning (unused parameter) in
3014         Source/WebCore/platform/blackberry/CursorBlackBerry.cpp
3015
3016         * platform/blackberry/CursorBlackBerry.cpp:
3017         (WebCore::Cursor::Cursor):
3018
3019 2013-04-18  Andreas Kling  <akling@apple.com>
3020
3021         EditingStyle: Avoid some unnecessary CSSStyleDeclaration wrappers.
3022         <http://webkit.org/b/114763>
3023
3024         Reviewed by Antti Koivisto.
3025
3026         removeEquivalentProperties(CSSStyleDeclaration) and removeEquivalentProperties(StylePropertySet)
3027         only have different behavior if the CSSStyleDeclaration is computed style (they differ in handling
3028         of the 'font-size' property.)
3029
3030         Avoid creating a CSSStyleDeclaration for StylePropertySets where we can just pass them in directly.
3031
3032         * editing/EditingStyle.cpp:
3033         (WebCore::EditingStyle::removeStyleAddedByNode):
3034         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
3035
3036 2013-04-18  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3037
3038         Unset :hover in inner documents
3039         https://bugs.webkit.org/show_bug.cgi?id=114446
3040
3041         Reviewed by Antonio Gomes.
3042
3043         Fixes a regression from r145126 where hover nodes in inner documents was sometimes
3044         not unset. Additionally it uses the new api from r145126 to avoid an unnecessary
3045         hit test in touch-event handling.
3046
3047         Test: fast/events/touch/frame-hover-update.html
3048
3049         * dom/Document.cpp:
3050         (WebCore::Document::updateHoverActiveState):
3051         * page/EventHandler.cpp:
3052         (WebCore::shouldGesturesTriggerActive):
3053         (WebCore::EventHandler::handleTouchEvent):
3054
3055 2013-04-18  Seokju Kwon  <seokju.kwon@gmail.com>
3056
3057         Web Inspector: Toolbar icons are displayed incorrectly
3058         https://bugs.webkit.org/show_bug.cgi?id=114792
3059
3060         Reviewed by Timothy Hatcher.
3061
3062         Inspector uses small toolbar icons when docking the inspector.
3063         So icons should have different x position.
3064
3065         No tests because no behavior change is expected.
3066
3067         * inspector/front-end/inspector.css: Add missing 'background-position-x' values.
3068         (body.dock-to-bottom .toolbar-item.profiles .toolbar-icon):
3069         (body.dock-to-bottom .toolbar-item.cpu-profiler .toolbar-icon):
3070         (body.dock-to-bottom .toolbar-item.css-profiler .toolbar-icon):
3071         (body.dock-to-bottom .toolbar-item.heap-profiler .toolbar-icon):
3072         (body.dock-to-bottom .toolbar-item.canvas-profiler .toolbar-icon):
3073         (body.dock-to-bottom .toolbar-item.memory-chart-profiler .toolbar-icon):
3074         (body.dock-to-bottom .toolbar-item.memory-snapshot-profiler .toolbar-icon):
3075
3076 2013-04-17  Jaehun Lim  <ljaehun.lim@samsung.com>
3077
3078         [css3-text] Rendering -webkit-hanging value for text-indent from css3-text
3079         https://bugs.webkit.org/show_bug.cgi?id=114663
3080
3081         Reviewed by Beth Dakin.
3082
3083         This patch is the rendering part to support hanging value for text-indent.
3084         "hanging" means "Inverts which lines are affected."
3085         It's prefixed and guarded by CSS3_TEXT flag.
3086
3087         Spec: http://dev.w3.org/csswg/css-text/#text-indent
3088
3089         Test: fast/css3-text/css3-text-indent/text-indent-each-line-hanging.html
3090
3091         * rendering/RenderBlockLineLayout.cpp:
3092         (WebCore::requiresIndent): Inverted the return value when "-webkit-hanging" is applied.
3093
3094 2013-04-17  James Craig  <james@cookiecrook.com>
3095
3096         AX: aria-level does not override implicit level on h1, h2, etc
3097         https://bugs.webkit.org/show_bug.cgi?id=114692
3098
3099         Reviewed by Chris Fleizach.
3100
3101         aria-level now works on headings without an explicit role="heading" defined. Updated existing test coverage.
3102
3103         * accessibility/AccessibilityNodeObject.cpp:
3104         (WebCore::AccessibilityNodeObject::headingLevel):
3105
3106 2013-04-17  Chris Fleizach  <cfleizach@apple.com>
3107
3108         AX: VoiceOver says everything that isn't a link is a "clickable" in Safari reader?
3109         https://bugs.webkit.org/show_bug.cgi?id=114687
3110
3111         Reviewed by Tim Horton.
3112
3113         VoiceOver is saying all text is clickable, because AXPress is exposed as an action on static text.
3114         That is happening, because there's a click handler on the body element in this case.
3115
3116         I think the best plan to keep existing functionality, but fix this case is not to expose
3117         the press action for static text when the handler is on the body element.
3118
3119         Test: platform/mac/accessibility/press-action-not-exposed-when-body-is-click-handler.html
3120
3121         * accessibility/AccessibilityNodeObject.cpp:
3122         (WebCore::AccessibilityNodeObject::mouseButtonListener):
3123            Change from checking getAttributeEventListener to hasEventListeners. The former only
3124            checks if "onclick" is installed on the element and does not work with addEventListener!
3125
3126         * accessibility/AccessibilityObject.cpp:
3127         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
3128         * accessibility/AccessibilityObject.h:
3129         (WebCore::AccessibilityObject::isStaticText):
3130
3131 2013-04-17  Simon Fraser  <simon.fraser@apple.com>
3132
3133         Fix GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush() to do predictive visible rect expansion
3134         https://bugs.webkit.org/show_bug.cgi?id=114775
3135
3136         Reviewed by Tim Horton.
3137
3138         GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush() is intended to answer the question
3139         "if your visible rect is changed to X, would any tiles be created or destroyed?".
3140         
3141         However, for compositing layer tiled layers, we do some predictive visible rect expansion based on how
3142         the visible rect is changing when we actually commit visible rect changes. recursiveVisibleRectChangeRequiresFlush()
3143         was not doing that, causing it to give confusing answers, so fix it to do so.
3144         
3145         Both now call adjustTiledLayerVisibleRect(), and it's cleaner to make this a static function.
3146         
3147         A somewhat unrelated change is to take the layer bounds origin into account
3148         in GraphicsLayerCA::computeVisibleRect(). Desktop WebKit never sets this, but it's used
3149         on other platforms for composited scrolling, so needs to be taken into account
3150         when computing visible rects.
3151
3152         * platform/graphics/ca/GraphicsLayerCA.cpp:
3153         (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
3154         (WebCore::GraphicsLayerCA::computeVisibleRect):
3155         (WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect):
3156         (WebCore::GraphicsLayerCA::updateVisibleRect):
3157         * platform/graphics/ca/GraphicsLayerCA.h:
3158         (GraphicsLayerCA):
3159
3160 2013-04-17  Oliver Hunt  <oliver@apple.com>
3161
3162         Automate generation of toJS function for classes that need to report extra memory usage
3163         https://bugs.webkit.org/show_bug.cgi?id=114768
3164
3165         Reviewed by Geoff Garen.
3166
3167         Only really used by AudioBuffer for now.  The other classes that need it can be
3168         trivially refactored at a later date.
3169
3170         * Modules/webaudio/AudioBuffer.idl:
3171         * bindings/js/JSAudioBufferCustom.cpp:
3172         * bindings/js/JSDOMBinding.h:
3173         (WebCore):
3174         (HasMemoryCost):
3175         (NoType):
3176         (BaseMixin):
3177         * bindings/scripts/CodeGeneratorJS.pm:
3178         (GenerateImplementation):
3179
3180 2013-04-17  Dirk Schulze  <krit@webkit.org>
3181
3182         BasicShapeFunctions should use RenderStyle instead of StyleResolver
3183         https://bugs.webkit.org/show_bug.cgi?id=114743
3184
3185         Reviewed by Antti Koivisto.
3186
3187         BasicShapeFunctions does include RenderStyle instead of StyleResolver now.
3188         This is a simple refactoring patch, no new tests.
3189
3190         * css/BasicShapeFunctions.cpp:
3191         (WebCore::convertToLength): Use style and rootElementStyle directly.
3192         (WebCore::basicShapeForValue): Ditto.
3193         * css/BasicShapeFunctions.h:
3194         (WebCore):
3195         * css/DeprecatedStyleBuilder.cpp:
3196         (WebCore::ApplyPropertyClipPath::applyValue):
3197         (WebCore::ApplyPropertyExclusionShape::applyValue):
3198
3199 2013-04-17  Beth Dakin  <bdakin@apple.com>
3200
3201         Content inside frames and scrollbars in overflow areas hit-tests incorrectly when 
3202         the WKView has a header
3203         https://bugs.webkit.org/show_bug.cgi?id=114769
3204
3205         Reviewed by Simon Fraser.
3206
3207         convertToRenderer() and convertFromRenderer() need to factor in the headerHeight, 
3208         much like all of the conversion functions on ScrollView. 
3209         * page/FrameView.cpp:
3210         (WebCore::FrameView::convertFromRenderer):
3211         (WebCore::FrameView::convertToRenderer):
3212
3213         The scrollPosition equivalent of the existing scrollOffsetRelativeToDocument() 
3214         function. 
3215         * platform/ScrollView.cpp:
3216         (WebCore::ScrollView::scrollPositionRelativeToDocument):
3217         * platform/ScrollView.h:
3218         (ScrollView):
3219
3220 2013-04-17  Andreas Kling  <akling@apple.com>
3221
3222         Remove FragmentScriptingPermission.h include from Element.h.
3223         <http://webkit.org/b/114757>
3224
3225         Rubber-stamped by Anders Carlsson.
3226
3227         * dom/Element.h:
3228
3229 2013-04-17  Mark Lam  <mark.lam@apple.com>
3230
3231         Add LLINT and baseline JIT support for timing out scripts.
3232         https://bugs.webkit.org/show_bug.cgi?id=114577.
3233
3234         Reviewed by Geoffrey Garen.
3235
3236         Replaced use of the obsolete JSGlobalData.terminator methods with the
3237         JSGlobalData.watchdog equivalents.
3238
3239         * bindings/js/JSEventListener.cpp:
3240         (WebCore::JSEventListener::handleEvent):
3241         * bindings/js/SerializedScriptValue.cpp:
3242         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
3243         * bindings/js/WorkerScriptController.cpp:
3244         (WebCore::WorkerScriptController::evaluate):
3245         (WebCore::WorkerScriptController::scheduleExecutionTermination):
3246         (WebCore::WorkerScriptController::isExecutionTerminating):
3247
3248 2013-04-16  Jer Noble <jer.noble@apple.com>
3249
3250         Crash in WebCore::HTMLMediaElement::~HTMLMediaElement.
3251         https://bugs.webkit.org/show_bug.cgi?id=113531
3252
3253         Reviewed by Eric Carlson.
3254
3255         No new tests, though this is intermittently reproducible with
3256         http/tests/misc/delete-frame-during-readystatechange.html under ASAN.
3257
3258         * html/HTMLMediaElement.cpp:
3259         (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear the media player manually
3260             before the destructor exits. Clearing the media player may cancel a resource load,
3261             which can trigger a readystatechange event. It's possible for the HTMLMediaElement
3262             to attempt to fire an abort event within the readystatechange event, even though it is
3263             now in an inconsistent state. Clearling the media player before finishing the destructor
3264             ensures that the HTMLMediaElement will at least still be alive if this case is triggered.
3265             Set m_completelyLoaded to true to ensure that if userCancelledLoad() is called, it doesn't
3266             attempt to fire events while destructing.
3267
3268 2013-04-17  Sergio Correia  <sergio.correia@openbossa.org>
3269
3270         Web Inspector: make generate-inspector-protocol-version work with python3 
3271         https://bugs.webkit.org/show_bug.cgi?id=114717
3272
3273         Revision r146765 added print() calls that made the script complain about 
3274         invalid syntax when using python3.
3275
3276         This commit replaces such calls with calls to sys.stdout.write(), analogous
3277         to the sys.stderr.write() ones already used throughout the file.
3278
3279         Reviewed by Timothy Hatcher.
3280
3281         No new tests. No user visible behavior changed.
3282
3283         * inspector/generate-inspector-protocol-version:
3284         (main):
3285
3286 2013-04-17  Seokju Kwon  <seokju.kwon@gmail.com>
3287
3288         Web Inspector: Fix Localized string warngs
3289         https://bugs.webkit.org/show_bug.cgi?id=114718
3290
3291         Reviewed by Timothy Hatcher.
3292
3293         No tests because no behavior change is expected.
3294
3295         * English.lproj/localizedStrings.js:
3296
3297 2013-04-17  Csaba Osztrogon√°c  <ossy@webkit.org>
3298
3299         [Qt] Unreviewed Windows buildfix.
3300
3301         * platform/qt/DragDataQt.cpp: Add a missing include.
3302
3303 2013-04-17  ChangSeok Oh  <shivamidow@gmail.com>
3304
3305         Breaking Float: floated block level element following inline element in floated container breaks to next line
3306         https://bugs.webkit.org/show_bug.cgi?id=45274
3307
3308         Reviewed by David Hyatt.
3309
3310         Fix position issue of floating element in floating element.
3311         Inner floating element has placed at next line when outer floating element has text,
3312         even though previous line has spaces enough to fit it.
3313         To solve this, the width of a space added temporarily for prohibiting duplication more than 2 empty spaces
3314         is subtracted when floating element is checked whether it fits on a line.
3315
3316         Tests: css2.1/20110323/floats-001.html
3317                css2.1/20110323/floats-102.html
3318                fast/inline-block/float-both-whitespace.html
3319                fast/inline-block/float-leading-whitespace.html
3320                fast/inline-block/float-no-whitespace.html
3321                fast/inline-block/float-trailing-whitespace.html
3322                fast/inline-block/multiple-floats-with-whitespace.html
3323
3324         * rendering/RenderBlockLineLayout.cpp:
3325         (WebCore::LineWidth::LineWidth):
3326         (WebCore::LineWidth::fitsOnLine):
3327         (WebCore::LineWidth::trailingWhitespaceWidth):
3328         (WebCore::LineWidth::setTrailingWhitespaceWidth):
3329         (LineWidth):
3330         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
3331
3332 2013-04-17  Leo Yang  <leoyang@rim.com>
3333
3334         Lots of unused parameter warnings in filesystem code
3335         https://bugs.webkit.org/show_bug.cgi?id=114747
3336
3337         Reviewed by Carlos Garcia Campos.
3338
3339         Comment out or remove unused parameter identifiers.
3340
3341         No functionalities changed, no new tests.
3342
3343         * Modules/filesystem/DOMFileSystem.cpp: Comment out |snapshot| because
3344         it is referred in the comments inside the function.
3345         (WebCore):
3346         * Modules/filesystem/DOMFileSystemSync.cpp: Ditto.
3347         (WebCore):
3348         * Modules/filesystem/FileWriter.cpp: Remove unused |ec|.
3349         (WebCore::FileWriter::abort):
3350         * Modules/filesystem/FileWriterSync.cpp:
3351         (WebCore::FileWriterSync::didWrite): Remove unused |bytes|.
3352         * platform/AsyncFileSystemCallbacks.h:
3353         (WebCore::AsyncFileSystemCallbacks::didOpenFileSystem): Comment out unused parameters
3354         because the function is inlined.
3355         (WebCore::AsyncFileSystemCallbacks::didCreateSnapshotFile): Ditto.
3356         (WebCore::AsyncFileSystemCallbacks::didReadDirectoryEntry): Ditto.
3357         (WebCore::AsyncFileSystemCallbacks::didReadDirectoryEntries): Ditto.
3358         (WebCore::AsyncFileSystemCallbacks::didCreateFileWriter): Ditto.
3359         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp:
3360         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread): Remove unused |client|.
3361
3362 2013-04-17  Brent Fulgham  <bfulgham@webkit.org>
3363
3364         [Windows, WinCairo] Stop individually building WTF files in WebCore
3365         https://bugs.webkit.org/show_bug.cgi?id=114705
3366
3367         Reviewed by Anders Carlsson.
3368
3369         * WebCore.vcproj/WebCore.vcproj: Remove references to WTF objects.
3370         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
3371         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
3372
3373 2013-04-17  Dirk Schulze  <krit@webkit.org>
3374
3375         Make lengthConversion methods and arguments const
3376         https://bugs.webkit.org/show_bug.cgi?id=114749
3377
3378         Reviewed by Andreas Kling.
3379
3380         Refactoring, no new tests.
3381
3382         * css/CSSCalculationValue.cpp:
3383         (WebCore::CSSCalcValue::computeLengthPx):
3384         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
3385         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
3386         (WebCore::CSSCalcBinaryOperation::toCalcValue):
3387         (WebCore::CSSCalcBinaryOperation::computeLengthPx):
3388         * css/CSSCalculationValue.h:
3389         (WebCore::CSSCalcValue::toCalcValue):
3390         (CSSCalcValue):
3391         * css/CSSPrimitiveValue.cpp:
3392         (WebCore::CSSPrimitiveValue::computeLength):
3393         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3394         (WebCore::CSSPrimitiveValue::viewportPercentageLength):
3395         * css/CSSPrimitiveValue.h:
3396         (CSSPrimitiveValue):
3397         * css/CSSPrimitiveValueMappings.h:
3398         (WebCore::CSSPrimitiveValue::convertToLength):
3399         * css/StyleResolver.cpp:
3400         (WebCore::StyleResolver::convertToIntLength):
3401         (WebCore::StyleResolver::convertToFloatLength):
3402         * css/StyleResolver.h:
3403         (StyleResolver):
3404
3405 2013-04-17  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
3406
3407         [refactor] Moved ScriptedAnimationController common code to inline function
3408         https://bugs.webkit.org/show_bug.cgi?id=114681
3409
3410         Reviewed by Daniel Bates.
3411
3412         Avoided duplicated code by moving ScriptedAnimationController clearance
3413         code to a common function used by both Document::dispose() and
3414         Document::detach().
3415
3416         No new tests, no behavior changes.
3417
3418         * dom/Document.cpp:
3419         (WebCore::Document::dispose):
3420         (WebCore::Document::detach):
3421         (WebCore::Document::clearScriptedAnimationController): Added.
3422         * dom/Document.h:
3423         (Document):
3424
3425 2013-04-17  Chris Fleizach  <cfleizach@apple.com>
3426
3427         AX: When img@alt is undefined, WebKit should use @title as accessibility label if available
3428         https://bugs.webkit.org/show_bug.cgi?id=114535
3429
3430         Reviewed by Tim Horton.
3431
3432         Don't hide images from Accessibility that have the title attribute on them.
3433
3434         Test: accessibility/empty-image-with-title.html
3435
3436         * accessibility/AccessibilityRenderObject.cpp: