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