1 2013-04-15 Chris Fleizach <cfleizach@apple.com>
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
6 Reviewed by Maciej Stachowiak.
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.
11 Test: fast/dom/fragment-activation-focuses-target.html
14 (WebCore::FrameView::scrollToAnchor):
16 2013-04-12 Maciej Stachowiak <mjs@apple.com>
18 Remove V8-specific extended attributes from IDL files
19 https://bugs.webkit.org/show_bug.cgi?id=114523
21 Reviewed by Geoffrey Garen.
23 No tests because no behavior change is expected.
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:
45 * workers/WorkerContext.idl:
46 * xml/XMLHttpRequest.idl:
47 * xml/XPathNSResolver.idl:
49 2013-04-15 Anders Carlsson <andersca@apple.com>
51 ScriptWrappable subclasses shouldn't have to include WeakInlines.h
52 https://bugs.webkit.org/show_bug.cgi?id=114641
54 Reviewed by Alexey Proskuryakov.
56 Remove ScriptWrappableInlines.h includes, they're not needed anymore.
58 * css/WebKitCSSMatrix.cpp:
60 * dom/ClientRectList.cpp:
62 * dom/DOMStringMap.cpp:
64 * dom/MutationRecord.cpp:
65 * fileapi/FileList.cpp:
67 * plugins/DOMMimeTypeArray.cpp:
68 * plugins/DOMPlugin.cpp:
69 * plugins/DOMPluginArray.cpp:
70 * storage/Storage.cpp:
72 2013-04-15 Igor Oliveira <igor.o@sisa.samsung.com>
74 Call directly RenderBlock::deleteLineBoxTree
75 https://bugs.webkit.org/show_bug.cgi?id=102761
77 Reviewed by Darin Adler.
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.
84 * rendering/RenderBlockLineLayout.cpp:
85 (WebCore::RenderBlock::determineStartPosition):
87 2013-04-15 Anders Carlsson <andersca@apple.com>
89 Remove files related to quota and proximity events from the Xcode project
90 https://bugs.webkit.org/show_bug.cgi?id=114635
92 Reviewed by Benjamin Poulain.
94 * WebCore.xcodeproj/project.pbxproj:
95 * history/PageCache.cpp:
98 2013-04-15 Patrick Gansterer <paroga@webkit.org>
100 [CMake] Add WTF_USE_*_UNICODE variables
101 https://bugs.webkit.org/show_bug.cgi?id=114556
103 Reviewed by Brent Fulgham.
105 WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
106 reduce duplication in the platform specific CMake files.
109 * PlatformBlackBerry.cmake:
111 * PlatformWinCE.cmake:
113 2013-04-15 Eric Carlson <eric.carlson@apple.com>
115 HTMLMediaElement::removeTextTrack should clear track client
116 https://bugs.webkit.org/show_bug.cgi?id=114630
118 Reviewed by Jer Noble.
120 No new tests, this is clean-up that prevents a potential crash.
122 * html/HTMLMediaElement.cpp:
123 (WebCore::HTMLMediaElement::removeTextTrack): Clear the track client.
125 2013-04-15 Robert Hogan <robert@webkit.org>
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
130 Reviewed by David Hyatt.
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|.
137 Test: fast/inline/padding-before-leading-positioned-element-contributes-width.html
139 * rendering/RenderBlockLineLayout.cpp:
140 (WebCore::previousInFlowSibling):
142 (WebCore::inlineLogicalWidth):
144 2013-04-15 peavo@outlook.com <peavo@outlook.com>
146 [WinCairo] Compile fix.
147 https://bugs.webkit.org/show_bug.cgi?id=114623
149 Reviewed by Brent Fulgham.
151 * platform/network/curl/CookieJarCurl.cpp: Added required header files.
153 2013-04-15 Rob Buis <rbuis@rim.com>
155 Fix some compiler warnings (miscellaneous)
156 https://bugs.webkit.org/show_bug.cgi?id=80790
158 Reviewed by Darin Adler.
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.
163 * platform/image-encoders/JPEGImageEncoder.cpp:
164 (WebCore::compressRGBABigEndianToJPEG):
166 2013-04-15 Patrick Gansterer <paroga@webkit.org>
168 [GTK] Remove platform specific implementation of KURL::fileSystemPath()
169 https://bugs.webkit.org/show_bug.cgi?id=114133
171 Reviewed by Martin Robinson.
173 r147883 added a generic implementation of this function,
174 which can be used by all ports to share the code.
176 * GNUmakefile.list.am:
179 * platform/gtk/KURLGtk.cpp: Removed.
181 2013-04-15 Csaba Osztrogonác <ossy@webkit.org>
183 Debug buildfix after r148433.
184 https://bugs.webkit.org/show_bug.cgi?id=108295
186 Reviewed by Allan Sandfeld Jensen.
188 * platform/graphics/texmap/TextureMapperLayer.h:
189 (WebCore::TextureMapperLayer::children): Added.
191 2013-04-15 Noam Rosenthal <noam@webkit.org>
193 Coordinated Graphics: Remove GraphicsLayerTextureMapper dependency from CoordinatedGraphicsScene.
194 https://bugs.webkit.org/show_bug.cgi?id=108295
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.
199 This reduces unnecessary function calls, and also streamlines GraphicsLayerTextureMapper to be used
200 only in WebKit1 (without CoordinatedGraphics).
202 Reviewed by Allan Sandfeld Jensen.
204 No new tests, refactor only.
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):
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.
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.
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.
265 2013-04-15 Antti Koivisto <antti@apple.com>
267 Dynamically triggered subframe loads are causing tile churn
268 https://bugs.webkit.org/show_bug.cgi?id=114440
270 Reviewed by Andreas Kling.
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.
276 * page/FrameView.cpp:
277 (WebCore::FrameView::setIsVisuallyNonEmpty):
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.
283 * rendering/RenderLayerBacking.cpp:
284 (WebCore::RenderLayerBacking::RenderLayerBacking):
285 (WebCore::computeTileCoverage):
286 * rendering/RenderLayerBacking.h:
287 (WebCore::RenderLayerBacking::didSwitchToFullTileCoverageDuringLoading):
288 (WebCore::RenderLayerBacking::setDidSwitchToFullTileCoverageDuringLoading):
290 Only switch into minimal coverage mode once per page load.
292 (RenderLayerBacking):
294 2013-04-15 Rune Lillesveen <rune@opera.com>
296 color-index media feature not supported
297 https://bugs.webkit.org/show_bug.cgi?id=114468
299 Reviewed by Kenneth Rohde Christiansen.
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.
304 Tests: fast/media/mq-color-index-01.html
305 fast/media/mq-color-index-02.html
307 * css/MediaFeatureNames.h:
309 * css/MediaQueryEvaluator.cpp:
310 (WebCore::color_indexMediaFeatureEval):
312 (WebCore::min_color_indexMediaFeatureEval):
313 (WebCore::max_color_indexMediaFeatureEval):
314 * css/MediaQueryExp.cpp:
315 (WebCore::featureWithPositiveInteger):
316 (WebCore::featureWithoutValue):
318 2013-04-15 Balazs Kelemen <kbalazs@webkit.org>
320 [CoordGfx] Background color should not be part of GraphicsLayerState
321 https://bugs.webkit.org/show_bug.cgi?id=113785
323 Page background is independent from layer state, send it to the UI
326 Should not cause observable change in behavior so no new tests.
328 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
329 (WebCore::CoordinatedGraphicsScene::commitSceneState):
330 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
332 2013-04-15 Carlos Garcia Campos <cgarcia@igalia.com>
334 [BlackBerry] Filesystem callback notifyCreateSnapshotFileAndReadMetadata can be called on the wring thread
335 https://bugs.webkit.org/show_bug.cgi?id=114610
337 Reviewed by Xan Lopez.
339 Override notifyCreateSnapshotFileAndReadMetadata to make sure the
340 callback is called on the right thread.
342 Fixes a crash in several fast/filesystem test in debug builds.
344 * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp:
345 (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
346 (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadataOnWorkerThread):
347 * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h:
349 2013-04-15 Arvid Nilsson <anilsson@rim.com>
351 [BlackBerry][CSS Filters] Non-image content disappears when filter applied
352 https://bugs.webkit.org/show_bug.cgi?id=114498
354 Reviewed by Carlos Garcia Campos.
356 Applying a filter to a div with simple text content caused the div to
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
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.
376 * platform/graphics/blackberry/LayerFilterRenderer.cpp:
377 (WebCore::LayerFilterRenderer::applyActions):
379 2013-04-14 Jaehun Lim <ljaehun.lim@samsung.com>
381 [css3-text] Parsing -webkit-hanging value for text-indent from css3-text
382 https://bugs.webkit.org/show_bug.cgi?id=113680
384 Reviewed by Andreas Kling.
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.
390 No new tests, this patch updates existing tests.
392 * css/CSSComputedStyleDeclaration.cpp:
393 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
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.
410 2013-04-14 Sam Weinig <sam@webkit.org>
412 Move Mac specific snapshotting code into its own file
413 https://bugs.webkit.org/show_bug.cgi?id=114597
415 Reviewed by Andreas Kling.
418 * WebCore.xcodeproj/project.pbxproj:
419 * bindings/objc/DOM.mm:
420 (-[DOMRange renderedImageForcingBlackText:]):
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.
436 2013-04-14 Andreas Kling <akling@apple.com>
442 2013-04-14 Andreas Kling <akling@apple.com>
444 Only MutableStylePropertySets should be able to have CSSOM wrappers.
445 <http://webkit.org/b/114595>
447 Reviewed by Antti Koivisto.
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.
453 * css/StylePropertySet.cpp:
454 (WebCore::MutableStylePropertySet::~MutableStylePropertySet):
455 (WebCore::MutableStylePropertySet::cssStyleDeclaration):
456 (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
457 * css/StylePropertySet.h:
459 (MutableStylePropertySet):
460 * dom/StyledElement.cpp:
461 (WebCore::StyledElement::inlineStyleCSSOMWrapper):
463 2013-04-14 Andreas Kling <akling@apple.com>
465 Remove unused function declaration StylePropertySet::setNeedsStyleRecalc().
467 Rubber-stamped by Antti Koivisto.
469 * css/StylePropertySet.h:
472 2013-04-14 Andreas Kling <akling@apple.com>
474 Move StylePropertySet internal storage access helpers to subclass.
475 <http://webkit.org/b/114592>
477 Reviewed by Antti Koivisto.
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.
482 For ImmutableStylePropertySet, moved value/metadata array accessors to the subclass
483 and remove "immutable" from their names.
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:
504 (ImmutableStylePropertySet):
505 (WebCore::ImmutableStylePropertySet::valueArray):
506 (WebCore::ImmutableStylePropertySet::metadataArray):
507 (WebCore::StylePropertySet::PropertyReference::propertyMetadata):
508 (WebCore::StylePropertySet::PropertyReference::propertyValue):
509 (WebCore::StylePropertySet::propertyCount):
511 2013-04-14 Andreas Kling <akling@apple.com>
513 Specialize propertyCount() in StylePropertySet subclasses.
514 <http://webkit.org/b/114590>
516 Reviewed by Antti Koivisto.
518 Avoid branching on m_isMutable in code that already knows which type of set it is.
520 * css/StylePropertySet.h:
521 (WebCore::ImmutableStylePropertySet::propertyCount):
522 (ImmutableStylePropertySet):
523 (WebCore::MutableStylePropertySet::propertyCount):
524 (MutableStylePropertySet):
526 2013-04-14 Andreas Kling <akling@apple.com>
528 Move property setting/removing functions to MutableStylePropertySet.
529 <http://webkit.org/b/114589>
531 Reviewed by Antti Koivisto.
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.
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:
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):
567 * svg/SVGElementRareData.h:
568 (WebCore::SVGElementRareData::animatedSMILStyleProperties):
569 (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
570 (SVGElementRareData):
572 2013-04-14 Andreas Kling <akling@apple.com>
574 EditingStyle should have a MutableStylePropertySet internally.
575 <http://webkit.org/b/114588>
577 Reviewed by Anders Carlsson.
579 Switch EditingStyle::m_mutableStyle to a RefPtr<MutableStylePropertySet>.
581 * css/StylePropertySet.cpp:
582 (WebCore::StylePropertySet::copyBlockProperties):
583 * css/StylePropertySet.h:
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):
598 2013-04-14 Andreas Kling <akling@apple.com>
600 Move addParsedProperty/addParsedProperties to MutableStylePropertySet.
601 <http://webkit.org/b/114587>
603 Reviewed by Antti Koivisto.
605 All CSSParser methods that mutate an existing StylePropertySet now take a MutableStylePropertySet*
606 instead of a StylePropertySet*.
609 (WebCore::parseColorValue):
610 (WebCore::parseSimpleLengthValue):
611 (WebCore::parseKeywordValue):
612 (WebCore::parseTranslateTransformValue):
613 (WebCore::CSSParser::parseValue):
614 (WebCore::CSSParser::parseDeclaration):
617 * css/StylePropertySet.cpp:
618 (WebCore::StylePropertySet::setProperty):
619 (WebCore::MutableStylePropertySet::addParsedProperties):
620 (WebCore::MutableStylePropertySet::addParsedProperty):
621 * css/StylePropertySet.h:
623 (MutableStylePropertySet):
624 * css/ViewportStyleResolver.h:
625 (ViewportStyleResolver):
627 2013-04-14 Andreas Kling <akling@apple.com>
629 CSSParser should return ImmutableStylePropertySets.
630 <http://webkit.org/b/114585>
632 Reviewed by Anders Carlsson.
634 The StylePropertySets created by CSSParser were already immutable.
635 Let this be reflected in the pointer types returned.
638 (WebCore::CSSParser::parseInlineStyleDeclaration):
639 (WebCore::CSSParser::parseDeclaration):
640 (WebCore::CSSParser::createStylePropertySet):
644 2013-04-14 Andreas Kling <akling@apple.com>
646 Move StylePropertySet::createImmutable() to ImmutableStylePropertySet.
647 <http://webkit.org/b/114584>
649 Reviewed by Anders Carlsson.
651 StylePropertySet::createImmutable() -> ImmutableStylePropertySet::create()
652 Also, immutableCopyIfNeeded() now returns a PassRefPtr<ImmutableStylePropertySet>.
655 (WebCore::CSSParser::createStylePropertySet):
656 * css/StylePropertySet.cpp:
657 (WebCore::ImmutableStylePropertySet::create):
658 (WebCore::StylePropertySet::immutableCopyIfNeeded):
659 * css/StylePropertySet.h:
661 (ImmutableStylePropertySet):
663 2013-04-14 Andreas Kling <akling@apple.com>
665 Move parseDeclaration() and clear() to MutableStylePropertySet.
666 <http://webkit.org/b/114583>
668 Reviewed by Anders Carlsson.
670 ...and remove ASSERT(isMutable()) from the function bodies.
672 * svg/SVGFontFaceElement.cpp:
673 (WebCore::SVGFontFaceElement::removedFrom):
675 Use clear() directly instead of taking an empty string through the CSS parser.
677 * css/StylePropertySet.cpp:
678 (WebCore::MutableStylePropertySet::parseDeclaration):
679 (WebCore::MutableStylePropertySet::clear):
680 * css/StylePropertySet.h:
682 (MutableStylePropertySet):
683 * dom/StyledElement.cpp:
684 (WebCore::StyledElement::setInlineStyleFromString):
686 2013-04-14 Andreas Kling <akling@apple.com>
688 Move CSSOM classes to using MutableStylePropertySet over StylePropertySet.
689 <http://webkit.org/b/114581>
691 Reviewed by Anders Carlsson.
693 Moved ensureCSSStyleDeclaration() and ensureInlineCSSStyleDeclaration() from StylePropertySet
694 to MutableStylePropertySet.
696 StyleRule & co now return a MutableStylePropertySet* from mutableProperties() to aid with...
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.
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:
718 (MutableStylePropertySet):
720 (WebCore::StyleRule::mutableProperties):
721 (WebCore::StyleRulePage::mutableProperties):
722 (WebCore::StyleRuleFontFace::mutableProperties):
723 (WebCore::StyleRuleViewport::mutableProperties):
724 (WebCore::StyleRuleFilter::mutableProperties):
731 * css/WebKitCSSKeyframeRule.cpp:
732 (WebCore::StyleKeyframe::mutableProperties):
733 * css/WebKitCSSKeyframeRule.h:
736 (WebCore::Attr::style):
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):
751 2013-04-14 Andreas Kling <akling@apple.com>
753 Move create() methods from StylePropertySet to MutableStylePropertySet.
754 <http://webkit.org/b/114574>
756 Reviewed by Antti Koivisto.
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.
762 * css/CSSComputedStyleDeclaration.cpp:
763 (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
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:
778 (MutableStylePropertySet):
779 * css/StyleResolver.cpp:
780 (WebCore::StyleResolver::resolveVariables):
781 * css/WebKitCSSMatrix.cpp:
782 (WebCore::WebKitCSSMatrix::setMatrixValue):
784 (WebCore::Attr::style):
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):
827 2013-04-13 Sam Weinig <sam@webkit.org>
829 Fix three crashes seen on the bots after "Make Frame's ScriptController an OwnPtr and remove the #include"
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,
838 2013-04-13 Sukolsak Sakshuwong <sukolsak@gmail.com>
840 Selection direction is not preserved when applying styles
841 https://bugs.webkit.org/show_bug.cgi?id=110979
843 Reviewed by Ryosuke Niwa.
845 The patch is based on the one submitted by Shezan Baig.
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.
851 Test: editing/style/preserve-selection-direction.html
853 * editing/ApplyStyleCommand.cpp:
854 (WebCore::ApplyStyleCommand::updateStartEnd):
856 2013-04-13 Alexey Proskuryakov <ap@apple.com>
858 Added svn:ignore for inspector/CodeGeneratorInspectorStrings.pyc
860 * inspector: Added property svn:ignore.
862 2013-04-13 Sam Weinig <sam@webkit.org>
864 Make Frame's ScriptController an OwnPtr and remove the #include
865 https://bugs.webkit.org/show_bug.cgi?id=114105
867 Reviewed by Dean Jackson.
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:
906 * page/Navigator.cpp:
908 * page/PageGroup.cpp:
909 * xml/XMLHttpRequest.cpp:
910 * xml/XMLTreeViewer.cpp:
912 2013-04-13 Anders Carlsson <andersca@apple.com>
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
917 Reviewed by Dan Bernstein.
922 * WebCore.xcodeproj/project.pbxproj:
923 Make DOMHTMLFormElementInternal.h a private header.
925 2013-03-13 Robert Hogan <robert@webkit.org>
927 Whitespace between nowrap elements ignored after collapsed trailing space in a text run
928 https://bugs.webkit.org/show_bug.cgi?id=17705
930 Reviewed by Ryosuke Niwa.
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.
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.
941 Test: fast/text/whitespace/inline-whitespace-wrapping-5.html
943 * rendering/RenderBlockLineLayout.cpp:
944 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
946 2013-04-13 Andreas Kling <akling@apple.com>
948 Rename/tweak some StylePropertySet/CSSStyleDeclaration copying functions.
949 <http://webkit.org/b/114569>
951 Reviewed by Anders Carlsson.
953 - StylePropertySet::copy() -> mutableCopy()
955 This function now returns a MutableStylePropertySet, and this is also reflected in the name.
957 - CSSStyleDeclaration::copy() -> copyProperties()
959 Renamed to reflect that it's the properties being copied, not the CSSStyleDeclaration.
960 They also now return MutableStylePropertySets.
962 - StylePropertySet::copyPropertiesInSet()
963 - CSSStyleDeclaration::copyPropertiesInSet()
965 These functions now return MutableStylePropertySets.
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:
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):
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):
1014 2013-04-13 Dirk Schulze <krit@webkit.org>
1016 Rename StyleBuilder to DeprecatedStyleBuilder
1017 https://bugs.webkit.org/show_bug.cgi?id=114532
1019 Reviewed by Benjamin Poulain.
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.
1025 Pure refactoring, no change in functionality.
1028 * GNUmakefile.list.am:
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:
1042 * rendering/style/RenderStyle.h:
1044 2013-04-13 Andreas Kling <akling@apple.com>
1046 Remove unused method CSSStyleDeclaration::makeMutable().
1047 <http://webkit.org/b/114567>
1049 Reviewed by Anders Carlsson.
1051 * css/CSSComputedStyleDeclaration.cpp:
1052 * css/CSSComputedStyleDeclaration.h:
1053 (CSSComputedStyleDeclaration):
1054 * css/CSSStyleDeclaration.h:
1055 (CSSStyleDeclaration):
1056 * css/PropertySetCSSStyleDeclaration.cpp:
1057 * css/PropertySetCSSStyleDeclaration.h:
1059 2013-04-13 Antoine Quint <graouts@apple.com>
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
1064 Reviewed by Dan Bernstein.
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.
1071 Test: fast/text/tab-last-word-in-renderer-pre-wrap.html
1073 * rendering/RenderBlockLineLayout.cpp:
1074 (WebCore::setLogicalWidthForTextRun):
1076 2013-04-13 Mark Salisbury <mark.salisbury@hp.com>
1078 [Windows, WinCairo] ImageBufferCairo.cpp fails to compile after 148247, 148264.
1079 https://bugs.webkit.org/show_bug.cgi?id=114540
1081 Reviewed by Brent Fulgham.
1083 * platform/graphics/cairo/ImageBufferCairo.cpp:
1085 2013-04-13 Zan Dobersek <zdobersek@igalia.com>
1087 Unreviewed GTK build fix after r148305.
1089 * GNUmakefile.list.am: Adding the TrackListBase build targets to the build.
1091 2013-04-09 Roger Fong <roger_fong@apple.com>
1093 Update AVFoundationCF code following http://trac.webkit.org/changeset/148291.
1094 https://bugs.webkit.org/show_bug.cgi?id=114548.
1096 Reviewed by Eric Carlson.
1098 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1099 (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
1100 (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
1102 (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
1103 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1104 (MediaPlayerPrivateAVFoundationCF):
1106 2013-04-12 Simon Fraser <simon.fraser@apple.com>
1108 Demystify some code in RenderLayer::updateScrollableAreaSet()
1109 https://bugs.webkit.org/show_bug.cgi?id=114543
1111 Reviewed by Tim Horton.
1113 Clean up some code that called functions with important side effects
1114 inside a ternary operator, and clean up the #ifdefs.
1116 * rendering/RenderLayer.cpp:
1117 (WebCore::RenderLayer::updateScrollableAreaSet):
1119 2013-04-12 Alexey Proskuryakov <ap@apple.com>
1121 <rdar://problem/13277362> REGRESSION (r141981): Crash when closing a Google Docs document
1122 https://bugs.webkit.org/show_bug.cgi?id=114541
1124 Reviewed by Brady Eidson.
1126 Test: http/tests/ssl/ping-with-unsafe-redirect.html
1128 * loader/FrameNetworkingContext.h:
1129 (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
1130 Added a null check. All NetworkingContext functions except for this one had it already.
1132 2013-04-12 Ryosuke Niwa <rniwa@webkit.org>
1134 [Mac] REGRESSION: Auto substitution strips new lines
1135 https://bugs.webkit.org/show_bug.cgi?id=114537
1137 Reviewed by Enrica Casucci.
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.
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).
1147 Test: platform/mac/editing/spelling/autocorrection-with-multi-line-text.html
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:
1164 2013-04-12 Brendan Long <b.long@cablelabs.com>
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
1169 Reviewed by Jer Noble.
1171 No new tests because this doesn't add new functionality.
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
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.
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
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)
1260 2013-04-12 Oliver Hunt <oliver@apple.com>
1262 make the codegenerator actually emit polymorphism check in the "no vtable" path
1263 https://bugs.webkit.org/show_bug.cgi?id=114533
1265 Reviewed by David Kilzer.
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.
1270 * Modules/webdatabase/SQLTransaction.idl:
1271 * bindings/scripts/CodeGeneratorJS.pm:
1272 (GenerateImplementation):
1273 * bindings/scripts/test/JS/JSTestInterface.cpp:
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:
1290 2013-04-12 Oliver Hunt <oliver@apple.com>
1292 Make CodeGeneratorJS plant comments to explain failures in the binding validation
1293 https://bugs.webkit.org/show_bug.cgi?id=114528
1295 Reviewed by Sam Weinig.
1297 No change in behaviour, just make the generated bindings include comments
1298 to aid diagnosing issues that may be non-obvious.
1300 * bindings/scripts/CodeGeneratorJS.pm:
1301 (GenerateImplementation):
1302 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1304 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1306 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1308 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1310 * bindings/scripts/test/JS/JSTestException.cpp:
1312 * bindings/scripts/test/JS/JSTestInterface.cpp:
1314 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1316 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1318 * bindings/scripts/test/JS/JSTestObj.cpp:
1320 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1322 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1324 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1327 2013-04-12 Tim Horton <timothy_horton@apple.com>
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>
1333 Reviewed by Antti Koivisto.
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.
1352 2013-04-12 Martin Robinson <mrobinson@igalia.com>
1354 r148197 broke the GTK+ build
1355 https://bugs.webkit.org/show_bug.cgi?id=114525
1357 Reviewed by Anders Carlsson.
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.
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.
1376 2013-04-12 Jer Noble <jer.noble@apple.com>
1378 (AVFoundation) WebKit fails to detect live stream.
1379 https://bugs.webkit.org/show_bug.cgi?id=114474
1381 Reviewed by Eric Carlson.
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.
1387 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1388 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
1390 2013-04-12 Carlos Garcia Campos <cgarcia@igalia.com>
1392 [GTK] Split GtkAuthenticationDialog in two widgets
1393 https://bugs.webkit.org/show_bug.cgi?id=103644
1395 Reviewed by Xan Lopez.
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.
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):
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):
1424 2013-04-11 Jer Noble <jer.noble@apple.com>
1426 Add support for MediaPlayer::minTimeSeekable()
1427 https://bugs.webkit.org/show_bug.cgi?id=114484
1429 Reviewed by Eric Carlson.
1431 Plumb a new minTimeSeekable() method through MediaPlayer and
1432 MediaPlayerPrivate and use this new method in the existing
1433 HTMLMediaElement::minTimeSeekable() method.
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
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):
1463 2013-04-12 Commit Queue <rniwa@webkit.org>
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
1471 "r147942 is buggy. Rollback all the patches depending on it."
1472 (Requested by abucur on #webkit).
1474 * dom/ContainerNode.cpp:
1475 (WebCore::willRemoveChildren):
1477 (WebCore::ContainerNode::removeChildren):
1479 (WebCore::Document::nodeChildrenWillBeRemoved):
1486 * dom/NodeTraversal.cpp:
1487 * dom/NodeTraversal.h:
1491 (WebCore::boundaryNodeChildrenWillBeRemoved):
1493 (WebCore::Range::nodeChildrenWillBeRemoved):
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:
1516 2013-04-12 Jer Noble <jer.noble@apple.com>
1518 TimeRanges::nearest() returns incorrect results.
1519 https://bugs.webkit.org/show_bug.cgi?id=114483
1521 Reviewed by Eric Carlson.
1523 Test: media/timeranges-nearest.html
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.
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):
1535 Add some internal functions to allow us to write LayoutTests for
1538 * testing/Internals.cpp:
1539 (WebCore::Internals::createTimeRanges):
1540 (WebCore::Internals::closestTimeToTimeRanges):
1541 * testing/Internals.h:
1542 * testing/Internals.idl:
1544 2013-04-12 Eric Carlson <eric.carlson@apple.com>
1546 Support "forced" subtitles
1547 https://bugs.webkit.org/show_bug.cgi?id=114460
1549 Reviewed by Jer Noble.
1551 Test: media/track/track-forced-subtitles.html
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.
1557 * html/track/InbandTextTrack.cpp:
1558 (WebCore::InbandTextTrack::InbandTextTrack): Deal with kind=forced.
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:
1566 * page/CaptionUserPreferences.cpp:
1567 (WebCore::CaptionUserPreferences::primaryAudioTrackLanguageOverride): New override to support testing.
1568 * page/CaptionUserPreferences.h:
1570 * page/CaptionUserPreferencesMac.mm:
1571 (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Support forced tracks.
1572 * platform/graphics/InbandTextTrackPrivate.h:
1574 * platform/graphics/PlatformTextTrack.h: Add Forced, minor cleanup.
1576 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1577 (WebCore::InbandTextTrackPrivateAVF::processCue): Drive-by enhancement: log cue position.
1579 * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
1580 (WebCore::InbandTextTrackPrivateAVFObjC::kind): Support forced.
1581 (WebCore::InbandTextTrackPrivateAVFObjC::label): Drive-by cleanup.
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.
1587 * testing/Internals.cpp:
1588 (WebCore::Internals::setPrimaryAudioTrackLanguageOverride): New.
1589 (WebCore::Internals::setCaptionDisplayMode): New.
1590 * testing/Internals.h:
1591 * testing/Internals.idl:
1593 2013-04-12 Ryosuke Niwa <rniwa@webkit.org>
1595 [Mac] Some ligatures are applied across different fronts
1596 https://bugs.webkit.org/show_bug.cgi?id=113604
1598 Reviewed by Darin Adler.
1600 The bug was caused by applyFontTransforms applying ligatures without updating the font data in the glyph buffer.
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.
1607 Fixed the bug by resetting lastGlyphCount after calling applyFontTransforms. This ensures that we don't call
1608 applyFontTransforms across different fonts.
1610 No new tests since this requires a variant of Osaka font that doesn't come with OS X.
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.
1615 * platform/graphics/WidthIterator.cpp:
1616 (WebCore::WidthIterator::advanceInternal):
1618 2013-04-12 Ryosuke Niwa <rniwa@webkit.org>
1620 [Mac] Enable spellchecking tests added in r141471
1621 https://bugs.webkit.org/show_bug.cgi?id=108525
1623 Reviewed by Darin Adler.
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.
1628 This allows us to disable automatic spelling correction in spellcheck tests.
1630 Enabled several tests added in r141471.
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:
1644 2013-04-12 Alberto Garcia <agarcia@igalia.com>
1646 [BlackBerry] Upstream the filesystem code
1647 https://bugs.webkit.org/show_bug.cgi?id=114437
1649 Reviewed by Rob Buis.
1651 These are the changes for AsyncFileSystemBlackBerry.
1653 This patch contains contributions from many members of the
1654 BlackBerry WebKit team.
1656 * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
1657 (WebCore::AsyncFileSystem::isAvailable):
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:
1680 (WTF::BlackBerry::Platform::WebFileSystem):
1681 (WebCore::AsyncFileSystemBlackBerry::create):
1682 (AsyncFileSystemBlackBerry):
1684 2013-04-12 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
1686 Apply our MSVC 2012 optimizer bug workaround to all minor releases
1687 https://bugs.webkit.org/show_bug.cgi?id=114436
1689 Reviewed by Alexey Proskuryakov.
1691 The bug has only been partially fixed in Update 2 but our Update 1 workaround
1692 still avoids the crash.
1694 * platform/text/TextEncodingRegistry.cpp:
1695 (WebCore::TextEncodingNameHash::equal):
1697 2013-04-12 Mark Rowe <mrowe@apple.com>
1699 And again, with the correct case this time.
1701 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
1703 2013-04-12 Mark Rowe <mrowe@apple.com>
1707 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
1708 Add missing #include and forward declaration.
1710 2013-04-12 Zan Dobersek <zdobersek@igalia.com>
1712 Unreviewed functionality fix for ports enabling the MicroData feature.
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.
1718 2013-04-11 Alexey Proskuryakov <ap@apple.com>
1720 Move CachedRawResourceClient into a separate file
1721 https://bugs.webkit.org/show_bug.cgi?id=114491
1723 Reviewed by Mark Rowe.
1725 * GNUmakefile.list.am:
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:
1741 2013-04-12 Commit Queue <rniwa@webkit.org>
1743 Unreviewed, rolling out r148262.
1744 http://trac.webkit.org/changeset/148262
1745 https://bugs.webkit.org/show_bug.cgi?id=114493
1747 Cairo dep should now build, rolling r148247 back in (Requested
1748 by zdobersek on #webkit).
1750 * platform/graphics/GraphicsContext.cpp:
1752 * platform/graphics/ImageBuffer.cpp:
1754 * platform/graphics/cairo/GLContext.h:
1756 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1757 (WebCore::GraphicsContext::isAcceleratedContext):
1759 * platform/graphics/cairo/ImageBufferCairo.cpp:
1760 (WebCore::ImageBufferData::ImageBufferData):
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:
1773 * platform/graphics/egl/GLContextEGL.cpp:
1774 (WebCore::GLContextEGL::GLContextEGL):
1775 (WebCore::GLContextEGL::~GLContextEGL):
1776 (WebCore::GLContextEGL::cairoDevice):
1778 * platform/graphics/egl/GLContextEGL.h:
1779 * platform/graphics/glx/GLContextGLX.cpp:
1780 (WebCore::GLContextGLX::GLContextGLX):
1781 (WebCore::GLContextGLX::~GLContextGLX):
1782 (WebCore::GLContextGLX::cairoDevice):
1784 * platform/graphics/glx/GLContextGLX.h:
1787 2013-04-11 Alexey Proskuryakov <ap@apple.com>
1789 Reduce includes of CachedSVGDocument.h
1790 https://bugs.webkit.org/show_bug.cgi?id=114489
1792 Reviewed by Jon Honeycutt.
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.
1799 * css/WebKitCSSSVGDocumentValue.h: Just removed an unnecessary include.
1802 * GNUmakefile.list.am:
1804 * WebCore.vcproj/WebCore.vcproj:
1805 * WebCore.vcxproj/WebCore.vcxproj:
1806 * WebCore.vcxproj/WebCore.vcxproj.filters:
1807 * WebCore.xcodeproj/project.pbxproj:
1809 2013-04-11 Commit Queue <rniwa@webkit.org>
1811 Unreviewed, rolling out r148247.
1812 http://trac.webkit.org/changeset/148247
1813 https://bugs.webkit.org/show_bug.cgi?id=114490
1815 Cairo dep fails to build on builders due to missing EGL
1816 headers (Requested by zdobersek on #webkit).
1818 * platform/graphics/GraphicsContext.cpp:
1820 * platform/graphics/ImageBuffer.cpp:
1822 * platform/graphics/cairo/GLContext.h:
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):
1832 * platform/graphics/cairo/ImageBufferDataCairo.h:
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:
1844 2013-04-11 Nico Weber <thakis@chromium.org>
1846 Remove debugging code that is no longer used with current mac sdks.
1847 https://bugs.webkit.org/show_bug.cgi?id=114486
1849 Reviewed by Dan Bernstein.
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.
1856 No tests, as this only removes debugging code.
1858 * platform/graphics/mac/SimpleFontDataMac.mm:
1859 (WebCore::SimpleFontData::platformInit):
1861 2013-04-11 Oliver Hunt <oliver@apple.com>
1863 Fix windows build and land new binding test results
1865 * bindings/scripts/CodeGeneratorJS.pm:
1866 (GenerateImplementation):
1867 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1870 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1873 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1876 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1879 * bindings/scripts/test/JS/JSTestException.cpp:
1882 * bindings/scripts/test/JS/JSTestInterface.cpp:
1885 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1888 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1891 * bindings/scripts/test/JS/JSTestObj.cpp:
1894 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1897 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1900 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1904 2013-04-11 Shezan Baig <sbaig1@bloomberg.net>
1906 Selection gaps don't repaint correctly with transforms
1907 https://bugs.webkit.org/show_bug.cgi?id=111000
1909 Reviewed by Simon Fraser.
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.
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
1923 * rendering/RenderBlock.cpp:
1924 (WebCore::RenderBlock::selectionGapRectsForRepaint):
1926 2013-04-11 Oliver Hunt <oliver@apple.com>
1928 Add more type validation to debug builds
1929 https://bugs.webkit.org/show_bug.cgi?id=114478
1931 Reviewed by Mark Hahnenberg.
1933 Add a bunch more type checks to the JS DOM bindings.
1935 * Modules/mediastream/MediaStream.idl:
1936 * Modules/webaudio/AudioDestinationNode.idl:
1937 * WebCore.xcodeproj/project.pbxproj:
1938 * bindings/js/JSDOMBinding.h:
1939 (WebCore::getExistingWrapper):
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:
1962 * html/DOMTokenList.idl:
1963 * html/track/TextTrack.idl:
1964 * inspector/ScriptProfileNode.idl:
1965 * storage/Storage.idl:
1966 * xml/XPathNSResolver.idl:
1968 2013-04-11 Ryosuke Niwa <rniwa@webkit.org>
1970 Remove ResourceLoadInfo
1971 https://bugs.webkit.org/show_bug.cgi?id=113302
1973 Reviewed by Benjamin Poulain.
1975 Co-authored by Christophe Dumez.
1977 Removed ResourceLoadInfo since it had been only used by Chromium port.
1979 * GNUmakefile.list.am:
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:
1993 (WebCore::ResourceResponseBase::reportMemoryUsage):
1994 * platform/network/ResourceResponseBase.h:
1995 (ResourceResponseBase):
1997 2013-04-11 Ryosuke Niwa <rniwa@webkit.org>
1999 Another Mac Lion build fix attempt after r148197.
2001 * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
2003 2013-04-11 Sukolsak Sakshuwong <sukolsak@gmail.com>
2005 Unable to paste twice in input field when specific CSS present
2006 https://bugs.webkit.org/show_bug.cgi?id=108675
2008 Reviewed by Ryosuke Niwa.
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.
2015 Test: editing/inserting/insert-text-into-text-field.html
2017 * editing/ReplaceSelectionCommand.cpp:
2018 (WebCore::ReplacementFragment::ReplacementFragment):
2020 2013-04-11 Martin Robinson <mrobinson@igalia.com>
2022 [GTK] Add accelerated 2D canvas support using cairo-gl
2023 https://bugs.webkit.org/show_bug.cgi?id=104672
2025 Reviewed by Alejandro G. Castro.
2027 No new tests. We do not yet have the ability to run tests against
2028 accelerated content.
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
2043 (WebCore::ImageBuffer::platformTransformColorSpace): Do not implement this for accelerated
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.
2060 2013-04-11 Anders Carlsson <andersca@apple.com>
2062 Implement removing storage area items
2063 https://bugs.webkit.org/show_bug.cgi?id=114472
2065 Reviewed by Beth Dakin.
2067 Export StorageMap::removeItem.
2071 2013-04-11 Brendan Long <b.long@cablelabs.com>
2073 TextTrackList's .onremovetrack is missing from IDL
2074 https://bugs.webkit.org/show_bug.cgi?id=103421
2076 Reviewed by Eric Carlson.
2078 Fixed test media/track/opera/interfaces/TextTrackList/onremovetrack.html
2080 * html/track/TextTrackList.cpp:
2081 (TextTrackList::remove):
2082 (TextTrackList::scheduleRemoveTrackEvent):
2083 * html/track/TextTrackList.h:
2085 * html/track/TextTrackList.idl:
2087 2013-04-11 Alberto Garcia <agarcia@igalia.com>
2089 [BlackBerry] Upstream the filesystem code
2090 https://bugs.webkit.org/show_bug.cgi?id=114437
2092 Reviewed by Rob Buis.
2094 This patch contains contributions from many members of the
2095 BlackBerry WebKit team.
2097 * platform/blackberry/AsyncFileWriterBlackBerry.cpp: Added.
2099 (WebCore::AsyncFileWriterBlackBerry::write):
2100 * platform/blackberry/AsyncFileWriterBlackBerry.h: Added.
2102 (WTF::BlackBerry::Platform::WebFileWriter):
2104 * platform/blackberry/DOMFileSystemBlackBerry.cpp: Added.
2106 (WebCore::DOMFileSystemBase::createFileSystemURL):
2107 (WebCore::DOMFileSystemBase::crackFileSystemURL):
2108 (WebCore::DOMFileSystemBase::supportsToURL):
2109 (WebCore::DOMFileSystemBase::isValidType):
2110 * platform/blackberry/LocalFileSystemBlackBerry.cpp: Added.
2112 (WebCore::fileSystemTypeString):
2113 (WebCore::openFileSystem):
2114 (WebCore::LocalFileSystem::deleteFileSystem):
2115 (WebCore::LocalFileSystem::readFileSystem):
2116 (WebCore::LocalFileSystem::requestFileSystem):
2117 * platform/blackberry/PlatformAsyncFileSystemCallbacks.cpp: Added.
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.
2132 * platform/blackberry/PlatformBlob.cpp: Added.
2134 (WebCore::PlatformBlob::nextDataItem):
2135 * platform/blackberry/PlatformBlob.h: Added.
2137 * platform/blackberry/PlatformFileWriterClient.cpp: Added.
2139 (WebCore::PlatformFileWriterClient::notifyWrite):
2140 (WebCore::PlatformFileWriterClient::notifyTruncate):
2141 (WebCore::PlatformFileWriterClient::notifyFail):
2142 * platform/blackberry/PlatformFileWriterClient.h: Added.
2145 (WTF::WebCore::PlatformFileWriterClient):
2146 * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp: Added.
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.
2181 (WorkerAsyncFileSystemBlackBerry):
2182 (WebCore::WorkerAsyncFileSystemBlackBerry::create):
2183 * platform/blackberry/WorkerAsyncFileWriterBlackBerry.cpp: Added.
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.
2195 * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp: Added.
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.
2218 * platform/blackberry/WorkerPlatformFileWriterClient.cpp: Added.
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.
2230 (WTF::WebCore::WorkerPlatformFileWriterClient):
2232 2013-04-11 Ryosuke Niwa <rniwa@webkit.org>
2234 Mac Lion build fix attempt after r148197.
2236 * page/scrolling/mac/ScrollingStateNodeMac.mm:
2238 2013-04-11 Alexey Proskuryakov <ap@apple.com>
2240 <rdar://problem/10416316> [Mac] WebSocket doesn't work with authenticating proxies
2241 https://bugs.webkit.org/show_bug.cgi?id=114464
2243 Reviewed by Brady Eidson.
2245 * platform/mac/WebCoreSystemInterface.h:
2246 * platform/mac/WebCoreSystemInterface.mm:
2247 Updated for new wkCopyCONNECTProxyResponse signature.
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.
2263 2013-04-11 Sukolsak Sakshuwong <sukolsak@gmail.com>
2265 MutationRecord is not exposed
2266 https://bugs.webkit.org/show_bug.cgi?id=114288
2268 Reviewed by Darin Adler.
2270 Expose MutationRecord on DOMWindow. This patch is copied from a patch
2271 by Adam Klein. https://codereview.chromium.org/13861028
2273 Test: fast/dom/MutationObserver/mutation-record-constructor.html
2275 * page/DOMWindow.idl:
2277 2013-04-11 Beth Dakin <bdakin@apple.com>
2279 Cannot scroll to footer on a page with overflow:hidden on the body
2280 https://bugs.webkit.org/show_bug.cgi?id=114462
2282 <rdar://problem/13530042>
2284 Reviewed by Simon Fraser.
2286 Add a new scenario in which we want to overrideHidden -- whenever we are the
2287 mainFrame and there is a header or footer.
2289 * page/FrameView.cpp:
2290 (WebCore::FrameView::applyOverflowToViewport):
2292 2013-04-11 Commit Queue <rniwa@webkit.org>
2294 Unreviewed, rolling out r148034, r148052, r148097, and
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
2302 broke mutiresolution favicons, among other things (Requested
2303 by thorton on #webkit).
2305 * loader/icon/IconDatabase.cpp:
2306 (WebCore::IconDatabase::setIconDataForIconURL):
2307 * loader/icon/IconDatabase.h:
2309 * loader/icon/IconDatabaseBase.h:
2310 * loader/icon/IconRecord.cpp:
2311 * loader/icon/IconRecord.h:
2314 2013-04-11 ChangSeok Oh <changseok.oh@collabora.com>
2316 [GTK][AC] Implement GraphicsLayerClutter::moveOrCopyAnimations
2317 https://bugs.webkit.org/show_bug.cgi?id=114019
2319 Reviewed by Gustavo Noronha Silva.
2321 Fill moveOrCopyAnimations that is based on Mac port implementation.
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
2327 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2328 (WebCore::GraphicsLayerClutter::moveOrCopyLayerAnimation):
2330 (WebCore::GraphicsLayerClutter::moveOrCopyAnimations):
2331 * platform/graphics/clutter/GraphicsLayerClutter.h:
2333 2013-04-11 Anders Carlsson <andersca@apple.com>
2335 Implement StorageManager::getValues
2336 https://bugs.webkit.org/show_bug.cgi?id=114461
2338 Reviewed by Beth Dakin.
2340 Expose the item hash map.
2342 * storage/StorageMap.h:
2343 (WebCore::StorageMap::items):
2345 2013-04-11 Eli Fidler <efidler@blackberry.com>
2347 [BlackBerry] Use the platform list of languages with fonts instead of hardcoding
2348 https://bugs.webkit.org/show_bug.cgi?id=114452
2350 Reviewed by Rob Buis.
2352 BlackBerry PR 325244
2353 Internally reviewed by Jeff Rogers
2355 No functional change, but platform font changes won't need a WebKit change
2358 * page/blackberry/SettingsBlackBerry.cpp:
2359 (WebCore::Settings::initializeDefaultFontFamilies):
2361 2013-04-11 Dirk Schulze <krit@webkit.org>
2363 [CSS Shaders] Parse parameters descriptor
2364 https://bugs.webkit.org/show_bug.cgi?id=114455
2366 Reviewed by Dean Jackson.
2368 Add support for the 'parameters' descriptor in the filter at-rule to support
2369 parameterization of CSS Shaders.
2371 https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters
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
2376 * css/CSSComputedStyleDeclaration.cpp:
2377 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2378 * css/CSSParser.cpp: Added 'parameters' property and fail parsing if not inside
2380 (WebCore::CSSParser::parseValue):
2381 (WebCore::CSSParser::parseFilterRuleParameters): New helper function to verify
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):
2391 2013-04-11 Arunprasad Rajkumar <arunprasadr@nds.com>
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
2396 Reviewed by Anders Carlsson.
2398 * bridge/c/c_instance.cpp:
2399 (JSC::Bindings::CInstance::stringValue):
2401 2013-04-11 Robert Hogan <robert@webkit.org>
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
2406 Reviewed by Emil A Eklund.
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.
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|.
2416 Test: fast/inline/out-of-flow-objects-and-whitespace-after-empty-inline.html
2418 * rendering/RenderBlockLineLayout.cpp:
2419 (WebCore::shouldSkipWhitespaceAfterStartObject):
2421 2013-04-11 Ryosuke Niwa <rniwa@webkit.org>
2423 Autocorrected text doesn't have a marker of type autocorrected
2424 https://bugs.webkit.org/show_bug.cgi?id=114337
2426 Reviewed by Darin Adler.
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.
2432 Fixed the bug by skipping all remaining results for the replaced text since they're no longer
2435 Tests: Existing autocorection tests have been updated to assert new behavior.
2437 * editing/Editor.cpp:
2438 (WebCore::Editor::markAndReplaceFor):
2440 2013-04-11 Michelangelo De Simone <michelangelo@webkit.org>
2442 [CSS Shaders] Parse the geometry descriptor
2443 https://bugs.webkit.org/show_bug.cgi?id=110815
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.
2449 Reviewed by Dirk Schulze.
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
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()).
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
2468 2013-04-11 Anders Carlsson <andersca@apple.com>
2470 Make StorageAreaMap dispatch session storage events
2471 https://bugs.webkit.org/show_bug.cgi?id=114454
2473 Reviewed by Beth Dakin.
2475 Export storage symbols and headers needed by WebKit2.
2478 * WebCore.xcodeproj/project.pbxproj:
2480 2013-04-11 Allan Sandfeld Jensen <allan.jensen@digia.com>
2482 handleMouseMoveEvent should let hit-testing hit-test scrollbars
2483 https://bugs.webkit.org/show_bug.cgi?id=114430
2485 Reviewed by Antonio Gomes.
2487 Allow hit-testing to hit-test frame scrollbars so handleMouseMoveEvent
2488 does not have to do it itself.
2490 * page/EventHandler.cpp:
2491 (WebCore::EventHandler::handleMouseMoveEvent):
2493 2013-04-11 Brian Holt <brian.holt@samsung.com>
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
2498 Reviewed by Chris Fleizach.
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.
2504 * html/HTMLSelectElement.cpp:
2505 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2507 2013-04-11 Alexey Proskuryakov <ap@apple.com>
2509 Remove some ResourceHandle.h includes
2510 https://bugs.webkit.org/show_bug.cgi?id=114416
2512 Reviewed by Ryosuke Niwa.
2514 * loader/CrossOriginAccessControl.h:
2515 * loader/CrossOriginPreflightResultCache.h:
2516 These files don't need ResourceHandle.h, just ResourceHandleTypes.h.
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.
2532 2013-04-04 Allan Sandfeld Jensen <allan.jensen@digia.com>
2534 Use CSS4 image-rendering to determing image scaling quality
2535 https://bugs.webkit.org/show_bug.cgi?id=113405
2537 Reviewed by Simon Fraser.
2539 Implement the new CSS4 image-rendering property values.
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.
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.
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:
2564 2013-04-11 Adenilson Cavalcanti <cavalcantii@gmail.com>
2566 Build fix: use of uninitialized variable in ScrollingStateTree
2567 https://bugs.webkit.org/show_bug.cgi?id=114443
2569 Reviewed by Anders Carlsson.
2571 Initialize pointer to zero before use, fixes build.
2572 No new tests, no changes on behavior.
2574 * page/scrolling/ScrollingStateTree.cpp:
2575 (WebCore::ScrollingStateTree::attachNode):
2577 2013-04-11 Dirk Schulze <krit@webkit.org>
2579 [CSS Shaders] Parse mix descriptor
2580 https://bugs.webkit.org/show_bug.cgi?id=114414
2582 Reviewed by Antti Koivisto.
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.
2589 https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-mix
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
2594 * css/CSSComputedStyleDeclaration.cpp:
2595 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2596 * css/CSSParser.cpp: Added 'mix' property and fail parsing if not inside
2598 (WebCore::CSSParser::parseValue):
2599 (WebCore::CSSParser::parseFilterRuleMix): New helper function to verify
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):
2609 2013-04-11 Zalan Bujtas <zalan@apple.com>
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
2614 Reviewed by Antti Koivisto.
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'.'
2621 Extended fast/repaint/background-shorthand-with-gradient-and-height-changes.html
2622 to cover this case too.
2624 * rendering/RenderObject.cpp:
2625 (WebCore::mustRepaintFillLayers):
2627 2013-04-11 ChangSeok Oh <changseok.oh@collabora.com>
2629 [GTK][AC] use a smart pointer for GList and ClutterCanvas
2630 https://bugs.webkit.org/show_bug.cgi?id=114057
2632 Reviewed by Gustavo Noronha Silva.
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.
2637 No functionality changed.
2639 * platform/graphics/clutter/GraphicsLayerActor.cpp:
2640 (graphicsLayerActorUpdateTexture):
2641 (graphicsLayerActorRemoveAll):
2643 2013-04-11 Arvid Nilsson <anilsson@rim.com>
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
2648 Reviewed by Rob Buis.
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
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
2663 * platform/graphics/blackberry/LayerFilterRenderer.cpp:
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:
2676 (Uniform1fWithFunctor):
2677 (WebCore::Uniform1fWithFunctor::create):
2678 (WebCore::Uniform1fWithFunctor::Uniform1fWithFunctor):
2679 (WebCore::Uniform1fWithFunctor::apply):
2680 (WebCore::Uniform1f::createWithFunctor):
2682 2013-04-11 Arvid Nilsson <anilsson@rim.com>
2684 [BlackBerry] Accelerated compositing debug rectangle incorrectly drawn for layers with surfaces
2685 https://bugs.webkit.org/show_bug.cgi?id=114275
2687 Reviewed by Carlos Garcia Campos.
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
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.
2701 Only manually testable, the debug border is disabled during layout
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.
2712 * platform/graphics/blackberry/LayerRendererSurface.h:
2713 (LayerRendererSurface):
2715 2013-04-11 Arvid Nilsson <anilsson@rim.com>
2717 [BlackBerry] Compiler warning in LayerWebKitThread.cpp
2718 https://bugs.webkit.org/show_bug.cgi?id=114277
2720 Reviewed by Carlos Garcia Campos.
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.
2725 No change in behavior, no new tests.
2729 * platform/graphics/blackberry/LayerWebKitThread.cpp:
2730 (WebCore::LayerWebKitThread::remove):
2731 (WebCore::LayerWebKitThread::replaceSublayer):
2733 2013-04-11 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2735 [CoordinatedGraphics] Use ScrollingStateTree to handle fixed elements positioning while scrolling
2736 https://bugs.webkit.org/show_bug.cgi?id=114353
2738 Reviewed by Noam Rosenthal.
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.
2744 Before the change ScrollingCoordinatorCoordinatedGraphics was implementing Chromium-specific
2745 interface which is going to be removed eventually as there is no ScrollingCoordinatorChromium
2748 Tested by existing manual tests (fixed-position.html for example.
2752 Included ScrollingStateTree files.
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.
2766 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
2767 (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
2768 (WebCore::ScrollingCoordinatorCoordinatedGraphics::~ScrollingCoordinatorCoordinatedGraphics):
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.
2779 (ScrollingCoordinatorCoordinatedGraphics):
2780 * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp: Added.
2782 (WebCore::ScrollingStateNode::platformScrollLayer):
2783 (WebCore::ScrollingStateNode::setScrollPlatformLayer):
2784 (WebCore::ScrollingStateNode::setScrollLayer):
2785 * page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp: Added.
2787 (WebCore::ScrollingStateScrollingNode::counterScrollingPlatformLayer):
2788 (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
2790 2013-04-11 Allan Sandfeld Jensen <allan.jensen@digia.com>
2792 [Qt] EventHandler should handle Space and BackSpace
2793 https://bugs.webkit.org/show_bug.cgi?id=114428
2795 Reviewed by Jocelyn Turcotte.
2797 Enable default space-handling for Qt.
2799 * page/EventHandler.cpp:
2801 2013-04-11 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
2803 IconDatabase: Simplify boolean logic in assertion.
2804 https://bugs.webkit.org/show_bug.cgi?id=114425
2806 Reviewed by Andreas Kling.
2808 Follow-up to r148097; drop the overzealous use of !! to turn a
2809 PassRefPtr into a boolean.
2811 * loader/icon/IconDatabase.cpp:
2812 (WebCore::IconDatabase::updateIconRecord):
2814 2013-04-11 Arvid Nilsson <anilsson@rim.com>
2816 [BlackBerry] LayerTexture refactoring
2817 https://bugs.webkit.org/show_bug.cgi?id=114276
2819 Reviewed by Carlos Garcia Campos.
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.
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.
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.
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.
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
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):
2868 * platform/graphics/blackberry/LayerTexture.h:
2869 (WebCore::LayerTexture::isDirty):
2870 (WebCore::LayerTexture::buffer):
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):
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):
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):
2903 2013-04-11 Alberto Garcia <agarcia@igalia.com>
2905 [BlackBerry] RenderThemeBlackBerry: upstream missing code
2906 https://bugs.webkit.org/show_bug.cgi?id=114343
2908 Reviewed by Xan Lopez.
2910 Add implementations of sliderTickSize() and
2911 sliderTickOffsetFromTrackCenter(), as well as a missing header.
2913 * platform/blackberry/RenderThemeBlackBerry.cpp:
2915 (WebCore::RenderThemeBlackBerry::sliderTickSize):
2916 (WebCore::RenderThemeBlackBerry::sliderTickOffsetFromTrackCenter):
2917 * platform/blackberry/RenderThemeBlackBerry.h:
2918 (RenderThemeBlackBerry):
2920 2013-04-11 Allan Sandfeld Jensen <allan.jensen@digia.com>
2922 HitTestRequest::AllowFrameScrollbars does not test main frame scrollbar
2923 https://bugs.webkit.org/show_bug.cgi?id=112563
2925 Reviewed by Antonio Gomes.
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.
2931 Tested by fast/events/touch/gesture/gesture-scrollbar.html.
2933 * page/EventHandler.cpp:
2934 (WebCore::EventHandler::handleGestureEvent):
2935 * rendering/RenderPart.cpp:
2936 (WebCore::RenderPart::nodeAtPoint):
2937 * rendering/RenderView.cpp:
2938 (WebCore::RenderView::hitTest):
2940 2013-04-11 Rune Lillesveen <rune@opera.com>
2942 Incorrect evaluation of resolution media queries
2943 https://bugs.webkit.org/show_bug.cgi?id=114029
2945 Reviewed by Kenneth Rohde Christiansen.
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.
2952 No new tests, covered by existing tests.
2955 * css/CSSPrimitiveValue.h:
2956 (WebCore::CSSPrimitiveValue::isResolution):
2957 * css/MediaQueryEvaluator.cpp:
2958 (WebCore::evalResolution):
2959 (WebCore::device_pixel_ratioMediaFeatureEval):
2960 (WebCore::resolutionMediaFeatureEval):
2963 * page/Settings.cpp:
2967 * testing/InternalSettings.cpp:
2968 (WebCore::InternalSettings::Backup::Backup):
2969 (WebCore::InternalSettings::Backup::restoreTo):
2970 * testing/InternalSettings.h:
2973 * testing/InternalSettings.idl:
2975 2013-04-11 Carlos Garcia Campos <cgarcia@igalia.com>
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
2980 Reviewed by Darin Adler.
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
2996 Test: loader/go-back-cached-main-resource.html
2998 * loader/DocumentLoader.cpp:
2999 (WebCore::DocumentLoader::responseReceived):
3001 2013-04-10 Alexey Proskuryakov <ap@apple.com>
3003 Remove some includes of CachedImage.h
3004 https://bugs.webkit.org/show_bug.cgi?id=114411
3006 Reviewed by Dan Bernstein.
3008 * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
3009 definition of a class it holds, but default construction does not.
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.
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.
3030 * platform/mac/PasteboardMac.mm:
3031 * rendering/RenderSnapshottedPlugIn.cpp:
3032 Added ones where they are now necessary.
3034 2013-04-10 No'am Rosenthal <noam@webkit.org>
3036 Allow direct compositing of background images
3037 https://bugs.webkit.org/show_bug.cgi?id=108203
3039 Reviewed by Simon Fraser.
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.
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.
3051 Currently, this feature is disabled for all ports, allowing ports to implement their backend
3052 and decide when to enable it.
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.
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
3069 * platform/graphics/GraphicsLayer.h:
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.
3078 * rendering/RenderBox.cpp:
3079 (WebCore::RenderBox::imageChanged):
3080 Pass background image changes to the layer backing.
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.
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).
3103 2013-04-10 Patrick Gansterer <paroga@webkit.org>
3105 Replace ENABLE_LEGACY_WEB_AUDIO preprocessor statements in IDL files with Conditional attribute
3106 https://bugs.webkit.org/show_bug.cgi?id=114351
3108 Reviewed by Ryosuke Niwa.
3110 The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
3112 * Modules/webaudio/AudioBufferSourceNode.idl:
3113 * Modules/webaudio/AudioContext.idl:
3114 * Modules/webaudio/AudioParam.idl:
3115 * Modules/webaudio/OscillatorNode.idl:
3117 2013-04-10 Patrick Gansterer <paroga@webkit.org>
3119 Replace ENABLE_DIRECTORY_UPLOAD preprocessor statements in IDL files with Conditional attribute
3120 https://bugs.webkit.org/show_bug.cgi?id=114350
3122 Reviewed by Ryosuke Niwa.
3124 The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
3128 2013-04-10 Ryosuke Niwa <rniwa@webkit.org>
3130 Cleanup local variables in Editor::markAndReplaceFor
3131 https://bugs.webkit.org/show_bug.cgi?id=114383
3133 Reviewed by Enrica Casucci.
3135 Added resultEndLocation, which is the sum of resultLocation and resultLength.
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.
3140 * editing/Editor.cpp:
3141 (WebCore::Editor::markAndReplaceFor):
3143 2013-04-10 Benjamin Poulain <bpoulain@apple.com>
3145 Mass remove all the empty directories
3147 Rubberstamped by Ryosuke Niwa.
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.
3172 2013-04-10 Simon Fraser <simon.fraser@apple.com>
3174 Log when the animation timer fires
3175 https://bugs.webkit.org/show_bug.cgi?id=114393
3177 Reviewed by Dean Jackson.
3179 Logging to the Animations log channel when the updateAnimationTimer
3180 fires is useful, because it indicates whether we're running
3181 software animations.
3183 * page/animation/AnimationController.cpp:
3184 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
3186 2013-04-10 Beth Dakin <bdakin@apple.com>
3188 Inspector highlights are offset when the WKView has a header
3189 https://bugs.webkit.org/show_bug.cgi?id=114389
3191 <rdar://problem/13522434>
3193 Reviewed by Sam Weinig.
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):
3201 2013-04-10 Simon Fraser <simon.fraser@apple.com>
3203 Flesh out the Animations logging
3204 https://bugs.webkit.org/show_bug.cgi?id=114388
3206 Reviewed by Dean Jackson.
3208 Log state changes and transition/animation creation and destruction
3209 to the Animations log channel.
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):
3224 2013-04-10 Alexey Proskuryakov <ap@apple.com>
3226 <rdar://problem/13047266> External XML entities are not loaded with modern libxml2
3227 https://bugs.webkit.org/show_bug.cgi?id=114377
3229 Reviewed by Darin Adler.
3231 Covered by http/tests/security/xss-DENIED-xml-external-entity.xhtml when using
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").
3241 2013-04-10 Eric Carlson <eric.carlson@apple.com>
3243 [Mac] in-band tracks sometimes not recognized
3244 https://bugs.webkit.org/show_bug.cgi?id=114380
3246 Reviewed by Jer Noble.
3248 No new tests, covered by existing in-band tests.
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
3255 (WebCore::assetMetadataKeyNames): Watch for the status of availableMediaCharacteristicsWithMediaSelectionOptions
3258 2013-04-10 Hans Muller <hmuller@adobe.com>
3260 [CSS Exclusions] Zoom causes shape-inside to fail when shape-padding is specified
3261 https://bugs.webkit.org/show_bug.cgi?id=113730
3263 Reviewed by Dirk Schulze.
3265 Snap computed margin and polygon boundaries to the LayoutUnit grid to ensure
3266 that they fall within the shape's LayoutUnit bounding box.
3268 Test: fast/exclusions/shape-inside/shape-inside-polygon-zoom.html
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.
3275 2013-04-10 Csaba Osztrogonác <ossy@webkit.org>
3277 One more unreviewed buildfix after r148123.
3279 * platform/graphics/filters/CustomFilterMeshGenerator.h:
3281 2013-04-10 Beth Dakin <bdakin@apple.com>
3283 FindBanner matches are offset when the WKView has a header or footer
3284 https://bugs.webkit.org/show_bug.cgi?id=114314
3286 <rdar://problem/13522434>
3288 Reviewed by Simon Fraser.
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().
3296 New function subtracts out the headerHeight() to treat the top of
3297 the document as (0,0).
3299 * platform/ScrollView.cpp:
3300 (WebCore::ScrollView::scrollOffsetRelativeToDocument):
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:
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:
3317 2013-04-10 Chris Fleizach <cfleizach@apple.com>
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
3322 Reviewed by Tim Horton.
3324 If an element does not expose any children, then it's safe to include all of its sub children when determining
3326 The bug is that all elements were ignoring focusable elements (like <a>) when determining visible children text
3328 Test: accessibility/link-inside-button-accessible-text.html
3330 * accessibility/AccessibilityNodeObject.cpp:
3331 (WebCore::shouldUseAccessiblityObjectInnerText):
3332 * accessibility/AccessibilityNodeObject.h:
3333 (AccessibilityNodeObject):
3334 * accessibility/AccessibilityObject.h:
3335 (WebCore::AccessibilityObject::isDescendantOfBarrenParent):
3336 (AccessibilityObject):
3338 2013-04-10 Chris Fleizach <cfleizach@apple.com>
3340 AX: Make sure all AX methods called from outside call prepareAccessibility
3341 https://bugs.webkit.org/show_bug.cgi?id=113818
3343 Reviewed by Darin Adler.
3345 Make sure any calls that can be made from outside WebCore are protected with the
3346 prepareAccessibility method.
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]):
3363 2013-04-10 Csaba Osztrogonác <ossy@webkit.org>
3365 Unreviewed buildfix after r148123.
3367 * inspector/InspectorInstrumentation.h:
3370 2013-04-10 Xabier Rodriguez Calvar <calvaris@igalia.com>
3372 Clicking on the volume slider of HTML5 elements is pausing sometimes
3373 https://bugs.webkit.org/show_bug.cgi?id=112548
3375 Reviewed by Eric Carlson.
3377 Test: media/click-volume-bar-not-pausing.html
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
3385 2013-04-10 Arvid Nilsson <anilsson@rim.com>
3387 [BlackBerry] Rename BlackBerry specific Texture class
3388 https://bugs.webkit.org/show_bug.cgi?id=95781
3390 Reviewed by Rob Buis.
3392 Texture was a bit too generic and prone to name conflicts. Renamed it
3395 No change in behavior, no new tests.
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:
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.
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.
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):
3448 * platform/graphics/blackberry/LayerTiler.cpp:
3449 (WebCore::LayerTiler::drawTile):
3450 (WebCore::LayerTiler::contentsTexture):
3451 * platform/graphics/blackberry/LayerTiler.h:
3453 (WebCore::LayerTiler::TextureJob::TextureJob):
3454 (WebCore::LayerTiler::TextureJob::setContents):
3455 (WebCore::LayerTiler::TextureJob::updateContents):
3457 * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
3458 (WebCore::TextureProtector::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):
3479 2013-04-10 Andreas Kling <akling@apple.com>
3481 Disallow programmatic movement of the browser window while user gestures are in progress.
3482 <http://webkit.org/b/114271>
3483 <rdar://problem/13226530>
3485 Reviewed by Oliver Hunt.
3487 * page/DOMWindow.cpp:
3488 (WebCore::DOMWindow::moveBy):
3489 (WebCore::DOMWindow::moveTo):
3490 (WebCore::DOMWindow::resizeBy):
3491 (WebCore::DOMWindow::resizeTo):
3493 2013-04-10 Ryosuke Niwa <rniwa@webkit.org>
3495 Refactor Editor::markAndReplaceFor before fixing autocorrection bugs
3496 https://bugs.webkit.org/show_bug.cgi?id=114344
3498 Reviewed by Enrica Casucci.
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.
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.
3508 * editing/Editor.cpp:
3509 (WebCore::isAutomaticTextReplacementType): Extracted.
3511 (WebCore::correctSpellcheckingPreservingTextCheckingParagraph): Extracted. Used highestAncestor
3512 and rangeFromLocationAndLength to match the rest of the up-to-date editing code.
3514 (WebCore::Editor::markAndReplaceFor): See above.
3516 2013-04-08 Anders Carlsson <andersca@apple.com>
3518 Remove unneeded headers from FrameLoader.h
3519 https://bugs.webkit.org/show_bug.cgi?id=114223
3521 Reviewed by Geoffrey Garen.
3523 Remove unneeded headers from FrameLoader.h and add them back into the respective .cpp files where needed.
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:
3535 (WebCore::FrameLoader::policyChecker):
3536 (WebCore::FrameLoader::history):
3537 (WebCore::FrameLoader::icon):
3538 * loader/MixedContentChecker.h:
3539 * loader/icon/IconLoader.cpp:
3542 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3543 * testing/Internals.cpp:
3545 2013-04-10 Simon Fraser <simon.fraser@apple.com>
3547 Minor code cleanup in AnimationBase::progress
3548 https://bugs.webkit.org/show_bug.cgi?id=114371
3550 Reviewed by Dean Jackson.
3552 Convert some "return; else if" to just "return; if".
3554 * page/animation/AnimationBase.cpp:
3555 (WebCore::AnimationBase::progress):
3557 2013-04-10 Robert Hogan <robert@webkit.org>
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
3562 Reviewed by David Hyatt.
3564 Test: fast/inline/inline-with-empty-inline-continuations.html
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.
3569 * rendering/RenderBlockLineLayout.cpp:
3570 (WebCore::shouldApplyStartBorderPaddingOrMargin):
3572 (WebCore::shouldApplyEndBorderPaddingOrMargin):
3573 (WebCore::hasInlineDirectionBordersPaddingOrMargin):
3574 (WebCore::alwaysRequiresLineBox):
3576 2013-04-10 Zoltan Horvath <zoltan@webkit.org>
3578 [CSS Exclusions] Increasing padding does not correctly layout child blocks
3579 https://bugs.webkit.org/show_bug.cgi?id=112929
3581 Reviewed by David Hyatt.
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.
3586 Test: fast/exclusions/shape-inside/shape-inside-sibling-block-dimension-change-needs-relayout.html
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(...)
3594 2013-04-10 Geoffrey Garen <ggaren@apple.com>
3596 Removed bitrotted TimeoutChecker code
3597 https://bugs.webkit.org/show_bug.cgi?id=114336
3599 Reviewed by Alexey Proskuryakov.
3601 This mechanism hasn't worked for a while.
3603 MarkL is working on a new version of this feature with a distinct
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:]):
3632 2013-04-10 Patrick Gansterer <paroga@webkit.org>
3634 Replace ENABLE_JAVASCRIPT_DEBUGGER preprocessor statements in IDL files with Conditional attribute
3635 https://bugs.webkit.org/show_bug.cgi?id=114352
3637 Reviewed by Timothy Hatcher.
3639 The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
3643 2013-04-10 Alexandru Chiculita <achicu@adobe.com>
3645 Layers with opacity and blur filters are reported as opaque to the compositor
3646 https://bugs.webkit.org/show_bug.cgi?id=114295
3648 Reviewed by Simon Fraser.
3650 Test: compositing/contents-opaque/filter.html
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.
3658 * rendering/RenderLayer.cpp:
3659 (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
3661 2013-04-10 Noam Rosenthal <noam@webkit.org>
3663 [Texmap] In certain situations nested blending with overflow:hidden displays clipped results
3664 https://bugs.webkit.org/show_bug.cgi?id=114290
3666 Reviewed by Allan Sandfeld Jensen.
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.
3672 Test: compositing/overlap-blending/nested-overlap-overflow.html
3674 * platform/graphics/texmap/TextureMapperGL.cpp:
3675 (WebCore::BitmapTextureGL::bind):
3677 2013-04-10 Antti Koivisto <antti@apple.com>
3679 Use minimal tiles during live resize
3680 https://bugs.webkit.org/show_bug.cgi?id=114364
3682 Reviewed by Darin Adler.
3684 We currently update non-visible speculative tiles during resizing. We should just drop them.
3686 * page/FrameView.cpp:
3687 (WebCore::FrameView::willStartLiveResize):
3688 (WebCore::FrameView::willEndLiveResize):
3690 * rendering/RenderLayerBacking.cpp:
3691 (WebCore::computeTileCoverage):
3693 Use minimal coverage in live resize state.
3695 2013-04-10 Victor Costan <costan@gmail.com>
3697 Blob content type normalization.
3698 https://bugs.webkit.org/show_bug.cgi?id=111380
3700 Reviewed by Alexey Proskuryakov.
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
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
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
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
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
3732 2013-04-10 Tim Horton <timothy_horton@apple.com>
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>
3738 Reviewed by Simon Fraser.
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
3744 * platform/graphics/ca/mac/TileController.h:
3745 * platform/graphics/ca/mac/TileController.mm:
3746 (WebCore::TileController::revalidateTiles):
3748 2013-04-10 Jessie Berlin <jberlin@apple.com>
3750 Update the localizable strings file.
3752 Rubber-stamped by Dan Bernstein.
3754 * English.lproj/Localizable.strings:
3756 2013-04-10 Patrick Gansterer <paroga@webkit.org>
3758 Replace ENABLE_CHANNEL_MESSAGING preprocessor statements in IDL files with Conditional attribute
3759 https://bugs.webkit.org/show_bug.cgi?id=114346
3761 Reviewed by Geoffrey Garen.
3763 The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
3765 * page/DOMWindow.idl:
3766 * workers/WorkerContext.idl:
3768 2013-04-10 Eric Carlson <eric.carlson@apple.com>
3770 Update all float attributes in HTMLMediaElement to double
3771 https://bugs.webkit.org/show_bug.cgi?id=113615
3773 Reviewed by Geoffrey Garen
3774 Patch by Aaron Colwell
3776 No new tests. Primary behavior doesn't change. Just time, playbackRate, and volume precision.
3777 All existing LayoutTests/media tests still pass.
3779 * WebCore.exp.in: Remove function that no longer need to be exported.
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.
3811 2013-04-10 Patrick Gansterer <paroga@webkit.org>
3813 Replace ENABLE_MICRODATA preprocessor statements in IDL files with Conditional attribute
3814 https://bugs.webkit.org/show_bug.cgi?id=114349
3816 Reviewed by Geoffrey Garen.
3818 The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
3821 * html/HTMLElement.idl:
3823 2013-04-10 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
3825 REGRESSION(r148034): IconDatabase::updateIconRecord crashes with null iconData and iconBitmap.
3826 https://bugs.webkit.org/show_bug.cgi?id=114356
3828 Reviewed by Tim Horton.
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.
3834 This used to be fine before r148034, but causes an assertion now.
3836 No new tests, existing tests such as fast/encoding/mispositioned-meta.html
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
3844 2013-04-10 JungJik Lee <jungjik.lee@samsung.com>
3846 [Texmap] Update a dirty region which is not covered with keepRect.
3847 https://bugs.webkit.org/show_bug.cgi?id=113752
3849 Reviewed by Jocelyn Turcotte.
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.
3858 No tests needed, change is unobservable.
3860 * platform/graphics/TiledBackingStore.cpp:
3861 (WebCore::TiledBackingStore::invalidate):
3863 2013-04-10 Laszlo Gombos <l.gombos@samsung.com>
3865 Remove ENABLE_3D_PLUGIN
3866 https://bugs.webkit.org/show_bug.cgi?id=108002
3868 Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
3870 Reviewed by Antti Koivisto.
3872 No new tests, removing dead code.
3874 * loader/SubframeLoader.cpp:
3875 (WebCore::SubframeLoader::loadPlugin):
3877 2013-04-10 Noam Rosenthal <noam@webkit.org>
3879 [Texmap] Hierarchy of layers with opacity may result in wrong blending.
3880 https://bugs.webkit.org/show_bug.cgi?id=113732
3882 Reviewed by Allan Sandfeld Jensen.
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
3890 Though the changes are separate, they cannot be tested separately as neither
3891 fixes a testable case on its own.
3893 Tests: compositing/overlap-blending/nested-non-overlap-clipping.html
3894 compositing/overlap-blending/nested-overlap.html
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:
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.
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.
3912 2013-04-10 Antti Koivisto <antti@apple.com>
3914 Create fewer tiles when page is loading
3915 https://bugs.webkit.org/show_bug.cgi?id=114294
3917 Reviewed by Anders Carlsson.
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.
3922 Tests: platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative.html
3923 platform/mac-wk2/tiled-drawing/tile-coverage-speculative.html
3925 * loader/FrameLoader.cpp:
3926 (WebCore::FrameLoader::loadProgressingStatusChanged):
3927 * page/FrameView.cpp:
3928 (WebCore::FrameView::adjustTiledBackingCoverage):
3929 (WebCore::FrameView::setWasScrolledByUser):
3931 User scrolling enables speculative tiling no matter what the load status.
3934 * rendering/RenderLayerBacking.cpp:
3935 (WebCore::computeTileCoverage):
3936 (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
3938 Cover only the viewport during loading.
3940 2013-04-10 Alberto Garcia <agarcia@igalia.com>
3942 [BlackBerry] RenderThemeBlackBerry: get rid of all the SKIA code
3943 https://bugs.webkit.org/show_bug.cgi?id=114339
3945 Reviewed by Carlos Garcia Campos.
3947 * platform/blackberry/RenderThemeBlackBerry.cpp:
3948 (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
3949 (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
3950 (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
3951 (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderThumb):
3953 2013-04-10 Zan Dobersek <zdobersek@igalia.com>
3955 REGRESSION (r147719): Failures in two a11y tests on GTK
3956 https://bugs.webkit.org/show_bug.cgi?id=114259
3958 Reviewed by Ryosuke Niwa.
3960 No new tests - covered by existing tests.
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.
3968 (WebCore::Document::setFocusedNode):
3970 2013-04-09 Philippe Normand <pnormand@igalia.com>
3972 [GStreamer] playbin uri getter is invalid
3973 https://bugs.webkit.org/show_bug.cgi?id=113884
3975 Reviewed by Martin Robinson.
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.
3983 Test: http/tests/media/video-redirect.html
3985 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3987 2013-04-09 Geoffrey Garen <ggaren@apple.com>
3989 [JSC] Script run from an isolated world should bypass a page's CSP
3990 https://bugs.webkit.org/show_bug.cgi?id=100815
3992 Reviewed by Oliver Hunt.
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.
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.
4004 2013-04-09 Benjamin Poulain <bpoulain@apple.com>
4006 Remove chromium exceptions from WebCore's gitattributes
4007 https://bugs.webkit.org/show_bug.cgi?id=114327
4009 Reviewed by Darin Adler.
4013 2013-04-09 Adam Klein <adamk@chromium.org>
4015 Update Document's event listener type bitfield when adopting a Node
4016 https://bugs.webkit.org/show_bug.cgi?id=114322
4018 Reviewed by Darin Adler.
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.
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.
4030 Test: fast/events/event-listener-moving-documents.html
4033 (WebCore::Node::didMoveToNewDocument): For each event listener type on the adopted node, update the new document's list of listener types.
4035 2013-04-09 Dean Jackson <dino@apple.com>
4037 Add logging channel for animations
4038 https://bugs.webkit.org/show_bug.cgi?id=114325
4040 Reviewed by Simon Fraser.
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.
4050 2013-04-09 Dongwoo Joshua Im <dw.im@samsung.com>
4052 [CSS3] Parsing the property, text-justify.
4053 https://bugs.webkit.org/show_bug.cgi?id=100058
4055 Reviewed by Andreas Kling.
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
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
4064 * css/CSSComputedStyleDeclaration.cpp:
4066 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4067 * css/CSSParser.cpp:
4068 (WebCore::isValidKeywordPropertyAndValue):
4069 (WebCore::isKeywordPropertyID):
4070 (WebCore::CSSParser::parseValue):
4071 * css/CSSPrimitiveValueMappings.h:
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: