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