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