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