1448f386b2916d3af02a61199f17c4da5a724ea2
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-15  Chris Fleizach  <cfleizach@apple.com>
2
3         activating a focused link to an in-page fragment ID should transfer focus to the target of the link when possible
4         https://bugs.webkit.org/show_bug.cgi?id=17450
5
6         Reviewed by Maciej Stachowiak.
7
8         When a fragment is scrolled to due to an activation event or on load, focus should attempt to 
9         move to the fragment if possible.
10
11         Test: fast/dom/fragment-activation-focuses-target.html
12
13         * page/FrameView.cpp:
14         (WebCore::FrameView::scrollToAnchor):
15
16 2013-04-12  Maciej Stachowiak  <mjs@apple.com>
17
18         Remove V8-specific extended attributes from IDL files
19         https://bugs.webkit.org/show_bug.cgi?id=114523
20
21         Reviewed by Geoffrey Garen.
22
23         No tests because no behavior change is expected.
24
25         * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
26         * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
27         * Modules/encryptedmedia/MediaKeySession.idl:
28         * Modules/encryptedmedia/MediaKeys.idl:
29         * Modules/filesystem/HTMLInputElementFileSystem.idl:
30         * Modules/indexeddb/IDBAny.idl:
31         * Modules/mediasource/MediaSource.idl:
32         * Modules/mediasource/SourceBuffer.idl:
33         * Modules/mediasource/SourceBufferList.idl:
34         * Modules/mediastream/MediaStream.idl:
35         * Modules/webaudio/AudioDestinationNode.idl:
36         * html/track/TextTrackCue.idl:
37         * html/track/TextTrackCueList.idl:
38         * html/track/TextTrackList.idl:
39         * html/track/TextTrackRegion.idl:
40         * html/track/TextTrackRegionList.idl:
41         * html/track/TrackEvent.idl:
42         * storage/Storage.idl:
43         * svg/SVGDocument.idl:
44         * svg/SVGElement.idl:
45         * workers/WorkerContext.idl:
46         * xml/XMLHttpRequest.idl:
47         * xml/XPathNSResolver.idl:
48
49 2013-04-15  Anders Carlsson  <andersca@apple.com>
50
51         ScriptWrappable subclasses shouldn't have to include WeakInlines.h
52         https://bugs.webkit.org/show_bug.cgi?id=114641
53
54         Reviewed by Alexey Proskuryakov.
55
56         Remove ScriptWrappableInlines.h includes, they're not needed anymore.
57
58         * css/WebKitCSSMatrix.cpp:
59         * dom/ClientRect.cpp:
60         * dom/ClientRectList.cpp:
61         * dom/Clipboard.cpp:
62         * dom/DOMStringMap.cpp:
63         * dom/Event.cpp:
64         * dom/MutationRecord.cpp:
65         * fileapi/FileList.cpp:
66         * page/BarInfo.cpp:
67         * plugins/DOMMimeTypeArray.cpp:
68         * plugins/DOMPlugin.cpp:
69         * plugins/DOMPluginArray.cpp:
70         * storage/Storage.cpp:
71
72 2013-04-15  Igor Oliveira  <igor.o@sisa.samsung.com>
73
74         Call directly RenderBlock::deleteLineBoxTree
75         https://bugs.webkit.org/show_bug.cgi?id=102761
76
77         Reviewed by Darin Adler.
78
79         Instead of implementing RenderLineBoxList::deleteLineBoxTree logic inside 
80         RenderBlock::determineStartPosition, we can reuse the code. The commentaries added
81         in the changeset #86628 are not valid anymore, nextRootBox is casting m_nextLineBox 
82         and nextLineBox is returning m_nextLineBox.
83
84         * rendering/RenderBlockLineLayout.cpp:
85         (WebCore::RenderBlock::determineStartPosition):
86
87 2013-04-15  Anders Carlsson  <andersca@apple.com>
88
89         Remove files related to quota and proximity events from the Xcode project
90         https://bugs.webkit.org/show_bug.cgi?id=114635
91
92         Reviewed by Benjamin Poulain.
93
94         * WebCore.xcodeproj/project.pbxproj:
95         * history/PageCache.cpp:
96         * page/DOMWindow.cpp:
97
98 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
99
100         [CMake] Add WTF_USE_*_UNICODE variables
101         https://bugs.webkit.org/show_bug.cgi?id=114556
102
103         Reviewed by Brent Fulgham.
104
105         WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
106         reduce duplication in the platform specific CMake files.
107
108         * CMakeLists.txt:
109         * PlatformBlackBerry.cmake:
110         * PlatformEfl.cmake:
111         * PlatformWinCE.cmake:
112
113 2013-04-15  Eric Carlson  <eric.carlson@apple.com>
114
115         HTMLMediaElement::removeTextTrack should clear track client
116         https://bugs.webkit.org/show_bug.cgi?id=114630
117
118         Reviewed by Jer Noble.
119
120         No new tests, this is clean-up that prevents a potential crash.
121
122         * html/HTMLMediaElement.cpp:
123         (WebCore::HTMLMediaElement::removeTextTrack): Clear the track client.
124
125 2013-04-15  Robert Hogan  <robert@webkit.org>
126
127         An inline element with an absolutely positioned child does not correctly calculate/render padding and margin
128         https://bugs.webkit.org/show_bug.cgi?id=47554
129
130         Reviewed by David Hyatt.
131
132         When looking for padding/margin to add from the start of a child's parent skip past any leading positioned siblings as 
133         we don't add the padding/margin of the common parent when skipping past them in |skipLeadingWhitespace|. We
134         don't need to worry about the case of trailing positioned objects as we will account for their parent's
135         border/margin/padding when we encounter them in |nextSegmentBreak|.
136
137         Test: fast/inline/padding-before-leading-positioned-element-contributes-width.html
138
139         * rendering/RenderBlockLineLayout.cpp:
140         (WebCore::previousInFlowSibling):
141         (WebCore):
142         (WebCore::inlineLogicalWidth):
143
144 2013-04-15  peavo@outlook.com  <peavo@outlook.com>
145
146         [WinCairo] Compile fix.
147         https://bugs.webkit.org/show_bug.cgi?id=114623
148
149         Reviewed by Brent Fulgham.
150
151         * platform/network/curl/CookieJarCurl.cpp: Added required header files.
152
153 2013-04-15  Rob Buis  <rbuis@rim.com>
154
155         Fix some compiler warnings (miscellaneous)
156         https://bugs.webkit.org/show_bug.cgi?id=80790
157
158         Reviewed by Darin Adler.
159
160         It does not seem needed to initialize jpeg_create_compress struct to zero,
161         all that is needed is set the err field. See for instance SkImageDecoder_libjpeg.cpp.
162
163         * platform/image-encoders/JPEGImageEncoder.cpp:
164         (WebCore::compressRGBABigEndianToJPEG):
165
166 2013-04-15  Patrick Gansterer  <paroga@webkit.org>
167
168         [GTK] Remove platform specific implementation of KURL::fileSystemPath()
169         https://bugs.webkit.org/show_bug.cgi?id=114133
170
171         Reviewed by Martin Robinson.
172
173         r147883 added a generic implementation of this function,
174         which can be used by all ports to share the code.
175
176         * GNUmakefile.list.am:
177         * platform/KURL.cpp:
178         (WebCore):
179         * platform/gtk/KURLGtk.cpp: Removed.
180
181 2013-04-15  Csaba Osztrogonác  <ossy@webkit.org>
182
183         Debug buildfix after r148433.
184         https://bugs.webkit.org/show_bug.cgi?id=108295
185
186         Reviewed by Allan Sandfeld Jensen.
187
188         * platform/graphics/texmap/TextureMapperLayer.h:
189         (WebCore::TextureMapperLayer::children): Added.
190
191 2013-04-15  Noam Rosenthal  <noam@webkit.org>
192
193         Coordinated Graphics: Remove GraphicsLayerTextureMapper dependency from CoordinatedGraphicsScene.
194         https://bugs.webkit.org/show_bug.cgi?id=108295
195
196         Since all the changes to the TextureMapperLayer tree now come in a single IPC message via
197         CoordinatedGraphicsState, we don't need the additional buffering done in GraphicsLayerTextureMapper.
198
199         This reduces unnecessary function calls, and also streamlines GraphicsLayerTextureMapper to be used
200         only in WebKit1 (without CoordinatedGraphics).
201
202         Reviewed by Allan Sandfeld Jensen.
203
204         No new tests, refactor only.
205
206         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
207         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
208         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
209         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
210         (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
211         (WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
212         (WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
213         (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
214         (WebCore):
215         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
216         (GraphicsLayerTextureMapper):
217             Removed references to m_hasOwnBackingStore, which was done to separate the CoordinatedGraphics
218             path from the WK1 path.
219
220         * platform/graphics/texmap/TextureMapperLayer.h:
221         (WebCore::TextureMapperLayer::drawsContent):
222         (WebCore::TextureMapperLayer::contentsAreVisible):
223         (WebCore::TextureMapperLayer::size):
224         (WebCore::TextureMapperLayer::opacity):
225         (WebCore::TextureMapperLayer::transform):
226         (WebCore::TextureMapperLayer::isShowingRepaintCounter):
227         (WebCore::TextureMapperLayer::fixedToViewport):
228         (TextureMapperLayer):
229             Added a few public functions needed by CoordinatedGraphicsScene.
230
231         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
232         (WebCore::layerShouldHaveBackingStore):
233         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
234         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
235         (WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
236         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
237         (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
238         (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
239         (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
240         (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
241         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
242         (WebCore::CoordinatedGraphicsScene::setLayerState):
243         (WebCore::CoordinatedGraphicsScene::getLayerByIDIfExists):
244         (WebCore::CoordinatedGraphicsScene::createLayer):
245         (WebCore::CoordinatedGraphicsScene::deleteLayer):
246         (WebCore::CoordinatedGraphicsScene::setRootLayerID):
247         (WebCore::CoordinatedGraphicsScene::prepareContentBackingStore):
248         (WebCore::CoordinatedGraphicsScene::createBackingStoreIfNeeded):
249         (WebCore::CoordinatedGraphicsScene::removeBackingStoreIfNeeded):
250         (WebCore::CoordinatedGraphicsScene::resetBackingStoreSizeToLayerSize):
251         (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
252         (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
253         (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
254         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
255         (WebCore::CoordinatedGraphicsScene::commitSceneState):
256         (WebCore::CoordinatedGraphicsScene::ensureRootLayer):
257         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
258         (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
259         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
260         (CoordinatedGraphicsScene):
261         (WebCore::CoordinatedGraphicsScene::layerByID):
262         (WebCore::CoordinatedGraphicsScene::rootLayer):
263             Use TextureMapperLayer instead of GraphicsLayer and GraphicsLayerTextureMapper.
264
265 2013-04-15  Antti Koivisto  <antti@apple.com>
266
267         Dynamically triggered subframe loads are causing tile churn
268         https://bugs.webkit.org/show_bug.cgi?id=114440
269         
270         Reviewed by Andreas Kling.
271         
272         In some cases we switch in and out of minimal tiles multiple times during page loading. This
273         creates tile churn where we create speculative tiles and then throw them out. This can be
274         caused by various reasons including dynamically created subframes.
275
276         * page/FrameView.cpp:
277         (WebCore::FrameView::setIsVisuallyNonEmpty):
278         
279             Stay in minimal tiles modes until there is some visual contents. This avoids switching out from minimal
280             tiles while awaiting response for the initial requests.
281
282         * page/FrameView.h:
283         * rendering/RenderLayerBacking.cpp:
284         (WebCore::RenderLayerBacking::RenderLayerBacking):
285         (WebCore::computeTileCoverage):
286         * rendering/RenderLayerBacking.h:
287         (WebCore::RenderLayerBacking::didSwitchToFullTileCoverageDuringLoading):
288         (WebCore::RenderLayerBacking::setDidSwitchToFullTileCoverageDuringLoading):
289         
290             Only switch into minimal coverage mode once per page load.
291
292         (RenderLayerBacking):
293
294 2013-04-15  Rune Lillesveen  <rune@opera.com>
295
296         color-index media feature not supported
297         https://bugs.webkit.org/show_bug.cgi?id=114468
298
299         Reviewed by Kenneth Rohde Christiansen.
300
301         Support the color-index media feature. Currently assumes that no WebKit
302         browser will have an output device that uses a color lookup table.
303
304         Tests: fast/media/mq-color-index-01.html
305                fast/media/mq-color-index-02.html
306
307         * css/MediaFeatureNames.h:
308         (MediaFeatureNames):
309         * css/MediaQueryEvaluator.cpp:
310         (WebCore::color_indexMediaFeatureEval):
311         (WebCore):
312         (WebCore::min_color_indexMediaFeatureEval):
313         (WebCore::max_color_indexMediaFeatureEval):
314         * css/MediaQueryExp.cpp:
315         (WebCore::featureWithPositiveInteger):
316         (WebCore::featureWithoutValue):
317
318 2013-04-15  Balazs Kelemen  <kbalazs@webkit.org>
319
320         [CoordGfx] Background color should not be part of GraphicsLayerState
321         https://bugs.webkit.org/show_bug.cgi?id=113785
322
323         Page background is independent from layer state, send it to the UI
324         as soon as possible.
325
326         Should not cause observable change in behavior so no new tests.
327
328         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
329         (WebCore::CoordinatedGraphicsScene::commitSceneState):
330         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
331
332 2013-04-15  Carlos Garcia Campos  <cgarcia@igalia.com>
333
334         [BlackBerry] Filesystem callback notifyCreateSnapshotFileAndReadMetadata can be called on the wring thread
335         https://bugs.webkit.org/show_bug.cgi?id=114610
336
337         Reviewed by Xan Lopez.
338
339         Override notifyCreateSnapshotFileAndReadMetadata to make sure the
340         callback is called on the right thread.
341
342         Fixes a crash in several fast/filesystem test in debug builds.
343
344         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp:
345         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
346         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadataOnWorkerThread):
347         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h:
348
349 2013-04-15  Arvid Nilsson  <anilsson@rim.com>
350
351         [BlackBerry][CSS Filters] Non-image content disappears when filter applied
352         https://bugs.webkit.org/show_bug.cgi?id=114498
353
354         Reviewed by Carlos Garcia Campos.
355
356         Applying a filter to a div with simple text content caused the div to
357         disappear.
358
359         In https://bugs.webkit.org/show_bug.cgi?id=114276, we added some GL
360         state save/restore code for vertex attributes to make sure the state
361         changes done by BlackBerry::Platform::Graphics don't interfere with
362         GL code executing in WebKit. However, saving and restoring vertex
363         attribute state won't do much good if those attributes were never
364         enabled to begin with. Fixed by enabling vertex attributes
365         appropriately when setting them, so that state can be saved and
366         restored.
367
368         All the CSS Filters layout tests apply the filters to simple rectangles
369         or images, there's nothing sufficiently complex that we manage to
370         trigger this GL state conflict in the BlackBerry port. This suggests
371         adding a new platform-specific layout test would be appropriate, but
372         since we don't use pixel tests yet, such a test would not help detect
373         regressions. Ultimately we decided against adding a layout test for
374         this bug at this time.
375
376         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
377         (WebCore::LayerFilterRenderer::applyActions):
378
379 2013-04-14  Jaehun Lim  <ljaehun.lim@samsung.com>
380
381         [css3-text] Parsing -webkit-hanging value for text-indent from css3-text
382         https://bugs.webkit.org/show_bug.cgi?id=113680
383
384         Reviewed by Andreas Kling.
385
386         This patch is the parsing part to support hanging value for text-indent.
387         "hanging" means "Inverts which lines are affected."
388         It's prefixed and guarded by CSS3_TEXT flag.
389
390         No new tests, this patch updates existing tests.
391
392         * css/CSSComputedStyleDeclaration.cpp:
393         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
394         * css/CSSParser.cpp:
395         (WebCore::CSSParser::parseTextIndent): Parsed "-webkit-hanging" with "-webkit-each-line".
396         * css/CSSValueKeywords.in: Added "-webkit-hanging" keyword.
397         * css/DeprecatedStyleBuilder.cpp:
398         (WebCore::ApplyPropertyTextIndent::applyInheritValue):
399         (WebCore::ApplyPropertyTextIndent::applyInitialValue):
400         (WebCore::ApplyPropertyTextIndent::applyValue):
401         * rendering/style/RenderStyle.h:
402         * rendering/style/RenderStyleConstants.h: Added enum TextIndentType.
403         * rendering/style/StyleRareInheritedData.cpp:
404         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
405         (WebCore::StyleRareInheritedData::operator==):
406         * rendering/style/StyleRareInheritedData.h: Added m_textIndentType.
407         (StyleRareInheritedData):
408             Added the usual getter / setter / initial methods for m_textIndentType.
409
410 2013-04-14  Sam Weinig  <sam@webkit.org>
411
412         Move Mac specific snapshotting code into its own file
413         https://bugs.webkit.org/show_bug.cgi?id=114597
414
415         Reviewed by Andreas Kling.
416
417         * WebCore.exp.in:
418         * WebCore.xcodeproj/project.pbxproj:
419         * bindings/objc/DOM.mm:
420         (-[DOMRange renderedImageForcingBlackText:]):
421         * page/Frame.h:
422         * page/mac/FrameMac.mm:
423         (WebCore::Frame::nodeImage):
424         (WebCore::Frame::dragImageForSelection):
425         * page/mac/FrameSnapshottingMac.h: Added.
426         * page/mac/FrameSnapshottingMac.mm: Added.
427         (WebCore::imageFromRect):
428         (WebCore::selectionImage):
429         (WebCore::rangeImage):
430         (WebCore::snapshotDragImage):
431         * platform/mac/ClipboardMac.mm:
432         (WebCore::ClipboardMac::dragNSImage):
433         Move the four Mac specific snapshotting functions in Frame.h into FrameSnapshottingMac.h/mm and turn
434         them into free standing functions.
435
436 2013-04-14  Andreas Kling  <akling@apple.com>
437
438         Hawtfix Mac build.
439
440         * WebCore.exp.in:
441
442 2013-04-14  Andreas Kling  <akling@apple.com>
443
444         Only MutableStylePropertySets should be able to have CSSOM wrappers.
445         <http://webkit.org/b/114595>
446
447         Reviewed by Antti Koivisto.
448
449         Tighten typing so that only MutableStylePropertySets can have CSSOM wrappers associated.
450         This allows us to get rid of the out-of-line base class destructor.
451
452         * WebCore.exp.in:
453         * css/StylePropertySet.cpp:
454         (WebCore::MutableStylePropertySet::~MutableStylePropertySet):
455         (WebCore::MutableStylePropertySet::cssStyleDeclaration):
456         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
457         * css/StylePropertySet.h:
458         (StylePropertySet):
459         (MutableStylePropertySet):
460         * dom/StyledElement.cpp:
461         (WebCore::StyledElement::inlineStyleCSSOMWrapper):
462
463 2013-04-14  Andreas Kling  <akling@apple.com>
464
465         Remove unused function declaration StylePropertySet::setNeedsStyleRecalc().
466
467         Rubber-stamped by Antti Koivisto.
468
469         * css/StylePropertySet.h:
470         (StylePropertySet):
471
472 2013-04-14  Andreas Kling  <akling@apple.com>
473
474         Move StylePropertySet internal storage access helpers to subclass.
475         <http://webkit.org/b/114592>
476
477         Reviewed by Antti Koivisto.
478
479         Removed mutablePropertyVector() since most call sites are inside MutableStylePropertySet
480         and can access m_propertyVector directly. The few ones that aren't can just cast.
481
482         For ImmutableStylePropertySet, moved value/metadata array accessors to the subclass
483         and remove "immutable" from their names.
484
485         * css/StylePropertySet.cpp:
486         (WebCore::StylePropertySet::immutableCopyIfNeeded):
487         (WebCore::ImmutableStylePropertySet::ImmutableStylePropertySet):
488         (WebCore::ImmutableStylePropertySet::~ImmutableStylePropertySet):
489         (WebCore::MutableStylePropertySet::MutableStylePropertySet):
490         (WebCore::MutableStylePropertySet::removeProperty):
491         (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
492         (WebCore::MutableStylePropertySet::setProperty):
493         (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
494         (WebCore::MutableStylePropertySet::parseDeclaration):
495         (WebCore::MutableStylePropertySet::addParsedProperties):
496         (WebCore::MutableStylePropertySet::clear):
497         (WebCore::MutableStylePropertySet::removePropertiesInSet):
498         (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
499         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
500         (WebCore::StylePropertySet::reportMemoryUsage):
501         * css/StylePropertySet.h:
502         (PropertyReference):
503         (StylePropertySet):
504         (ImmutableStylePropertySet):
505         (WebCore::ImmutableStylePropertySet::valueArray):
506         (WebCore::ImmutableStylePropertySet::metadataArray):
507         (WebCore::StylePropertySet::PropertyReference::propertyMetadata):
508         (WebCore::StylePropertySet::PropertyReference::propertyValue):
509         (WebCore::StylePropertySet::propertyCount):
510
511 2013-04-14  Andreas Kling  <akling@apple.com>
512
513         Specialize propertyCount() in StylePropertySet subclasses.
514         <http://webkit.org/b/114590>
515
516         Reviewed by Antti Koivisto.
517
518         Avoid branching on m_isMutable in code that already knows which type of set it is.
519
520         * css/StylePropertySet.h:
521         (WebCore::ImmutableStylePropertySet::propertyCount):
522         (ImmutableStylePropertySet):
523         (WebCore::MutableStylePropertySet::propertyCount):
524         (MutableStylePropertySet):
525
526 2013-04-14  Andreas Kling  <akling@apple.com>
527
528         Move property setting/removing functions to MutableStylePropertySet.
529         <http://webkit.org/b/114589>
530
531         Reviewed by Antti Koivisto.
532
533         Move all functions for setting/removing properties from StylePropertySet to MutableStylePropertySet.
534         Had to change SVGElement::animatedSMILStyleProperties() & friends to hand out MutableStylePropertySet*
535         which was always the internal type anyway.
536
537         * css/StylePropertySet.cpp:
538         (WebCore::MutableStylePropertySet::removeShorthandProperty):
539         (WebCore::MutableStylePropertySet::removeProperty):
540         (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
541         (WebCore::MutableStylePropertySet::setProperty):
542         (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
543         (WebCore::MutableStylePropertySet::setPrefixingVariantProperty):
544         (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
545         (WebCore::MutableStylePropertySet::removeBlockProperties):
546         (WebCore::MutableStylePropertySet::removePropertiesInSet):
547         (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
548         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
549         * css/StylePropertySet.h:
550         (StylePropertySet):
551         (MutableStylePropertySet):
552         * editing/ApplyStyleCommand.cpp:
553         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
554         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
555         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
556         * editing/EditingStyle.cpp:
557         (WebCore::EditingStyle::triStateOfStyle):
558         (WebCore::removePropertiesInStyle):
559         (WebCore::reconcileTextDecorationProperties):
560         * svg/SVGAnimateElement.cpp:
561         (WebCore::applyCSSPropertyToTarget):
562         * svg/SVGElement.cpp:
563         (WebCore::SVGElement::animatedSMILStyleProperties):
564         (WebCore::SVGElement::ensureAnimatedSMILStyleProperties):
565         * svg/SVGElement.h:
566         (SVGElement):
567         * svg/SVGElementRareData.h:
568         (WebCore::SVGElementRareData::animatedSMILStyleProperties):
569         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
570         (SVGElementRareData):
571
572 2013-04-14  Andreas Kling  <akling@apple.com>
573
574         EditingStyle should have a MutableStylePropertySet internally.
575         <http://webkit.org/b/114588>
576
577         Reviewed by Anders Carlsson.
578
579         Switch EditingStyle::m_mutableStyle to a RefPtr<MutableStylePropertySet>.
580
581         * css/StylePropertySet.cpp:
582         (WebCore::StylePropertySet::copyBlockProperties):
583         * css/StylePropertySet.h:
584         (StylePropertySet):
585         * editing/EditingStyle.cpp:
586         (WebCore::EditingStyle::setStyle):
587         (WebCore::EditingStyle::mergeStyleFromRules):
588         (WebCore::StyleChange::StyleChange):
589         (WebCore::setTextDecorationProperty):
590         (WebCore::StyleChange::extractTextStyles):
591         (WebCore::diffTextDecorations):
592         (WebCore::getPropertiesNotIn):
593         * editing/EditingStyle.h:
594         (WebCore::EditingStyle::style):
595         (EditingStyle):
596         (StyleChange):
597
598 2013-04-14  Andreas Kling  <akling@apple.com>
599
600         Move addParsedProperty/addParsedProperties to MutableStylePropertySet.
601         <http://webkit.org/b/114587>
602
603         Reviewed by Antti Koivisto.
604
605         All CSSParser methods that mutate an existing StylePropertySet now take a MutableStylePropertySet*
606         instead of a StylePropertySet*.
607
608         * css/CSSParser.cpp:
609         (WebCore::parseColorValue):
610         (WebCore::parseSimpleLengthValue):
611         (WebCore::parseKeywordValue):
612         (WebCore::parseTranslateTransformValue):
613         (WebCore::CSSParser::parseValue):
614         (WebCore::CSSParser::parseDeclaration):
615         * css/CSSParser.h:
616         (CSSParser):
617         * css/StylePropertySet.cpp:
618         (WebCore::StylePropertySet::setProperty):
619         (WebCore::MutableStylePropertySet::addParsedProperties):
620         (WebCore::MutableStylePropertySet::addParsedProperty):
621         * css/StylePropertySet.h:
622         (StylePropertySet):
623         (MutableStylePropertySet):
624         * css/ViewportStyleResolver.h:
625         (ViewportStyleResolver):
626
627 2013-04-14  Andreas Kling  <akling@apple.com>
628
629         CSSParser should return ImmutableStylePropertySets.
630         <http://webkit.org/b/114585>
631
632         Reviewed by Anders Carlsson.
633
634         The StylePropertySets created by CSSParser were already immutable.
635         Let this be reflected in the pointer types returned.
636
637         * css/CSSParser.cpp:
638         (WebCore::CSSParser::parseInlineStyleDeclaration):
639         (WebCore::CSSParser::parseDeclaration):
640         (WebCore::CSSParser::createStylePropertySet):
641         * css/CSSParser.h:
642         (CSSParser):
643
644 2013-04-14  Andreas Kling  <akling@apple.com>
645
646         Move StylePropertySet::createImmutable() to ImmutableStylePropertySet.
647         <http://webkit.org/b/114584>
648
649         Reviewed by Anders Carlsson.
650
651         StylePropertySet::createImmutable() -> ImmutableStylePropertySet::create()
652         Also, immutableCopyIfNeeded() now returns a PassRefPtr<ImmutableStylePropertySet>.
653
654         * css/CSSParser.cpp:
655         (WebCore::CSSParser::createStylePropertySet):
656         * css/StylePropertySet.cpp:
657         (WebCore::ImmutableStylePropertySet::create):
658         (WebCore::StylePropertySet::immutableCopyIfNeeded):
659         * css/StylePropertySet.h:
660         (StylePropertySet):
661         (ImmutableStylePropertySet):
662
663 2013-04-14  Andreas Kling  <akling@apple.com>
664
665         Move parseDeclaration() and clear() to MutableStylePropertySet.
666         <http://webkit.org/b/114583>
667
668         Reviewed by Anders Carlsson.
669
670         ...and remove ASSERT(isMutable()) from the function bodies.
671
672         * svg/SVGFontFaceElement.cpp:
673         (WebCore::SVGFontFaceElement::removedFrom):
674
675             Use clear() directly instead of taking an empty string through the CSS parser.
676
677         * css/StylePropertySet.cpp:
678         (WebCore::MutableStylePropertySet::parseDeclaration):
679         (WebCore::MutableStylePropertySet::clear):
680         * css/StylePropertySet.h:
681         (StylePropertySet):
682         (MutableStylePropertySet):
683         * dom/StyledElement.cpp:
684         (WebCore::StyledElement::setInlineStyleFromString):
685
686 2013-04-14  Andreas Kling  <akling@apple.com>
687
688         Move CSSOM classes to using MutableStylePropertySet over StylePropertySet.
689         <http://webkit.org/b/114581>
690
691         Reviewed by Anders Carlsson.
692
693         Moved ensureCSSStyleDeclaration() and ensureInlineCSSStyleDeclaration() from StylePropertySet
694         to MutableStylePropertySet.
695
696         StyleRule & co now return a MutableStylePropertySet* from mutableProperties() to aid with...
697
698         CSSStyleDeclaration now only deals with MutableStylePropertySets. This was already the case
699         in practice, we just didn't have any compile-time foot-shooting protection.
700         In other words, if there's a CSSOM wrapper for a given StylePropertySet, it's guaranteed to
701         be mutable, and the pointer types now reflect this.
702
703         * WebCore.exp.in:
704         * css/PropertySetCSSStyleDeclaration.cpp:
705         (WebCore::StyleRuleCSSStyleDeclaration::StyleRuleCSSStyleDeclaration):
706         (WebCore::StyleRuleCSSStyleDeclaration::reattach):
707         * css/PropertySetCSSStyleDeclaration.h:
708         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
709         (PropertySetCSSStyleDeclaration):
710         (WebCore::StyleRuleCSSStyleDeclaration::create):
711         (StyleRuleCSSStyleDeclaration):
712         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
713         * css/StylePropertySet.cpp:
714         (WebCore::MutableStylePropertySet::ensureCSSStyleDeclaration):
715         (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
716         * css/StylePropertySet.h:
717         (StylePropertySet):
718         (MutableStylePropertySet):
719         * css/StyleRule.cpp:
720         (WebCore::StyleRule::mutableProperties):
721         (WebCore::StyleRulePage::mutableProperties):
722         (WebCore::StyleRuleFontFace::mutableProperties):
723         (WebCore::StyleRuleViewport::mutableProperties):
724         (WebCore::StyleRuleFilter::mutableProperties):
725         * css/StyleRule.h:
726         (StyleRule):
727         (StyleRuleFontFace):
728         (StyleRulePage):
729         (StyleRuleViewport):
730         (StyleRuleFilter):
731         * css/WebKitCSSKeyframeRule.cpp:
732         (WebCore::StyleKeyframe::mutableProperties):
733         * css/WebKitCSSKeyframeRule.h:
734         (StyleKeyframe):
735         * dom/Attr.cpp:
736         (WebCore::Attr::style):
737         * dom/Attr.h:
738         (Attr):
739         * editing/EditingStyle.cpp:
740         (WebCore::EditingStyle::removeStyleAddedByNode):
741         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
742         (WebCore::EditingStyle::triStateOfStyle):
743         (WebCore::styleFromMatchedRulesForElement):
744         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
745         * editing/FrameSelection.cpp:
746         (WebCore::FrameSelection::copyTypingStyle):
747         * editing/FrameSelection.h:
748         * inspector/InspectorCSSAgent.cpp:
749         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
750
751 2013-04-14  Andreas Kling  <akling@apple.com>
752
753         Move create() methods from StylePropertySet to MutableStylePropertySet.
754         <http://webkit.org/b/114574>
755
756         Reviewed by Antti Koivisto.
757
758         Move the two create() methods that create MutableStylePropertySets from StylePropertySet
759         to MutableStylePropertySet, and make them actually return MutableStylePropertySets.
760         Switch to using {Pass,}RefPtr<MutableStylePropertySet> where appropriate to keep things building.
761
762         * css/CSSComputedStyleDeclaration.cpp:
763         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
764         * css/CSSParser.cpp:
765         (WebCore::CSSParser::parseFontFaceValue):
766         * css/DOMWindowCSS.cpp:
767         (WebCore::DOMWindowCSS::supports):
768         * css/ElementRuleCollector.cpp:
769         (WebCore::leftToRightDeclaration):
770         (WebCore::rightToLeftDeclaration):
771         * css/FontLoader.cpp:
772         (WebCore::FontLoader::resolveFontStyle):
773         * css/StylePropertySet.cpp:
774         (WebCore::StylePropertySet::copyPropertiesInSet):
775         (WebCore::MutableStylePropertySet::create):
776         * css/StylePropertySet.h:
777         (StylePropertySet):
778         (MutableStylePropertySet):
779         * css/StyleResolver.cpp:
780         (WebCore::StyleResolver::resolveVariables):
781         * css/WebKitCSSMatrix.cpp:
782         (WebCore::WebKitCSSMatrix::setMatrixValue):
783         * dom/Attr.cpp:
784         (WebCore::Attr::style):
785         * dom/Document.cpp:
786         (WebCore::Document::createCSSStyleDeclaration):
787         * dom/StyledElement.cpp:
788         (WebCore::StyledElement::ensureMutableInlineStyle):
789         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
790         * editing/ApplyStyleCommand.cpp:
791         (WebCore::copyStyleOrCreateEmpty):
792         * editing/EditingStyle.cpp:
793         (WebCore::editingStyleFromComputedStyle):
794         (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
795         (WebCore::EditingStyle::setProperty):
796         (WebCore::EditingStyle::extractAndRemoveTextDirection):
797         (WebCore::styleFromMatchedRulesForElement):
798         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
799         (WebCore::EditingStyle::forceInline):
800         * editing/Editor.cpp:
801         (WebCore::Editor::setBaseWritingDirection):
802         * editing/EditorCommand.cpp:
803         (WebCore::executeApplyStyle):
804         (WebCore::executeToggleStyleInList):
805         (WebCore::executeApplyParagraphStyle):
806         (WebCore::executeMakeTextWritingDirectionLeftToRight):
807         (WebCore::executeMakeTextWritingDirectionNatural):
808         (WebCore::executeMakeTextWritingDirectionRightToLeft):
809         * html/HTMLTableElement.cpp:
810         (WebCore::leakBorderStyle):
811         (WebCore::HTMLTableElement::createSharedCellStyle):
812         (WebCore::leakGroupBorderStyle):
813         * html/canvas/CanvasRenderingContext2D.cpp:
814         (WebCore::CanvasRenderingContext2D::setFont):
815         * inspector/InspectorStyleSheet.cpp:
816         (WebCore::InspectorStyle::setPropertyText):
817         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
818         * page/DragController.cpp:
819         (WebCore::DragController::concludeEditDrag):
820         * svg/SVGElementRareData.h:
821         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
822         * svg/SVGFontFaceElement.cpp:
823         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
824         * svg/SVGStyledElement.cpp:
825         (WebCore::SVGStyledElement::getPresentationAttribute):
826
827 2013-04-13  Sam Weinig  <sam@webkit.org>
828
829         Fix three crashes seen on the bots after "Make Frame's ScriptController an OwnPtr and remove the #include"
830
831         * xml/XMLHttpRequest.cpp:
832         (WebCore::XMLHttpRequest::open):
833         Check that the frame is not null (as it can be in cases like http/tests/xmlhttprequest/detaching-frame-2.html).
834         We used to be getting lucky, in that shouldBypassMainWorldContentSecurityPolicy(), the function that is ultimately
835         called, only operates on global state. Now that we need to actually dereference the Frame to get the ScriptController,
836         we see this crash.
837
838 2013-04-13  Sukolsak Sakshuwong  <sukolsak@gmail.com>
839
840         Selection direction is not preserved when applying styles
841         https://bugs.webkit.org/show_bug.cgi?id=110979
842
843         Reviewed by Ryosuke Niwa.
844
845         The patch is based on the one submitted by Shezan Baig.
846
847         If the starting selection was directional and its base was not first,
848         switch newStart and newEnd when setting the ending direction. Otherwise,
849         leave the order unchanged.
850
851         Test: editing/style/preserve-selection-direction.html
852
853         * editing/ApplyStyleCommand.cpp:
854         (WebCore::ApplyStyleCommand::updateStartEnd):
855
856 2013-04-13  Alexey Proskuryakov  <ap@apple.com>
857
858         Added svn:ignore for inspector/CodeGeneratorInspectorStrings.pyc
859
860         * inspector: Added property svn:ignore.
861
862 2013-04-13  Sam Weinig  <sam@webkit.org>
863
864         Make Frame's ScriptController an OwnPtr and remove the #include
865         https://bugs.webkit.org/show_bug.cgi?id=114105
866
867         Reviewed by Dean Jackson.
868
869         * Modules/websockets/WebSocket.cpp:
870         * bindings/generic/BindingSecurity.cpp:
871         * bindings/js/JSEventListener.cpp:
872         * bindings/js/JSLazyEventListener.cpp:
873         * bindings/js/PageScriptDebugServer.cpp:
874         * bindings/js/ScriptEventListener.cpp:
875         * bindings/js/ScriptState.cpp:
876         * bindings/objc/DOM.mm:
877         * bindings/objc/DOMAbstractView.mm:
878         * bindings/objc/DOMInternal.mm:
879         * dom/DocumentStyleSheetCollection.cpp:
880         * dom/EventTarget.cpp:
881         * dom/ScriptElement.cpp:
882         * history/CachedFrame.cpp:
883         * html/HTMLCanvasElement.cpp:
884         * html/HTMLDocument.cpp:
885         * html/HTMLElement.cpp:
886         * html/HTMLFormElement.cpp:
887         * html/HTMLPlugInElement.cpp:
888         * html/HTMLPlugInImageElement.cpp:
889         * html/parser/HTMLParserOptions.cpp:
890         * inspector/InspectorAgent.cpp:
891         * inspector/InspectorController.cpp:
892         * inspector/InspectorFrontendClientLocal.cpp:
893         * inspector/InspectorFrontendHost.cpp:
894         * inspector/InspectorInstrumentation.cpp:
895         * inspector/InspectorOverlay.cpp:
896         * inspector/InspectorPageAgent.cpp:
897         * inspector/PageRuntimeAgent.cpp:
898         * loader/DocumentWriter.cpp:
899         * loader/NavigationScheduler.cpp:
900         * loader/SubframeLoader.cpp:
901         * loader/cache/CachedResourceLoader.cpp:
902         * page/DOMWindow.cpp:
903         * page/EventSource.cpp:
904         * page/Frame.cpp:
905         * page/Frame.h:
906         * page/Navigator.cpp:
907         * page/Page.cpp:
908         * page/PageGroup.cpp:
909         * xml/XMLHttpRequest.cpp:
910         * xml/XMLTreeViewer.cpp:
911
912 2013-04-13  Anders Carlsson  <andersca@apple.com>
913
914         Add form delegate method that's invoked right before sending a submit event to a form element
915         https://bugs.webkit.org/show_bug.cgi?id=114575
916
917         Reviewed by Dan Bernstein.
918
919         * WebCore.exp.in:
920         Export a symbol.
921
922         * WebCore.xcodeproj/project.pbxproj:
923         Make DOMHTMLFormElementInternal.h a private header.
924
925 2013-03-13  Robert Hogan  <robert@webkit.org>
926
927         Whitespace between nowrap elements ignored after collapsed trailing space in a text run
928         https://bugs.webkit.org/show_bug.cgi?id=17705
929
930         Reviewed by Ryosuke Niwa.
931
932         Bug 93448 and r138654 fixed the treatment of line-breaks between nowrap elements. This augments
933         that fix by recognizing that we have a potential break not only in situations where the next character is a 
934         space and the current character is not, but also where the next character is a space and the current character 
935         *is* a space *and* we are ignoring spaces. This is so because any spaces we have ignored up to this point 
936         after the actual word end will get collapsed away even if we don't end up taking the line break. 
937
938         In a nutshell, if we allow whitespace collapsing 'word  ' and 'word' are equivalent when before a whitespace
939         character, so treat the first as well as the second as a potential linebreak.
940
941         Test: fast/text/whitespace/inline-whitespace-wrapping-5.html
942
943         * rendering/RenderBlockLineLayout.cpp:
944         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
945
946 2013-04-13  Andreas Kling  <akling@apple.com>
947
948         Rename/tweak some StylePropertySet/CSSStyleDeclaration copying functions.
949         <http://webkit.org/b/114569>
950
951         Reviewed by Anders Carlsson.
952
953         - StylePropertySet::copy() -> mutableCopy()
954
955             This function now returns a MutableStylePropertySet, and this is also reflected in the name.
956
957         - CSSStyleDeclaration::copy() -> copyProperties()
958
959             Renamed to reflect that it's the properties being copied, not the CSSStyleDeclaration.
960             They also now return MutableStylePropertySets.
961
962         - StylePropertySet::copyPropertiesInSet()
963         - CSSStyleDeclaration::copyPropertiesInSet()
964
965             These functions now return MutableStylePropertySets.
966
967         * css/CSSComputedStyleDeclaration.cpp:
968         (WebCore::CSSComputedStyleDeclaration::copyProperties):
969         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
970         * css/CSSComputedStyleDeclaration.h:
971         (CSSComputedStyleDeclaration):
972         * css/CSSStyleDeclaration.h:
973         (CSSStyleDeclaration):
974         * css/PropertySetCSSStyleDeclaration.cpp:
975         (WebCore::PropertySetCSSStyleDeclaration::copyProperties):
976         * css/PropertySetCSSStyleDeclaration.h:
977         * css/StylePropertySet.cpp:
978         (WebCore::StylePropertySet::mutableCopy):
979         (WebCore::StylePropertySet::copyPropertiesInSet):
980         * css/StylePropertySet.h:
981         (StylePropertySet):
982         * css/StyleRule.cpp:
983         (WebCore::StyleRule::StyleRule):
984         (WebCore::StyleRule::mutableProperties):
985         (WebCore::StyleRulePage::StyleRulePage):
986         (WebCore::StyleRulePage::mutableProperties):
987         (WebCore::StyleRuleFontFace::StyleRuleFontFace):
988         (WebCore::StyleRuleFontFace::mutableProperties):
989         (WebCore::StyleRuleViewport::StyleRuleViewport):
990         (WebCore::StyleRuleViewport::mutableProperties):
991         (WebCore::StyleRuleFilter::StyleRuleFilter):
992         (WebCore::StyleRuleFilter::mutableProperties):
993         * css/ViewportStyleResolver.cpp:
994         (WebCore::ViewportStyleResolver::addViewportRule):
995         * css/WebKitCSSKeyframeRule.cpp:
996         (WebCore::StyleKeyframe::mutableProperties):
997         * dom/Element.cpp:
998         (WebCore::UniqueElementData::UniqueElementData):
999         * dom/StyledElement.cpp:
1000         (WebCore::StyledElement::ensureMutableInlineStyle):
1001         * editing/ApplyStyleCommand.cpp:
1002         (WebCore::copyStyleOrCreateEmpty):
1003         * editing/EditingStyle.cpp:
1004         (WebCore::copyEditingProperties):
1005         (WebCore::editingStyleFromComputedStyle):
1006         (WebCore::EditingStyle::EditingStyle):
1007         (WebCore::EditingStyle::init):
1008         (WebCore::EditingStyle::copy):
1009         (WebCore::EditingStyle::mergeStyle):
1010         (WebCore::getPropertiesNotIn):
1011         * editing/FrameSelection.cpp:
1012         (WebCore::FrameSelection::copyTypingStyle):
1013
1014 2013-04-13  Dirk Schulze  <krit@webkit.org>
1015
1016         Rename StyleBuilder to DeprecatedStyleBuilder
1017         https://bugs.webkit.org/show_bug.cgi?id=114532
1018
1019         Reviewed by Benjamin Poulain.
1020
1021         The StyleBuilder code is hard to read and maintain. People should
1022         not add new properties to this class. To make this clear, this
1023         patch renames the class to DeprecatedStyleBuilder.
1024
1025         Pure refactoring, no change in functionality.
1026
1027         * CMakeLists.txt:
1028         * GNUmakefile.list.am:
1029         * Target.pri:
1030         * WebCore.vcproj/WebCore.vcproj:
1031         * WebCore.vcxproj/WebCore.vcxproj.filters:
1032         * WebCore.xcodeproj/project.pbxproj:
1033         * css/CSSAllInOne.cpp:
1034         * css/DeprecatedStyleBuilder.cpp: Renamed from Source/WebCore/css/StyleBuilder.cpp.
1035         * css/DeprecatedStyleBuilder.h: Renamed from Source/WebCore/css/StyleBuilder.h.
1036         * css/StyleResolver.cpp:
1037         (WebCore::StyleResolver::StyleResolver):
1038         (WebCore::StyleResolver::applyProperty):
1039         (WebCore::StyleResolver::reportMemoryUsage):
1040         * css/StyleResolver.h:
1041         (StyleResolver):
1042         * rendering/style/RenderStyle.h:
1043
1044 2013-04-13  Andreas Kling  <akling@apple.com>
1045
1046         Remove unused method CSSStyleDeclaration::makeMutable().
1047         <http://webkit.org/b/114567>
1048
1049         Reviewed by Anders Carlsson.
1050
1051         * css/CSSComputedStyleDeclaration.cpp:
1052         * css/CSSComputedStyleDeclaration.h:
1053         (CSSComputedStyleDeclaration):
1054         * css/CSSStyleDeclaration.h:
1055         (CSSStyleDeclaration):
1056         * css/PropertySetCSSStyleDeclaration.cpp:
1057         * css/PropertySetCSSStyleDeclaration.h:
1058
1059 2013-04-13  Antoine Quint  <graouts@apple.com>
1060
1061         Width of last of consecutive tabs may be incorrect with "white-space: pre-wrap"
1062         https://bugs.webkit.org/show_bug.cgi?id=114562
1063
1064         Reviewed by Dan Bernstein.
1065
1066         When we measure the last word of a RenderText, make sure we use the correct x
1067         position taking into account the current accumulated word measurements up to
1068         this character. This is of particular importance in the case of tabs where the
1069         measured width would differ based on the x position.
1070
1071         Test: fast/text/tab-last-word-in-renderer-pre-wrap.html
1072
1073         * rendering/RenderBlockLineLayout.cpp:
1074         (WebCore::setLogicalWidthForTextRun):
1075
1076 2013-04-13  Mark Salisbury  <mark.salisbury@hp.com>
1077
1078         [Windows, WinCairo] ImageBufferCairo.cpp fails to compile after 148247, 148264.
1079         https://bugs.webkit.org/show_bug.cgi?id=114540
1080         
1081         Reviewed by Brent Fulgham.
1082
1083         * platform/graphics/cairo/ImageBufferCairo.cpp:
1084
1085 2013-04-13  Zan Dobersek  <zdobersek@igalia.com>
1086
1087         Unreviewed GTK build fix after r148305.
1088
1089         * GNUmakefile.list.am: Adding the TrackListBase build targets to the build.
1090
1091 2013-04-09  Roger Fong  <roger_fong@apple.com>
1092
1093         Update AVFoundationCF code following http://trac.webkit.org/changeset/148291.
1094         https://bugs.webkit.org/show_bug.cgi?id=114548.
1095
1096         Reviewed by Eric Carlson.
1097
1098         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1099         (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
1100         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
1101         (WebCore):
1102         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
1103         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1104         (MediaPlayerPrivateAVFoundationCF):
1105
1106 2013-04-12  Simon Fraser  <simon.fraser@apple.com>
1107
1108         Demystify some code in RenderLayer::updateScrollableAreaSet()
1109         https://bugs.webkit.org/show_bug.cgi?id=114543
1110
1111         Reviewed by Tim Horton.
1112
1113         Clean up some code that called functions with important side effects
1114         inside a ternary operator, and clean up the #ifdefs.
1115
1116         * rendering/RenderLayer.cpp:
1117         (WebCore::RenderLayer::updateScrollableAreaSet):
1118
1119 2013-04-12  Alexey Proskuryakov  <ap@apple.com>
1120
1121         <rdar://problem/13277362> REGRESSION (r141981): Crash when closing a Google Docs document
1122         https://bugs.webkit.org/show_bug.cgi?id=114541
1123
1124         Reviewed by Brady Eidson.
1125
1126         Test: http/tests/ssl/ping-with-unsafe-redirect.html
1127
1128         * loader/FrameNetworkingContext.h:
1129         (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
1130         Added a null check. All NetworkingContext functions except for this one had it already.
1131
1132 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
1133
1134         [Mac] REGRESSION: Auto substitution strips new lines
1135         https://bugs.webkit.org/show_bug.cgi?id=114537
1136
1137         Reviewed by Enrica Casucci.
1138
1139         The bug was caused by SpellingCorrectionCommand's use of InsertTextCommand. This command can't insert
1140         new lines and there's even an assertion for it. Use TypingCommand::insertText instead.
1141
1142         Since TypingCommand::insertText calls appliedEditing on its own, we need to avoid calling that again in
1143         CompositeEditCommand::apply after SpellingCorrectionCommand::doApply. Replaced the check in apply to use
1144         callsAppliedEditingInDoApply instead of isTypingCommand, and added callsAppliedEditingInDoApply to both
1145         TypingCommand and SpellingCorrectionCommand to return true (it returns false by default).
1146
1147         Test: platform/mac/editing/spelling/autocorrection-with-multi-line-text.html
1148
1149         * editing/CompositeEditCommand.cpp:
1150         (WebCore::CompositeEditCommand::apply): Use TypingCommand::insertText instead of InsertTextCommand
1151         (WebCore::CompositeEditCommand::callsAppliedEditingInDoApply): Added. Returns false.
1152         * editing/CompositeEditCommand.h:
1153         (CompositeEditCommand):
1154         * editing/SpellingCorrectionCommand.cpp:
1155         (WebCore::SpellingCorrectionCommand::doApply):
1156         (WebCore::SpellingCorrectionCommand::callsAppliedEditingInDoApply): Added. Returns true.
1157         * editing/SpellingCorrectionCommand.h:
1158         (SpellingCorrectionCommand):
1159         * editing/TypingCommand.cpp:
1160         (WebCore::TypingCommand::callsAppliedEditingInDoApply): Added. Returns true.
1161         * editing/TypingCommand.h:
1162         (TypingCommand):
1163
1164 2013-04-12  Brendan Long  <b.long@cablelabs.com>
1165
1166         Refactor TextTrack and TextTrackList to make it easier to add audio and video tracks
1167         https://bugs.webkit.org/show_bug.cgi?id=114330
1168
1169         Reviewed by Jer Noble.
1170
1171         No new tests because this doesn't add new functionality.
1172
1173         * CMakeLists.txt: Only compile text track files if ENABLE(VIDEO_TRACK), and add TrackListBase
1174         * Target.pri: Add TrackListBase
1175         * WebCore.vcproj/WebCore.vcproj: Correct InbandTextTrackPrivate.h's location and add TrackListBase
1176         * WebCore.xcodeproj/project.pbxproj: Add TrackListBase
1177         * html/HTMLMediaElement.cpp: Renamed "track" functions to "textTrack"
1178         (WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack): Renamed.
1179         (WebCore::HTMLMediaElement::mediaPlayerDidRemoveTextTrack): Renamed.
1180         (WebCore::HTMLMediaElement::addTextTrack): Renamed.
1181         (WebCore::HTMLMediaElement::removeTextTrack): Renamed.
1182         (WebCore::HTMLMediaElement::removeAllInbandTracks): Use renamed functions.
1183         (WebCore::HTMLMediaElement::didAddTextTrack): Renamed.
1184         (WebCore::HTMLMediaElement::didRemoveTextTrack): Renamed.
1185         * html/HTMLMediaElement.h:
1186         Renamed "track" functions to "textTrack" and only forward-declare TextTrackList if ENABLE(VIDEO_TRACK)
1187         * html/HTMLTrackElement.cpp: Renamed "track" functions to "textTrack"
1188         (WebCore::HTMLTrackElement::insertedInto):
1189         (WebCore::HTMLTrackElement::removedFrom):
1190         * html/track/TextTrack.cpp:
1191         Move media element, label, language and kind into TrackBase and move EventTarget functions into TextTrack.
1192         (WebCore::TextTrack::TextTrack): Added.
1193         (WebCore::TextTrack::interfaceName): Added.
1194         (WebCore::TextTrack::scriptExecutionContext): Added.
1195         (WebCore::TextTrack::eventTargetData): Added.
1196         (WebCore::TextTrack::ensureEventTargetData): Added.
1197         (WebCore::TextTrack::isValidKind): Added to support TrackBase::setKind()
1198         (WebCore::TextTrack::setKind): Override to support textTrackKindChanged()
1199         (WebCore::TextTrack::isRendered): Use kind(), label() and language() instead of m_kind, etc.
1200         (WebCore::TextTrack::platformTextTrack): Ditto.
1201         (WebCore::TextTrack::isMainProgramContent): Ditto.
1202         * html/track/TextTrack.h:
1203         Same as TextTrack.cpp, plus added defaultKindKeyword() so TrackBase::setKind() will work and added
1204         toTextTrack().
1205         * html/track/TextTrackList.cpp:
1206         Move functionality into TrackListBase, add toTextTrack() casts, use
1207         TrackBase where necesssary and use owner() instead of m_owner.
1208
1209         Moved EventTarget functions into TrackListBase.
1210         (TextTrackList::TextTrackList):
1211         (TextTrackList::getTrackIndexRelativeToRenderedTracks):
1212         (TextTrackList::item):
1213         (TextTrackList::invalidateTrackIndexesAfterTrack):
1214         (TextTrackList::append):
1215         (TextTrackList::remove):
1216         (TextTrackList::contains):
1217         * html/track/TextTrackList.h:
1218         Move EventTarget, RefCounted and m_inbandTracks into TrackListBase.
1219         Override length(), contains() and remove().
1220         * html/track/TrackBase.cpp: Remove EventTarget functions.
1221         (WebCore::TrackBase::TrackBase):
1222         Remove EventTarget, add label and language
1223         (WebCore::TrackBase::setKind): Added
1224         * html/track/TrackBase.h:
1225         Don't extend EventTarget (AudioTrack and VideoTrack aren't). Handle
1226         kind, label, language and media element.
1227         (WebCore::TrackBase::setMediaElement): Added.
1228         (WebCore::TrackBase::mediaElement): Added.
1229         (WebCore::TrackBase::kind): Added.
1230         (WebCore::TrackBase::label): Added.
1231         (WebCore::TrackBase::setLabel): Added.
1232         (WebCore::TrackBase::language): Added.
1233         (WebCore::TrackBase::setLanguage): Added.
1234         * html/track/TrackListBase.cpp:
1235         Added. Handles functionality common to TextTrackList, AudioTrackList and
1236         VideoTrackList.
1237         (TrackListBase::TrackListBase): Added.
1238         (TrackListBase::~TrackListBase): Added.
1239         (TrackListBase::length): Added.
1240         (TrackListBase::remove): Added.
1241         (TrackListBase::contains): Added.
1242         (TrackListBase::scheduleAddTrackEvent): Added.
1243         (TrackListBase::scheduleRemoveTrackEvent): Added.
1244         (TrackListBase::scheduleChangeEvent): Added.
1245         (TrackListBase::asyncEventTimerFired): Added.
1246         * html/track/TrackListBase.h:
1247         Copied from Source/WebCore/html/track/TextTrackList.h. Handles
1248         functionality common to TextTrackList, AudioTrackList and VideoTrackList.
1249         (WebCore::TrackListBase::scriptExecutionContext): Added.
1250         (WebCore::TrackListBase::clearOwner): Added.
1251         (WebCore::TrackListBase::owner): Added.
1252         (WebCore::TrackListBase::isFiringEventListeners): Added.
1253         * platform/graphics/MediaPlayer.cpp:
1254         (WebCore::MediaPlayer::addTextTrack): Renamed (was addTrack)
1255         (WebCore::MediaPlayer::removeTextTrack): Renamed (was removeTrack)
1256         * platform/graphics/MediaPlayer.h:
1257         (WebCore::MediaPlayerClient::mediaPlayerDidAddTextTrack): Renamed (was mediaPlayerDidAddTrack)
1258         (WebCore::MediaPlayerClient::mediaPlayerDidRemoveTextTrack): Renamed (was mediaPlayerDidRemoveTrack)
1259
1260 2013-04-12  Oliver Hunt  <oliver@apple.com>
1261
1262         make the codegenerator actually emit polymorphism check in the "no vtable" path
1263         https://bugs.webkit.org/show_bug.cgi?id=114533
1264
1265         Reviewed by David Kilzer.
1266
1267         Make the "no vtable" check correct so that we actually plant a polymorphism
1268         check.  Update a few interfaces to have the correct validation attributes.        
1269
1270         * Modules/webdatabase/SQLTransaction.idl:
1271         * bindings/scripts/CodeGeneratorJS.pm:
1272         (GenerateImplementation):
1273         * bindings/scripts/test/JS/JSTestInterface.cpp:
1274         (WebCore::toJS):
1275         * bindings/scripts/test/TestInterface.idl:
1276         * html/track/TextTrackCue.idl:
1277         * svg/SVGAnimatedAngle.idl:
1278         * svg/SVGAnimatedBoolean.idl:
1279         * svg/SVGAnimatedEnumeration.idl:
1280         * svg/SVGAnimatedInteger.idl:
1281         * svg/SVGAnimatedLength.idl:
1282         * svg/SVGAnimatedLengthList.idl:
1283         * svg/SVGAnimatedNumber.idl:
1284         * svg/SVGAnimatedNumberList.idl:
1285         * svg/SVGAnimatedPreserveAspectRatio.idl:
1286         * svg/SVGAnimatedRect.idl:
1287         * svg/SVGAnimatedString.idl:
1288         * svg/SVGAnimatedTransformList.idl:
1289
1290 2013-04-12  Oliver Hunt  <oliver@apple.com>
1291
1292         Make CodeGeneratorJS plant comments to explain failures in the binding validation
1293         https://bugs.webkit.org/show_bug.cgi?id=114528
1294
1295         Reviewed by Sam Weinig.
1296
1297         No change in behaviour, just make the generated bindings include comments
1298         to aid diagnosing issues that may be non-obvious.
1299
1300         * bindings/scripts/CodeGeneratorJS.pm:
1301         (GenerateImplementation):
1302         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1303         (WebCore::toJS):
1304         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1305         (WebCore::toJS):
1306         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1307         (WebCore::toJS):
1308         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1309         (WebCore::toJS):
1310         * bindings/scripts/test/JS/JSTestException.cpp:
1311         (WebCore::toJS):
1312         * bindings/scripts/test/JS/JSTestInterface.cpp:
1313         (WebCore::toJS):
1314         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1315         (WebCore::toJS):
1316         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1317         (WebCore::toJS):
1318         * bindings/scripts/test/JS/JSTestObj.cpp:
1319         (WebCore::toJS):
1320         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1321         (WebCore::toJS):
1322         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1323         (WebCore::toJS):
1324         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1325         (WebCore::toJS):
1326
1327 2013-04-12  Tim Horton  <timothy_horton@apple.com>
1328
1329         REGRESSION (r138858): GIFs don't start playing when they come out of background tabs
1330         https://bugs.webkit.org/show_bug.cgi?id=108864
1331         <rdar://problem/13140489>
1332
1333         Reviewed by Antti Koivisto.
1334
1335         * loader/cache/CachedImage.cpp:
1336         (WebCore::CachedImage::resumeAnimatingImagesForLoader): Added.
1337         Iterate through all of the loader's cached resources. If they are bitmap images
1338         which claim to be animatable, notify the image's observers that the animation advanced
1339         by one frame. In reality, the image is still on the same frame, but will now be repainted,
1340         restarting the animation loop.
1341         * loader/cache/CachedImage.h:
1342         * page/FrameView.cpp:
1343         (WebCore::FrameView::setIsInWindow):
1344         When the FrameView is brought into a window, repaint all animated images.
1345         * platform/graphics/BitmapImage.cpp:
1346         (WebCore::BitmapImage::canAnimate): Added. 
1347         Return whether or not the image should animate (claims to animate, has not already
1348         finished its animation, and has an ImageObserver) *and* has more than one frame.
1349         * platform/graphics/BitmapImage.h:
1350         (BitmapImage): Add canAnimate.
1351
1352 2013-04-12  Martin Robinson  <mrobinson@igalia.com>
1353
1354         r148197 broke the GTK+ build
1355         https://bugs.webkit.org/show_bug.cgi?id=114525
1356
1357         Reviewed by Anders Carlsson.
1358
1359         Re-add the ENABLE(SCROLLING_THREAD) guards to scrolling thread files
1360         and extend them with USE(COORDINATED_GRAPHICS). This code is unused
1361         by other configurations currently.
1362
1363         * page/scrolling/ScrollingStateFixedNode.cpp: Re-add guards.
1364         * page/scrolling/ScrollingStateFixedNode.h: Ditto.
1365         * page/scrolling/ScrollingStateNode.cpp: Ditto.
1366         * page/scrolling/ScrollingStateNode.h: Ditto.
1367         * page/scrolling/ScrollingStateScrollingNode.cpp: Ditto.
1368         * page/scrolling/ScrollingStateScrollingNode.h: Ditto.
1369         * page/scrolling/ScrollingStateStickyNode.cpp: Ditto.
1370         * page/scrolling/ScrollingStateStickyNode.h: Ditto.
1371         * page/scrolling/ScrollingStateTree.cpp: Ditto.
1372         * page/scrolling/ScrollingStateTree.h: Ditto.
1373         * page/scrolling/mac/ScrollingStateNodeMac.mm: Ditto.
1374         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm: Ditto.
1375
1376 2013-04-12  Jer Noble  <jer.noble@apple.com>
1377
1378         (AVFoundation) WebKit fails to detect live stream.
1379         https://bugs.webkit.org/show_bug.cgi?id=114474
1380
1381         Reviewed by Eric Carlson.
1382
1383         Remove a workaround (added by r88944) for an error in an Apple.com javascript
1384         media controller. The error has been fixed, and the workaround is causing problems
1385         with other media streams.
1386
1387         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1388         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
1389
1390 2013-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1391
1392         [GTK] Split GtkAuthenticationDialog in two widgets
1393         https://bugs.webkit.org/show_bug.cgi?id=103644
1394
1395         Reviewed by Xan Lopez.
1396
1397         The current GtkAuthenticationDialog implements both the common
1398         logic and widgets to implement a real GtkDialog and a widget to be
1399         embedded in any container. WebKit1 uses a GtkDialog while WebKit2
1400         embeds the dialog in the WebView. This patch splits the code to
1401         leave in Platform only the code that is actually common, leaving
1402         the widget implementation to the WebKit layer, using a dialog in
1403         WebKit1 and embedding auth widget in the WebView in WebKit2.
1404
1405         * GNUmakefile.list.am: Add new files to compilation.
1406         * platform/gtk/GtkAuthenticationDialog.cpp: Removed.
1407         * platform/gtk/GtkAuthenticationDialog.h: Removed.
1408         * platform/gtk/WebKitAuthenticationWidget.cpp: Added.
1409         (_WebKitAuthenticationWidgetPrivate):
1410         (packTwoColumnLayoutInBox):
1411         (createLabel):
1412         (createEntry):
1413         (webkitAuthenticationWidgetInitialize):
1414         (webkitAuthenticationWidgetFinalize):
1415         (webkit_authentication_widget_init):
1416         (webkit_authentication_widget_class_init):
1417         (webkitAuthenticationWidgetNew):
1418         (webkitAuthenticationWidgetCreateCredential):
1419         (webkitAuthenticationWidgetGetChallenge):
1420         * platform/gtk/WebKitAuthenticationWidget.h: Added.
1421         (_WebKitAuthenticationWidget):
1422         (_WebKitAuthenticationWidgetClass):
1423
1424 2013-04-11  Jer Noble  <jer.noble@apple.com>
1425
1426         Add support for MediaPlayer::minTimeSeekable()
1427         https://bugs.webkit.org/show_bug.cgi?id=114484
1428
1429         Reviewed by Eric Carlson.
1430
1431         Plumb a new minTimeSeekable() method through MediaPlayer and
1432         MediaPlayerPrivate and use this new method in the existing
1433         HTMLMediaElement::minTimeSeekable() method.
1434
1435         * html/HTMLMediaElement.cpp:
1436         (WebCore::HTMLMediaElement::minTimeSeekable): Pass to MediaPlayer.
1437         * platform/graphics/MediaPlayer.cpp:
1438         (WebCore::NullMediaPlayerPrivate::minTimeSeekable): Return 0.
1439         (WebCore::MediaPlayer::minTimeSeekable): Pass to MediaPlayerPrivate.
1440         * platform/graphics/MediaPlayer.h:
1441         * platform/graphics/MediaPlayerPrivate.h:
1442         (WebCore::MediaPlayerPrivateInterface::seekable): Define in terms of 
1443             minTimeSeekable()
1444         (WebCore::MediaPlayerPrivateInterface::minTimeSeekable): Default to 0.
1445         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1446         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
1447             Initialize new m_cachedMinTimeSeekable ivar.
1448         (WebCore::MediaPlayerPrivateAVFoundation::maxTimeSeekableDouble):
1449             Renamed from maxTimeSeekable().
1450         (WebCore::MediaPlayerPrivateAVFoundation::minTimeSeekable): Added.
1451             Cache value of platformMinTimeSeekable().
1452         (WebCore::MediaPlayerPrivateAVFoundation::seekableTimeRangesChanged):
1453             Reset m_cachedMinTimeSeekable.
1454         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1455         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1456         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1457         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): float -> double.
1458         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
1459             Added. Retrieve the lowest value from -[m_playerItem seekableTimeRanges].
1460         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
1461             float -> double.
1462
1463 2013-04-12  Commit Queue  <rniwa@webkit.org>
1464
1465         Unreviewed, rolling out r147942, r148026, and r148092.
1466         http://trac.webkit.org/changeset/147942
1467         http://trac.webkit.org/changeset/148026
1468         http://trac.webkit.org/changeset/148092
1469         https://bugs.webkit.org/show_bug.cgi?id=114521
1470
1471         "r147942 is buggy. Rollback all the patches depending on it."
1472         (Requested by abucur on #webkit).
1473
1474         * dom/ContainerNode.cpp:
1475         (WebCore::willRemoveChildren):
1476         (WebCore):
1477         (WebCore::ContainerNode::removeChildren):
1478         * dom/Document.cpp:
1479         (WebCore::Document::nodeChildrenWillBeRemoved):
1480         (WebCore):
1481         * dom/Document.h:
1482         (Document):
1483         * dom/Node.cpp:
1484         * dom/Node.h:
1485         (Node):
1486         * dom/NodeTraversal.cpp:
1487         * dom/NodeTraversal.h:
1488         (ElementTraversal):
1489         (NodeTraversal):
1490         * dom/Range.cpp:
1491         (WebCore::boundaryNodeChildrenWillBeRemoved):
1492         (WebCore):
1493         (WebCore::Range::nodeChildrenWillBeRemoved):
1494         * dom/Range.h:
1495         * html/HTMLLIElement.cpp:
1496         (WebCore::HTMLLIElement::attach):
1497         * html/HTMLOListElement.cpp:
1498         (WebCore::HTMLOListElement::updateItemValues):
1499         (WebCore::HTMLOListElement::recalculateItemCount):
1500         * rendering/RenderCounter.cpp:
1501         (WebCore::previousInPreOrder):
1502         (WebCore::previousSiblingOrParent):
1503         (WebCore::parentElement):
1504         (WebCore::nextInPreOrder):
1505         * rendering/RenderListItem.cpp:
1506         (WebCore::enclosingList):
1507         (WebCore::RenderListItem::nextListItem):
1508         (WebCore::previousListItem):
1509         (WebCore::RenderListItem::calcValue):
1510         (WebCore::RenderListItem::explicitValueChanged):
1511         (WebCore::previousOrNextItem):
1512         (WebCore::RenderListItem::updateListMarkerNumbers):
1513         * rendering/RenderListItem.h:
1514         (RenderListItem):
1515
1516 2013-04-12  Jer Noble  <jer.noble@apple.com>
1517
1518         TimeRanges::nearest() returns incorrect results.
1519         https://bugs.webkit.org/show_bug.cgi?id=114483
1520
1521         Reviewed by Eric Carlson.
1522
1523         Test: media/timeranges-nearest.html
1524
1525         TimeRanges::nearest() has had an incorrect algorithm since its
1526         addition, which has gone unnoticed because no media engine supports
1527         seekable ranges with greater than one entry, and no media engine
1528         seekable ranges with startTime values > 0.
1529
1530         Fix the algorithm used to walk a TimeRanges object; return the closest
1531         time, not the smallest delta between range and target time.
1532         * html/TimeRanges.cpp:
1533         (TimeRanges::nearest):
1534
1535         Add some internal functions to allow us to write LayoutTests for
1536         TimeRanges objects:
1537         * WebCore.exp.in:
1538         * testing/Internals.cpp:
1539         (WebCore::Internals::createTimeRanges):
1540         (WebCore::Internals::closestTimeToTimeRanges):
1541         * testing/Internals.h:
1542         * testing/Internals.idl:
1543
1544 2013-04-12  Eric Carlson  <eric.carlson@apple.com>
1545
1546         Support "forced" subtitles
1547         https://bugs.webkit.org/show_bug.cgi?id=114460
1548
1549         Reviewed by Jer Noble.
1550
1551         Test: media/track/track-forced-subtitles.html
1552
1553         * html/HTMLMediaElement.cpp:
1554         (WebCore::HTMLMediaElement::configureTextTrackGroup): Enable a forced track if nothing else is enabled.
1555         (WebCore::HTMLMediaElement::configureTextTracks): Include forced tracks with captions+subtitles.
1556
1557         * html/track/InbandTextTrack.cpp:
1558         (WebCore::InbandTextTrack::InbandTextTrack): Deal with kind=forced.
1559
1560         * html/track/TextTrack.cpp:
1561         (WebCore::TextTrack::forcedKeyword): New keyword.
1562         (WebCore::TextTrack::isValidKindKeyword): Include forced.
1563         (WebCore::TextTrack::platformTextTrack): Ditto.
1564         * html/track/TextTrack.h:
1565
1566         * page/CaptionUserPreferences.cpp:
1567         (WebCore::CaptionUserPreferences::primaryAudioTrackLanguageOverride): New override to support testing.
1568         * page/CaptionUserPreferences.h:
1569
1570         * page/CaptionUserPreferencesMac.mm:
1571         (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Support forced tracks.
1572         * platform/graphics/InbandTextTrackPrivate.h:
1573
1574         * platform/graphics/PlatformTextTrack.h: Add Forced, minor cleanup.
1575
1576         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1577         (WebCore::InbandTextTrackPrivateAVF::processCue): Drive-by enhancement: log cue position.
1578
1579         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
1580         (WebCore::InbandTextTrackPrivateAVFObjC::kind): Support forced.
1581         (WebCore::InbandTextTrackPrivateAVFObjC::label): Drive-by cleanup.
1582
1583         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1584         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Don't filter out forced tracks.
1585         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Log the language returned.
1586
1587         * testing/Internals.cpp:
1588         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride): New.
1589         (WebCore::Internals::setCaptionDisplayMode): New.
1590         * testing/Internals.h:
1591         * testing/Internals.idl:
1592
1593 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
1594
1595         [Mac] Some ligatures are applied across different fronts
1596         https://bugs.webkit.org/show_bug.cgi?id=113604
1597
1598         Reviewed by Darin Adler.
1599
1600         The bug was caused by applyFontTransforms applying ligatures without updating the font data in the glyph buffer.
1601
1602         Suppose we have characters AB and A uses font X and B uses font Y. Further suppose that we have ligatures for AB
1603         in Y. The problem was that WithIterator::advanceInternal calls applyFontTransforms on AB to apply this ligature
1604         even though A and B use different fonts. Since X doesn't contain the same ligature for A to be paired with that
1605         of B in X, we get a blank A.
1606
1607         Fixed the bug by resetting lastGlyphCount after calling applyFontTransforms. This ensures that we don't call
1608         applyFontTransforms across different fonts.
1609
1610         No new tests since this requires a variant of Osaka font that doesn't come with OS X.
1611
1612         The bug 114482 tracks the effort to add a test for this bug fix. I've already asked someone to create a custom
1613         font for us so that we can test this bug fix but that's going to a while.
1614
1615         * platform/graphics/WidthIterator.cpp:
1616         (WebCore::WidthIterator::advanceInternal):
1617
1618 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
1619
1620         [Mac] Enable spellchecking tests added in r141471
1621         https://bugs.webkit.org/show_bug.cgi?id=108525
1622
1623         Reviewed by Darin Adler.
1624
1625         Made automatic quote substitution, dash substitution, text replacement, and spelling correction
1626         togglable via internals object. These functions are no-op when text replacement is not used.
1627
1628         This allows us to disable automatic spelling correction in spellcheck tests.
1629
1630         Enabled several tests added in r141471.
1631
1632         * WebCore.exp.in:
1633         * testing/Internals.cpp:
1634         (WebCore::Internals::setContinuousSpellCheckingEnabled): Don't null check editor() since it's not
1635         null whenever frame() is not null.
1636         (WebCore::Internals::setAutomaticQuoteSubstitutionEnabled): Added.
1637         (WebCore::Internals::setAutomaticLinkDetectionEnabled): Added.
1638         (WebCore::Internals::setAutomaticDashSubstitutionEnabled): Added.
1639         (WebCore::Internals::setAutomaticTextReplacementEnabled): Added.
1640         (WebCore::Internals::setAutomaticSpellingCorrectionEnabled): Added.
1641         * testing/Internals.h:
1642         * testing/Internals.idl:
1643
1644 2013-04-12  Alberto Garcia  <agarcia@igalia.com>
1645
1646         [BlackBerry] Upstream the filesystem code
1647         https://bugs.webkit.org/show_bug.cgi?id=114437
1648
1649         Reviewed by Rob Buis.
1650
1651         These are the changes for AsyncFileSystemBlackBerry.
1652
1653         This patch contains contributions from many members of the
1654         BlackBerry WebKit team.
1655
1656         * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
1657         (WebCore::AsyncFileSystem::isAvailable):
1658         (WebCore):
1659         (WebCore::AsyncFileSystem::create):
1660         (WebCore::AsyncFileSystem::openFileSystem):
1661         (WebCore::AsyncFileSystemBlackBerry::openFileSystem):
1662         (WebCore::AsyncFileSystem::deleteFileSystem):
1663         (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
1664         (WebCore::AsyncFileSystemBlackBerry::~AsyncFileSystemBlackBerry):
1665         (WebCore::AsyncFileSystemBlackBerry::move):
1666         (WebCore::AsyncFileSystemBlackBerry::copy):
1667         (WebCore::AsyncFileSystemBlackBerry::remove):
1668         (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
1669         (WebCore::AsyncFileSystemBlackBerry::readMetadata):
1670         (WebCore::AsyncFileSystemBlackBerry::createFile):
1671         (WebCore::AsyncFileSystemBlackBerry::createDirectory):
1672         (WebCore::AsyncFileSystemBlackBerry::fileExists):
1673         (WebCore::AsyncFileSystemBlackBerry::directoryExists):
1674         (WebCore::AsyncFileSystemBlackBerry::readDirectory):
1675         (WebCore::AsyncFileSystemBlackBerry::createWriter):
1676         (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
1677         (WebCore::AsyncFileSystemBlackBerry::fileSystemURLToPath):
1678         * platform/blackberry/AsyncFileSystemBlackBerry.h:
1679         (WTF):
1680         (WTF::BlackBerry::Platform::WebFileSystem):
1681         (WebCore::AsyncFileSystemBlackBerry::create):
1682         (AsyncFileSystemBlackBerry):
1683
1684 2013-04-12  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1685
1686         Apply our MSVC 2012 optimizer bug workaround to all minor releases
1687         https://bugs.webkit.org/show_bug.cgi?id=114436
1688
1689         Reviewed by Alexey Proskuryakov.
1690
1691         The bug has only been partially fixed in Update 2 but our Update 1 workaround
1692         still avoids the crash.
1693
1694         * platform/text/TextEncodingRegistry.cpp:
1695         (WebCore::TextEncodingNameHash::equal):
1696
1697 2013-04-12  Mark Rowe  <mrowe@apple.com>
1698
1699         And again, with the correct case this time.
1700
1701         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
1702
1703 2013-04-12  Mark Rowe  <mrowe@apple.com>
1704
1705         Build fix.
1706
1707         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
1708         Add missing #include and forward declaration.
1709
1710 2013-04-12  Zan Dobersek  <zdobersek@igalia.com>
1711
1712         Unreviewed functionality fix for ports enabling the MicroData feature.
1713
1714         * html/DOMSettableTokenList.idl: Add the SkipVTableValidation IDL attribute to the DOMSettableTokenList interface.
1715         This removes crashes in the MicroData layout tests that are occurring on EFL and GTK builders, the two ports being
1716         the only ports that enable this feature.
1717
1718 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
1719
1720         Move CachedRawResourceClient into a separate file
1721         https://bugs.webkit.org/show_bug.cgi?id=114491
1722
1723         Reviewed by Mark Rowe.
1724
1725         * GNUmakefile.list.am:
1726         * Target.pri:
1727         * WebCore.vcproj/WebCore.vcproj:
1728         * WebCore.vcxproj/WebCore.vcxproj:
1729         * WebCore.vcxproj/WebCore.vcxproj.filters:
1730         * WebCore.xcodeproj/project.pbxproj:
1731         * loader/DocumentLoader.cpp:
1732         * loader/DocumentLoader.h:
1733         * loader/DocumentThreadableLoader.h:
1734         * loader/archive/cf/LegacyWebArchive.cpp:
1735         * loader/cache/CachedRawResource.cpp:
1736         * loader/cache/CachedRawResource.h:
1737         * loader/cache/CachedRawResourceClient.h: Added.
1738         * loader/icon/IconLoader.h:
1739         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
1740
1741 2013-04-12  Commit Queue  <rniwa@webkit.org>
1742
1743         Unreviewed, rolling out r148262.
1744         http://trac.webkit.org/changeset/148262
1745         https://bugs.webkit.org/show_bug.cgi?id=114493
1746
1747         Cairo dep should now build, rolling r148247 back in (Requested
1748         by zdobersek on #webkit).
1749
1750         * platform/graphics/GraphicsContext.cpp:
1751         (WebCore):
1752         * platform/graphics/ImageBuffer.cpp:
1753         (WebCore):
1754         * platform/graphics/cairo/GLContext.h:
1755         (GLContext):
1756         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1757         (WebCore::GraphicsContext::isAcceleratedContext):
1758         (WebCore):
1759         * platform/graphics/cairo/ImageBufferCairo.cpp:
1760         (WebCore::ImageBufferData::ImageBufferData):
1761         (WebCore):
1762         (WebCore::createCairoGLSurface):
1763         (WebCore::ImageBuffer::ImageBuffer):
1764         (WebCore::ImageBuffer::platformTransformColorSpace):
1765         (WebCore::mapSurfaceToImage):
1766         (WebCore::unmapSurfaceFromImage):
1767         (WebCore::getImageData):
1768         (WebCore::ImageBuffer::putByteArray):
1769         (WebCore::ImageBufferData::paintToTextureMapper):
1770         (WebCore::ImageBuffer::platformLayer):
1771         * platform/graphics/cairo/ImageBufferDataCairo.h:
1772         (ImageBufferData):
1773         * platform/graphics/egl/GLContextEGL.cpp:
1774         (WebCore::GLContextEGL::GLContextEGL):
1775         (WebCore::GLContextEGL::~GLContextEGL):
1776         (WebCore::GLContextEGL::cairoDevice):
1777         (WebCore):
1778         * platform/graphics/egl/GLContextEGL.h:
1779         * platform/graphics/glx/GLContextGLX.cpp:
1780         (WebCore::GLContextGLX::GLContextGLX):
1781         (WebCore::GLContextGLX::~GLContextGLX):
1782         (WebCore::GLContextGLX::cairoDevice):
1783         (WebCore):
1784         * platform/graphics/glx/GLContextGLX.h:
1785         (GLContextGLX):
1786
1787 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
1788
1789         Reduce includes of CachedSVGDocument.h
1790         https://bugs.webkit.org/show_bug.cgi?id=114489
1791
1792         Reviewed by Jon Honeycutt.
1793
1794         * loader/cache/CachedSVGDocumentReference.cpp: Added.
1795         * loader/cache/CachedSVGDocumentReference.h:
1796         Moved function implementations to newly added .cpp file, and removed an include
1797         of CachedSVGDocument.h.
1798
1799         * css/WebKitCSSSVGDocumentValue.h: Just removed an unnecessary include.
1800
1801         * CMakeLists.txt:
1802         * GNUmakefile.list.am:
1803         * Target.pri:
1804         * WebCore.vcproj/WebCore.vcproj:
1805         * WebCore.vcxproj/WebCore.vcxproj:
1806         * WebCore.vcxproj/WebCore.vcxproj.filters:
1807         * WebCore.xcodeproj/project.pbxproj:
1808
1809 2013-04-11  Commit Queue  <rniwa@webkit.org>
1810
1811         Unreviewed, rolling out r148247.
1812         http://trac.webkit.org/changeset/148247
1813         https://bugs.webkit.org/show_bug.cgi?id=114490
1814
1815         Cairo dep fails to build on builders due to missing EGL
1816         headers (Requested by zdobersek on #webkit).
1817
1818         * platform/graphics/GraphicsContext.cpp:
1819         (WebCore):
1820         * platform/graphics/ImageBuffer.cpp:
1821         (WebCore):
1822         * platform/graphics/cairo/GLContext.h:
1823         (GLContext):
1824         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1825         * platform/graphics/cairo/ImageBufferCairo.cpp:
1826         (WebCore::ImageBufferData::ImageBufferData):
1827         (WebCore::ImageBuffer::ImageBuffer):
1828         (WebCore::ImageBuffer::platformTransformColorSpace):
1829         (WebCore::getImageData):
1830         (WebCore::ImageBuffer::putByteArray):
1831         (WebCore):
1832         * platform/graphics/cairo/ImageBufferDataCairo.h:
1833         (ImageBufferData):
1834         * platform/graphics/egl/GLContextEGL.cpp:
1835         (WebCore::GLContextEGL::GLContextEGL):
1836         (WebCore::GLContextEGL::~GLContextEGL):
1837         * platform/graphics/egl/GLContextEGL.h:
1838         * platform/graphics/glx/GLContextGLX.cpp:
1839         (WebCore::GLContextGLX::GLContextGLX):
1840         (WebCore::GLContextGLX::~GLContextGLX):
1841         * platform/graphics/glx/GLContextGLX.h:
1842         (GLContextGLX):
1843
1844 2013-04-11  Nico Weber  <thakis@chromium.org>
1845
1846         Remove debugging code that is no longer used with current mac sdks.
1847         https://bugs.webkit.org/show_bug.cgi?id=114486
1848
1849         Reviewed by Dan Bernstein.
1850
1851         This code compared __MAC_OS_X_VERSION_MAX_ALLOWED and friends to
1852         107 and 106 instead of the correct 1070 and 1060. Instead of fixing
1853         this, rip the code out completely: Since WebKit now only targets
1854         current systems, the ifdef is always false anyways.
1855
1856         No tests, as this only removes debugging code.
1857
1858         * platform/graphics/mac/SimpleFontDataMac.mm:
1859         (WebCore::SimpleFontData::platformInit):
1860
1861 2013-04-11  Oliver Hunt  <oliver@apple.com>
1862
1863         Fix windows build and land new binding test results
1864
1865         * bindings/scripts/CodeGeneratorJS.pm:
1866         (GenerateImplementation):
1867         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1868         (WebCore):
1869         (WebCore::toJS):
1870         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1871         (WebCore):
1872         (WebCore::toJS):
1873         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1874         (WebCore):
1875         (WebCore::toJS):
1876         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1877         (WebCore):
1878         (WebCore::toJS):
1879         * bindings/scripts/test/JS/JSTestException.cpp:
1880         (WebCore):
1881         (WebCore::toJS):
1882         * bindings/scripts/test/JS/JSTestInterface.cpp:
1883         (WebCore):
1884         (WebCore::toJS):
1885         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1886         (WebCore):
1887         (WebCore::toJS):
1888         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1889         (WebCore):
1890         (WebCore::toJS):
1891         * bindings/scripts/test/JS/JSTestObj.cpp:
1892         (WebCore):
1893         (WebCore::toJS):
1894         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1895         (WebCore):
1896         (WebCore::toJS):
1897         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1898         (WebCore):
1899         (WebCore::toJS):
1900         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1901         (WebCore):
1902         (WebCore::toJS):
1903
1904 2013-04-11  Shezan Baig  <sbaig1@bloomberg.net>
1905
1906         Selection gaps don't repaint correctly with transforms
1907         https://bugs.webkit.org/show_bug.cgi?id=111000
1908
1909         Reviewed by Simon Fraser.
1910
1911         When computing offsetFromRepaintContainer, we need to add UseTransforms
1912         to the MapCoordinateFlags argument. Note that ApplyContainerFlip is
1913         the default value for the flag, so this change effectively only adds
1914         the UseTransforms flag.
1915
1916         Tests: fast/repaint/selection-gap-absolute-child.html
1917                fast/repaint/selection-gap-fixed-child.html
1918                fast/repaint/selection-gap-flipped-absolute-child.html
1919                fast/repaint/selection-gap-flipped-fixed-child.html
1920                fast/repaint/selection-gap-transformed-absolute-child.html
1921                fast/repaint/selection-gap-transformed-fixed-child.html
1922
1923         * rendering/RenderBlock.cpp:
1924         (WebCore::RenderBlock::selectionGapRectsForRepaint):
1925
1926 2013-04-11  Oliver Hunt  <oliver@apple.com>
1927
1928         Add more type validation to debug builds
1929         https://bugs.webkit.org/show_bug.cgi?id=114478
1930
1931         Reviewed by Mark Hahnenberg.
1932
1933         Add a bunch more type checks to the JS DOM bindings.
1934
1935         * Modules/mediastream/MediaStream.idl:
1936         * Modules/webaudio/AudioDestinationNode.idl:
1937         * WebCore.xcodeproj/project.pbxproj:
1938         * bindings/js/JSDOMBinding.h:
1939         (WebCore::getExistingWrapper):
1940         (WebCore):
1941         (WebCore::createNewWrapper):
1942         * bindings/scripts/CodeGeneratorJS.pm:
1943         (GetNativeTypeForConversions):
1944         (GetGnuVTableRefForInterface):
1945         (GetGnuVTableNameForInterface):
1946         (GetGnuMangledNameForInterface):
1947         (GetGnuVTableOffsetForType):
1948         (GetWinVTableRefForInterface):
1949         (GetWinVTableNameForInterface):
1950         (GetWinMangledNameForInterface):
1951         (GetNamespaceForInterface):
1952         (GetImplementationLacksVTableForInterface):
1953         (GetSkipVTableValidationForInterface):
1954         (GenerateImplementation):
1955         * bindings/scripts/IDLAttributes.txt:
1956         * css/CSSRuleList.idl:
1957         * css/CSSStyleDeclaration.idl:
1958         * dom/Clipboard.idl:
1959         * dom/DOMStringMap.idl:
1960         * dom/MutationRecord.idl:
1961         * dom/NodeList.idl:
1962         * html/DOMTokenList.idl:
1963         * html/track/TextTrack.idl:
1964         * inspector/ScriptProfileNode.idl:
1965         * storage/Storage.idl:
1966         * xml/XPathNSResolver.idl:
1967
1968 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
1969
1970         Remove ResourceLoadInfo
1971         https://bugs.webkit.org/show_bug.cgi?id=113302
1972
1973         Reviewed by Benjamin Poulain.
1974
1975         Co-authored by Christophe Dumez.
1976
1977         Removed ResourceLoadInfo since it had been only used by Chromium port.
1978
1979         * GNUmakefile.list.am:
1980         * Target.pri:
1981         * WebCore.order:
1982         * WebCore.vcproj/WebCore.vcproj:
1983         * WebCore.vcxproj/WebCore.vcxproj:
1984         * WebCore.vcxproj/WebCore.vcxproj.filters:
1985         * WebCore.xcodeproj/project.pbxproj:
1986         * inspector/InspectorResourceAgent.cpp:
1987         (WebCore::buildObjectForResourceResponse):
1988         * loader/FrameLoader.cpp:
1989         (WebCore::FrameLoader::loadResourceSynchronously):
1990         * platform/network/ResourceLoadInfo.h: Removed.
1991         * platform/network/ResourceResponseBase.cpp:
1992         (WebCore):
1993         (WebCore::ResourceResponseBase::reportMemoryUsage):
1994         * platform/network/ResourceResponseBase.h:
1995         (ResourceResponseBase):
1996
1997 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
1998
1999         Another Mac Lion build fix attempt after r148197.
2000
2001         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
2002
2003 2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>
2004
2005         Unable to paste twice in input field when specific CSS present
2006         https://bugs.webkit.org/show_bug.cgi?id=108675
2007
2008         Reviewed by Ryosuke Niwa.
2009
2010         When we are pre-rendering text in ReplaceSelectionCommand, we shouldn't care
2011         whether the content is clipped by its ancestors or not. This bug was caused
2012         by the fact the plainText() method returned an empty string because the text
2013         was fully clipped by its ancestors. Make plainText ignore style visibility.
2014
2015         Test: editing/inserting/insert-text-into-text-field.html
2016
2017         * editing/ReplaceSelectionCommand.cpp:
2018         (WebCore::ReplacementFragment::ReplacementFragment):
2019
2020 2013-04-11  Martin Robinson  <mrobinson@igalia.com>
2021
2022         [GTK] Add accelerated 2D canvas support using cairo-gl
2023         https://bugs.webkit.org/show_bug.cgi?id=104672
2024
2025         Reviewed by Alejandro G. Castro.
2026
2027         No new tests. We do not yet have the ability to run tests against
2028         accelerated content.
2029
2030         * platform/graphics/GraphicsContext.cpp:
2031         (WebCore): We don't use the stub implementation of isAcceleratedContext any longer.
2032         * platform/graphics/ImageBuffer.cpp:
2033         (WebCore): Ditto for ImageBuffer::platformLayer.
2034         * platform/graphics/cairo/GLContext.h:
2035         (GLContext): Added method to get a cairo_device_t from the context.
2036         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2037         (WebCore::GraphicsContext::isAcceleratedContext): Return true when we are a CairoGL surface.
2038         * platform/graphics/cairo/ImageBufferCairo.cpp:
2039         (WebCore::ImageBufferData::ImageBufferData): Initialize the size and the texture to 0.
2040         (WebCore::createCairoGLSurface): Added this helper.
2041         (WebCore::ImageBuffer::ImageBuffer): When we are in accelerated rendering mode, create
2042         a CairoGL surface.
2043         (WebCore::ImageBuffer::platformTransformColorSpace): Do not implement this for accelerated
2044         contexts yet.
2045         (WebCore::mapSurfaceToImage): Added this helper, since we don't require Cairo 1.12 yet,
2046         which provides an builtin implementation.
2047         (WebCore::unmapSurfaceFromImage): Ditto.
2048         (WebCore::getImageData): Map the surface to an image surface first.
2049         (WebCore::ImageBuffer::putByteArray): Ditto.
2050         (WebCore::ImageBufferData::paintToTextureMapper): Connect the accelerated canvas into the
2051         TextureMapper infrastructure.
2052         (WebCore::ImageBuffer::platformLayer): This lets the TextureMapper at the ImageBufferData.
2053         * platform/graphics/cairo/ImageBufferDataCairo.h:
2054         (ImageBufferData): Subclass TexturMapperPlatformLayer where appropriate.
2055         * platform/graphics/egl/GLContextEGL.cpp: Added implementation of cairoDevice.
2056         * platform/graphics/egl/GLContextEGL.h: Ditto.
2057         * platform/graphics/glx/GLContextGLX.cpp: Ditto
2058         * platform/graphics/glx/GLContextGLX.h: Ditto.
2059
2060 2013-04-11  Anders Carlsson  <andersca@apple.com>
2061
2062         Implement removing storage area items
2063         https://bugs.webkit.org/show_bug.cgi?id=114472
2064
2065         Reviewed by Beth Dakin.
2066
2067         Export StorageMap::removeItem.
2068
2069         * WebCore.exp.in:
2070
2071 2013-04-11  Brendan Long  <b.long@cablelabs.com>
2072
2073         TextTrackList's .onremovetrack is missing from IDL
2074         https://bugs.webkit.org/show_bug.cgi?id=103421
2075
2076         Reviewed by Eric Carlson.
2077
2078         Fixed test media/track/opera/interfaces/TextTrackList/onremovetrack.html
2079
2080         * html/track/TextTrackList.cpp:
2081         (TextTrackList::remove):
2082         (TextTrackList::scheduleRemoveTrackEvent):
2083         * html/track/TextTrackList.h:
2084         (TextTrackList):
2085         * html/track/TextTrackList.idl:
2086
2087 2013-04-11  Alberto Garcia  <agarcia@igalia.com>
2088
2089         [BlackBerry] Upstream the filesystem code
2090         https://bugs.webkit.org/show_bug.cgi?id=114437
2091
2092         Reviewed by Rob Buis.
2093
2094         This patch contains contributions from many members of the
2095         BlackBerry WebKit team.
2096
2097         * platform/blackberry/AsyncFileWriterBlackBerry.cpp: Added.
2098         (WebCore):
2099         (WebCore::AsyncFileWriterBlackBerry::write):
2100         * platform/blackberry/AsyncFileWriterBlackBerry.h: Added.
2101         (WTF):
2102         (WTF::BlackBerry::Platform::WebFileWriter):
2103         (WebCore):
2104         * platform/blackberry/DOMFileSystemBlackBerry.cpp: Added.
2105         (WebCore):
2106         (WebCore::DOMFileSystemBase::createFileSystemURL):
2107         (WebCore::DOMFileSystemBase::crackFileSystemURL):
2108         (WebCore::DOMFileSystemBase::supportsToURL):
2109         (WebCore::DOMFileSystemBase::isValidType):
2110         * platform/blackberry/LocalFileSystemBlackBerry.cpp: Added.
2111         (WebCore):
2112         (WebCore::fileSystemTypeString):
2113         (WebCore::openFileSystem):
2114         (WebCore::LocalFileSystem::deleteFileSystem):
2115         (WebCore::LocalFileSystem::readFileSystem):
2116         (WebCore::LocalFileSystem::requestFileSystem):
2117         * platform/blackberry/PlatformAsyncFileSystemCallbacks.cpp: Added.
2118         (WebCore):
2119         (WebCore::PlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
2120         (WebCore::PlatformAsyncFileSystemCallbacks::notifySucceed):
2121         (WebCore::PlatformAsyncFileSystemCallbacks::notifyFail):
2122         (WebCore::getFileMetadata):
2123         (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadMetadata):
2124         (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
2125         (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadDirectory):
2126         (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
2127         (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
2128         (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
2129         (WebCore::PlatformAsyncFileSystemCallbacks::deleteMe):
2130         * platform/blackberry/PlatformAsyncFileSystemCallbacks.h: Added.
2131         (WebCore):
2132         * platform/blackberry/PlatformBlob.cpp: Added.
2133         (WebCore):
2134         (WebCore::PlatformBlob::nextDataItem):
2135         * platform/blackberry/PlatformBlob.h: Added.
2136         (WebCore):
2137         * platform/blackberry/PlatformFileWriterClient.cpp: Added.
2138         (WebCore):
2139         (WebCore::PlatformFileWriterClient::notifyWrite):
2140         (WebCore::PlatformFileWriterClient::notifyTruncate):
2141         (WebCore::PlatformFileWriterClient::notifyFail):
2142         * platform/blackberry/PlatformFileWriterClient.h: Added.
2143         (WebCore):
2144         (WTF):
2145         (WTF::WebCore::PlatformFileWriterClient):
2146         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp: Added.
2147         (WebCore):
2148         (WebCore::WorkerAsyncFileSystemBlackBerry::WorkerAsyncFileSystemBlackBerry):
2149         (WebCore::WorkerAsyncFileSystemBlackBerry::~WorkerAsyncFileSystemBlackBerry):
2150         (WebCore::WorkerAsyncFileSystemBlackBerry::waitForOperationToComplete):
2151         (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystemOnMainThread):
2152         (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystemOnMainThread):
2153         (WebCore::WorkerAsyncFileSystemBlackBerry::moveOnMainThread):
2154         (WebCore::WorkerAsyncFileSystemBlackBerry::copyOnMainThread):
2155         (WebCore::WorkerAsyncFileSystemBlackBerry::removeOnMainThread):
2156         (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursivelyOnMainThread):
2157         (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadataOnMainThread):
2158         (WebCore::WorkerAsyncFileSystemBlackBerry::createFileOnMainThread):
2159         (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectoryOnMainThread):
2160         (WebCore::WorkerAsyncFileSystemBlackBerry::fileExistsOnMainThread):
2161         (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExistsOnMainThread):
2162         (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectoryOnMainThread):
2163         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread):
2164         (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadataOnMainThread):
2165         (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystem):
2166         (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystem):
2167         (WebCore::WorkerAsyncFileSystemBlackBerry::move):
2168         (WebCore::WorkerAsyncFileSystemBlackBerry::copy):
2169         (WebCore::WorkerAsyncFileSystemBlackBerry::remove):
2170         (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursively):
2171         (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadata):
2172         (WebCore::WorkerAsyncFileSystemBlackBerry::createFile):
2173         (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectory):
2174         (WebCore::WorkerAsyncFileSystemBlackBerry::fileExists):
2175         (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExists):
2176         (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectory):
2177         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriter):
2178         (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
2179         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.h: Added.
2180         (WebCore):
2181         (WorkerAsyncFileSystemBlackBerry):
2182         (WebCore::WorkerAsyncFileSystemBlackBerry::create):
2183         * platform/blackberry/WorkerAsyncFileWriterBlackBerry.cpp: Added.
2184         (WebCore):
2185         (WebCore::WorkerAsyncFileWriterBlackBerry::writeOnMainThread):
2186         (WebCore::WorkerAsyncFileWriterBlackBerry::truncateOnMainThread):
2187         (WebCore::WorkerAsyncFileWriterBlackBerry::abortOnMainThread):
2188         (WebCore::WorkerAsyncFileWriterBlackBerry::write):
2189         (WebCore::WorkerAsyncFileWriterBlackBerry::truncate):
2190         (WebCore::WorkerAsyncFileWriterBlackBerry::abort):
2191         (WebCore::WorkerAsyncFileWriterBlackBerry::waitForOperationToComplete):
2192         (WebCore::WorkerAsyncFileWriterBlackBerry::platformWriterClient):
2193         * platform/blackberry/WorkerAsyncFileWriterBlackBerry.h: Added.
2194         (WebCore):
2195         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp: Added.
2196         (WebCore):
2197         (WebCore::performTaskOnMainThread):
2198         (WebCore::postTaskToMainThread):
2199         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyStop):
2200         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
2201         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceed):
2202         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFail):
2203         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadata):
2204         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectory):
2205         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
2206         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
2207         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
2208         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::deleteMe):
2209         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::postTaskToWorkerThread):
2210         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystemOnWorkerThread):
2211         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceedOnWorkerThread):
2212         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFailOnWorkerThread):
2213         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadataOnWorkerThread):
2214         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectoryEntryOnWorkerThread):
2215         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriterOnWorkerThread):
2216         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h: Added.
2217         (WebCore):
2218         * platform/blackberry/WorkerPlatformFileWriterClient.cpp: Added.
2219         (WebCore):
2220         (WebCore::WorkerPlatformFileWriterClient::notifyWriteOnWorkerThread):
2221         (WebCore::WorkerPlatformFileWriterClient::notifyFailOnWorkerThread):
2222         (WebCore::WorkerPlatformFileWriterClient::notifyTruncateOnWorkerThread):
2223         (WebCore::WorkerPlatformFileWriterClient::notifyWrite):
2224         (WebCore::WorkerPlatformFileWriterClient::notifyTruncate):
2225         (WebCore::WorkerPlatformFileWriterClient::notifyFail):
2226         (WebCore::WorkerPlatformFileWriterClient::postTaskToWorkerThreadIfNeeded):
2227         * platform/blackberry/WorkerPlatformFileWriterClient.h: Added.
2228         (WebCore):
2229         (WTF):
2230         (WTF::WebCore::WorkerPlatformFileWriterClient):
2231
2232 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
2233
2234         Mac Lion build fix attempt after r148197.
2235
2236         * page/scrolling/mac/ScrollingStateNodeMac.mm:
2237
2238 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
2239
2240         <rdar://problem/10416316> [Mac] WebSocket doesn't work with authenticating proxies
2241         https://bugs.webkit.org/show_bug.cgi?id=114464
2242
2243         Reviewed by Brady Eidson.
2244
2245         * platform/mac/WebCoreSystemInterface.h:
2246         * platform/mac/WebCoreSystemInterface.mm:
2247         Updated for new wkCopyCONNECTProxyResponse signature.
2248
2249         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2250         (WebCore::SocketStreamHandle::executePACFileURL): Fixed a typo in a comment.
2251         (WebCore::SocketStreamHandle::addCONNECTCredentials): Don't crash even if the rest
2252         of the fix didn't work (which would be the case on some OS versions).
2253         (WebCore::SocketStreamHandle::readStreamCallback): Replaced most breaks with returns,
2254         because breaks were confusing in such a huge switch. Changed null proxyResponse
2255         to not be treated as authentication success, because it's not. Merged two parts
2256         of WaitingForConnect state handling for clarity.
2257         (WebCore::SocketStreamHandle::writeStreamCallback): Don't blindly assume that we
2258         can start WebSocket handshake after kCFStreamEventCanAcceptBytes. Perhaps it's
2259         nothing but a failed CONNECT, and a read callback still needs to send authentication.
2260         Without this, establishing connections was flaky. Added a check for Closed state,
2261         matching read callback.
2262
2263 2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>
2264
2265         MutationRecord is not exposed
2266         https://bugs.webkit.org/show_bug.cgi?id=114288
2267
2268         Reviewed by Darin Adler.
2269
2270         Expose MutationRecord on DOMWindow. This patch is copied from a patch
2271         by Adam Klein. https://codereview.chromium.org/13861028
2272
2273         Test: fast/dom/MutationObserver/mutation-record-constructor.html
2274
2275         * page/DOMWindow.idl:
2276
2277 2013-04-11  Beth Dakin  <bdakin@apple.com>
2278
2279         Cannot scroll to footer on a page with overflow:hidden on the body
2280         https://bugs.webkit.org/show_bug.cgi?id=114462
2281         -and corresponding-
2282         <rdar://problem/13530042>
2283
2284         Reviewed by Simon Fraser.
2285
2286         Add a new scenario in which we want to overrideHidden -- whenever we are the 
2287         mainFrame and there is a header or footer.
2288
2289         * page/FrameView.cpp:
2290         (WebCore::FrameView::applyOverflowToViewport):
2291
2292 2013-04-11  Commit Queue  <rniwa@webkit.org>
2293
2294         Unreviewed, rolling out r148034, r148052, r148097, and
2295         r148194.
2296         http://trac.webkit.org/changeset/148034
2297         http://trac.webkit.org/changeset/148052
2298         http://trac.webkit.org/changeset/148097
2299         http://trac.webkit.org/changeset/148194
2300         https://bugs.webkit.org/show_bug.cgi?id=114463
2301
2302         broke mutiresolution favicons, among other things (Requested
2303         by thorton on #webkit).
2304
2305         * loader/icon/IconDatabase.cpp:
2306         (WebCore::IconDatabase::setIconDataForIconURL):
2307         * loader/icon/IconDatabase.h:
2308         (IconDatabase):
2309         * loader/icon/IconDatabaseBase.h:
2310         * loader/icon/IconRecord.cpp:
2311         * loader/icon/IconRecord.h:
2312         (IconRecord):
2313
2314 2013-04-11  ChangSeok Oh  <changseok.oh@collabora.com>
2315
2316         [GTK][AC] Implement GraphicsLayerClutter::moveOrCopyAnimations
2317         https://bugs.webkit.org/show_bug.cgi?id=114019
2318
2319         Reviewed by Gustavo Noronha Silva.
2320
2321         Fill moveOrCopyAnimations that is based on Mac port implementation.
2322
2323         Tests: animations/3d/change-transform-in-end-event.html
2324                animations/3d/transform-origin-vs-functions.html
2325                compositing/animation/state-at-end-event-transform-layer.html
2326
2327         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2328         (WebCore::GraphicsLayerClutter::moveOrCopyLayerAnimation):
2329         (WebCore):
2330         (WebCore::GraphicsLayerClutter::moveOrCopyAnimations):
2331         * platform/graphics/clutter/GraphicsLayerClutter.h:
2332
2333 2013-04-11  Anders Carlsson  <andersca@apple.com>
2334
2335         Implement StorageManager::getValues
2336         https://bugs.webkit.org/show_bug.cgi?id=114461
2337
2338         Reviewed by Beth Dakin.
2339
2340         Expose the item hash map.
2341
2342         * storage/StorageMap.h:
2343         (WebCore::StorageMap::items):
2344
2345 2013-04-11  Eli Fidler  <efidler@blackberry.com>
2346
2347         [BlackBerry] Use the platform list of languages with fonts instead of hardcoding
2348         https://bugs.webkit.org/show_bug.cgi?id=114452
2349
2350         Reviewed by Rob Buis.
2351
2352         BlackBerry PR 325244
2353         Internally reviewed by Jeff Rogers
2354
2355         No functional change, but platform font changes won't need a WebKit change
2356         going forward.
2357
2358         * page/blackberry/SettingsBlackBerry.cpp:
2359         (WebCore::Settings::initializeDefaultFontFamilies):
2360
2361 2013-04-11  Dirk Schulze  <krit@webkit.org>
2362
2363         [CSS Shaders] Parse parameters descriptor
2364         https://bugs.webkit.org/show_bug.cgi?id=114455
2365
2366         Reviewed by Dean Jackson.
2367
2368         Add support for the 'parameters' descriptor in the filter at-rule to support
2369         parameterization of CSS Shaders.
2370
2371         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters
2372
2373         Tests: css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid.html
2374                css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid.html
2375
2376         * css/CSSComputedStyleDeclaration.cpp:
2377         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2378         * css/CSSParser.cpp: Added 'parameters' property and fail parsing if not inside
2379             of an @filter rule.
2380         (WebCore::CSSParser::parseValue):
2381         (WebCore::CSSParser::parseFilterRuleParameters): New helper function to verify
2382             values.
2383         (WebCore):
2384         * css/CSSParser.h:
2385         * css/CSSProperty.cpp:
2386         (WebCore::CSSProperty::isInheritedProperty):
2387         * css/CSSPropertyNames.in: Added new property name 'parameters'.
2388         * css/StyleResolver.cpp:
2389         (WebCore::StyleResolver::applyProperty):
2390
2391 2013-04-11  Arunprasad Rajkumar  <arunprasadr@nds.com>
2392
2393         Default Implementation of toString for NPObject shouldn't return NPClass & NPObject address as String
2394         https://bugs.webkit.org/show_bug.cgi?id=114450
2395
2396         Reviewed by Anders Carlsson.
2397
2398         * bridge/c/c_instance.cpp:
2399         (JSC::Bindings::CInstance::stringValue):
2400
2401 2013-04-11  Robert Hogan  <robert@webkit.org>
2402
2403         REGRESSION (142152): ensure we skip past out-of-flow objects when detecting whitespace to ignore after leading empty inlines
2404         https://bugs.webkit.org/show_bug.cgi?id=114311
2405
2406         Reviewed by Emil A Eklund.
2407
2408         When we hit an empty inline in line layout and try to detect whether it has any whitespace after it that we ought to ignore, then
2409         we need to skip past out-of-flow and floating objects when looking for that whitespace. Failure to do so will result in us
2410         adding the width from the first space we encounter to our line width and over-estimating the real width of the line.
2411
2412         We're hitting this bug now because we have broadened the category of empty inlines that get lineboxes so we go into line layout 
2413         and have to deal with them and their subsequent whitespace there. Previously this sort of whitespace would have been simply
2414         consumed by |skipLeadingWhitespace|.
2415
2416         Test: fast/inline/out-of-flow-objects-and-whitespace-after-empty-inline.html
2417
2418         * rendering/RenderBlockLineLayout.cpp:
2419         (WebCore::shouldSkipWhitespaceAfterStartObject):
2420
2421 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
2422
2423         Autocorrected text doesn't have a marker of type autocorrected
2424         https://bugs.webkit.org/show_bug.cgi?id=114337
2425
2426         Reviewed by Darin Adler.
2427
2428         The bug was caused by markAndReplaceFor's text replacement errornously assuming that there are
2429         no other text checking result starting at the same offset. That resulted in us adjusting location
2430         offsets of the subsequent results pointing at the replaced text, hit an assertion, and blow up.
2431
2432         Fixed the bug by skipping all remaining results for the replaced text since they're no longer
2433         applicable.
2434
2435         Tests: Existing autocorection tests have been updated to assert new behavior.
2436
2437         * editing/Editor.cpp:
2438         (WebCore::Editor::markAndReplaceFor):
2439
2440 2013-04-11  Michelangelo De Simone  <michelangelo@webkit.org>
2441
2442         [CSS Shaders] Parse the geometry descriptor
2443         https://bugs.webkit.org/show_bug.cgi?id=110815
2444
2445         Added initial parsing for the "geometry" descriptor, as per specification:
2446         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#geometry
2447         This descriptor allows to specify the mesh geometry for custom filters.
2448
2449         Reviewed by Dirk Schulze.
2450
2451         Tests: css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-invalid.html
2452                css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-valid.html
2453
2454         * css/CSSComputedStyleDeclaration.cpp:
2455         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2456         * css/CSSParser.cpp:
2457         (WebCore::CSSParser::parseValue):
2458         (WebCore::CSSParser::parseGeometry): New method that parses the geometry
2459         descriptor (grid()).
2460         (WebCore):
2461         * css/CSSParser.h:
2462         * css/CSSProperty.cpp:
2463         (WebCore::CSSProperty::isInheritedProperty):
2464         * css/CSSPropertyNames.in: Added conditional "geometry" property.
2465         * css/CSSValueKeywords.in: Added conditional "attached" value keyword; detached
2466         was already there.
2467
2468 2013-04-11  Anders Carlsson  <andersca@apple.com>
2469
2470         Make StorageAreaMap dispatch session storage events
2471         https://bugs.webkit.org/show_bug.cgi?id=114454
2472
2473         Reviewed by Beth Dakin.
2474
2475         Export storage symbols and headers needed by WebKit2.
2476
2477         * WebCore.exp.in:
2478         * WebCore.xcodeproj/project.pbxproj:
2479
2480 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2481
2482         handleMouseMoveEvent should let hit-testing hit-test scrollbars
2483         https://bugs.webkit.org/show_bug.cgi?id=114430
2484
2485         Reviewed by Antonio Gomes.
2486
2487         Allow hit-testing to hit-test frame scrollbars so handleMouseMoveEvent
2488         does not have to do it itself.
2489
2490         * page/EventHandler.cpp:
2491         (WebCore::EventHandler::handleMouseMoveEvent):
2492
2493 2013-04-11  Brian Holt  <brian.holt@samsung.com>
2494
2495         [Gtk] Combo boxes should be arrow-out-of-able similar to list boxes when caret-browsing is enabled.
2496         https://bugs.webkit.org/show_bug.cgi?id=76796
2497
2498         Reviewed by Chris Fleizach.
2499
2500         When using caret-browsing with the right and left arrows, the
2501         behaviour of menuLists should be the same as listBoxes. This means
2502         not default-handling the event and passing it up the stack instead.
2503
2504         * html/HTMLSelectElement.cpp:
2505         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2506
2507 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
2508
2509         Remove some ResourceHandle.h includes
2510         https://bugs.webkit.org/show_bug.cgi?id=114416
2511
2512         Reviewed by Ryosuke Niwa.
2513
2514         * loader/CrossOriginAccessControl.h:
2515         * loader/CrossOriginPreflightResultCache.h:
2516         These files don't need ResourceHandle.h, just ResourceHandleTypes.h.
2517
2518         * loader/TextTrackLoader.cpp:
2519         * loader/ThreadableLoader.h:
2520         * loader/appcache/ApplicationCacheGroup.h:
2521         * loader/cache/MemoryCache.h:
2522         * loader/mac/ResourceLoaderMac.mm:
2523         * page/Settings.cpp:
2524         * platform/network/AuthenticationChallengeBase.cpp:
2525         * platform/network/cf/CookieJarCFNet.cpp:
2526         * platform/network/cf/ResourceRequestCFNet.cpp:
2527         * xml/XSLTProcessorLibxslt.cpp:
2528         * xml/parser/XMLDocumentParser.cpp:
2529         * xml/parser/XMLDocumentParserLibxml2.cpp:
2530         Just straightforward removal of includes.
2531
2532 2013-04-04  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2533
2534         Use CSS4 image-rendering to determing image scaling quality
2535         https://bugs.webkit.org/show_bug.cgi?id=113405
2536
2537         Reviewed by Simon Fraser.
2538
2539         Implement the new CSS4 image-rendering property values.
2540
2541         Image scaling now uses low-quality (pixelated) scaling for
2542         crisp-edges, pixelated and optimizeSpeed values, and always
2543         use high quality (smooth) scaling for -webkit-smooth and
2544         optimizeQuality. The latter can be used to disable low quality
2545         scaling during CSS animations or live resizing.
2546
2547         The new values are protected with a new CSS4_IMAGES feature, but
2548         the crisp-edge value has been introduced before to displace the
2549         deprecated -webkit-optimize-contrast value, and optimizeSpeed
2550         and optimizeQuality values are supported for SVG compatibility.
2551
2552         * css/CSSParser.cpp:
2553         (WebCore::isValidKeywordPropertyAndValue):
2554         * css/CSSPrimitiveValueMappings.h:
2555         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2556         (WebCore::CSSPrimitiveValue::operator EImageRendering):
2557         * css/CSSValueKeywords.in:
2558         * rendering/RenderBoxModelObject.cpp:
2559         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
2560         * rendering/RenderHTMLCanvas.cpp:
2561         (WebCore::RenderHTMLCanvas::paintReplaced):
2562         * rendering/style/RenderStyleConstants.h:
2563
2564 2013-04-11  Adenilson Cavalcanti  <cavalcantii@gmail.com>
2565
2566         Build fix: use of uninitialized variable in ScrollingStateTree
2567         https://bugs.webkit.org/show_bug.cgi?id=114443
2568
2569         Reviewed by Anders Carlsson.
2570
2571         Initialize pointer to zero before use, fixes build.
2572         No new tests, no changes on behavior.
2573
2574         * page/scrolling/ScrollingStateTree.cpp:
2575         (WebCore::ScrollingStateTree::attachNode):
2576
2577 2013-04-11  Dirk Schulze  <krit@webkit.org>
2578
2579         [CSS Shaders] Parse mix descriptor
2580         https://bugs.webkit.org/show_bug.cgi?id=114414
2581
2582         Reviewed by Antti Koivisto.
2583
2584         Add support for the 'mix' descriptor in the filter at-rule to support blend modes
2585         and composite operators in CSS Shaders.
2586         Each pixel in the fragment shader will be blended and composited with the
2587         backdrop by taking these values into account.
2588
2589         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-mix
2590
2591         Tests: css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid.html
2592                css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid.html
2593
2594         * css/CSSComputedStyleDeclaration.cpp:
2595         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2596         * css/CSSParser.cpp: Added 'mix' property and fail parsing if not inside
2597             of an @filter rule.
2598         (WebCore::CSSParser::parseValue):
2599         (WebCore::CSSParser::parseFilterRuleMix): New helper function to verify
2600             values.
2601         (WebCore):
2602         * css/CSSParser.h:
2603         * css/CSSProperty.cpp:
2604         (WebCore::CSSProperty::isInheritedProperty):
2605         * css/CSSPropertyNames.in: Added new property name 'mix'.
2606         * css/StyleResolver.cpp:
2607         (WebCore::StyleResolver::applyProperty):
2608
2609 2013-04-11  Zalan Bujtas  <zalan@apple.com>
2610
2611         Parent box with background-size auto and gradient image does not get properly repainted when child box is resized. 
2612         https://bugs.webkit.org/show_bug.cgi?id=114424
2613
2614         Reviewed by Antti Koivisto.
2615         
2616         Initiate full repaint on fill layer, when the image is generated and the background
2617         property defines auto size.
2618         http://www.w3.org/TR/css3-background/#background-size
2619         'If the image has neither an intrinsic width nor an intrinsic height, its size is determined as for 'contain'.'
2620
2621         Extended fast/repaint/background-shorthand-with-gradient-and-height-changes.html
2622         to cover this case too.
2623
2624         * rendering/RenderObject.cpp:
2625         (WebCore::mustRepaintFillLayers):
2626
2627 2013-04-11  ChangSeok Oh  <changseok.oh@collabora.com>
2628
2629         [GTK][AC] use a smart pointer for GList and ClutterCanvas
2630         https://bugs.webkit.org/show_bug.cgi?id=114057
2631
2632         Reviewed by Gustavo Noronha Silva.
2633
2634         We can make simple code & prevent possible memory leak by using a proper smart pointer.
2635         Especially if we get children by clutter_actor_get_children, we should free it after using.
2636
2637         No functionality changed.
2638
2639         * platform/graphics/clutter/GraphicsLayerActor.cpp:
2640         (graphicsLayerActorUpdateTexture):
2641         (graphicsLayerActorRemoveAll):
2642
2643 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
2644
2645         [BlackBerry][CSS Filters] Blur filter fails to recompute blur size when layer size changes
2646         https://bugs.webkit.org/show_bug.cgi?id=114272
2647
2648         Reviewed by Rob Buis.
2649
2650         Blur appeared blocky or pixelated when surface changed size after
2651         creating the filter actions. The initial image size was used to
2652         determine the blur size (expressed in texture coordinate system).
2653         Fixed by recomputing the blur size when the surface size changes, using
2654         a new Uniform1f subclass that can use a functor to compute the uniform
2655         value per-frame.
2656
2657         This fixes css3/filters/effect-blur-hw.html. This can only be verified
2658         by manual inspection because the BlackBerry port is not currently using
2659         pixel tests.
2660
2661         PR 323730
2662
2663         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
2664         (WebCore):
2665         (SurfaceFunctor):
2666         (WebCore::SurfaceFunctor::SurfaceFunctor):
2667         (InverseSurfaceWidth):
2668         (WebCore::InverseSurfaceWidth::InverseSurfaceWidth):
2669         (WebCore::InverseSurfaceWidth::operator()):
2670         (InverseSurfaceHeight):
2671         (WebCore::InverseSurfaceHeight::InverseSurfaceHeight):
2672         (WebCore::LayerFilterRenderer::actionsForOperations):
2673         * platform/graphics/blackberry/LayerFilterRenderer.h:
2674         (Uniform1f):
2675         (WebCore):
2676         (Uniform1fWithFunctor):
2677         (WebCore::Uniform1fWithFunctor::create):
2678         (WebCore::Uniform1fWithFunctor::Uniform1fWithFunctor):
2679         (WebCore::Uniform1fWithFunctor::apply):
2680         (WebCore::Uniform1f::createWithFunctor):
2681
2682 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
2683
2684         [BlackBerry] Accelerated compositing debug rectangle incorrectly drawn for layers with surfaces
2685         https://bugs.webkit.org/show_bug.cgi?id=114275
2686
2687         Reviewed by Carlos Garcia Campos.
2688
2689         The drawDebugBorder method was updated to mirror the logic in
2690         compositeLayersRecursive, i.e. if we're compositing a surface to the
2691         screen, use the transformed bounds stored in the surface. The bounds
2692         stored in the layer should only be used when drawing the layer to the
2693         surface.
2694
2695         Speaking of which, also update the code to skip border drawing when
2696         drawing a layer to a surface. Drawing the borders inside the surface
2697         would only result in messing up the surface contents, especially when
2698         CSS filters like blur were the reason for having a surface in the first
2699         place - the border would be blurred and hard to discern.
2700
2701         Only manually testable, the debug border is disabled during layout
2702         tests.
2703
2704         PR 323746
2705
2706         * platform/graphics/blackberry/LayerRenderer.cpp:
2707         (WebCore::LayerRenderer::drawDebugBorder):
2708         * platform/graphics/blackberry/LayerRendererSurface.cpp:
2709         (WebCore::LayerRendererSurface::drawRect):
2710         (WebCore::LayerRendererSurface::transformedBounds): Added.
2711         (WebCore):
2712         * platform/graphics/blackberry/LayerRendererSurface.h:
2713         (LayerRendererSurface):
2714
2715 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
2716
2717         [BlackBerry] Compiler warning in LayerWebKitThread.cpp
2718         https://bugs.webkit.org/show_bug.cgi?id=114277
2719
2720         Reviewed by Carlos Garcia Campos.
2721
2722         All the relevant WTF::Vector APIs use size_t, storing the position in
2723         an int resulted in a compiler warning. Fixed by switching to size_t.
2724
2725         No change in behavior, no new tests.
2726
2727         PR 323753
2728
2729         * platform/graphics/blackberry/LayerWebKitThread.cpp:
2730         (WebCore::LayerWebKitThread::remove):
2731         (WebCore::LayerWebKitThread::replaceSublayer):
2732
2733 2013-04-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2734
2735         [CoordinatedGraphics] Use ScrollingStateTree to handle fixed elements positioning while scrolling
2736         https://bugs.webkit.org/show_bug.cgi?id=114353
2737
2738         Reviewed by Noam Rosenthal.
2739         
2740         ScrollingCoordinatorCoordinatedGraphics should implement threaded scrolling interface and
2741         re-use threaded scrolling approach (ScrollingStateTree and ViewportConstraints) to handle
2742         fixed/sticky elements positioning while scrolling. The rationals are below.
2743
2744         Before the change ScrollingCoordinatorCoordinatedGraphics was implementing Chromium-specific
2745         interface which is going to be removed eventually as there is no ScrollingCoordinatorChromium
2746         existing.
2747
2748         Tested by existing manual tests (fixed-position.html for example.
2749
2750         * CMakeLists.txt:
2751         * Target.pri:
2752             Included ScrollingStateTree files.
2753
2754         * page/scrolling/ScrollingStateFixedNode.cpp:
2755         * page/scrolling/ScrollingStateFixedNode.h:
2756         * page/scrolling/ScrollingStateNode.cpp:
2757         * page/scrolling/ScrollingStateNode.h:
2758         * page/scrolling/ScrollingStateScrollingNode.cpp:
2759         * page/scrolling/ScrollingStateScrollingNode.h:
2760         * page/scrolling/ScrollingStateStickyNode.cpp:
2761         * page/scrolling/ScrollingStateStickyNode.h:
2762         * page/scrolling/ScrollingStateTree.cpp:
2763         * page/scrolling/ScrollingStateTree.h:
2764             Removed ENABLE(THREADED_SCROLLING) code guards.
2765
2766         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
2767         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
2768         (WebCore::ScrollingCoordinatorCoordinatedGraphics::~ScrollingCoordinatorCoordinatedGraphics):
2769         (WebCore):
2770         (WebCore::ScrollingCoordinatorCoordinatedGraphics::attachToStateTree):
2771         (WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
2772         (WebCore::ScrollingCoordinatorCoordinatedGraphics::clearStateTree):
2773         (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
2774         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
2775             ScrollingCoordinatorCoordinatedGraphics is using threaded scrolling approach to handle fixed
2776             elements positioning while scrolling.
2777
2778         (WebCore):
2779         (ScrollingCoordinatorCoordinatedGraphics):
2780         * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp: Added.
2781         (WebCore):
2782         (WebCore::ScrollingStateNode::platformScrollLayer):
2783         (WebCore::ScrollingStateNode::setScrollPlatformLayer):
2784         (WebCore::ScrollingStateNode::setScrollLayer):
2785         * page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp: Added.
2786         (WebCore):
2787         (WebCore::ScrollingStateScrollingNode::counterScrollingPlatformLayer):
2788         (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
2789
2790 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2791
2792         [Qt] EventHandler should handle Space and BackSpace 
2793         https://bugs.webkit.org/show_bug.cgi?id=114428
2794
2795         Reviewed by Jocelyn Turcotte.
2796
2797         Enable default space-handling for Qt.
2798
2799         * page/EventHandler.cpp:
2800
2801 2013-04-11  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2802
2803         IconDatabase: Simplify boolean logic in assertion.
2804         https://bugs.webkit.org/show_bug.cgi?id=114425
2805
2806         Reviewed by Andreas Kling.
2807
2808         Follow-up to r148097; drop the overzealous use of !! to turn a
2809         PassRefPtr into a boolean.
2810
2811         * loader/icon/IconDatabase.cpp:
2812         (WebCore::IconDatabase::updateIconRecord):
2813
2814 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
2815
2816         [BlackBerry] LayerTexture refactoring
2817         https://bugs.webkit.org/show_bug.cgi?id=114276
2818
2819         Reviewed by Carlos Garcia Campos.
2820
2821         Remove the GpuHandle and HostType typedefs from LayerTexture, they
2822         don't make any sense now that we removed the Skia code paths. With Skia
2823         they used to be an OpenGL texture ID and an SkBitmap respectively, but
2824         now it's just BlackBerry::Platform::Graphics::Buffer all around.
2825
2826         This allows us to rename textureId() into buffer() which is more to the
2827         point. The texture ID concept is now up for grabs and can be used to
2828         consolidate all the various code for extracting an OpenGL texture from
2829         a BlackBerry::Platform::Graphics::Buffer. This opportunity is seized in
2830         LayerTexture::platformTexture(), a name which makes more sense than
2831         textureId() for anyone familiar with the GraphicsContext3D code. We can
2832         also leverage the Platform3DObject typedef to avoid including gl2.h.
2833
2834         The vertex attribute state was getting trampled when interacting with
2835         BlackBerry::Platform::Graphics in the LayerFilterRenderer. Some
2836         additional GL state save/restore incantations when accessing the OpenGL
2837         texture for a LayerTexture in the new LayerTexture::platformTexture()
2838         method fixes various CSS Filters test cases.
2839
2840         Since we removed the Skia integration from LayerTiler, nobody cares
2841         about the dirty rect, tile rect or opaqueness of the tile contents. So
2842         remove those parameters from the updateContents code path.
2843
2844         No change in behavior except for fixing CSS Filters tests like
2845         css3/filters/effect-blur-hw.html. This can only be verified by manually
2846         looking at the tests, we don't have pixel test support to catch this
2847         kind of regression.
2848
2849         PR 322882
2850
2851         * platform/graphics/blackberry/LayerCompositingThread.cpp:
2852         (WebCore::LayerCompositingThread::drawSurface):
2853         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
2854         (WebCore::LayerFilterRenderer::ping):
2855         (WebCore::LayerFilterRenderer::pong):
2856         (WebCore::LayerFilterRenderer::pushSnapshot):
2857         (WebCore::LayerFilterRenderer::popSnapshot):
2858         (WebCore::LayerFilterRenderer::applyActions):
2859         * platform/graphics/blackberry/LayerRenderer.cpp:
2860         (WebCore::LayerRenderer::useSurface):
2861         * platform/graphics/blackberry/LayerTexture.cpp:
2862         (WebCore::LayerTexture::LayerTexture):
2863         (WebCore::LayerTexture::updateContents):
2864         (WebCore::LayerTexture::setContentsToColor):
2865         (WebCore::LayerTexture::protect):
2866         (WebCore::LayerTexture::platformTexture):
2867         (WebCore):
2868         * platform/graphics/blackberry/LayerTexture.h:
2869         (WebCore::LayerTexture::isDirty):
2870         (WebCore::LayerTexture::buffer):
2871         (LayerTexture):
2872         (WebCore::LayerTexture::setBuffer):
2873         * platform/graphics/blackberry/LayerTile.cpp:
2874         (WebCore::LayerTile::setContents):
2875         (WebCore::LayerTile::updateContents):
2876         * platform/graphics/blackberry/LayerTile.h:
2877         (WebCore::LayerTile::hasTexture):
2878         (LayerTile):
2879         * platform/graphics/blackberry/LayerTiler.cpp:
2880         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
2881         (WebCore::LayerTiler::uploadTexturesIfNeeded):
2882         (WebCore::LayerTiler::performTileJob):
2883         (WebCore::LayerTiler::drawTile):
2884         * platform/graphics/blackberry/LayerTiler.h:
2885         (WebCore::LayerTiler::TextureJob::TextureJob):
2886         (WebCore::LayerTiler::TextureJob::setContents):
2887         (WebCore::LayerTiler::TextureJob::updateContents):
2888         (TextureJob):
2889         (LayerTiler):
2890         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
2891         (WebCore::TextureCacheCompositingThread::createBuffer):
2892         (WebCore::TextureCacheCompositingThread::collectGarbage):
2893         (WebCore::TextureCacheCompositingThread::install):
2894         (WebCore::TextureCacheCompositingThread::resizeTexture):
2895         (WebCore::TextureCacheCompositingThread::evict):
2896         (WebCore::TextureCacheCompositingThread::textureForContents):
2897         (WebCore::TextureCacheCompositingThread::updateContents):
2898         * platform/graphics/blackberry/TextureCacheCompositingThread.h:
2899         (TextureCacheCompositingThread):
2900         (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
2901         (ZombieTexture):
2902
2903 2013-04-11  Alberto Garcia  <agarcia@igalia.com>
2904
2905         [BlackBerry] RenderThemeBlackBerry: upstream missing code
2906         https://bugs.webkit.org/show_bug.cgi?id=114343
2907
2908         Reviewed by Xan Lopez.
2909
2910         Add implementations of sliderTickSize() and
2911         sliderTickOffsetFromTrackCenter(), as well as a missing header.
2912
2913         * platform/blackberry/RenderThemeBlackBerry.cpp:
2914         (WebCore):
2915         (WebCore::RenderThemeBlackBerry::sliderTickSize):
2916         (WebCore::RenderThemeBlackBerry::sliderTickOffsetFromTrackCenter):
2917         * platform/blackberry/RenderThemeBlackBerry.h:
2918         (RenderThemeBlackBerry):
2919
2920 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2921
2922         HitTestRequest::AllowFrameScrollbars does not test main frame scrollbar
2923         https://bugs.webkit.org/show_bug.cgi?id=112563
2924
2925         Reviewed by Antonio Gomes.
2926
2927         Move the frame scrollbar testing from RenderPart to RenderView, so that it is
2928         tested by all frame and not just child frames. At the same time remove the 
2929         main frame test from the one current callsite using the option.
2930
2931         Tested by fast/events/touch/gesture/gesture-scrollbar.html.
2932
2933         * page/EventHandler.cpp:
2934         (WebCore::EventHandler::handleGestureEvent):
2935         * rendering/RenderPart.cpp:
2936         (WebCore::RenderPart::nodeAtPoint):
2937         * rendering/RenderView.cpp:
2938         (WebCore::RenderView::hitTest):
2939
2940 2013-04-11  Rune Lillesveen  <rune@opera.com>
2941
2942         Incorrect evaluation of resolution media queries
2943         https://bugs.webkit.org/show_bug.cgi?id=114029
2944
2945         Reviewed by Kenneth Rohde Christiansen.
2946
2947         The implementation used the physical resolution to evaluate the
2948         resolution media features. Changed to use the actual CSS resolution,
2949         also known as the device-pixel-ratio, instead. Unified the code for
2950         evaluating the resolution and device-pixel-ratio media features.
2951
2952         No new tests, covered by existing tests.
2953
2954         * WebCore.exp.in:
2955         * css/CSSPrimitiveValue.h:
2956         (WebCore::CSSPrimitiveValue::isResolution):
2957         * css/MediaQueryEvaluator.cpp:
2958         (WebCore::evalResolution):
2959         (WebCore::device_pixel_ratioMediaFeatureEval):
2960         (WebCore::resolutionMediaFeatureEval):
2961         * page/Screen.cpp:
2962         * page/Screen.h:
2963         * page/Settings.cpp:
2964         (WebCore):
2965         * page/Settings.h:
2966         (Settings):
2967         * testing/InternalSettings.cpp:
2968         (WebCore::InternalSettings::Backup::Backup):
2969         (WebCore::InternalSettings::Backup::restoreTo):
2970         * testing/InternalSettings.h:
2971         (Backup):
2972         (InternalSettings):
2973         * testing/InternalSettings.idl:
2974
2975 2013-04-11  Carlos Garcia Campos  <cgarcia@igalia.com>
2976
2977         FrameLoaderClient::assignIdentifierToInitialRequest() not called for the main resource when loaded from the memory cache
2978         https://bugs.webkit.org/show_bug.cgi?id=112418
2979
2980         Reviewed by Darin Adler.
2981
2982         When the main resource is loaded from the memory cache the
2983         response is not added to the ResponseVector of the document
2984         loader, so that when committing the provisional load the remaining
2985         delegate messages are not called because the ResponseVector of the
2986         document loader is empty. When the main resource is loaded from
2987         the memory cache, there's no resource loader, and the client is
2988         notified about the response received using
2989         ResourceLoadNotifier::dispatchDidReceiveResponse() directly
2990         instead of ResourceLoadNotifier::didReceiveResponse() which is the
2991         one adding the response to the ResponseVector of the document
2992         loader. So, the problem can be fixed by adding the response to the
2993         ResponseVector before calling dispatchDidReceiveResponse() when
2994         loading the main resource without a resource loade
2995
2996         Test: loader/go-back-cached-main-resource.html
2997
2998         * loader/DocumentLoader.cpp:
2999         (WebCore::DocumentLoader::responseReceived):
3000
3001 2013-04-10  Alexey Proskuryakov  <ap@apple.com>
3002
3003         Remove some includes of CachedImage.h
3004         https://bugs.webkit.org/show_bug.cgi?id=114411
3005
3006         Reviewed by Dan Bernstein.
3007
3008         * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
3009         definition of a class it holds, but default construction does not.
3010
3011         * rendering/RenderImageResource.cpp:
3012         * rendering/RenderImageResource.h:
3013         Moved definitions of virtual functions to a .cpp file. There is no win from having
3014         them inline, and now we don't need CachedImage.h in the header.
3015
3016         * bindings/js/JSNodeCustom.cpp:
3017         * dom/Clipboard.cpp:
3018         (WebCore::Clipboard::Clipboard):
3019         * platform/mac/ClipboardMac.h:
3020         * rendering/InlineFlowBox.cpp:
3021         * rendering/RenderBox.cpp:
3022         * rendering/RenderListItem.cpp:
3023         * rendering/RenderListMarker.cpp:
3024         * rendering/RenderTableCol.cpp:
3025         * rendering/RenderTableRow.cpp:
3026         * rendering/RenderTableSection.cpp:
3027         * svg/graphics/SVGImageCache.cpp:
3028         Removed unnecessary includes.
3029
3030         * platform/mac/PasteboardMac.mm:
3031         * rendering/RenderSnapshottedPlugIn.cpp:
3032         Added ones where they are now necessary.
3033
3034 2013-04-10  No'am Rosenthal  <noam@webkit.org>
3035
3036         Allow direct compositing of background images
3037         https://bugs.webkit.org/show_bug.cgi?id=108203
3038
3039         Reviewed by Simon Fraser.
3040
3041         Use setContentsToImage for background images, if the GraphicsLayer has only a background
3042         bitmap image and nothing else. Compute the contentsRect/contentsTileRect from the box model.
3043         Added new properties to GraphicsLayer, contentsTilePhase and contentsTileSize, which controls the "single tile rect",
3044         which allows us to compute the pattern-space transform of a tile, thus allowing background-size
3045         and other characteristics of background images.
3046
3047         This feature is explicitly disabled when there is any composition with a background color or if
3048         there are several background images, as in that case having a single backing store has some
3049         advantages over directly compositing in hardware.
3050
3051         Currently, this feature is disabled for all ports, allowing ports to implement their backend
3052         and decide when to enable it.
3053
3054         Note that RenderBoxModelObject::getGeometryForBackgroundImage crops the contents rect to the 
3055         area that contains the tiles, which allows us to assume full tiling in GraphicsLayer.
3056         In this way contentsTileSize/Phase is equivalent to GraphicsContext::drawTiledImage.
3057
3058         Tests: compositing/patterns/direct-pattern-compositing-add-text.html
3059                compositing/patterns/direct-pattern-compositing-change.html
3060                compositing/patterns/direct-pattern-compositing-contain.html
3061                compositing/patterns/direct-pattern-compositing-cover.html
3062                compositing/patterns/direct-pattern-compositing-load.html
3063                compositing/patterns/direct-pattern-compositing-padding.html
3064                compositing/patterns/direct-pattern-compositing-position.html
3065                compositing/patterns/direct-pattern-compositing-rotation.html
3066                compositing/patterns/direct-pattern-compositing-size.html
3067                compositing/patterns/direct-pattern-compositing.html
3068
3069         * platform/graphics/GraphicsLayer.h:
3070         (GraphicsLayer):
3071         (WebCore::GraphicsLayer::setContentsTileSize):
3072         (WebCore::GraphicsLayer::setContentsTilePhase):
3073         (WebCore::GraphicsLayer::contentsTileSize):
3074         (WebCore::GraphicsLayer::contentsTilePhase):
3075         (WebCore::GraphicsLayer::supportsContentsTiling):
3076                 Add a contentsTileRect property that enables tile-repeat of background images.
3077
3078         * rendering/RenderBox.cpp:
3079         (WebCore::RenderBox::imageChanged):
3080                 Pass background image changes to the layer backing.
3081
3082         * rendering/RenderBoxModelObject.cpp:
3083         * rendering/RenderBoxModelObject.h:
3084         (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
3085                 Expose a function that performs the geometry calculations needed to determine 
3086                 the tileRect for a background image. This function is also responsible
3087                 for cropping the contentsRect to fit the area that is drawn into.
3088
3089         * rendering/RenderLayerBacking.h:
3090         * rendering/RenderLayerBacking.cpp:
3091         (WebCore::RenderLayerBacking::contentChanged):
3092         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3093         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3094         (WebCore::RenderLayerBacking::updateDirectlyCompositedContents):
3095         (WebCore::RenderLayerBacking::resetContentsRect):
3096         (WebCore::hasBoxDecorationsOrBackgroundImage):
3097         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
3098         (WebCore::canCreateTiledImage):
3099         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
3100         (WebCore::backgroundRectForBox):
3101                 Allow background images to be directly composited if conditions allow (see bug description).
3102
3103 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
3104
3105         Replace ENABLE_LEGACY_WEB_AUDIO preprocessor statements in IDL files with Conditional attribute
3106         https://bugs.webkit.org/show_bug.cgi?id=114351
3107
3108         Reviewed by Ryosuke Niwa.
3109
3110         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
3111
3112         * Modules/webaudio/AudioBufferSourceNode.idl:
3113         * Modules/webaudio/AudioContext.idl:
3114         * Modules/webaudio/AudioParam.idl:
3115         * Modules/webaudio/OscillatorNode.idl:
3116
3117 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
3118
3119         Replace ENABLE_DIRECTORY_UPLOAD preprocessor statements in IDL files with Conditional attribute
3120         https://bugs.webkit.org/show_bug.cgi?id=114350
3121
3122         Reviewed by Ryosuke Niwa.
3123
3124         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
3125
3126         * fileapi/File.idl:
3127
3128 2013-04-10  Ryosuke Niwa  <rniwa@webkit.org>
3129
3130         Cleanup local variables in Editor::markAndReplaceFor
3131         https://bugs.webkit.org/show_bug.cgi?id=114383
3132
3133         Reviewed by Enrica Casucci.
3134
3135         Added resultEndLocation, which is the sum of resultLocation and resultLength.
3136
3137         Also replaced ambiguousBoundaryOffset by useAmbiguousBoundaryOffset since the ambiguous offset is always
3138         selectionOffset -1 to avoid the extra house keeping and obnoxious -1 check.
3139
3140         * editing/Editor.cpp:
3141         (WebCore::Editor::markAndReplaceFor):
3142
3143 2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
3144
3145         Mass remove all the empty directories
3146
3147         Rubberstamped by Ryosuke Niwa.
3148
3149         * Modules/intents: Removed.
3150         * Modules/protocolhandler: Removed.
3151         * Modules/speech/mac: Removed.
3152         * accessibility/efl: Removed.
3153         * accessibility/gtk: Removed.
3154         * bridge/jni/jsc: Removed.
3155         * editing/android: Removed.
3156         * editing/gtk: Removed.
3157         * history/android: Removed.
3158         * page/android: Removed.
3159         * platform/android: Removed.
3160         * platform/clutter: Removed.
3161         * platform/graphics/blackberry/skia: Removed.
3162         * platform/graphics/harfbuzz/ng: Removed.
3163         * platform/graphics/pango: Removed.
3164         * platform/image-decoders/cg: Removed.
3165         * platform/image-decoders/qt: Removed.
3166         * platform/network/android: Removed.
3167         * platform/network/soup/cache/webkit: Removed.
3168         * platform/text/android: Removed.
3169         * platform/text/wince: Removed.
3170         * platform/track: Removed.
3171
3172 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
3173
3174         Log when the animation timer fires
3175         https://bugs.webkit.org/show_bug.cgi?id=114393
3176
3177         Reviewed by Dean Jackson.
3178
3179         Logging to the Animations log channel when the updateAnimationTimer
3180         fires is useful, because it indicates whether we're running
3181         software animations.
3182
3183         * page/animation/AnimationController.cpp:
3184         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
3185
3186 2013-04-10  Beth Dakin  <bdakin@apple.com>
3187
3188         Inspector highlights are offset when the WKView has a header
3189         https://bugs.webkit.org/show_bug.cgi?id=114389
3190         -and corresponding-
3191         <rdar://problem/13522434>
3192
3193         Reviewed by Sam Weinig.
3194
3195         rootViewToContents() and contentsToRootView() need to factor in the 
3196         headerHeight(), much like windowToContents() and contentsToWindow() do already. 
3197         * platform/ScrollView.cpp:
3198         (WebCore::ScrollView::rootViewToContents):
3199         (WebCore::ScrollView::contentsToRootView):
3200
3201 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
3202
3203         Flesh out the Animations logging
3204         https://bugs.webkit.org/show_bug.cgi?id=114388
3205
3206         Reviewed by Dean Jackson.
3207
3208         Log state changes and transition/animation creation and destruction
3209         to the Animations log channel.
3210
3211         * page/animation/AnimationBase.cpp:
3212         (WebCore::nameForState):
3213         (WebCore::AnimationBase::updateStateMachine):
3214         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
3215         (WebCore::AnimationBase::goIntoEndingOrLoopingState):
3216         (WebCore::AnimationBase::freezeAtTime):
3217         * page/animation/CompositeAnimation.cpp:
3218         (WebCore::CompositeAnimation::updateTransitions):
3219         (WebCore::CompositeAnimation::updateKeyframeAnimations):
3220         * page/animation/KeyframeAnimation.h:
3221         (WebCore::KeyframeAnimation::keyframes):
3222         (KeyframeAnimation):
3223
3224 2013-04-10  Alexey Proskuryakov  <ap@apple.com>
3225
3226         <rdar://problem/13047266> External XML entities are not loaded with modern libxml2
3227         https://bugs.webkit.org/show_bug.cgi?id=114377
3228
3229         Reviewed by Darin Adler.
3230
3231         Covered by http/tests/security/xss-DENIED-xml-external-entity.xhtml when using
3232         new enough libxml2.
3233
3234         * xml/parser/XMLDocumentParserLibxml2.cpp:
3235         (WebCore::switchToUTF16): Added a FIXME with an idea for improvement.
3236         (WebCore::XMLParserContext::createStringParser): Apply XML_PARSE_NOENT in a non-hacky
3237         way, so that the new libxml2 check doesn't fail.
3238         (WebCore::XMLParserContext::createMemoryParser): Updated an unhelpful and incorrect
3239         comment (XML_PARSE_NODICT actually means "Do not reuse the context dictionary").
3240
3241 2013-04-10  Eric Carlson  <eric.carlson@apple.com>
3242
3243         [Mac] in-band tracks sometimes not recognized
3244         https://bugs.webkit.org/show_bug.cgi?id=114380
3245
3246         Reviewed by Jer Noble.
3247
3248         No new tests, covered by existing in-band tests.
3249
3250         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3251         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Don't call selectMediaOption,
3252             availableMediaCharacteristicsWithMediaSelectionOptions is unlikely to be loaded at this time.
3253         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Disable automatic text track
3254             selection.
3255         (WebCore::assetMetadataKeyNames): Watch for the status of availableMediaCharacteristicsWithMediaSelectionOptions
3256             to change.
3257
3258 2013-04-10  Hans Muller  <hmuller@adobe.com>
3259
3260         [CSS Exclusions] Zoom causes shape-inside to fail when shape-padding is specified
3261         https://bugs.webkit.org/show_bug.cgi?id=113730
3262
3263         Reviewed by Dirk Schulze.
3264
3265         Snap computed margin and polygon boundaries to the LayoutUnit grid to ensure
3266         that they fall within the shape's LayoutUnit bounding box.
3267
3268         Test: fast/exclusions/shape-inside/shape-inside-polygon-zoom.html
3269
3270         * rendering/ExclusionPolygon.cpp:
3271         (WebCore::snapVerticesToLayoutUnitGrid): Convert the FloatPoint coordinates to LayoutUnits and then back to floats.
3272         (WebCore::computeShapePaddingBounds): Now calls snapVerticesToLayoutUnitGrid() before creating a FloatPolygon.
3273         (WebCore::computeShapeMarginBounds): Ditto.
3274
3275 2013-04-10  Csaba Osztrogonác  <ossy@webkit.org>
3276
3277         One more unreviewed buildfix after r148123.
3278
3279         * platform/graphics/filters/CustomFilterMeshGenerator.h:
3280
3281 2013-04-10  Beth Dakin  <bdakin@apple.com>
3282
3283         FindBanner matches are offset when the WKView has a header or footer
3284         https://bugs.webkit.org/show_bug.cgi?id=114314
3285         -and corresponding-
3286         <rdar://problem/13522434>
3287
3288         Reviewed by Simon Fraser.
3289
3290         There were already a few places in the code where we needed to adjust the 
3291         scrollOffset() to pretend that (0,0) is that the top of the Document rather than 
3292         the top of the header. To fix the FindBanner issues, we need to know that version 
3293         of the offset in a few more places, so I added a function on ScrollView to fetch 
3294         it called scrollOffsetRelativeToDocument().
3295
3296         New function subtracts out the headerHeight() to treat the top of 
3297         the document as (0,0).
3298         * WebCore.exp.in:
3299         * platform/ScrollView.cpp:
3300         (WebCore::ScrollView::scrollOffsetRelativeToDocument):
3301
3302         Use scrollOffsetRelativeToDocument() where we were previously making this 
3303         calculation. Also re-name an inaccurately named variable where we are actually 
3304         converting FROM a document offset to a ScrollableArea offset.
3305         (WebCore::ScrollView::windowToContents):
3306         * platform/ScrollView.h:
3307         (ScrollView):
3308
3309         getRectToExpose needs to know about the actual visibleContentRect and the 
3310         visibleContentRect that is relative to the Document. So this 
3311         patch adds a new parameter to getRectToExpose for that purpose.
3312         * rendering/RenderLayer.cpp:
3313         (WebCore::RenderLayer::scrollRectToVisible):
3314         (WebCore::RenderLayer::getRectToExpose):
3315         * rendering/RenderLayer.h:
3316
3317 2013-04-10  Chris Fleizach  <cfleizach@apple.com>
3318
3319         when ARIA button contains a link, label text is ignored (affects main buttons on m.facebook.com)
3320         https://bugs.webkit.org/show_bug.cgi?id=113906
3321
3322         Reviewed by Tim Horton.
3323
3324         If an element does not expose any children, then it's safe to include all of its sub children when determining
3325         the visible text.
3326         The bug is that all elements were ignoring focusable elements (like <a>) when determining visible children text
3327
3328         Test: accessibility/link-inside-button-accessible-text.html
3329
3330         * accessibility/AccessibilityNodeObject.cpp:
3331         (WebCore::shouldUseAccessiblityObjectInnerText):
3332         * accessibility/AccessibilityNodeObject.h:
3333         (AccessibilityNodeObject):
3334         * accessibility/AccessibilityObject.h:
3335         (WebCore::AccessibilityObject::isDescendantOfBarrenParent):
3336         (AccessibilityObject):
3337
3338 2013-04-10  Chris Fleizach  <cfleizach@apple.com>
3339
3340         AX: Make sure all AX methods called from outside call prepareAccessibility
3341         https://bugs.webkit.org/show_bug.cgi?id=113818
3342
3343         Reviewed by Darin Adler.
3344
3345         Make sure any calls that can be made from outside WebCore are protected with the
3346         prepareAccessibility method.
3347
3348         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3349         (-[WebAccessibilityObjectWrapper accessibilityMathRootIndexObject]):
3350         (-[WebAccessibilityObjectWrapper accessibilityMathRadicandObject]):
3351         (-[WebAccessibilityObjectWrapper accessibilityMathNumeratorObject]):
3352         (-[WebAccessibilityObjectWrapper accessibilityMathDenominatorObject]):
3353         (-[WebAccessibilityObjectWrapper accessibilityMathBaseObject]):
3354         (-[WebAccessibilityObjectWrapper accessibilityMathSubscriptObject]):
3355         (-[WebAccessibilityObjectWrapper accessibilityMathSuperscriptObject]):
3356         (-[WebAccessibilityObjectWrapper accessibilityMathUnderObject]):
3357         (-[WebAccessibilityObjectWrapper accessibilityMathOverObject]):
3358         (-[WebAccessibilityObjectWrapper accessibilityMathFencedOpenString]):
3359         (-[WebAccessibilityObjectWrapper accessibilityMathFencedCloseString]):
3360         (-[WebAccessibilityObjectWrapper accessibilityIsMathTopObject]):
3361         (-[WebAccessibilityObjectWrapper accessibilityMathType]):
3362
3363 2013-04-10  Csaba Osztrogonác  <ossy@webkit.org>
3364
3365         Unreviewed buildfix after r148123.
3366
3367         * inspector/InspectorInstrumentation.h:
3368         (WebCore):
3369
3370 2013-04-10  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3371
3372         Clicking on the volume slider of HTML5 elements is pausing sometimes
3373         https://bugs.webkit.org/show_bug.cgi?id=112548
3374
3375         Reviewed by Eric Carlson.
3376
3377         Test: media/click-volume-bar-not-pausing.html
3378
3379         * html/shadow/MediaControlElementTypes.cpp:
3380         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
3381         Calling the setDefaultHandled() method on the event prevents it
3382         from being incorrectly propagated from the volume button up to the
3383         MediaDocument.
3384
3385 2013-04-10  Arvid Nilsson  <anilsson@rim.com>
3386
3387         [BlackBerry] Rename BlackBerry specific Texture class
3388         https://bugs.webkit.org/show_bug.cgi?id=95781
3389
3390         Reviewed by Rob Buis.
3391
3392         Texture was a bit too generic and prone to name conflicts. Renamed it
3393         to LayerTexture.
3394
3395         No change in behavior, no new tests.
3396
3397         PR 322882
3398
3399         * PlatformBlackBerry.cmake:
3400         * platform/graphics/blackberry/LayerCompositingThread.cpp:
3401         (WebCore::LayerCompositingThread::drawSurface):
3402         (WebCore::LayerCompositingThread::contentsTexture):
3403         * platform/graphics/blackberry/LayerCompositingThread.h:
3404         (LayerCompositingThread):
3405         * platform/graphics/blackberry/LayerCompositingThreadClient.h:
3406         (WebCore):
3407         (WebCore::LayerCompositingThreadClient::contentsTexture):
3408         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
3409         (WebCore::LayerFilterRenderer::applyActions):
3410         * platform/graphics/blackberry/LayerFilterRenderer.h:
3411         (LayerFilterRenderer):
3412         * platform/graphics/blackberry/LayerRendererSurface.h:
3413         (WebCore::LayerRendererSurface::texture):
3414         (LayerRendererSurface):
3415         * platform/graphics/blackberry/LayerTexture.cpp: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.cpp.
3416         (WebCore):
3417         (WebCore::LayerTexture::LayerTexture):
3418         (WebCore::LayerTexture::~LayerTexture):
3419         (WebCore::LayerTexture::updateContents):
3420         (WebCore::LayerTexture::setContentsToColor):
3421         (WebCore::LayerTexture::protect):
3422         * platform/graphics/blackberry/LayerTexture.h: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.h.
3423         (WebCore):
3424         (LayerTexture):
3425         (WebCore::LayerTexture::create):
3426         (WebCore::LayerTexture::textureId):
3427         (WebCore::LayerTexture::isDirty):
3428         (WebCore::LayerTexture::hasTexture):
3429         (WebCore::LayerTexture::isColor):
3430         (WebCore::LayerTexture::isOpaque):
3431         (WebCore::LayerTexture::isProtected):
3432         (WebCore::LayerTexture::protect):
3433         (WebCore::LayerTexture::unprotect):
3434         (WebCore::LayerTexture::size):
3435         (WebCore::LayerTexture::width):
3436         (WebCore::LayerTexture::height):
3437         (WebCore::LayerTexture::bytesPerPixel):
3438         (WebCore::LayerTexture::sizeInBytes):
3439         (WebCore::LayerTexture::setTextureId):
3440         (WebCore::LayerTexture::setSize):
3441         * platform/graphics/blackberry/LayerTile.cpp:
3442         (WebCore::LayerTile::setContents):
3443         (WebCore::LayerTile::updateContents):
3444         (WebCore::LayerTile::setTexture):
3445         * platform/graphics/blackberry/LayerTile.h:
3446         (WebCore::LayerTile::texture):
3447         (LayerTile):
3448         * platform/graphics/blackberry/LayerTiler.cpp:
3449         (WebCore::LayerTiler::drawTile):
3450         (WebCore::LayerTiler::contentsTexture):
3451         * platform/graphics/blackberry/LayerTiler.h:
3452         (LayerTiler):
3453         (WebCore::LayerTiler::TextureJob::TextureJob):
3454         (WebCore::LayerTiler::TextureJob::setContents):
3455         (WebCore::LayerTiler::TextureJob::updateContents):
3456         (TextureJob):
3457         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
3458         (WebCore::TextureProtector::TextureProtector):
3459         (TextureProtector):
3460         (WebCore::TextureCacheCompositingThread::allocateTextureId):
3461         (WebCore::freeTextureId):
3462         (WebCore::TextureCacheCompositingThread::textureResized):
3463         (WebCore::TextureCacheCompositingThread::textureSizeInBytesChanged):
3464         (WebCore::TextureCacheCompositingThread::textureDestroyed):
3465         (WebCore::TextureCacheCompositingThread::install):
3466         (WebCore::TextureCacheCompositingThread::resizeTexture):
3467         (WebCore::TextureCacheCompositingThread::evict):
3468         (WebCore::TextureCacheCompositingThread::textureAccessed):
3469         (WebCore::TextureCacheCompositingThread::prune):
3470         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
3471         (WebCore::TextureCacheCompositingThread::textureForColor):
3472         (WebCore::TextureCacheCompositingThread::updateContents):
3473         * platform/graphics/blackberry/TextureCacheCompositingThread.h:
3474         (WebCore::TextureCacheCompositingThread::createTexture):
3475         (TextureCacheCompositingThread):
3476         (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
3477         (ZombieTexture):
3478
3479 2013-04-10  Andreas Kling  <akling@apple.com>
3480
3481         Disallow programmatic movement of the browser window while user gestures are in progress.
3482         <http://webkit.org/b/114271>
3483         <rdar://problem/13226530>
3484
3485         Reviewed by Oliver Hunt.
3486
3487         * page/DOMWindow.cpp:
3488         (WebCore::DOMWindow::moveBy):
3489         (WebCore::DOMWindow::moveTo):
3490         (WebCore::DOMWindow::resizeBy):
3491         (WebCore::DOMWindow::resizeTo):
3492
3493 2013-04-10  Ryosuke Niwa  <rniwa@webkit.org>
3494
3495         Refactor Editor::markAndReplaceFor before fixing autocorrection bugs
3496         https://bugs.webkit.org/show_bug.cgi?id=114344
3497
3498         Reviewed by Enrica Casucci.
3499
3500         This patch refactors Editor::markAndReplaceFor so that we can start fixing bugs in a sane state.
3501         Extracted isAutomaticTextReplacementType and correctSpellcheckingPreservingTextCheckingParagraph,
3502         and made convenience local variables const.
3503
3504         In particular, shouldMarkSpelling used to be assigned of false when shouldShowCorrectionPanel was true
3505         in a middle of a function but this was removed in favor of explicitly checking this condition later
3506         since shouldMarkSpelling was only referenced once after the assignment.
3507
3508         * editing/Editor.cpp:
3509         (WebCore::isAutomaticTextReplacementType): Extracted.
3510
3511         (WebCore::correctSpellcheckingPreservingTextCheckingParagraph): Extracted.  Used highestAncestor
3512         and rangeFromLocationAndLength to match the rest of the up-to-date editing code.
3513
3514         (WebCore::Editor::markAndReplaceFor): See above.
3515
3516 2013-04-08  Anders Carlsson  <andersca@apple.com>
3517
3518         Remove unneeded headers from FrameLoader.h
3519         https://bugs.webkit.org/show_bug.cgi?id=114223
3520
3521         Reviewed by Geoffrey Garen.
3522
3523         Remove unneeded headers from FrameLoader.h and add them back into the respective .cpp files where needed.
3524
3525         * dom/Document.cpp:
3526         * history/CachedFrame.cpp:
3527         * history/PageCache.cpp:
3528         * inspector/InspectorResourceAgent.cpp:
3529         * loader/DocumentLoader.cpp:
3530         * loader/FrameLoader.cpp:
3531         (WebCore::FrameLoader::FrameLoader):
3532         (WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad):
3533         * loader/FrameLoader.h:
3534         (WebCore):
3535         (WebCore::FrameLoader::policyChecker):
3536         (WebCore::FrameLoader::history):
3537         (WebCore::FrameLoader::icon):
3538         * loader/MixedContentChecker.h:
3539         * loader/icon/IconLoader.cpp:
3540         * page/History.cpp:
3541         * page/Page.cpp:
3542         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3543         * testing/Internals.cpp:
3544
3545 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
3546
3547         Minor code cleanup in AnimationBase::progress
3548         https://bugs.webkit.org/show_bug.cgi?id=114371
3549
3550         Reviewed by Dean Jackson.
3551
3552         Convert some "return; else if" to just "return; if".
3553
3554         * page/animation/AnimationBase.cpp:
3555         (WebCore::AnimationBase::progress):
3556
3557 2013-04-10  Robert Hogan  <robert@webkit.org>
3558
3559         Empty inline continuations should only get lineboxes if the padding applies to their side of the inline
3560         https://bugs.webkit.org/show_bug.cgi?id=113896
3561
3562         Reviewed by David Hyatt.
3563
3564         Test: fast/inline/inline-with-empty-inline-continuations.html
3565
3566         Where an empty inline is split across anonymous blocks we should only give lineboxes to the 'sides' of the
3567         inline that have borders, padding or margin.
3568
3569         * rendering/RenderBlockLineLayout.cpp:
3570         (WebCore::shouldApplyStartBorderPaddingOrMargin):
3571         (WebCore):
3572         (WebCore::shouldApplyEndBorderPaddingOrMargin):
3573         (WebCore::hasInlineDirectionBordersPaddingOrMargin):
3574         (WebCore::alwaysRequiresLineBox):
3575
3576 2013-04-10  Zoltan Horvath  <zoltan@webkit.org>
3577
3578         [CSS Exclusions] Increasing padding does not correctly layout child blocks
3579         https://bugs.webkit.org/show_bug.cgi?id=112929
3580
3581         Reviewed by David Hyatt.
3582
3583         If a child block has changed dimension inside a shape and it has affected the block siblings
3584         we need to relayout the content inside the shape.
3585
3586         Test: fast/exclusions/shape-inside/shape-inside-sibling-block-dimension-change-needs-relayout.html
3587
3588         * rendering/RenderBlock.cpp:
3589         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout): Add condition for dimension change.
3590         (WebCore::RenderBlock::layoutBlock): Call updateRegionsAndExclusionsAfterChildLayout with the new parameter.
3591         * rendering/RenderBlock.h:
3592         (RenderBlock): Add extra parameter to updateRegionsAndExclusionsAfterChildLayout(...)
3593
3594 2013-04-10  Geoffrey Garen  <ggaren@apple.com>
3595
3596         Removed bitrotted TimeoutChecker code
3597         https://bugs.webkit.org/show_bug.cgi?id=114336
3598
3599         Reviewed by Alexey Proskuryakov.
3600
3601         This mechanism hasn't worked for a while.
3602
3603         MarkL is working on a new version of this feature with a distinct
3604         implementation.
3605
3606         * bindings/js/JSCallbackData.cpp:
3607         (WebCore::JSCallbackData::invokeCallback):
3608         * bindings/js/JSCustomXPathNSResolver.cpp:
3609         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3610         * bindings/js/JSDOMWindowBase.cpp:
3611         (WebCore::JSDOMWindowBase::commonJSGlobalData):
3612         * bindings/js/JSErrorHandler.cpp:
3613         (WebCore::JSErrorHandler::handleEvent):
3614         * bindings/js/JSEventListener.cpp:
3615         (WebCore::JSEventListener::handleEvent):
3616         * bindings/js/JSMutationCallback.cpp:
3617         (WebCore::JSMutationCallback::call):
3618         * bindings/js/ScheduledAction.cpp:
3619         (WebCore::ScheduledAction::executeFunctionInContext):
3620         * bindings/js/ScriptController.cpp:
3621         (WebCore::ScriptController::evaluateInWorld):
3622         * bindings/js/SerializedScriptValue.cpp:
3623         (WebCore::CloneBase::CloneBase):
3624         (WebCore::CloneSerializer::serialize):
3625         (WebCore::CloneDeserializer::deserialize):
3626         * bindings/js/WorkerScriptController.cpp:
3627         (WebCore::WorkerScriptController::evaluate):
3628         * bindings/objc/WebScriptObject.mm:
3629         (-[WebScriptObject callWebScriptMethod:withArguments:]):
3630         (-[WebScriptObject evaluateWebScript:]):
3631
3632 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
3633
3634         Replace ENABLE_JAVASCRIPT_DEBUGGER preprocessor statements in IDL files with Conditional attribute
3635         https://bugs.webkit.org/show_bug.cgi?id=114352
3636
3637         Reviewed by Timothy Hatcher.
3638
3639         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
3640
3641         * page/Console.idl:
3642
3643 2013-04-10  Alexandru Chiculita  <achicu@adobe.com>
3644
3645         Layers with opacity and blur filters are reported as opaque to the compositor
3646         https://bugs.webkit.org/show_bug.cgi?id=114295
3647
3648         Reviewed by Simon Fraser.
3649
3650         Test: compositing/contents-opaque/filter.html
3651
3652         Some filters like opacity and blur might still trigger transparency in the layer, even though the
3653         background is opaque. I've added the special case in RenderLayer::backgroundIsKnownToBeOpaqueInRect to check
3654         for filters that might have transparency. Note that this special case is required only for software drawn
3655         filters, as the transparency is going to be backed in the GraphicsLayer content. Composited filters can
3656         figure it out in the compositor.
3657
3658         * rendering/RenderLayer.cpp:
3659         (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
3660
3661 2013-04-10  Noam Rosenthal  <noam@webkit.org>
3662
3663         [Texmap] In certain situations nested blending with overflow:hidden displays clipped results
3664         https://bugs.webkit.org/show_bug.cgi?id=114290
3665
3666         Reviewed by Allan Sandfeld Jensen.
3667
3668         Always apply the clip when binding a surface, even if it hasn't changed.
3669         Otherwise when binding a nested surface and rebinding its container surface,
3670         the clip wouldn't apply.
3671
3672         Test: compositing/overlap-blending/nested-overlap-overflow.html
3673
3674         * platform/graphics/texmap/TextureMapperGL.cpp:
3675         (WebCore::BitmapTextureGL::bind):
3676
3677 2013-04-10  Antti Koivisto  <antti@apple.com>
3678
3679         Use minimal tiles during live resize
3680         https://bugs.webkit.org/show_bug.cgi?id=114364
3681
3682         Reviewed by Darin Adler.
3683
3684         We currently update non-visible speculative tiles during resizing. We should just drop them.
3685
3686         * page/FrameView.cpp:
3687         (WebCore::FrameView::willStartLiveResize):
3688         (WebCore::FrameView::willEndLiveResize):
3689         * page/FrameView.h:
3690         * rendering/RenderLayerBacking.cpp:
3691         (WebCore::computeTileCoverage):
3692         
3693             Use minimal coverage in live resize state.
3694
3695 2013-04-10  Victor Costan  <costan@gmail.com>
3696
3697         Blob content type normalization.
3698         https://bugs.webkit.org/show_bug.cgi?id=111380
3699
3700         Reviewed by Alexey Proskuryakov.
3701
3702         Tests: http/tests/fast/files/blob-constructor.js
3703                http/tests/fileapi/xhr-send-form-data-filename-escaping.html
3704                http/tests/fileapi/xhr-send-form-data-mimetype-normalization.html
3705
3706         * WebCore.exp.in: exported Blob::isNormalizedContentType()
3707         * bindings/js/JSBlobCustom.cpp:
3708         (WebCore::JSBlobConstructor::constructJSBlob): remove checks on Blob type, BlobBuilder will normalize it
3709         * fileapi/Blob.cpp:
3710         (BlobType): utilities for normalizing a Blob's type according to the File API spec
3711         (WebCore::BlobType::isValid): content type validity checks in the File API spec
3712         (WebCore::BlobType::normalize): implements the normalization rules in the File API spec
3713         (WebCore::BlobType::isNormalized): useful for ASSERTing that a Blob type has been normalized
3714         (WebCore): implement Blob type normalization according to the File API spec
3715         (WebCore::Blob::Blob): normalize the Blob type in the data URL
3716         (WebCore::Blob::slice): normalize the Blob type argument
3717         * fileapi/Blob.h:
3718         (BlobType): utilities for normalizing a Blob's type according to the File API spec
3719         (WebCore::Blob::create): assert that the deserialized Blob's type was normalized
3720         * fileapi/File.cpp:
3721         (WebCore::createBlobDataForFileWithType): assert that the File's MIME type is a normalized Blob type
3722         * fileapi/WebKitBlobBuilder.cpp:
3723         (WebCore::BlobBuilder::getBlob): normalize the Blob's type before building it
3724         * platform/network/BlobData.h:
3725         (WebCore::BlobData::setContentType): assert that the Blob type has been normalized
3726         * platform/network/FormData.cpp:
3727         (WebCore::FormData::appendKeyValuePairItems): assert that Blob's type has been normalized
3728         * platform/network/FormDataBuilder.cpp:
3729         (WebCore::FormDataBuilder::addContentTypeToMultiPartHeader): assert that the Content-Type field is normalized
3730         * xml/XMLHttpRequest.cpp: when responseType is blob, normalize Content-Type before passing to Blob constructor
3731
3732 2013-04-10  Tim Horton  <timothy_horton@apple.com>
3733
3734         TileController doesn't remove tiles when the view is resized, leading to stale content
3735         https://bugs.webkit.org/show_bug.cgi?id=114323
3736         <rdar://problem/13520671>
3737
3738         Reviewed by Simon Fraser.
3739
3740         Ensure that tiles are removed if the view shrinks, so that they are not displayed
3741         with stale content if the view later grows again (they will not be repainted by WebCore
3742         while out-of-view).
3743
3744         * platform/graphics/ca/mac/TileController.h:
3745         * platform/graphics/ca/mac/TileController.mm:
3746         (WebCore::TileController::revalidateTiles):
3747
3748 2013-04-10  Jessie Berlin  <jberlin@apple.com>
3749
3750         Update the localizable strings file.
3751
3752         Rubber-stamped by Dan Bernstein.
3753
3754         * English.lproj/Localizable.strings:
3755
3756 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
3757
3758         Replace ENABLE_CHANNEL_MESSAGING preprocessor statements in IDL files with Conditional attribute
3759         https://bugs.webkit.org/show_bug.cgi?id=114346
3760
3761         Reviewed by Geoffrey Garen.
3762
3763         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
3764
3765         * page/DOMWindow.idl:
3766         * workers/WorkerContext.idl:
3767
3768 2013-04-10  Eric Carlson  <eric.carlson@apple.com>
3769
3770         Update all float attributes in HTMLMediaElement to double
3771         https://bugs.webkit.org/show_bug.cgi?id=113615
3772
3773         Reviewed by Geoffrey Garen
3774         Patch by Aaron Colwell
3775
3776         No new tests. Primary behavior doesn't change. Just time, playbackRate, and volume precision.
3777         All existing LayoutTests/media tests still pass.
3778
3779         * WebCore.exp.in: Remove function that no longer need to be exported.
3780
3781         * html/HTMLMediaElement.cpp: Change all float attributes to double.
3782         * html/HTMLMediaElement.h: Ditto.
3783         * html/HTMLMediaElement.idl: Ditto.
3784         * html/MediaController.cpp: Ditto.
3785         * html/MediaController.h: Ditto.
3786         * html/MediaControllerInterface.h: Ditto.
3787         * html/TimeRanges.cpp: Ditto.
3788         * html/TimeRanges.idl: Ditto.
3789         * html/shadow/MediaControlElementTypes.cpp: Ditto.
3790         * html/shadow/MediaControlElementTypes.h: Ditto.
3791         * html/shadow/MediaControlElements.cpp: Ditto.
3792         * html/shadow/MediaControlElements.h: Ditto.
3793         * html/shadow/MediaControls.cpp: Ditto.
3794         * html/shadow/MediaControlsApple.cpp: Ditto.
3795         * html/shadow/MediaControlsBlackBerry.cpp: Ditto.
3796         * html/shadow/MediaControlsBlackBerry.h: Ditto.
3797         * html/shadow/MediaControlsGtk.cpp: Ditto.
3798         * html/track/TextTrackCue.cpp: Ditto.
3799         * html/track/TextTrackCue.h: Ditto.
3800         * platform/Clock.h: Ditto.
3801         * platform/ClockGeneric.cpp: Ditto.
3802         * platform/ClockGeneric.h: Ditto.
3803         * platform/graphics/MediaPlayer.cpp: Ditto.
3804         * platform/graphics/MediaPlayer.h: Ditto.
3805         * platform/graphics/MediaPlayerPrivate.h: Ditto.
3806         * platform/mac/PlatformClockCA.cpp: Ditto.
3807         * platform/mac/PlatformClockCA.h: Ditto.
3808         * platform/mac/PlatformClockCM.h: Ditto.
3809         * platform/mac/PlatformClockCM.mm: Ditto.
3810
3811 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
3812
3813         Replace ENABLE_MICRODATA preprocessor statements in IDL files with Conditional attribute
3814         https://bugs.webkit.org/show_bug.cgi?id=114349
3815
3816         Reviewed by Geoffrey Garen.
3817
3818         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
3819
3820         * dom/Document.idl:
3821         * html/HTMLElement.idl:
3822
3823 2013-04-10  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
3824
3825         REGRESSION(r148034): IconDatabase::updateIconRecord crashes with null iconData and iconBitmap.
3826         https://bugs.webkit.org/show_bug.cgi?id=114356
3827
3828         Reviewed by Tim Horton.
3829
3830         When loading an icon fails (for example, when a non-existent URI is
3831         passed to the loader), updateIconRecord can be called with both
3832         iconData and iconBitmap having no data.
3833
3834         This used to be fine before r148034, but causes an assertion now.
3835
3836         No new tests, existing tests such as fast/encoding/mispositioned-meta.html
3837         were crashing.
3838
3839         * loader/icon/IconDatabase.cpp:
3840         (WebCore::IconDatabase::updateIconRecord): Change the ASSERT() to check
3841         for a NAND condition that only fails if both iconData and iconBitmap
3842         are not 0.
3843
3844 2013-04-10  JungJik Lee  <jungjik.lee@samsung.com>
3845
3846         [Texmap] Update a dirty region which is not covered with keepRect.
3847         https://bugs.webkit.org/show_bug.cgi?id=113752
3848
3849         Reviewed by Jocelyn Turcotte.
3850
3851         There can be a dirty region which is not covered with keepRect. 
3852         However the dirty could be inside the tile area. In this case, 
3853         currently we ignore the dirty by intersecting with keepRect 
3854         and the dirty region will not be invalidated until the tile is 
3855         recreated. We must expand the keep rect to its intersecting tiles 
3856         to make sure that the dirty region is applied to existing tiles. 
3857
3858         No tests needed, change is unobservable.
3859
3860         * platform/graphics/TiledBackingStore.cpp:
3861         (WebCore::TiledBackingStore::invalidate):
3862
3863 2013-04-10  Laszlo Gombos  <l.gombos@samsung.com>
3864
3865         Remove ENABLE_3D_PLUGIN
3866         https://bugs.webkit.org/show_bug.cgi?id=108002
3867
3868         Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
3869
3870         Reviewed by Antti Koivisto.
3871
3872         No new tests, removing dead code.
3873
3874         * loader/SubframeLoader.cpp:
3875         (WebCore::SubframeLoader::loadPlugin):
3876
3877 2013-04-10  Noam Rosenthal  <noam@webkit.org>
3878
3879         [Texmap] Hierarchy of layers with opacity may result in wrong blending.
3880         https://bugs.webkit.org/show_bug.cgi?id=113732
3881
3882         Reviewed by Allan Sandfeld Jensen.
3883
3884         This is a combination of three issues with nested intermediate surfaces:
3885         - glScissor inside an intermediate surface should not be mirrored.
3886         - The current surface should be passed to the next surface in paintOptions.
3887         - When clipping for the non-overlap region, the containing surface offset 
3888         should be applied.
3889
3890         Though the changes are separate, they cannot be tested separately as neither
3891         fixes a testable case on its own. 
3892
3893         Tests: compositing/overlap-blending/nested-non-overlap-clipping.html
3894                compositing/overlap-blending/nested-overlap.html
3895
3896         * platform/graphics/texmap/TextureMapperGL.cpp:
3897         (WebCore::TextureMapperGL::ClipStack::reset):
3898         (WebCore::TextureMapperGL::ClipStack::apply):
3899         (WebCore::TextureMapperGL::beginPainting):
3900         (WebCore::BitmapTextureGL::clearIfNeeded):
3901         * platform/graphics/texmap/TextureMapperGL.h:
3902         (ClipStack):
3903             Do not mirror the scissor clip when painting to an FBO.
3904             Also a minor refactor to avoid reading the viewport values from the driver.
3905
3906         * platform/graphics/texmap/TextureMapperLayer.cpp:
3907         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
3908             Apply the offset when clipping for a non-overlap region.
3909         (WebCore::TextureMapperLayer::paintIntoSurface):
3910             Make sure the current surface is passed to the next one.
3911
3912 2013-04-10  Antti Koivisto  <antti@apple.com>
3913
3914         Create fewer tiles when page is loading
3915         https://bugs.webkit.org/show_bug.cgi?id=114294
3916
3917         Reviewed by Anders Carlsson.
3918
3919         We currently create speculative tiles immediately. Page is often changing rapidly during loading and
3920         keeping the speculative tiles up to date creates extra work.
3921         
3922         Tests: platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative.html
3923                platform/mac-wk2/tiled-drawing/tile-coverage-speculative.html
3924         
3925        * loader/FrameLoader.cpp:
3926         (WebCore::FrameLoader::loadProgressingStatusChanged):
3927         * page/FrameView.cpp:
3928         (WebCore::FrameView::adjustTiledBackingCoverage):
3929         (WebCore::FrameView::setWasScrolledByUser):
3930         
3931             User scrolling enables speculative tiling no matter what the load status.
3932
3933         * page/FrameView.h:
3934         * rendering/RenderLayerBacking.cpp:
3935         (WebCore::computeTileCoverage):
3936         (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
3937         
3938             Cover only the viewport during loading.
3939
3940 2013-04-10  Alberto Garcia  <agarcia@igalia.com>
3941
3942         [BlackBerry] RenderThemeBlackBerry: get rid of all the SKIA code
3943         https://bugs.webkit.org/show_bug.cgi?id=114339
3944
3945         Reviewed by Carlos Garcia Campos.
3946
3947         * platform/blackberry/RenderThemeBlackBerry.cpp:
3948         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
3949         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
3950         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
3951         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderThumb):
3952
3953 2013-04-10  Zan Dobersek  <zdobersek@igalia.com>
3954
3955         REGRESSION (r147719): Failures in two a11y tests on GTK
3956         https://bugs.webkit.org/show_bug.cgi?id=114259
3957
3958         Reviewed by Ryosuke Niwa.
3959
3960         No new tests - covered by existing tests.
3961
3962         Partially revert r147719, restoring the possible creation of the AXObject cache 
3963         and the subsequent call to its handleFocusedUIElementChanged method. Removing this
3964         code caused regressions in accessibility tests on the GTK port, so the comment about
3965         the AXObject cache is adjusted accordingly.
3966
3967         * dom/Document.cpp:
3968         (WebCore::Document::setFocusedNode):
3969
3970 2013-04-09  Philippe Normand  <pnormand@igalia.com>
3971
3972         [GStreamer] playbin uri getter is invalid
3973         https://bugs.webkit.org/show_bug.cgi?id=113884
3974
3975         Reviewed by Martin Robinson.
3976
3977         When loading a new media location use the url stored as a member
3978         variable instead of the one stored as a playbin property. The uri
3979         property semantic changed in playbin since 0.10.36+. One should
3980         now use current-uri but to avoid ifdefs depending on GStreamer
3981         version we simply use the url already known as member variable.
3982
3983         Test: http/tests/media/video-redirect.html
3984
3985         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3986
3987 2013-04-09  Geoffrey Garen  <ggaren@apple.com>
3988
3989         [JSC] Script run from an isolated world should bypass a page's CSP
3990         https://bugs.webkit.org/show_bug.cgi?id=100815
3991
3992         Reviewed by Oliver Hunt.
3993
3994         * bindings/js/ScriptController.cpp:
3995         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
3996         * bindings/js/ScriptController.h: Test the current caller's DOM wrapper
3997         world to decide whether CSP should be enforced.
3998
3999         Like most of CSP, this is a stupid policy because it doesn't address
4000         second-order effects like <script> parsing or event handler execution,
4001         which might be triggered indirectly by privileged scripts. These indirect
4002         effects are still broken. Oh well.
4003
4004 2013-04-09  Benjamin Poulain  <bpoulain@apple.com>
4005
4006         Remove chromium exceptions from WebCore's gitattributes
4007         https://bugs.webkit.org/show_bug.cgi?id=114327
4008
4009         Reviewed by Darin Adler.
4010
4011         * .gitattributes:
4012
4013 2013-04-09  Adam Klein  <adamk@chromium.org>
4014
4015         Update Document's event listener type bitfield when adopting a Node
4016         https://bugs.webkit.org/show_bug.cgi?id=114322
4017
4018         Reviewed by Darin Adler.
4019
4020         Without this, moving a Node between documents can silently deactivate
4021         an event listener, if it's one of the types that whose creation is
4022         optimized away by Document::hasListenerType.
4023
4024         An alternate approach would be to simply copy the old document's
4025         bitfield over. It's a tradeoff between making adoption fast and making
4026         the operation of any operation depending on these event types fast.
4027         The latter seems like the right optimization given that adoption
4028         doesn't happen very often.
4029
4030         Test: fast/events/event-listener-moving-documents.html
4031
4032         * dom/Node.cpp:
4033         (WebCore::Node::didMoveToNewDocument): For each event listener type on the adopted node, update the new document's list of listener types.
4034
4035 2013-04-09  Dean Jackson  <dino@apple.com>
4036
4037         Add logging channel for animations
4038         https://bugs.webkit.org/show_bug.cgi?id=114325
4039
4040         Reviewed by Simon Fraser.
4041
4042         * platform/Logging.cpp: Add LogAnimations.
4043         (WebCore::getChannelFromName): Return LogAnimations for "Animations".
4044         * platform/Logging.h: Add LogAnimations.
4045         * platform/mac/LoggingMac.mm:
4046         (WebCore::initializeLoggingChannelsIfNecessary): Copy preference.
4047         * platform/win/LoggingWin.cpp:
4048         (WebCore::initializeLoggingChannelsIfNecessary): Copy preference.
4049
4050 2013-04-09  Dongwoo Joshua Im  <dw.im@samsung.com>
4051
4052         [CSS3] Parsing the property, text-justify.
4053         https://bugs.webkit.org/show_bug.cgi?id=100058
4054
4055         Reviewed by Andreas Kling.
4056
4057         This patch implements the parsing side of the "text-justify" property specified
4058         in CSS3 working draft, with "-webkit-" prefix, under ENABLE_CSS3_TEXT flag.
4059         Specification link : http://www.w3.org/TR/css3-text/#text-justify
4060
4061         Tests: fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify-inherited.html
4062                fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify.html
4063
4064         * css/CSSComputedStyleDeclaration.cpp:
4065         (WebCore):
4066         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4067         * css/CSSParser.cpp:
4068         (WebCore::isValidKeywordPropertyAndValue):
4069         (WebCore::isKeywordPropertyID):
4070         (WebCore::CSSParser::parseValue):
4071         * css/CSSPrimitiveValueMappings.h:
4072         (WebCore):
4073         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
4074         (WebCore::CSSPrimitiveValue::operator TextJustify):
4075         * css/CSSProperty.cpp:
4076         (WebCore::CSSProperty::isInheritedProperty):
4077         * css/CSSPropertyNames.in:
4078         * css/CSSValueKeywords.in:
4079         * css/StyleBuilder.cpp:
4080         (WebCore::StyleBuilder::StyleBuilder):
4081         * css/StylePropertySet.cpp: