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