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