1 2014-02-03 Brian Burg <bburg@apple.com>
3 Web Replay: upstream base input classes and the input cursor interface
4 https://bugs.webkit.org/show_bug.cgi?id=128110
6 Reviewed by Joseph Pecoraro.
8 Add EventLoopInput, a base class for replay inputs that are handled
9 as if they begin a new run loop. For example, navigations, user input,
10 network callbacks, and asynchronous timers are modeled by inputs which
11 derive from this base class.
13 Add the ability to set an InputCursor instance on a Document. This
14 is the means for connecting a replay recording to a document context.
16 Add forwarding headers for some fundamental replay classes.
18 No new tests; no new functionality is exposed.
20 * ForwardingHeaders/replay/EmptyInputCursor.h: Added.
21 * ForwardingHeaders/replay/InputCursor.h: Added.
22 * ForwardingHeaders/replay/NondeterministicInput.h: Added.
23 * WebCore.xcodeproj/project.pbxproj:
25 (WebCore::Document::Document):
27 (WebCore::Document::inputCursor):
28 (WebCore::Document::setInputCursor):
29 * replay/EventLoopInput.h: Added.
30 (WebCore::ReplayPosition::ReplayPosition):
31 (WebCore::ReplayPosition::index):
32 (WebCore::ReplayPosition::time):
33 (WebCore::EventLoopInputBase::EventLoopInputBase):
34 (WebCore::EventLoopInputBase::~EventLoopInputBase):
35 (WebCore::EventLoopInputBase::setPosition):
36 (WebCore::EventLoopInputBase::position):
38 2014-02-03 Jinwoo Song <jinwoo7.song@samsung.com>
40 Remove unused code in CSSParser.cpp
41 https://bugs.webkit.org/show_bug.cgi?id=128135
43 Reviewed by Darin Adler.
46 (WebCore::CSSParser::parseValue):
48 2014-02-03 Brent Fulgham <bfulgham@apple.com>
50 [Mac] WK1 Clients Only Latch on Momentum Scroll
51 https://bugs.webkit.org/show_bug.cgi?id=128133
53 Reviewed by Simon Fraser.
55 * platform/PlatformWheelEvent.h:
56 (WebCore::PlatformWheelEvent::useLatchedEventElement): Update
57 predicate to recognize the start and change phases of the wheel
58 event as latchable (not just momentum start/change).
60 2014-02-03 Dean Jackson <dino@apple.com>
62 Feature flag for shape-inside
63 https://bugs.webkit.org/show_bug.cgi?id=128001
65 Reviewed by Simon Fraser.
67 Add CSS_SHAPE_INSIDE flag.
69 I wrapped everything that is specific to shape-inside in
70 this flag. It is now possible to build with CSS Shapes enabled
71 but shape-inside disabled. CSS_SHAPE_INSIDE is dependent on
72 CSS_SHAPES, so disabling the latter should also disable the former.
74 * Configurations/FeatureDefines.xcconfig:
75 * css/CSSComputedStyleDeclaration.cpp:
76 (WebCore::ComputedStyleExtractor::propertyValue):
78 (WebCore::CSSParser::parseValue):
79 (WebCore::CSSParser::parseShapeProperty):
80 * css/CSSPropertyNames.in:
81 * css/DeprecatedStyleBuilder.cpp:
82 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
83 * css/StyleResolver.cpp:
84 (WebCore::StyleResolver::applyProperty):
85 (WebCore::StyleResolver::loadPendingImages):
86 * page/animation/CSSPropertyAnimation.cpp:
87 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
88 * rendering/LayoutState.cpp:
89 (WebCore::LayoutState::LayoutState):
90 * rendering/LayoutState.h:
91 (WebCore::LayoutState::LayoutState):
92 * rendering/RenderBlock.cpp:
93 (WebCore::RenderBlock::styleDidChange):
94 (WebCore::RenderBlock::updateShapesBeforeBlockLayout):
95 (WebCore::RenderBlock::updateShapesAfterBlockLayout):
96 * rendering/RenderBlock.h:
97 * rendering/RenderBlockFlow.cpp:
98 (WebCore::RenderBlockFlow::layoutBlockChild):
99 (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
100 * rendering/RenderBlockFlow.h:
101 * rendering/RenderBlockLineLayout.cpp:
102 (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
103 (WebCore::constructBidiRunsForLine):
104 (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
105 * rendering/RenderElement.cpp:
106 (WebCore::RenderElement::~RenderElement):
107 (WebCore::RenderElement::initializeStyle):
108 (WebCore::RenderElement::setStyle):
109 * rendering/RenderNamedFlowFragment.cpp:
110 (WebCore::RenderNamedFlowFragment::createStyle):
111 * rendering/RenderView.h:
112 * rendering/SimpleLineLayout.cpp:
113 (WebCore::SimpleLineLayout::canUseFor):
114 * rendering/line/BreakingContextInlineHeaders.h:
115 (WebCore::BreakingContext::handleText):
116 (WebCore::BreakingContext::handleEndOfLine):
117 * rendering/line/LineBreaker.cpp:
118 (WebCore::LineBreaker::nextLineBreak):
119 * rendering/line/LineWidth.cpp:
120 (WebCore::LineWidth::LineWidth):
121 (WebCore::LineWidth::updateAvailableWidth):
122 (WebCore::LineWidth::fitBelowFloats):
123 * rendering/line/LineWidth.h:
124 * rendering/shapes/ShapeInsideInfo.cpp:
125 * rendering/shapes/ShapeInsideInfo.h:
126 * rendering/style/RenderStyle.cpp:
127 (WebCore::RenderStyle::changeRequiresLayout):
128 * rendering/style/RenderStyle.h:
129 * rendering/style/StyleRareNonInheritedData.cpp:
130 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
131 (WebCore::StyleRareNonInheritedData::operator==):
132 * rendering/style/StyleRareNonInheritedData.h:
134 2014-02-03 Radu Stavila <stavila@adobe.com>
136 REGRESSION (r163018): Can’t scroll in <select> lists
137 https://bugs.webkit.org/show_bug.cgi?id=128090
139 The regression was caused by the fact that a new method scrollWithWheelEventLocation() was added
140 to RenderBox to replace the generic scroll() method for the particular case of scrolling using
141 the mouse wheel. This turned out to be a mistake because in the case of some elements, like select lists,
142 the scroll method was overriden and now the incorrect method was being called.
143 The solution was to remove the new method and just add two default parameters to the generic
146 Reviewed by Simon Fraser.
148 Test: fast/scrolling/scroll-select-list.html
150 * page/EventHandler.cpp:
151 (WebCore::scrollNode):
152 * rendering/RenderBox.cpp:
153 (WebCore::RenderBox::scroll):
154 * rendering/RenderBox.h:
155 * rendering/RenderEmbeddedObject.cpp:
156 (WebCore::RenderEmbeddedObject::scroll):
157 * rendering/RenderEmbeddedObject.h:
158 * rendering/RenderListBox.cpp:
159 (WebCore::RenderListBox::scroll):
160 * rendering/RenderListBox.h:
161 * rendering/RenderTextControlSingleLine.cpp:
162 (WebCore::RenderTextControlSingleLine::scroll):
163 * rendering/RenderTextControlSingleLine.h:
165 2014-02-03 Chris Fleizach <cfleizach@apple.com>
167 AX: WebKit should support @headers/@id for complex accessible web tables
168 https://bugs.webkit.org/show_bug.cgi?id=128114
170 Reviewed by Darin Adler.
172 Expose the headers attribute for table cells to accessibility.
174 Test: platform/mac/accessibility/table-headers-attribute.html
176 * accessibility/AccessibilityTableCell.cpp:
177 (WebCore::AccessibilityTableCell::columnHeaders):
179 2014-02-03 Andreas Kling <akling@apple.com>
181 CTTE: RenderSVGGradientStop always has a SVGStopElement.
182 <https://webkit.org/b/128107>
184 RenderSVGGradientStop is never anonymous and always has a
185 corresponding SVGStopElement. Codify this by adding an element()
186 overload that returns an SVGStopElement&.
188 Also added missing overrides and made most functions private.
190 Reviewed by Darin Adler.
192 * rendering/svg/RenderSVGGradientStop.cpp:
193 (WebCore::RenderSVGGradientStop::styleDidChange):
194 (WebCore::RenderSVGGradientStop::gradientElement):
195 * rendering/svg/RenderSVGGradientStop.h:
196 * rendering/svg/SVGRenderTreeAsText.cpp:
197 (WebCore::writeSVGGradientStop):
199 2014-02-03 David Kilzer <ddkilzer@apple.com>
201 Remove CachedImageManual class
202 <http://webkit.org/b/128043>
204 Reviewed by Darin Adler.
206 Get rid of the CachedImageManual class by inlining its
207 functionality into CachedImage. This makes it possible to
208 de-virtual-ize isManual() (renamed to isManuallyCached()) and to
209 make CachedImage final. The size of CachedImage does not
210 increase because we turn an existing bool into a bitfield to add
211 an m_isManuallyCached bit, and create a static CachedImageClient
212 in MemoryCache.cpp as the "fake" client to keep the manually
213 cached image alive in the cache.
215 * loader/cache/CachedImage.cpp:
216 (WebCore::CachedImage::CachedImage): Set m_isManuallyCached
217 bitfield. For one overloaded constructor, move the
218 CachedImageManual code into the CachedImage constructor.
219 (WebCore::CachedImageManual::CachedImageManual): Remove.
220 (WebCore::CachedImage::mustRevalidateDueToCacheHeaders): Move
221 method from CachedImageManual to CachedImage, and put
222 ManuallyCached behavior behind a check.
223 * loader/cache/CachedImage.h: Update includes. Make CachedImage
224 final. Add CachedImage::CacheBehaviorType enum when manually
225 cached images are created. Move CachedImageManual methods into
226 CachedImage, remove addFakeClient() and removeFakeClient()
227 methods (MemoryCache methods use addClient() and removeClient()
228 with a static CachedImageClient), and remove the
229 CachedImageManual class definition. Change
230 m_shouldPaintBrokenImage to a bitfield and add
231 m_isManuallyCached bitfield.
233 * loader/cache/MemoryCache.cpp:
234 (WebCore::MemoryCache::addImageToCache): Use std::unique_ptr and
235 remove useless NULL check after calling CachedImage constructor.
236 (WebCore::MemoryCache::removeImageFromCache):
237 - Update to use CachedImage class instead of CachedImageManual.
239 2014-02-03 Zan Dobersek <zdobersek@igalia.com>
241 Move the webdatabase module source code to std::unique_ptr
242 https://bugs.webkit.org/show_bug.cgi?id=127278
244 Reviewed by Antti Koivisto.
246 Replace the majority of OwnPtr uses in the webdatabase module with std::unique_ptr.
247 The only remaining uses are due to ScriptExecutionContext::Task subclasses.
249 * Modules/webdatabase/AbstractSQLTransactionBackend.h:
250 * Modules/webdatabase/Database.cpp:
251 * Modules/webdatabase/DatabaseTask.h:
252 * Modules/webdatabase/DatabaseThread.cpp:
253 (WebCore::DatabaseThread::DatabaseThread):
254 * Modules/webdatabase/DatabaseThread.h:
255 * Modules/webdatabase/DatabaseTracker.cpp:
256 (WebCore::DatabaseTracker::addOpenDatabase):
257 * Modules/webdatabase/DatabaseTracker.h:
258 * Modules/webdatabase/OriginLock.cpp:
259 * Modules/webdatabase/SQLStatement.cpp:
260 * Modules/webdatabase/SQLStatement.h:
261 * Modules/webdatabase/SQLStatementBackend.cpp:
262 (WebCore::SQLStatementBackend::create):
263 (WebCore::SQLStatementBackend::SQLStatementBackend):
264 * Modules/webdatabase/SQLStatementBackend.h:
265 * Modules/webdatabase/SQLTransaction.cpp:
266 (WebCore::SQLTransaction::executeSQL):
267 * Modules/webdatabase/SQLTransactionBackend.cpp:
268 (WebCore::SQLTransactionBackend::doCleanup):
269 (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
270 (WebCore::SQLTransactionBackend::executeSQL):
271 (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
272 (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
273 * Modules/webdatabase/SQLTransactionBackend.h:
274 * Modules/webdatabase/SQLTransactionBackendSync.cpp:
275 (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
276 (WebCore::SQLTransactionBackendSync::begin):
277 (WebCore::SQLTransactionBackendSync::commit):
278 (WebCore::SQLTransactionBackendSync::rollback):
279 * Modules/webdatabase/SQLTransactionBackendSync.h:
281 2014-02-03 Andreas Kling <akling@apple.com>
283 CTTE: Grab bag of SVGRenderTreeAsText cleanups.
284 <https://webkit.org/b/128099>
286 Made some of the DRT SVG functions take more specific types than
287 RenderObject. Removed some redundant casts.
289 Reviewed by Anders Carlsson.
291 * rendering/RenderTreeAsText.cpp:
293 * rendering/svg/SVGRenderTreeAsText.h:
294 * rendering/svg/SVGRenderTreeAsText.cpp:
295 (WebCore::writeSVGResourceContainer):
296 (WebCore::writeSVGContainer):
298 Make writeSVGResourceContainer() and writeSVGContainer() take the
299 final type instead of RenderObject.
301 (WebCore::writeStyle):
302 (WebCore::writePositionAndStyle):
304 Make these take RenderElement instead of RenderObject.
306 (WebCore::writeChildren):
308 Use child renderer iterator.
310 (WebCore::writeResources):
312 Remove unnecessary cast.
314 2014-01-25 Darin Adler <darin@apple.com>
317 https://bugs.webkit.org/show_bug.cgi?id=127633
319 Reviewed by Anders Carlsson.
321 * Modules/indexeddb/IDBKeyPath.cpp:
324 * css/CSSSegmentedFontFace.h:
325 * css/CSSUnicodeRangeValue.h:
326 * editing/Editor.cpp:
327 * editing/SmartReplace.h:
328 * html/parser/HTMLTokenizer.cpp:
329 * loader/DocumentLoader.cpp:
330 * page/ContextMenuController.cpp:
332 * platform/DateComponents.h:
333 * platform/SharedBuffer.cpp:
334 * platform/graphics/Color.h:
335 * platform/graphics/FontCache.h:
336 * platform/graphics/FontData.h:
337 * platform/graphics/FontDescription.h:
338 * platform/graphics/FontFastPath.cpp:
339 * platform/graphics/FontGenericFamilies.h:
340 * platform/graphics/FontGlyphs.cpp:
341 * platform/graphics/GlyphMetricsMap.h:
342 * platform/graphics/GlyphPage.h:
343 * platform/graphics/GlyphPageTreeNode.cpp:
344 * platform/graphics/GlyphPageTreeNode.h:
345 * platform/graphics/SVGGlyph.cpp:
346 * platform/graphics/WidthIterator.h:
347 * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
348 * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
349 * platform/graphics/mac/ComplexTextController.h:
350 * platform/graphics/win/QTMovie.h:
351 * platform/graphics/wince/FontWinCE.cpp:
352 * platform/text/BidiContext.h:
353 * platform/text/Hyphenation.h:
354 * platform/text/LocaleToScriptMapping.h:
355 * platform/text/TextBoundaries.cpp:
356 * platform/text/TextBoundaries.h:
357 * platform/text/TextBreakIterator.h:
358 * platform/text/TextCodec.h:
359 * platform/text/TextEncoding.h:
360 * platform/text/TextEncodingRegistry.h:
361 * platform/text/TextStream.h:
362 * platform/text/icu/UTextProvider.h:
363 * platform/text/icu/UTextProviderLatin1.h:
364 * platform/text/icu/UTextProviderUTF16.h:
365 * platform/text/wchar/TextBreakIteratorWchar.cpp:
366 * platform/win/WebCoreTextRenderer.cpp:
367 * rendering/RootInlineBox.cpp:
368 * rendering/SimpleLineLayout.cpp:
369 * rendering/SimpleLineLayoutFunctions.cpp:
370 * rendering/break_lines.h:
371 * svg/SVGFontData.cpp:
372 Removed includes of <wtf/unicode/Unicode.h>, adding includes of
373 ICU headers and <wtf/text/LChar.h> as needed to replace it.
375 2014-02-03 Jessie Berlin <jberlin@apple.com>
377 Revert r163299 since it broke the ML 32-bit Release build
379 * html/HTMLAnchorElement.cpp:
380 (WebCore::parsePortFromStringPosition):
381 (WebCore::HTMLAnchorElement::hash):
382 (WebCore::HTMLAnchorElement::setHash):
383 (WebCore::HTMLAnchorElement::host):
384 (WebCore::HTMLAnchorElement::setHost):
385 (WebCore::HTMLAnchorElement::hostname):
386 (WebCore::HTMLAnchorElement::setHostname):
387 (WebCore::HTMLAnchorElement::pathname):
388 (WebCore::HTMLAnchorElement::setPathname):
389 (WebCore::HTMLAnchorElement::port):
390 (WebCore::HTMLAnchorElement::setPort):
391 (WebCore::HTMLAnchorElement::protocol):
392 (WebCore::HTMLAnchorElement::setProtocol):
393 (WebCore::HTMLAnchorElement::search):
394 (WebCore::HTMLAnchorElement::origin):
395 (WebCore::HTMLAnchorElement::setSearch):
396 (WebCore::HTMLAnchorElement::toString):
397 * html/HTMLAnchorElement.h:
398 * html/HTMLAnchorElement.idl:
399 * html/HTMLAreaElement.idl:
402 2014-02-03 Mihai Maerean <mmaerean@adobe.com>
404 [CSS Regions] Fix selection and hover effect of content in region with overflow:hidden
405 https://bugs.webkit.org/show_bug.cgi?id=127101
407 Reviewed by Mihnea Ovidenie.
409 RenderNamedFlowFragments are not hit candidates. The hit test algorithm will pick the
410 parent layer, the one of the region.
412 Test: fast/regions/hover-overflow-hidden.html
414 * rendering/RenderLayer.cpp:
415 (WebCore::isHitCandidate):
417 2014-02-02 Maciej Stachowiak <mjs@apple.com>
419 Adopt URLUtils interface and template in HTMLAnchorElement and HTMLAreaElement
420 https://bugs.webkit.org/show_bug.cgi?id=128067
422 Reviewed by Antti Koivisto.
424 Tests: fast/dom/HTMLAnchorElement/anchor-password.html
425 fast/dom/HTMLAnchorElement/anchor-username.html
426 fast/dom/HTMLAreaElement/area-password.html
427 fast/dom/HTMLAreaElement/area-username.html
429 * html/HTMLAnchorElement.cpp:
430 * html/HTMLAnchorElement.h:
431 (WebCore::HTMLAnchorElement::setHref): Add version that takes
432 (and ignores) ExceptionCode. This is needed because the URLUtil
433 base interface is used for URL, which can throw an exception,
434 and HTMLAnchorElement, which cannot.
435 * html/HTMLAnchorElement.idl: implement URLUtils
436 * html/HTMLAreaElement.idl: implement URLUtils
437 * html/URLUtils.idl: Treat null as empty string for href
439 2014-02-03 Krzysztof Czech <k.czech@samsung.com>
441 [ATK] Expose aria-controls through ATK_RELATION_CONTROLLER_FOR
442 https://bugs.webkit.org/show_bug.cgi?id=127908
444 Reviewed by Chris Fleizach.
446 Based on w3c, aria-controls could be exposed through ATK_RELATION_CONTROLLER_FOR.
448 Test: accessibility/aria-controls.html
450 * accessibility/AccessibilityObject.h:
451 (WebCore::AccessibilityObject::supportsARIAControls):
452 (WebCore::AccessibilityObject::ariaControlsElements):
453 * accessibility/AccessibilityRenderObject.cpp:
454 (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
455 (WebCore::AccessibilityRenderObject::supportsARIAControls):
456 (WebCore::AccessibilityRenderObject::ariaControlsElements):
457 * accessibility/AccessibilityRenderObject.h:
458 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
459 (setAtkRelationSetFromCoreObject):
461 2014-02-03 Andreas Kling <akling@apple.com>
463 RenderSVGResource::removeClientFromCache() should take RenderElement&.
464 <https://webkit.org/b/128097>
466 Text renderers never have resources associated with them.
467 This is yet another step towards enforcing that at compile-time
468 by making all the resource cache interfaces deal in RenderElement.
470 Also marked the RenderSVGResourceSolidColor class final.
472 Reviewed by Darin Adler.
474 * rendering/svg/RenderSVGResource.cpp:
475 (WebCore::removeFromCacheAndInvalidateDependencies):
476 (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
477 * rendering/svg/RenderSVGResource.h:
478 * rendering/svg/RenderSVGResourceClipper.cpp:
479 (WebCore::RenderSVGResourceClipper::removeClientFromCache):
480 * rendering/svg/RenderSVGResourceClipper.h:
481 * rendering/svg/RenderSVGResourceFilter.cpp:
482 (WebCore::RenderSVGResourceFilter::removeClientFromCache):
483 * rendering/svg/RenderSVGResourceFilter.h:
484 * rendering/svg/RenderSVGResourceGradient.cpp:
485 (WebCore::RenderSVGResourceGradient::removeClientFromCache):
486 * rendering/svg/RenderSVGResourceGradient.h:
487 * rendering/svg/RenderSVGResourceMarker.cpp:
488 (WebCore::RenderSVGResourceMarker::removeClientFromCache):
489 * rendering/svg/RenderSVGResourceMarker.h:
490 * rendering/svg/RenderSVGResourceMasker.cpp:
491 (WebCore::RenderSVGResourceMasker::removeClientFromCache):
492 * rendering/svg/RenderSVGResourceMasker.h:
493 * rendering/svg/RenderSVGResourcePattern.cpp:
494 (WebCore::RenderSVGResourcePattern::removeClientFromCache):
495 * rendering/svg/RenderSVGResourcePattern.h:
496 * rendering/svg/RenderSVGResourceSolidColor.h:
497 * rendering/svg/SVGRenderSupport.cpp:
498 (WebCore::invalidateResourcesOfChildren):
499 (WebCore::SVGRenderSupport::layoutChildren):
500 * rendering/svg/SVGResources.cpp:
501 (WebCore::SVGResources::removeClientFromCache):
502 * rendering/svg/SVGResources.h:
504 2014-02-03 Dan Bernstein <mitz@apple.com>
506 More iOS build fixing.
508 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
509 (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
510 * html/parser/HTMLTreeBuilder.cpp:
511 (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):
512 * page/ios/FrameIOS.mm:
513 (WebCore::Frame::interpretationsForCurrentRoot):
515 2014-02-03 Darin Adler <darin@apple.com>
517 Try to fix iOS build.
519 * html/BaseDateAndTimeInputType.cpp:
520 (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
521 Use deprecatedCharacters.
523 2014-02-02 Darin Adler <darin@apple.com>
525 Obey "delete this" comments, including deleting String::characters and friends
526 https://bugs.webkit.org/show_bug.cgi?id=126865
528 Reviewed by Andreas Kling.
530 * CMakeLists.txt: Deleted HTMLParserErrorCodes.cpp.
531 * GNUmakefile.list.am: Deleted HTMLParserErrorCodes.cpp/h, and HTMLParserQuirks.h.
532 * WebCore.vcxproj/WebCore.vcxproj: Deleted HTMLParserErrorCodes.cpp/h.
533 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
534 * WebCore.xcodeproj/project.pbxproj: Ditto.
536 * html/HTMLParserErrorCodes.cpp: Removed.
537 * html/HTMLParserErrorCodes.h: Removed.
538 * html/HTMLParserQuirks.h: Removed.
540 * rendering/RenderText.h: Deleted the characters function, leaving behind the
541 deprecatedCharacters function.
543 2014-02-02 Brady Eidson <beidson@apple.com>
545 IDB: Cannot open new databases with the default version
546 https://bugs.webkit.org/show_bug.cgi?id=128096
548 Reviewed by Tim Horton.
550 * Modules/indexeddb/IDBDatabaseBackend.cpp:
551 (WebCore::IDBDatabaseBackend::openConnectionInternal): Update logic to handle the
552 current version being NoIntVersion.
554 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
555 (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform): Update ASSERT.
557 2014-02-02 Darin Adler <darin@apple.com>
559 Fix context save/restore mistake spotted in SVGInlineTextBox::paintTextWithShadows
560 https://bugs.webkit.org/show_bug.cgi?id=128095
562 Reviewed by Andreas Kling.
564 * rendering/svg/SVGInlineTextBox.cpp:
565 (WebCore::SVGInlineTextBox::paintTextWithShadows): Move calls to GraphicsContext::restore
566 and GraphicsContext::clearShadow before restoreGraphicsContextAfterTextPainting, since that
567 function can swap contexts.
569 2014-02-02 Andreas Kling <akling@apple.com>
571 Modernize RenderSVGText::locateRenderSVGTextAncestor().
572 <https://webkit.org/b/128093>
574 Make locateRenderSVGTextAncestor() take a reference, and simplify it
575 internally with lineageOfType.
577 Switched callers to use 'auto' for the return type so we get some
578 devirtualization freebies.
580 Reviewed by Anders Carlsson.
582 * rendering/svg/RenderSVGInline.cpp:
583 (WebCore::RenderSVGInline::objectBoundingBox):
584 (WebCore::RenderSVGInline::strokeBoundingBox):
585 (WebCore::RenderSVGInline::repaintRectInLocalCoordinates):
586 (WebCore::RenderSVGInline::absoluteQuads):
587 (WebCore::RenderSVGInline::addChild):
588 (WebCore::RenderSVGInline::removeChild):
589 * rendering/svg/RenderSVGInlineText.cpp:
590 (WebCore::RenderSVGInlineText::setTextInternal):
591 (WebCore::RenderSVGInlineText::styleDidChange):
592 * rendering/svg/RenderSVGResourceGradient.cpp:
593 (WebCore::createMaskAndSwapContextForTextGradient):
594 (WebCore::clipToTextMask):
595 * rendering/svg/RenderSVGText.cpp:
596 (WebCore::RenderSVGText::locateRenderSVGTextAncestor):
597 * rendering/svg/RenderSVGText.h:
598 (WebCore::RenderSVGText>):
599 * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
600 (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
601 * rendering/svg/SVGTextMetricsBuilder.cpp:
602 (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
603 * svg/SVGTextPositioningElement.cpp:
604 (WebCore::SVGTextPositioningElement::svgAttributeChanged):
606 2014-02-02 Andreas Kling <akling@apple.com>
608 Modernize the toRenderSVGResourceContainer() helper.
609 <https://webkit.org/b/128091>
611 Make toRenderSVGResourceContainer() a free function like all the
612 other casting helpers. Use references instead of pointers where
615 Reviewed by Anders Carlsson.
617 * rendering/RenderLayerFilterInfo.cpp:
618 (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
619 (WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients):
620 * rendering/RenderObject.cpp:
621 * rendering/RenderObject.h:
622 * rendering/svg/RenderSVGGradientStop.cpp:
623 (WebCore::RenderSVGGradientStop::styleDidChange):
624 * rendering/svg/RenderSVGResource.cpp:
625 (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
626 * rendering/svg/RenderSVGResourceContainer.cpp:
627 (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
628 * rendering/svg/RenderSVGResourceContainer.h:
629 * rendering/svg/RenderSVGResourceFilter.cpp:
630 (WebCore::RenderSVGResourceFilter::buildPrimitives):
631 * rendering/svg/RenderSVGResourceFilter.h:
632 * rendering/svg/SVGRenderTreeAsText.cpp:
633 (WebCore::writeSVGResourceContainer):
634 * rendering/svg/SVGResourcesCycleSolver.cpp:
635 (WebCore::SVGResourcesCycleSolver::resolveCycles):
636 * svg/SVGElement.cpp:
637 (WebCore::SVGElement::svgAttributeChanged):
639 2014-02-02 Andreas Kling <akling@apple.com>
641 Minor SVGRootInlineBox cleanup.
642 <https://webkit.org/b/128094>
644 Remove two virtual functions and sprinkle some missing overrides.
646 Reviewed by Anders Carlsson.
648 * rendering/svg/SVGRootInlineBox.h:
650 2014-01-30 Oliver Hunt <oliver@apple.com>
652 Push DOM attributes into the prototype chain
653 https://bugs.webkit.org/show_bug.cgi?id=127969
655 Reviewed by Mark Lam.
657 This patch does the actual work of moving dom attributes up the
658 prototype chain. There are still a few class and edge cases
659 where we can't do this without impacting existing behaviour,
660 but they can be fixed separately in later patches.
662 * bindings/js/JSDOMBinding.h:
663 (WebCore::getStaticPropertySlotEntryWithoutCaching):
664 (WebCore::getStaticPropertySlotEntryWithoutCaching<JSDOMWrapper>):
665 * bindings/scripts/CodeGeneratorJS.pm:
666 (GenerateGetOwnPropertySlotBody):
667 (HasComplexGetOwnProperty):
668 (ConstructorShouldBeOnInstance):
669 (AttributeShouldBeOnInstance):
670 (InstanceAttributeCount):
671 (PrototypeAttributeCount):
672 (InstanceOverridesGetOwnPropertySlot):
673 (PrototypeOverridesGetOwnPropertySlot):
674 (GenerateAttributesHashTable):
675 (GenerateImplementation):
677 2014-02-02 Andreas Kling <akling@apple.com>
679 RenderSVGResourceContainer clients are always RenderElement.
680 <https://webkit.org/b/128088>
682 All clients of RenderSVGResourceContainer are going to be RenderElement,
683 so make the interface take RenderElement& instead of RenderObject*.
685 Also modernized the code a bit with C++11 range for loops.
687 Reviewed by Sam Weinig.
689 * rendering/svg/RenderSVGResourceContainer.cpp:
690 (WebCore::RenderSVGResourceContainer::addClient):
691 (WebCore::RenderSVGResourceContainer::removeClient):
692 * rendering/svg/RenderSVGResourceContainer.h:
693 * rendering/svg/SVGResourcesCache.cpp:
694 (WebCore::SVGResourcesCache::addResourcesFromRenderer):
695 (WebCore::SVGResourcesCache::removeResourcesFromRenderer):
697 2014-02-02 Zalan Bujtas <zalan@apple.com>
699 Subpixel rendering: Use floorf/roundf/fabs in device snapping helpers.
700 https://bugs.webkit.org/show_bug.cgi?id=128075
702 Reviewed by Darin Adler.
704 No change in functionality.
706 * platform/LayoutUnit.h:
707 (WebCore::roundToDevicePixel):
708 (WebCore::floorToDevicePixel):
709 * platform/graphics/cg/GraphicsContextCG.cpp:
710 (WebCore::GraphicsContext::platformInit):
712 2014-02-02 Andreas Kling <akling@apple.com>
714 SVGDocumentExtensions::resourcesCache() should return a reference.
715 <https://webkit.org/b/128087>
717 The SVGResourcesCache is always present when the Document is using
718 SVG extensions, so make this return a reference and propagate that
719 knowledge to the call site.
721 This gets rid of an assertion and some rickety looking ->'s.
722 Also converted a loop to use C++11 range for syntax.
724 Reviewed by Sam Weinig.
726 * rendering/svg/SVGResourcesCache.cpp:
727 (WebCore::resourcesCacheFromRenderer):
728 (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
729 (WebCore::SVGResourcesCache::clientStyleChanged):
730 (WebCore::SVGResourcesCache::clientWasAddedToTree):
731 (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
732 (WebCore::SVGResourcesCache::clientDestroyed):
733 (WebCore::SVGResourcesCache::resourceDestroyed):
734 * svg/SVGDocumentExtensions.h:
735 (WebCore::SVGDocumentExtensions::resourcesCache):
737 2014-02-02 Andreas Kling <akling@apple.com>
739 RenderSVGInlineText::computeNewScaledFontForStyle() should take references.
740 <https://webkit.org/b/128086>
742 Make computeNewScaledFontForStyle() take renderer and style by reference
743 instead of taking a pointer and asserting that it's non-null.
745 Reviewed by Darin Adler.
747 * rendering/svg/RenderSVGInlineText.cpp:
748 (WebCore::RenderSVGInlineText::updateScaledFont):
749 (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
750 * rendering/svg/RenderSVGInlineText.h:
751 * rendering/svg/RenderSVGResourceClipper.cpp:
752 (WebCore::RenderSVGResourceClipper::applyClippingToContext):
753 * rendering/svg/RenderSVGResourceContainer.cpp:
754 (WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting):
755 * rendering/svg/RenderSVGResourceFilter.cpp:
756 (WebCore::RenderSVGResourceFilter::applyResource):
757 * rendering/svg/RenderSVGResourceGradient.cpp:
758 (WebCore::createMaskAndSwapContextForTextGradient):
759 (WebCore::clipToTextMask):
760 * rendering/svg/RenderSVGResourceMasker.cpp:
761 (WebCore::RenderSVGResourceMasker::applyResource):
762 * rendering/svg/RenderSVGResourcePattern.cpp:
763 (WebCore::RenderSVGResourcePattern::buildPattern):
764 * rendering/svg/SVGInlineTextBox.cpp:
765 (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
766 * rendering/svg/SVGRenderingContext.cpp:
767 (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
768 (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
769 * rendering/svg/SVGRenderingContext.h:
771 2014-02-02 Darin Adler <darin@apple.com>
773 Still more characters -> deprecatedCharacters (EWS keeps finding more)
774 https://bugs.webkit.org/show_bug.cgi?id=128076
776 Reviewed by Andreas Kling.
778 * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
779 (WebCore::HarfBuzzShaper::setFontFeatures):
780 (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
781 Use deprecatedCharacters.
783 2014-02-02 Zalan Bujtas <zalan@apple.com>
785 Subpixel rendering: Enable subpixel positioning/sizing/hairline border painting.
786 https://bugs.webkit.org/show_bug.cgi?id=128009
788 Reviewed by Simon Fraser.
790 Snap and clip to device pixels when painting boxes. Enable hairline painting
793 No existing context to test this functionality yet.
795 * rendering/RenderBoxModelObject.cpp:
796 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
797 (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
798 * rendering/RenderObject.cpp:
799 (WebCore::RenderObject::drawLineForBoxSide):
800 * rendering/style/RenderStyle.cpp:
801 (WebCore::RenderStyle::getRoundedBorderFor):
802 (WebCore::RenderStyle::getRoundedInnerBorderFor):
804 2014-02-02 Sam Weinig <sam@webkit.org>
806 Add some missing override keywords
807 https://bugs.webkit.org/show_bug.cgi?id=128082
809 Reviewed by Antti Koivisto.
811 * loader/DocumentThreadableLoader.h:
812 * loader/LinkLoader.h:
813 * loader/TextTrackLoader.h:
814 * xml/parser/XMLDocumentParser.h:
816 2014-02-02 Brady Eidson <beidson@apple.com>
818 IDB: Support IDBFactory.deleteDatabase()
819 https://bugs.webkit.org/show_bug.cgi?id=128060
821 Reviewed by Filip Pizlo and Maciej Stachowiak (filesystem parts also Tim Hatcher and Simon Fraser)
823 * Modules/indexeddb/IDBDatabaseBackend.cpp:
824 (WebCore::IDBDatabaseBackend::deleteDatabaseAsync):
826 * Modules/indexeddb/IDBFactory.cpp:
827 (WebCore::IDBFactory::deleteDatabase):
829 Change factory-level deleteDatabase to take opening and main frame origins:
830 * Modules/indexeddb/IDBFactoryBackendInterface.h:
831 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
832 (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
833 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
835 * Modules/indexeddb/IDBServerConnection.h:
836 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
840 2014-02-02 Zalan Bujtas <zalan@apple.com>
842 Subpixel rendering: Introduce device pixel snapping helper functions.
843 https://bugs.webkit.org/show_bug.cgi?id=128049
845 Reviewed by Simon Fraser.
847 These functions help device pixel snapping during painting. They follow the logic of
848 the corresponding pixelSnappedInt* functions.
850 No change in functionality.
852 * platform/LayoutUnit.h:
853 (WebCore::roundToDevicePixel):
854 (WebCore::floorToDevicePixel):
855 (WebCore::snapSizeToPixel):
856 (WebCore::snapSizeToDevicePixel):
857 * platform/graphics/GraphicsContext.cpp:
858 (WebCore::GraphicsContext::GraphicsContext):
859 * platform/graphics/GraphicsContext.h:
860 (WebCore::GraphicsContext::pixelSnappingFactor):
861 * platform/graphics/LayoutRect.h:
862 (WebCore::pixelSnappedForPainting):
863 * platform/graphics/cg/GraphicsContextCG.cpp:
864 (WebCore::GraphicsContext::platformInit):
866 2014-02-02 Zalan Bujtas <zalan@apple.com>
868 Floor thickness and length after switching from int to float.
869 https://bugs.webkit.org/show_bug.cgi?id=128071
871 Reviewed by Antti Koivisto.
873 This is a temporary solution to fix the assertion on empty line drawing until after
874 device pixel snapping is added.
876 Covered by existing tests.
878 * rendering/RenderObject.cpp:
879 (WebCore::RenderObject::drawLineForBoxSide):
881 2014-02-02 Antti Koivisto <antti@apple.com>
883 Remove StyleScopeResolver
884 https://bugs.webkit.org/show_bug.cgi?id=128069
886 Reviewed by Anders Carlsson.
891 * GNUmakefile.list.am:
892 * WebCore.xcodeproj/project.pbxproj:
893 * css/DocumentRuleSets.cpp:
894 (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
895 (WebCore::DocumentRuleSets::collectFeatures):
896 * css/DocumentRuleSets.h:
897 * css/ElementRuleCollector.h:
898 (WebCore::ElementRuleCollector::ElementRuleCollector):
900 (WebCore::RuleSet::addChildRules):
901 * css/StyleResolver.cpp:
902 (WebCore::StyleResolver::pushParentElement):
903 (WebCore::StyleResolver::popParentElement):
904 (WebCore::StyleResolver::locateSharedStyle):
905 (WebCore::StyleResolver::styleForElement):
906 * css/StyleResolver.h:
907 (WebCore::StyleResolver::document):
908 * css/StyleScopeResolver.cpp: Removed.
909 * css/StyleScopeResolver.h: Removed.
910 * style/StyleResolveTree.cpp:
911 (WebCore::Style::attachShadowRoot):
912 (WebCore::Style::resolveShadowTree):
914 2014-02-02 Zalan Bujtas <zalan@apple.com>
916 Subpixel rendering: Make BorderEdge/RoundedRect::Radii LayoutUnit aware.
917 https://bugs.webkit.org/show_bug.cgi?id=128036
919 Reviewed by Darin Adler.
921 Covered by existing tests.
923 * platform/LayoutUnit.h:
924 (WebCore::LayoutUnit::operator++):
925 * rendering/RenderBoxModelObject.cpp:
926 (WebCore::BorderEdge::BorderEdge):
927 (WebCore::BorderEdge::usedWidth):
928 (WebCore::BorderEdge::getDoubleBorderStripeWidths):
929 (WebCore::RenderBoxModelObject::paintOneBorderSide):
930 (WebCore::RenderBoxModelObject::paintBorder):
931 (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
932 (WebCore::calculateSideRectIncludingInner):
933 * rendering/RenderObject.cpp:
934 (WebCore::RenderObject::drawLineForBoxSide):
935 * rendering/RenderObject.h:
936 * rendering/style/BorderData.h:
937 (WebCore::BorderData::borderLeftWidth):
938 (WebCore::BorderData::borderRightWidth):
939 (WebCore::BorderData::borderTopWidth):
940 (WebCore::BorderData::borderBottomWidth):
941 * rendering/style/RenderStyle.cpp:
942 (WebCore::calcRadiiFor):
943 (WebCore::calcConstraintScaleFor):
944 (WebCore::RenderStyle::getRoundedInnerBorderFor):
945 * rendering/style/RenderStyle.h:
947 2014-02-01 Hunseop Jeong <hs85.jeong@samsung.com>
949 REGRESSION(r163234) Debug build is broken
950 https://bugs.webkit.org/show_bug.cgi?id=128059
952 Unreviewed. Debug build is broken with INDEXED_DATABASE.
954 * Modules/indexeddb/IDBKeyData.cpp:
955 (WebCore::IDBKeyData::loggingString): Added the default: case.
957 2014-02-01 Zalan Bujtas <zalan@apple.com>
959 Subpixel rendering: LayoutUnit operator++ is broken.
960 https://bugs.webkit.org/show_bug.cgi?id=128056
962 Reviewed by Darin Adler.
964 Add pre-increment operator++.
966 * platform/LayoutUnit.h:
967 (WebCore::LayoutUnit::operator++):
969 2014-02-01 Darin Adler <darin@apple.com>
971 More characters -> deprecatedCharacters (based on more EWS complaints)
972 https://bugs.webkit.org/show_bug.cgi?id=128063
974 Reviewed by Anders Carlsson.
976 * editing/SmartReplace.cpp:
977 (WebCore::addAllCodePoints):
978 (WebCore::getSmartSet):
979 * platform/win/WebCoreTextRenderer.cpp:
980 (WebCore::doDrawTextAtPoint):
981 Use deprecatedCharacters.
983 2014-02-01 Darin Adler <darin@apple.com>
985 Use deprecatedCharacters in a few more places (non-Mac-build sites found by EWS)
986 https://bugs.webkit.org/show_bug.cgi?id=128042
988 Reviewed by Sam Weinig.
990 * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
991 (WebCore::IDBLevelDBCoding::encodeString):
992 * platform/graphics/win/FontCacheWin.cpp:
993 (WebCore::FontCache::systemFallbackForCharacters):
994 (WebCore::createGDIFont):
995 (WebCore::FontCache::getTraitsInFamily):
996 * platform/network/DataURL.cpp:
997 (WebCore::handleDataURL):
998 * platform/win/BString.cpp:
999 (WebCore::BString::BString):
1000 * platform/win/ClipboardUtilitiesWin.cpp:
1001 (WebCore::createGlobalData):
1002 * platform/win/FileSystemWin.cpp:
1003 (WebCore::pathByAppendingComponent):
1004 (WebCore::fileSystemRepresentation):
1005 * platform/win/PasteboardWin.cpp:
1006 (WebCore::filesystemPathFromUrlOrTitle):
1007 (WebCore::Pasteboard::writeURLToDataObject):
1008 (WebCore::createGlobalImageFileDescriptor):
1009 * platform/win/PopupMenuWin.cpp:
1010 (WebCore::PopupMenuWin::calculatePositionAndSize):
1011 Call deprecatedCharacters instead of characters.
1013 2014-02-01 Enrica Casucci <enrica@apple.com>
1015 Add support for ActionSheets in WK2 for iOS.
1016 https://bugs.webkit.org/show_bug.cgi?id=127586
1017 <rdar://problem/15283667>
1019 Reviewed by Benjamin Poulain.
1021 Updates the localizable strings for action sheets.
1023 * English.lproj/Localizable.strings:
1025 2014-02-01 Maciej Stachowiak <mjs@apple.com>
1027 Factor URL decomposition methods (from URLUtils interface) into a base template
1028 https://bugs.webkit.org/show_bug.cgi?id=128052
1030 Reviewed by Sam Weinig.
1032 Refactoring only; no new tests.
1036 (WebCore::DOMURL::href): Moved to header and made inline.
1037 * html/URLUtils.h: Added.
1038 (WebCore::URLUtils::href): Downcast and call the derived class.
1039 (WebCore::URLUtils::setHref): Downcast and call the derived class.
1040 Functions below factored out from DOMURL.cpp.
1041 (WebCore::URLUtils<T>::toString):
1042 (WebCore::URLUtils<T>::origin):
1043 (WebCore::URLUtils<T>::protocol):
1044 (WebCore::URLUtils<T>::setProtocol):
1045 (WebCore::URLUtils<T>::username):
1046 (WebCore::URLUtils<T>::setUsername):
1047 (WebCore::URLUtils<T>::password):
1048 (WebCore::URLUtils<T>::setPassword):
1049 (WebCore::URLUtils<T>::host):
1050 (WebCore::parsePortFromStringPosition):
1051 (WebCore::URLUtils<T>::setHost):
1052 (WebCore::URLUtils<T>::hostname):
1053 (WebCore::URLUtils<T>::setHostname):
1054 (WebCore::URLUtils<T>::port):
1055 (WebCore::URLUtils<T>::setPort):
1056 (WebCore::URLUtils<T>::pathname):
1057 (WebCore::URLUtils<T>::setPathname):
1058 (WebCore::URLUtils<T>::search):
1059 (WebCore::URLUtils<T>::setSearch):
1060 (WebCore::URLUtils<T>::hash):
1061 (WebCore::URLUtils<T>::setHash):
1063 Add mention of new header.
1064 * GNUmakefile.list.am:
1065 * WebCore.vcxproj/WebCore.vcxproj:
1066 * WebCore.vcxproj/WebCore.vcxproj.filters:
1067 * WebCore.xcodeproj/project.pbxproj:
1069 2014-02-01 Benjamin Poulain <bpoulain@apple.com>
1071 Improve the JavaScript bindings of DatasetDOMStringMap
1072 https://bugs.webkit.org/show_bug.cgi?id=127971
1076 * dom/DatasetDOMStringMap.cpp:
1077 * dom/DatasetDOMStringMap.h:
1078 Follow up for r163239. Darin pointed out the #includes are wrong.
1080 2014-02-01 Brady Eidson <beidson@apple.com>
1082 IDB: Implement IDBObjectStore.delete()
1083 https://bugs.webkit.org/show_bug.cgi?id=127880
1085 Reviewed by Sam Weinig.
1087 * Modules/indexeddb/IDBKeyData.cpp:
1088 (WebCore::IDBKeyData::compare): Make this const.
1089 * Modules/indexeddb/IDBKeyData.h:
1091 * Modules/indexeddb/IDBKeyRangeData.cpp:
1092 (WebCore::IDBKeyRangeData::isExactlyOneKey): Returns whether or not
1093 the key range is known to represent precisely one key.
1094 * Modules/indexeddb/IDBKeyRangeData.h:
1098 2014-02-01 Anders Carlsson <andersca@apple.com>
1100 SVGTextLayoutAttributesBuilder shouldn't use RenderText::deprecatedCharacters()
1101 https://bugs.webkit.org/show_bug.cgi?id=128048
1103 Reviewed by Sam Weinig.
1105 Change UChar*& lastCharacter to bool& lastCharacterWasSpace since that's what the parameter was used for.
1107 * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
1108 (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
1109 Initialize lastCharacterWasSpace to true to match the previous behavior.
1111 (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree):
1114 (WebCore::processRenderSVGInlineText):
1115 Take a reference instead of a pointer, get the character using RenderText::operator[] and compute lastCharacterWasSpace.
1117 (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
1118 This now takes a bool reference instead.
1120 * rendering/svg/SVGTextLayoutAttributesBuilder.h:
1122 2014-02-01 Brady Eidson <beidson@apple.com>
1124 IDB: Index cursor complete advance() and iterate() support
1125 <rdar://problem/15941916> and https://bugs.webkit.org/show_bug.cgi?id=127870
1127 Reviewed by Dan Bernstein.
1129 * Modules/indexeddb/IDBRequest.cpp:
1130 (WebCore::IDBRequest::onSuccess): Always use the value buffer for the script object.
1132 2014-02-01 Alexey Proskuryakov <ap@apple.com>
1134 Update WebCrypto JWK mapping to use key_ops
1135 https://bugs.webkit.org/show_bug.cgi?id=127609
1137 Reviewed by Sam Weinig.
1139 Updated JWK support ot match current editor draft.
1141 * bindings/js/JSCryptoKeySerializationJWK.cpp:
1142 (WebCore::getJSArrayFromJSON): Fixed this previously untested function to actually work.
1143 (WebCore::tryJWKKeyOpsValue):
1144 (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
1145 (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable): Removed an old comment,
1146 these things are now specced.
1147 (WebCore::addToJSON): Made static functions file static, there is no reason for
1148 them to be class members.
1149 (WebCore::buildJSONForOctetSequence):
1150 (WebCore::buildJSONForRSAComponents):
1151 (WebCore::addBoolToJSON):
1152 (WebCore::addJWKAlgorithmToJSON):
1153 (WebCore::addUsagesToJSON):
1154 (WebCore::JSCryptoKeySerializationJWK::serialize):
1155 * bindings/js/JSCryptoKeySerializationJWK.h:
1157 * crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
1158 (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
1159 (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
1160 Check for length, so that we don't fail silently.
1162 2014-02-01 David Kilzer <ddkilzer@apple.com>
1164 Add security-checked casts for all WebCore::CachedResource subclasses
1165 <http://webkit.org/b/127988>
1167 Reviewed by Darin Adler.
1169 * inspector/InspectorPageAgent.cpp:
1170 (WebCore::InspectorPageAgent::cachedResourceContent):
1171 * inspector/InspectorResourceAgent.cpp:
1172 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1173 - Switch from static_cast<>() to security-checked cast.
1175 * loader/cache/CachedCSSStyleSheet.h:
1176 (WebCore::toCachedCSSStyleSheet): Add.
1177 * loader/cache/CachedFont.h:
1178 (WebCore::toCachedFont): Add.
1180 * loader/cache/CachedImage.h: Make CachedImageManual final.
1182 * loader/cache/CachedRawResource.cpp:
1183 (WebCore::CachedRawResource::CachedRawResource): Add assert that
1184 only MainResource or RawResource types are used to construct a
1185 CachedRawResource. This may be a security issue depending on
1186 what code exists that uses the type() value to cast to a
1187 CachedResource subclass.
1188 (WebCore::CachedRawResource::switchClientsToRevalidatedResource):
1189 Switch from static_cast<>() to toCachedRawResource().
1191 * loader/cache/CachedRawResource.h:
1192 (WebCore::toCachedRawResource): Add.
1193 * loader/cache/CachedResource.h:
1194 (WebCore::CachedResource::isMainOrRawResource): Add. A
1195 CachedRawResource could be either a MainResource or a
1196 RawResource. Currently only used in assertions.
1198 * loader/cache/CachedResourceLoader.cpp:
1199 (WebCore::CachedResourceLoader::requestFont):
1200 (WebCore::CachedResourceLoader::requestTextTrack):
1201 (WebCore::CachedResourceLoader::requestCSSStyleSheet):
1202 (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1203 (WebCore::CachedResourceLoader::requestScript):
1204 (WebCore::CachedResourceLoader::requestXSLStyleSheet):
1205 (WebCore::CachedResourceLoader::requestSVGDocument):
1206 (WebCore::CachedResourceLoader::requestRawResource):
1207 (WebCore::CachedResourceLoader::requestMainResource):
1208 - Switch from static_cast<>() to security-checked cast.
1210 * loader/cache/CachedSVGDocument.h:
1211 (WebCore::toCachedSVGDocument): Add.
1212 * loader/cache/CachedScript.h:
1213 (WebCore::toCachedScript): Add.
1214 * loader/cache/CachedTextTrack.h:
1215 (WebCore::toCachedTextTrack): Add.
1216 * loader/cache/CachedXSLStyleSheet.h:
1217 (WebCore::toCachedXSLStyleSheet): Add.
1219 2014-02-01 Xabier Rodriguez Calvar <calvaris@igalia.com>
1221 Unreviewed. Fixed GTK+ CMake build after r162922.
1223 * PlatformGTK.cmake: Removed SoupURIUtils.cpp from the
1226 2014-02-01 Benjamin Poulain <bpoulain@apple.com>
1228 Improve the JavaScript bindings of DatasetDOMStringMap
1229 https://bugs.webkit.org/show_bug.cgi?id=127971
1231 Reviewed by Sam Weinig.
1233 Instead of querying contains() followed by item(), just get the item
1234 at once in the custom binding.
1236 Test: fast/dom/dataset-name-getter-properties.html
1238 * bindings/js/JSDOMStringMapCustom.cpp:
1239 (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
1240 * dom/DOMStringMap.idl:
1241 * dom/DatasetDOMStringMap.cpp:
1242 (WebCore::DatasetDOMStringMap::item):
1243 * dom/DatasetDOMStringMap.h:
1245 2014-01-31 Benjamin Poulain <bpoulain@apple.com>
1247 Remove LEGACY_VIEWPORT_ADAPTION
1248 https://bugs.webkit.org/show_bug.cgi?id=128028
1250 Reviewed by Anders Carlsson.
1252 The code is incorrect and was only supported by Nix.
1255 (WebCore::Document::childrenChanged):
1256 * dom/ViewportArguments.h:
1257 * html/HTMLMetaElement.cpp:
1258 (WebCore::HTMLMetaElement::process):
1260 2014-01-31 Ryosuke Niwa <rniwa@webkit.org>
1262 Release build fix after r163234. Don't always export the symbol that doesn't exist under NDEBUG.
1266 2014-01-31 Brady Eidson <beidson@apple.com>
1268 IDB: Index cursors use wrong deserialization for the retrieved value
1269 https://bugs.webkit.org/show_bug.cgi?id=128035
1271 Reviewed by Dan Bernstein.
1273 For the cursor operations, add an IDBKey value result in the callbacks.
1274 If an already deserialized IDBKey value exists it will be preferred over the serialized buffer.
1276 Change some of the onSuccess() callback formats:
1277 * Modules/indexeddb/IDBCallbacks.h:
1278 * Modules/indexeddb/IDBRequest.cpp:
1279 (WebCore::IDBRequest::onSuccess): Selectively choose between the IDBKey or the SharedBuffer value
1280 when choosed what to convert to the ScriptValue.
1281 * Modules/indexeddb/IDBRequest.h:
1283 Let the IDBCursorBackend hold both a value buffer and a value key:
1284 * Modules/indexeddb/IDBCursorBackend.cpp:
1285 (WebCore::IDBCursorBackend::updateCursorData):
1286 (WebCore::IDBCursorBackend::clear):
1287 * Modules/indexeddb/IDBCursorBackend.h:
1288 (WebCore::IDBCursorBackend::valueBuffer):
1289 (WebCore::IDBCursorBackend::valueKey):
1291 * Modules/indexeddb/IDBCursorBackendOperations.cpp:
1292 (WebCore::CursorAdvanceOperation::perform):
1293 (WebCore::CursorIterationOperation::perform):
1295 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1296 (WebCore::OpenCursorOperation::perform):
1298 * Modules/indexeddb/IDBServerConnection.h:
1299 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
1300 (WebCore::IDBServerConnectionLevelDB::openCursor):
1301 (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
1302 (WebCore::IDBServerConnectionLevelDB::cursorIterate):
1303 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
1305 Add IDBKey/IDBKeyData debug logging utilities:
1306 * Modules/indexeddb/IDBKey.cpp:
1307 (WebCore::IDBKey::loggingString):
1308 * Modules/indexeddb/IDBKey.h:
1309 * Modules/indexeddb/IDBKeyData.cpp:
1310 (WebCore::IDBKeyData::loggingString):
1311 * Modules/indexeddb/IDBKeyData.h:
1315 2014-01-31 Ryosuke Niwa <rniwa@webkit.org>
1317 Debug build fix after r163232. Call hasEditableStyle() instead of isContentEditable() which
1318 can trigger a layout synchronously inside paintCaret. This matches the code before r163232.
1320 * rendering/RenderBlock.cpp:
1321 (WebCore::RenderBlock::paintCaret):
1323 2014-01-31 Ryosuke Niwa <rniwa@webkit.org>
1325 Remove inline member functions of FrameSelection that access m_selection
1326 https://bugs.webkit.org/show_bug.cgi?id=127986
1328 Reviewed by Enrica Casucci.
1330 Removed numerous inline member functions of FrameSelection that depend on m_selection.
1332 This is needed to ensure all accesses to m_selection happen through FrameSelection::selection(),
1333 which in turn, allows us to update its call sites to use either validated selection that editing
1334 and rendering code uses or invalidated selection that's exposed to JavaScript.
1337 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1338 (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
1339 (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
1340 * bindings/objc/DOMUIKitExtensions.mm:
1341 (-[DOMRange move:inDirection:]):
1342 (-[DOMRange extend:inDirection:]):
1344 (WebCore::Element::updateFocusAppearance):
1345 * editing/Editor.cpp:
1346 (WebCore::Editor::canEdit):
1347 (WebCore::Editor::canEditRichly):
1348 (WebCore::Editor::canDHTMLCut):
1349 (WebCore::Editor::canDHTMLCopy):
1350 (WebCore::Editor::canCopy):
1351 (WebCore::Editor::canDelete):
1352 (WebCore::Editor::replaceSelectionWithFragment):
1353 (WebCore::Editor::tryDHTMLCopy):
1354 (WebCore::Editor::tryDHTMLCut):
1355 (WebCore::Editor::applyStyle):
1356 (WebCore::Editor::applyParagraphStyle):
1357 (WebCore::Editor::cut):
1358 (WebCore::Editor::copy):
1359 (WebCore::Editor::paste):
1360 (WebCore::Editor::setComposition):
1361 (WebCore::Editor::guessesForMisspelledOrUngrammatical):
1362 (WebCore::Editor::markMisspellingsAfterTypingToWord):
1363 (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
1364 (WebCore::Editor::markAndReplaceFor):
1365 (WebCore::Editor::getCompositionSelection):
1366 (WebCore::Editor::selectionStartHasMarkerFor):
1367 * editing/EditorCommand.cpp:
1368 (WebCore::expandSelectionToGranularity):
1369 (WebCore::enabledInRichlyEditableText):
1370 (WebCore::enabledRangeInEditableText):
1371 (WebCore::enabledRangeInRichlyEditableText):
1372 * editing/FrameSelection.cpp:
1373 (WebCore::CaretBase::updateCaretRect):
1374 (WebCore::FrameSelection::recomputeCaretRect):
1375 (WebCore::FrameSelection::selectAll):
1376 (WebCore::FrameSelection::updateAppearance):
1377 (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl):
1378 (WebCore::FrameSelection::setFocusedElementIfNeeded):
1379 (WebCore::FrameSelection::currentForm):
1380 (WebCore::FrameSelection::revealSelection):
1381 (WebCore::FrameSelection::setSelectionFromNone):
1382 * editing/FrameSelection.h:
1383 (WebCore::FrameSelection::isCaretOrRange):
1384 * editing/RemoveFormatCommand.cpp:
1385 (WebCore::RemoveFormatCommand::doApply):
1386 * editing/VisibleSelection.cpp:
1387 (WebCore::VisibleSelection::isInPasswordField):
1388 * editing/VisibleSelection.h:
1389 * editing/mac/EditorMac.mm:
1390 (WebCore::Editor::canCopyExcludingStandaloneImages):
1391 (WebCore::Editor::readSelectionFromPasteboard):
1392 * html/HTMLAnchorElement.cpp:
1393 (WebCore::HTMLAnchorElement::defaultEventHandler):
1394 (WebCore::HTMLAnchorElement::setActive):
1395 * html/HTMLTextFormControlElement.cpp:
1396 (WebCore::HTMLTextFormControlElement::computeSelectionStart):
1397 (WebCore::HTMLTextFormControlElement::computeSelectionEnd):
1398 * page/ContextMenuController.cpp:
1399 (WebCore::ContextMenuController::contextMenuItemSelected):
1400 (WebCore::ContextMenuController::populate):
1401 * page/DragController.cpp:
1402 (WebCore::DragController::dragIsMove):
1403 (WebCore::setSelectionToDragCaret):
1404 (WebCore::DragController::concludeEditDrag):
1405 (WebCore::DragController::startDrag):
1406 * page/EventHandler.cpp:
1407 (WebCore::nodeIsNotBeingEdited):
1408 (WebCore::EventHandler::sendContextMenuEvent):
1409 (WebCore::EventHandler::sendContextMenuEventForKey):
1410 (WebCore::EventHandler::handleDrag):
1411 * page/FocusController.cpp:
1412 (WebCore::FocusController::advanceFocusInDocumentOrder):
1413 (WebCore::clearSelectionIfNeeded):
1414 * page/ios/FrameIOS.mm:
1415 (WebCore::Frame::caretRect):
1416 (WebCore::Frame::rectForScrollToVisible):
1417 (WebCore::Frame::styleAtSelectionStart):
1418 (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionStart):
1419 (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionEnd):
1420 (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionStart):
1421 (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionEnd):
1422 (WebCore::Frame::interpretationsForCurrentRoot):
1423 * rendering/RenderBlock.cpp:
1424 (WebCore::RenderBlock::paintCaret):
1426 2014-01-31 Simon Fraser <simon.fraser@apple.com>
1428 Pass the viewport rect and scroll origin independently into the scrolling tree, and make things floats
1429 https://bugs.webkit.org/show_bug.cgi?id=128032
1431 Reviewed by Tim Horton.
1433 Pass the viewport rect and scroll offset independently into the ScrollingTree
1434 via the ScrollingStateScrollingNode, since on iOS the scroll offset doesn't
1435 always correspond to the viewport rect.
1437 Make the viewport rect and the scroll origin be float-based, since on
1438 Retina screens and with zooming these can both be non-integral.
1443 * page/scrolling/AsyncScrollingCoordinator.cpp:
1444 (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
1445 (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
1446 (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
1447 * page/scrolling/AsyncScrollingCoordinator.h:
1448 (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
1449 * page/scrolling/ScrollingStateScrollingNode.cpp:
1450 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
1451 (WebCore::ScrollingStateScrollingNode::setViewportConstrainedObjectRect):
1452 (WebCore::ScrollingStateScrollingNode::setScrollPosition):
1453 (WebCore::ScrollingStateScrollingNode::dumpProperties):
1454 * page/scrolling/ScrollingStateScrollingNode.h:
1455 * page/scrolling/ScrollingTree.cpp:
1456 (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
1457 (WebCore::ScrollingTree::commitNewTreeState):
1458 (WebCore::ScrollingTree::mainFrameScrollPosition):
1459 (WebCore::ScrollingTree::setMainFrameScrollPosition):
1460 * page/scrolling/ScrollingTree.h:
1461 * page/scrolling/ScrollingTreeNode.h:
1462 * page/scrolling/ScrollingTreeScrollingNode.cpp:
1463 (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
1464 * page/scrolling/ScrollingTreeScrollingNode.h:
1465 (WebCore::ScrollingTreeScrollingNode::scrollPosition):
1466 (WebCore::ScrollingTreeScrollingNode::viewportConstrainedObjectRect):
1467 * page/scrolling/ThreadedScrollingTree.cpp:
1468 (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
1469 * page/scrolling/ThreadedScrollingTree.h:
1470 * page/scrolling/ios/ScrollingTreeIOS.cpp:
1471 (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
1472 * page/scrolling/ios/ScrollingTreeIOS.h:
1473 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
1474 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
1475 (WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
1476 (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
1477 (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
1478 (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
1479 (WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
1480 (WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
1481 * page/scrolling/mac/ScrollingTreeFixedNode.h:
1482 * page/scrolling/mac/ScrollingTreeFixedNode.mm:
1483 (WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange):
1484 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
1485 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1486 (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
1487 (WebCore::ScrollingTreeScrollingNodeMac::absoluteScrollPosition):
1488 (WebCore::ScrollingTreeScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
1489 (WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
1490 (WebCore::ScrollingTreeScrollingNodeMac::setScrollPosition):
1491 (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
1492 (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
1493 (WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
1494 (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
1495 (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
1496 (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
1497 * page/scrolling/mac/ScrollingTreeStickyNode.h:
1498 * page/scrolling/mac/ScrollingTreeStickyNode.mm:
1499 (WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
1500 * platform/graphics/FloatPoint.h:
1501 (WebCore::FloatPoint::shrunkTo):
1503 2014-01-30 Andy Estes <aestes@apple.com>
1505 [Cocoa] Add NEFilterSource support to ContentFilterMac
1506 https://bugs.webkit.org/show_bug.cgi?id=127979
1508 Reviewed by Sam Weinig.
1510 Update ContentFilterMac to work with both WebFilterEvaluator and
1511 NEFilterSource, if enabled.
1513 * platform/ContentFilter.h: Set HAVE_NE_FILTER_SOURCE based on platform
1514 conditionals, and forward-declare NEFilterSource.
1515 * platform/mac/ContentFilterMac.mm: Included NEFilterSource.h if the SDK
1516 has it; declared the class directly if not. Also soft-linked
1517 NetworkExtension.framework.
1518 (WebCore::ContentFilter::ContentFilter): Initialized
1519 m_neFilterSourceStatus to NEFilterSourceStatusNeedsMoreData and created
1520 m_platformContentFilter and m_neFilterSource objects if their
1521 respective filters were enabled.
1522 (WebCore::ContentFilter::isEnabled): Returned true if either filter is
1524 (WebCore::ContentFilter::addData): Added incoming data to each filter
1526 (WebCore::ContentFilter::finishedAddingData): Notified each enabled
1527 filter that we are finished adding data.
1528 (WebCore::ContentFilter::needsMoreData): Returned true if either filter
1530 (WebCore::ContentFilter::didBlockData): Returned true if either filter
1532 (WebCore::ContentFilter::getReplacementData): Returned
1533 m_replacementData. Commented that this will currently return a null
1534 string if NEFilterSource blocked the load.
1536 2014-01-31 Oliver Hunt <oliver@apple.com>
1538 Rollout r163195 and related patches
1541 * ForwardingHeaders/runtime/JSStringInlines.h: Removed.
1542 * Modules/plugins/QuickTimePluginReplacement.cpp:
1543 * bindings/js/JSIDBAnyCustom.cpp:
1544 * bindings/js/JSIDBDatabaseCustom.cpp:
1545 * bindings/js/JSIDBObjectStoreCustom.cpp:
1546 * bindings/js/JSNodeFilterCondition.cpp:
1548 2014-01-31 Simon Fraser <simon.fraser@apple.com>
1550 Even when in fixed layout mode, some platforms need to do layout after a viewport change
1551 https://bugs.webkit.org/show_bug.cgi?id=128003
1553 Reviewed by Andreas Kling.
1555 Re-land 163182 with a less aggresive check in visibleContentsResized() for
1558 iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
1559 elements relative to a variable viewport. This code assumed that fixed layout
1560 implies a fixed viewport.
1562 Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
1564 Also removed RenderView::hasCustomFixedPosition() which is no longer used.
1566 * page/FrameView.cpp:
1567 (WebCore::FrameView::shouldLayoutAfterViewportChange):
1568 (WebCore::FrameView::visibleContentsResized):
1570 * rendering/RenderView.cpp:
1571 * rendering/RenderView.h:
1573 2014-01-31 Alexey Proskuryakov <ap@apple.com>
1575 Expose creation and modification times for LocalStorage
1576 https://bugs.webkit.org/show_bug.cgi?id=128018
1578 Reviewed by Anders Carlsson.
1580 * WebCore.exp.in: Export FileSystem functions to get file times.
1582 2014-01-30 Maciej Stachowiak <mjs@apple.com>
1584 Implement (most of) URL API
1585 https://bugs.webkit.org/show_bug.cgi?id=127795
1587 Reviewed by Alexey Proskuryakov.
1589 Tests: fast/dom/DOMURL/get-href-attribute-port.html
1590 fast/dom/DOMURL/invalid-url-getters.html
1591 fast/dom/DOMURL/set-href-attribute-hash.html
1592 fast/dom/DOMURL/set-href-attribute-host.html
1593 fast/dom/DOMURL/set-href-attribute-hostname.html
1594 fast/dom/DOMURL/set-href-attribute-pathname.html
1595 fast/dom/DOMURL/set-href-attribute-port.html
1596 fast/dom/DOMURL/set-href-attribute-protocol.html
1597 fast/dom/DOMURL/set-href-attribute-search.html
1598 fast/dom/DOMURL/set-href-attribute-whitespace.html
1599 fast/dom/DOMURL/url-constructor.html
1600 fast/dom/DOMURL/url-origin.html
1601 fast/dom/DOMURL/url-password.html
1602 fast/dom/DOMURL/url-username.html
1604 * CMakeLists.txt: Update for new IDL file.
1605 * DerivedSources.make: ditto
1606 * GNUmakefile.list.am: ditto
1607 * html/DOMURL.cpp: Implement URL() constructor and instance methods; cribbed from
1608 HTMLAnchorElement mostly
1609 (WebCore::DOMURL::DOMURL):
1610 (WebCore::DOMURL::href):
1611 (WebCore::DOMURL::setHref):
1612 (WebCore::DOMURL::toString):
1613 (WebCore::DOMURL::origin):
1614 (WebCore::DOMURL::protocol):
1615 (WebCore::DOMURL::setProtocol):
1616 (WebCore::DOMURL::username):
1617 (WebCore::DOMURL::setUsername):
1618 (WebCore::DOMURL::password):
1619 (WebCore::DOMURL::setPassword):
1620 (WebCore::DOMURL::host):
1621 (WebCore::parsePortFromStringPosition):
1622 (WebCore::DOMURL::setHost):
1623 (WebCore::DOMURL::hostname):
1624 (WebCore::DOMURL::setHostname):
1625 (WebCore::DOMURL::port):
1626 (WebCore::DOMURL::setPort):
1627 (WebCore::DOMURL::pathname):
1628 (WebCore::DOMURL::setPathname):
1629 (WebCore::DOMURL::search):
1630 (WebCore::DOMURL::setSearch):
1631 (WebCore::DOMURL::hash):
1632 (WebCore::DOMURL::setHash):
1634 (WebCore::DOMURL::create):
1635 * html/DOMURL.idl: Update for new methods.
1636 * html/URLUtils.idl: Added. New IDL file that contains most of the interface.
1638 2014-01-31 Bem Jones-Bey <bjonesbe@adobe.com>
1640 Create clipping path from <box> value
1641 https://bugs.webkit.org/show_bug.cgi?id=126205
1643 Reviewed by Dirk Schulze.
1645 This implements <box> values for border, content, and padding boxes.
1646 Since margin box is not implemented as a reference box, this does not
1647 implement margin box value.
1649 Tests: css3/masking/clip-path-border-box.html
1650 css3/masking/clip-path-content-box.html
1651 css3/masking/clip-path-padding-box.html
1653 * rendering/ClipPathOperation.h:
1654 (WebCore::BoxClipPathOperation::pathForReferenceRect): Implement.
1655 * rendering/RenderLayer.cpp:
1656 (WebCore::computeReferenceBox): Pull out reference box calculation.
1657 (WebCore::RenderLayer::setupClipPath): Add support for <box> values.
1658 * rendering/shapes/ShapeInfo.cpp:
1659 (WebCore::ShapeInfo<RenderType>::computedShape): Add FIXME comment.
1661 2014-01-29 Oliver Hunt <oliver@apple.com>
1663 Make it possible to implement JS builtins in JS
1664 https://bugs.webkit.org/show_bug.cgi?id=127887
1666 Reviewed by Michael Saboff.
1668 Updating for the newly required headers.
1670 Test: js/regress/array-prototype-every.html
1672 * ForwardingHeaders/runtime/JSStringInlines.h: Added.
1673 * Modules/plugins/QuickTimePluginReplacement.cpp:
1674 * bindings/js/JSIDBAnyCustom.cpp:
1675 * bindings/js/JSIDBDatabaseCustom.cpp:
1676 * bindings/js/JSIDBObjectStoreCustom.cpp:
1678 2014-01-31 Beth Dakin <bdakin@apple.com>
1682 * rendering/RenderLayerCompositor.cpp:
1683 (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
1685 2014-01-31 Timothy Hatcher <timothy@apple.com>
1687 Properly handle cases where a profile couldn't be recorded and null is returned.
1689 <rdar://problem/15957993> Crash with Inspector open at WebCore::ScriptProfile::buildInspectorObject
1691 Reviewed by Joseph Pecoraro.
1693 * inspector/InspectorTimelineAgent.cpp:
1694 (WebCore::InspectorTimelineAgent::didCallFunction): Null check profile.
1695 (WebCore::InspectorTimelineAgent::didEvaluateScript): Ditto.
1697 2014-01-31 Beth Dakin <bdakin@apple.com>
1699 Extended background should only create margin tiles for pages with background
1701 https://bugs.webkit.org/show_bug.cgi?id=127876
1703 <rdar://problem/15827632>
1705 Reviewed by Simon Fraser.
1707 Settings::backgroundShouldExtendBeyondPage() doesn't need to create margin tiles
1708 for pages with simple background colors. Instead, those pages should achieve the
1709 same effect by setting a background color on RenderLayerCompositor's
1710 m_layerForOverhangAreas. For now, we should only create tiles when there is a
1711 background image. We may want to extend this to other types of complicated
1712 backgrounds in the future.
1714 This patch makes callers that only care about the value of the setting always call
1715 Settings::backgroundShouldExtendBeyondPage() rather than asking about margin
1716 tiles. And callers that want to know about margin tiles can either keep querying
1717 that directly or they can call FrameView::hasExtendedBackgroundRectForPainting().
1718 An extended background does not necessarily require an extended background rect
1719 for painting, and this new FrameView function can make that distinction.
1721 When setBackgroundExtendsBeyondPage() is called, call RenderLayerCompositor::
1722 setRootExtendedBackgroundColor() with either the document background color, or an
1723 invalid color, depending on whether you have or do not have an extended
1724 background. Also call needsExtendedBackgroundRectForPainting() to determine if we
1725 also need to extend the background rect, and then call
1726 setHasExtendedBackgroundRectForPainting() with its value.
1727 * page/FrameView.cpp:
1728 (WebCore::FrameView::setBackgroundExtendsBeyondPage):
1729 (WebCore::FrameView::hasExtendedBackgroundRectForPainting):
1731 Right now we only need to extend the background rect for documents with
1732 background images on the root. This may be extended in the future.
1733 (WebCore::FrameView::needsExtendedBackgroundRectForPainting):
1734 (WebCore::FrameView::setHasExtendedBackgroundRectForPainting):
1735 (WebCore::FrameView::extendedBackgroundRectForPainting):
1738 Expose defaultTileWidth and defaultTileHeight from TiledBacking.h so that we can
1739 access the values from RenderLayerBacking.
1740 * platform/graphics/TiledBacking.h:
1741 * platform/graphics/ca/mac/TileController.mm:
1743 hasExtendedBackgroundForPainting() is now called
1744 hasExtendedBackgroundRectForPainting() to distinguish
1745 the case where an extended RECT is needed.
1746 * rendering/RenderBox.cpp:
1747 (WebCore::RenderBox::repaintLayerRectsForImage):
1748 * rendering/RenderBoxModelObject.cpp:
1749 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1751 Call setHasExtendedBackgroundRectForPainting() if relevant.
1752 * rendering/RenderElement.cpp:
1753 (WebCore::RenderElement::styleWillChange):
1755 Don't call setTiledBackingHasMargins() right in the constructor because we only
1756 want margins if we have a background image, and we won't have that information
1758 * rendering/RenderLayerBacking.cpp:
1759 (WebCore::RenderLayerBacking::RenderLayerBacking):
1761 Clean up the variable name here. We are only setting margins when we need to
1762 extend the background rect for painting. Also make us of newly-exposed
1763 defaultTileWidth and Height.
1764 (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
1766 Remove RenderLayerBacking::tiledBackingHasMargin() since there aren't any more
1768 * rendering/RenderLayerBacking.h:
1769 (WebCore::RenderLayerBacking::usingTiledBacking):
1771 setMasksToBounds(false) based on the Setting, and not based on whether there are
1773 * rendering/RenderLayerCompositor.cpp:
1774 (WebCore::RenderLayerCompositor::updateBacking):
1776 Return false from RenderLayerCompositor::requiresContentShadowLayer() if there is
1777 an extended background.
1778 (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
1780 Setting the background color on m_layerForOverhangAreas is all we need to do to
1781 create the extended background effect on pages that only have background colors.
1782 (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
1783 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1785 Remove mainFrameBackingIsTiledWithMargin() since there aren't any more callers,
1786 and add setRootExtendedBackgroundColor() so that we can update the color from
1788 * rendering/RenderLayerCompositor.h:
1790 Revert the code that was added to paint background color here, since this should
1791 all be covered by calling RenderLayerCompositor::setExtendedBackgroundColor().
1792 More complicated backgrounds will run through the full background painting code.
1793 * rendering/RenderView.cpp:
1794 (WebCore::RenderView::paintBoxDecorations):
1795 (WebCore::RenderView::backgroundRect):
1797 2014-01-31 Jochen Eisinger <jochen@chromium.org>
1799 Remove FrameLoader's reloadWithOverrideURL and reloadWithRequest
1800 https://bugs.webkit.org/show_bug.cgi?id=128005
1802 Reviewed by Darin Adler.
1804 The former was used by chromium-android to implement the "request
1805 desktop version" feature, but is no longer used. After removing it,
1806 the latter is only invoked by reload(), so we can merge the method
1809 No new tests, just removing dead code.
1811 * loader/FrameLoader.cpp:
1812 (WebCore::FrameLoader::reload):
1813 * loader/FrameLoader.h:
1815 2014-01-31 Commit Queue <commit-queue@webkit.org>
1817 Unreviewed, rolling out r163182.
1818 http://trac.webkit.org/changeset/163182
1819 https://bugs.webkit.org/show_bug.cgi?id=128012
1821 Broke lots of tests (Requested by smfr on #webkit).
1823 * page/FrameView.cpp:
1824 (WebCore::FrameView::visibleContentsResized):
1826 * rendering/RenderView.cpp:
1827 (WebCore::isFixedPositionInViewport):
1828 (WebCore::RenderView::hasCustomFixedPosition):
1829 * rendering/RenderView.h:
1831 2014-01-31 Brady Eidson <beidson@apple.com>
1833 IDB: openCursor() needs to prime the cursor with first position values
1834 https://bugs.webkit.org/show_bug.cgi?id=128008
1836 Reviewed by Alexey Proskuryakov.
1838 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1839 (WebCore::OpenCursorOperation::perform): If the server connection returns initial keys/values
1840 for the cursor, store them.
1842 * Modules/indexeddb/IDBServerConnection.h:
1844 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
1845 (WebCore::IDBServerConnectionLevelDB::openCursor):
1846 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
1848 2014-01-31 Hans Muller <hmuller@adobe.com>
1850 [CSS Shapes] Image valued shape can fail
1851 https://bugs.webkit.org/show_bug.cgi?id=127588
1853 Reviewed by Dean Jackson.
1855 Correct the handling of image valued shapes that extend into or beyond the
1856 margin box. This can happen when object-fit causes one dimension of the shape
1857 to be greater than the corresponding margin box dimension.
1859 Made some simplifications in RasterShapeIntervals::computeShapeMarginIntervals()
1860 by making the shapeMargin parameter an int, removing some unnecessary variables.
1862 Revised the RasterShapeIntervals class. It's now a just a list of size() interval-lists,
1863 with valid indices: -offset() <= y < size() - offset(), or minY() to maxY(). If margin-top
1864 and shape-margin are specified, then offset() is the larger of shape-margin and margin-top.
1865 Similarly size() is the vertical size of the margin-box or the content-box expanded by
1866 shape-margin, whichever is larger. See computeShapeMarginIntervals().
1868 Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-005.html
1869 fast/shapes/shape-outside-floats/shape-outside-image-fit-006.html
1871 * rendering/shapes/RasterShape.cpp:
1872 (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
1873 (WebCore::RasterShape::marginIntervals):
1874 * rendering/shapes/RasterShape.h:
1875 (WebCore::RasterShapeIntervals::RasterShapeIntervals):
1876 (WebCore::RasterShapeIntervals::offset):
1877 (WebCore::RasterShapeIntervals::minY):
1878 (WebCore::RasterShapeIntervals::maxY):
1879 (WebCore::RasterShapeIntervals::intervalsAt):
1880 * rendering/shapes/Shape.cpp:
1881 (WebCore::Shape::createRasterShape):
1882 * rendering/shapes/Shape.h:
1883 * rendering/shapes/ShapeInfo.cpp:
1885 (WebCore::getShapeImageReplacedRect):
1886 The rect that the image will be drawn into. This rect can imply image
1887 scaling and translation.
1889 (WebCore::getShapeImageMarginRect):
1890 The margin rect relative too the (0,0 origin) shape content rect.
1892 (WebCore::ShapeInfo<RenderType>::computedShape):
1894 2014-01-31 Andreas Kling <akling@apple.com>
1896 Deduplicate Document::encoding().
1897 <https://webkit.org/b/128000>
1899 Make Document::encoding() return an AtomicString so we don't duplicate
1900 the string every time it's called.
1902 215 KB progression on Membuster3.
1904 Reviewed by Simon Fraser.
1908 (WebCore::Document::encoding):
1910 2014-01-31 Simon Fraser <simon.fraser@apple.com>
1912 Even when in fixed layout mode, some platforms need to do layout after a viewport change
1913 https://bugs.webkit.org/show_bug.cgi?id=128003
1915 Reviewed by Andreas Kling.
1917 iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
1918 elements relative to a variable viewport. This code assumed that fixed layout
1919 implies a fixed viewport.
1921 Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
1923 Also removed RenderView::hasCustomFixedPosition() which is no longer used.
1925 * page/FrameView.cpp:
1926 (WebCore::FrameView::shouldLayoutAfterViewportChange):
1927 (WebCore::FrameView::visibleContentsResized):
1929 * rendering/RenderView.cpp:
1930 * rendering/RenderView.h:
1932 2014-01-31 Zan Dobersek <zdobersek@igalia.com>
1934 Guard GLContextEGL::platformContext() with USE(3D_GRAPHICS)
1935 https://bugs.webkit.org/show_bug.cgi?id=120214
1937 Reviewed by Philippe Normand.
1939 Guard the GLContextEGL::platformContext() declaration and definiton with USE(3D_GRAPHICS)
1940 since this guard is used in the GLContext class, from which the GLContextEGL class overrides
1943 * platform/graphics/egl/GLContextEGL.cpp:
1944 * platform/graphics/egl/GLContextEGL.h:
1946 2014-01-31 Beth Dakin <bdakin@apple.com>
1948 Sideways 'wobble' when scrolling with trackpad on Mavericks
1949 https://bugs.webkit.org/show_bug.cgi?id=127521
1951 <rdar://problem/14137306>
1953 Reviewed by Simon Fraser.
1955 This patch takes http://trac.webkit.org/changeset/154535 which introduced
1956 filtering wheel events for overflow areas to try to make them less sensitive to X
1957 deltas when scrolling in a primarily Y direction, and it factors that code out
1958 into its own class, now called WheelEventDeltaTracker. So now this new class can
1959 use the same code to filter events for WebKit2’s EventDispatcher.
1961 Files for WheelEventDeltaTracker.
1963 * GNUmakefile.list.am:
1964 * WebCore.vcxproj/WebCore.vcxproj:
1965 * WebCore.vcxproj/WebCore.vcxproj.filters:
1966 * WebCore.xcodeproj/project.pbxproj:
1968 WK2 needs these new WheelEventDeltaTracker functions.
1971 Move a bunch of code over to WheelEventDeltaTracker and use
1972 m_recentWheelEventTracker to serve the same purpose.
1973 * page/EventHandler.cpp:
1974 (WebCore::EventHandler::EventHandler):
1975 (WebCore::EventHandler::handleWheelEvent):
1976 (WebCore::EventHandler::defaultWheelEventHandler):
1977 * page/EventHandler.h:
1979 Allow horizontal rubber banding now that we have some event filtering in place.
1980 * page/FrameView.cpp:
1981 (WebCore::FrameView::FrameView):
1983 New files. Most of this code was from EventHandler.
1984 * page/WheelEventDeltaTracker.cpp: Added.
1985 (WebCore::WheelEventDeltaTracker::WheelEventDeltaTracker):
1986 (WebCore::WheelEventDeltaTracker::~WheelEventDeltaTracker):
1987 (WebCore::WheelEventDeltaTracker::beginTrackingDeltas):
1988 (WebCore::WheelEventDeltaTracker::endTrackingDeltas):
1989 (WebCore::WheelEventDeltaTracker::recordWheelEventDelta):
1990 (WebCore::deltaIsPredominantlyVertical):
1991 (WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):
1992 * page/WheelEventDeltaTracker.h: Added.
1993 (WebCore::WheelEventDeltaTracker::isTrackingDeltas):
1995 New function to clone events while zero-ing out certain deltas.
1996 * platform/PlatformWheelEvent.h:
1997 (WebCore::PlatformWheelEvent::copyIgnoringHorizontalDelta):
1998 (WebCore::PlatformWheelEvent::copyIgnoringVerticalDelta):
2000 2014-01-31 Simon Fraser <simon.fraser@apple.com>
2002 Don't do logging from Range::collectSelectionRects() on iOS
2003 https://bugs.webkit.org/show_bug.cgi?id=127999
2005 Reviewed by Enrica Casucci.
2007 Remove some logging code that printed Range stuff in debug builds.
2010 (WebCore::Range::collectSelectionRects):
2012 2014-01-30 Simon Fraser <simon.fraser@apple.com>
2014 Make iOS fixed layer registration more like OS X
2015 https://bugs.webkit.org/show_bug.cgi?id=127983
2017 Reviewed by Antti Koivisto.
2019 Remove some #if PLATFORM(IOS) in the code related to registering
2020 viewport-constrained layers. The code behaves correctly now in WK1
2021 and WK2 based on the presence of a ScrollingCoordinator.
2023 * rendering/RenderLayerCompositor.cpp:
2024 (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2025 (WebCore::nearestScrollingCoordinatorAncestor):
2026 (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
2027 (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer):
2029 2014-01-31 Commit Queue <commit-queue@webkit.org>
2031 Unreviewed, rolling out r163165.
2032 http://trac.webkit.org/changeset/163165
2033 https://bugs.webkit.org/show_bug.cgi?id=127997
2035 broke 2 fast/table tests (Requested by kling on #webkit).
2037 * rendering/RenderTable.cpp:
2038 (WebCore::RenderTable::updateLogicalWidth):
2039 (WebCore::RenderTable::computePreferredLogicalWidths):
2041 2014-01-31 Anders Carlsson <andersca@apple.com>
2043 Don't allocate a new XMLHttpRequestStaticData every time staticData() is called
2044 https://bugs.webkit.org/show_bug.cgi?id=127996
2046 Reviewed by Andreas Kling.
2048 std::once_flag should be static.
2050 * xml/XMLHttpRequest.cpp:
2051 (WebCore::staticData):
2053 2014-01-31 Zalan Bujtas <zalan@apple.com>
2055 Subpixel rendering: Change RenderBoxModelObject's border functions' signature to support subpixel border painting.
2056 https://bugs.webkit.org/show_bug.cgi?id=127975
2058 Reviewed by Simon Fraser.
2060 From int to LayoutUnit.
2062 Covered by existing tests. No change in functionality.
2064 * platform/text/TextStream.cpp:
2065 (WebCore::TextStream::operator<<):
2066 * platform/text/TextStream.h:
2067 * rendering/RenderBoxModelObject.cpp:
2068 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2069 * rendering/RenderBoxModelObject.h:
2070 (WebCore::RenderBoxModelObject::borderTop):
2071 (WebCore::RenderBoxModelObject::borderBottom):
2072 (WebCore::RenderBoxModelObject::borderLeft):
2073 (WebCore::RenderBoxModelObject::borderRight):
2074 (WebCore::RenderBoxModelObject::borderBefore):
2075 (WebCore::RenderBoxModelObject::borderAfter):
2076 (WebCore::RenderBoxModelObject::borderStart):
2077 (WebCore::RenderBoxModelObject::borderEnd):
2078 * rendering/RenderElement.cpp:
2079 (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
2080 * rendering/RenderTable.cpp:
2081 (WebCore::RenderTable::borderBefore):
2082 (WebCore::RenderTable::borderAfter):
2083 * rendering/RenderTable.h:
2084 * rendering/RenderTableCell.cpp:
2085 (WebCore::RenderTableCell::borderLeft):
2086 (WebCore::RenderTableCell::borderRight):
2087 (WebCore::RenderTableCell::borderTop):
2088 (WebCore::RenderTableCell::borderBottom):
2089 (WebCore::RenderTableCell::borderStart):
2090 (WebCore::RenderTableCell::borderEnd):
2091 (WebCore::RenderTableCell::borderBefore):
2092 (WebCore::RenderTableCell::borderAfter):
2093 * rendering/RenderTableCell.h:
2095 2014-01-31 Brady Eidson <beidson@apple.com>
2098 <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868
2100 Reviewed by Anders Carlsson.
2102 * Modules/indexeddb/IDBDatabaseBackend.cpp:
2103 (WebCore::IDBDatabaseBackend::openConnectionInternal): Remove outdated comment and ASSERT.
2105 * Modules/indexeddb/IDBObjectStore.cpp:
2106 (WebCore::IDBObjectStore::createIndex): Conditionalize a block of code that is LevelDB-only.
2108 Remove getColumnBlob(). Nobody used it, and it was dangerous because it reset the statement:
2109 * platform/sql/SQLiteStatement.cpp:
2110 * platform/sql/SQLiteStatement.h:
2113 2014-01-30 László Langó <lango@inf.u-szeged.hu>
2115 [CSS Grid Layout] Do log(n) search in the named line vectors when positioning named line spans.
2116 https://bugs.webkit.org/show_bug.cgi?id=125396
2118 Reviewed by Andreas Kling.
2120 Implement the suggested FIXMEs and do a log search in the named line
2121 vectors. This maintains the previous (somewhat tricky) behavior by
2122 using std::lower_bound and std::upper_bound. No difference in existing
2123 performance tests, but should scale much better for big grids.
2125 Backported from Blink:
2126 https://chromium.googlesource.com/chromium/blink/+/9fc477af0be708c490a6b90e65e412b0c22b161f
2128 No new tests, no behavior change.
2130 * rendering/RenderGrid.cpp:
2131 (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
2132 (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
2134 2014-01-31 László Langó <lango@inf.u-szeged.hu>
2136 Fix table sizing when 'max-width' is used.
2137 https://bugs.webkit.org/show_bug.cgi?id=115156
2139 Reviewed by Andreas Kling.
2141 r143534 make <table> abide by 'max-width' all the time which is wrong.
2142 Per the CSS specification, a table should be wide enough to fit its
2143 content, regardless of 'max-width'.
2145 r140479 fixed part of the regression from that change but made the
2146 same fatal mistake by constraining min-content to fit 'max-width'.
2148 The fix is to avoid constraining min-content and ensure that the table
2149 logical width is at least its min-content size.
2151 Backported from Blink:
2152 https://chromium.googlesource.com/chromium/blink/+/0bca0dec4895aeeb2054ba36316e984e4ebed06f
2154 Test: fast/table/html-table-width-max-width-constrained.html
2156 * rendering/RenderTable.cpp:
2157 (WebCore::RenderTable::updateLogicalWidth):
2158 (WebCore::RenderTable::computePreferredLogicalWidths):
2160 2014-01-30 Simon Fraser <simon.fraser@apple.com>
2162 Fix iOS build after r163156.
2164 Need to convert LayoutSizes to FloatSizes.
2166 * bindings/objc/DOMUIKitExtensions.mm:
2167 (-[DOMNode borderRadii]):
2169 2014-01-30 Zalan Bujtas <zalan@apple.com>
2171 Subpixel rendering: Change drawRect()/drawLine() signature to support subpixel rendering.
2172 https://bugs.webkit.org/show_bug.cgi?id=127961
2174 Reviewed by Simon Fraser.
2176 IntRect/IntPoint -> FloatRect/FloatPoint.
2178 Covered by existing tests. No change in functionality.
2180 * platform/graphics/GraphicsContext.h:
2181 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2182 (WebCore::GraphicsContext::drawRect):
2183 (WebCore::GraphicsContext::drawLine):
2184 * platform/graphics/cg/GraphicsContextCG.cpp:
2185 (WebCore::GraphicsContext::drawRect):
2186 (WebCore::GraphicsContext::drawLine): Keep 'distance' int for DottedStroke and DashedStroke for now.
2187 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2188 (WebCore::GraphicsContext::drawRect):
2189 (WebCore::GraphicsContext::drawLine):
2191 2014-01-30 Simon Fraser <simon.fraser@apple.com>
2193 Remove ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers() which is no longer used
2194 https://bugs.webkit.org/show_bug.cgi?id=127981
2196 Reviewed by Andreas Kling.
2198 setLayerIsContainerForFixedPositionLayers() was only used by Chromium and Blackberry,
2201 This allows the removal of RenderLayerBacking::registerScrollingLayers(),
2202 moving the single useful line of code to the caller.
2204 * page/scrolling/ScrollingCoordinator.h:
2205 * rendering/RenderLayerBacking.cpp:
2206 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2207 * rendering/RenderLayerBacking.h:
2208 * rendering/RenderLayerCompositor.cpp:
2209 (WebCore::RenderLayerCompositor::ensureRootLayer):
2211 2014-01-30 Simon Fraser <simon.fraser@apple.com>
2213 Some fixed position elements disappear in WK2 on iOS
2214 https://bugs.webkit.org/show_bug.cgi?id=127977
2216 Reviewed by Tim Horton.
2218 Use the appropriate rectangle to ensure that on iOS we don't
2219 consider a fixed element outside the viewport when zoomed in,
2220 and therefore never make a compositing layer for it.
2222 Also remove the iOS-specific code in RenderLayerCompositor::requiresCompositingForPosition(),
2223 since it's OK to use the common code. Doing so requires that we
2224 set the "acceleratedCompositingForFixedPositionEnabled" setting to true
2227 * page/Settings.cpp:
2229 * rendering/RenderLayerCompositor.cpp:
2230 (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2232 2014-01-30 Zalan Bujtas <zalan@apple.com>
2234 Subpixel rendering: Make RoundedRect layout unit aware.
2235 https://bugs.webkit.org/show_bug.cgi?id=127779
2237 Reviewed by Simon Fraser.
2239 In order to draw hairline borders, RoundedRect needs to be
2242 No change in behavior.
2244 * platform/graphics/GraphicsContext.cpp:
2245 (WebCore::GraphicsContext::fillRoundedRect):
2246 * platform/graphics/GraphicsContext.h:
2247 * platform/graphics/RoundedRect.cpp:
2248 (WebCore::RoundedRect::Radii::scale):
2249 (WebCore::RoundedRect::Radii::expand):
2250 (WebCore::RoundedRect::inflateWithRadii):
2251 (WebCore::RoundedRect::RoundedRect):
2252 (WebCore::RoundedRect::intersectsQuad):
2253 * platform/graphics/RoundedRect.h:
2254 (WebCore::RoundedRect::Radii::Radii):
2255 (WebCore::RoundedRect::Radii::setTopLeft):
2256 (WebCore::RoundedRect::Radii::setTopRight):
2257 (WebCore::RoundedRect::Radii::setBottomLeft):
2258 (WebCore::RoundedRect::Radii::setBottomRight):
2259 (WebCore::RoundedRect::Radii::topLeft):
2260 (WebCore::RoundedRect::Radii::topRight):
2261 (WebCore::RoundedRect::Radii::bottomLeft):
2262 (WebCore::RoundedRect::Radii::bottomRight):
2263 (WebCore::RoundedRect::Radii::expand):
2264 (WebCore::RoundedRect::Radii::shrink):
2265 (WebCore::RoundedRect::rect):
2266 (WebCore::RoundedRect::setRect):
2267 (WebCore::RoundedRect::move):
2268 (WebCore::RoundedRect::inflate):
2269 (WebCore::RoundedRect::expandRadii):
2270 (WebCore::RoundedRect::shrinkRadii):
2271 * platform/graphics/ShadowBlur.cpp:
2272 (WebCore::ScratchBuffer::setCachedShadowValues):
2273 (WebCore::ScratchBuffer::setCachedInsetShadowValues):
2274 (WebCore::computeSliceSizesFromRadii):
2275 (WebCore::ShadowBlur::templateSize):
2276 (WebCore::ShadowBlur::drawRectShadow):
2277 (WebCore::ShadowBlur::drawInsetShadow):
2278 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2279 (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
2280 (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2281 (WebCore::ShadowBlur::drawRectShadowWithTiling):
2282 (WebCore::ShadowBlur::drawLayerPieces):
2283 (WebCore::ShadowBlur::beginShadowLayer):
2284 * platform/graphics/ShadowBlur.h:
2285 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2286 (WebCore::GraphicsContext::clipOut):
2287 (WebCore::GraphicsContext::fillRoundedRect):
2288 (WebCore::GraphicsContext::fillRectWithRoundedHole):
2289 * platform/graphics/cg/GraphicsContextCG.cpp:
2290 (WebCore::GraphicsContext::platformInit):
2291 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2292 (WebCore::GraphicsContext::clipOut):
2293 (WebCore::GraphicsContext::fillRoundedRect):
2294 * rendering/RenderBoxModelObject.cpp:
2295 (WebCore::RenderBoxModelObject::paintOneBorderSide):
2296 (WebCore::calculateSideRect):
2297 (WebCore::RenderBoxModelObject::paintBorderSides):
2298 (WebCore::RenderBoxModelObject::paintBorder):
2299 (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2300 (WebCore::calculateSideRectIncludingInner):
2301 (WebCore::calculateAdjustedInnerBorder):
2302 (WebCore::areaCastingShadowInHole):
2303 (WebCore::RenderBoxModelObject::paintBoxShadow):
2304 * rendering/RenderBoxModelObject.h:
2305 * rendering/RenderThemeSafari.cpp:
2306 (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2307 (WebCore::RenderThemeSafari::paintSliderTrack):
2309 2014-01-30 Martin Robinson <mrobinson@igalia.com>
2311 [GTK] [CMake] Add support for building against GTK+ 2
2312 https://bugs.webkit.org/show_bug.cgi?id=127959
2314 Reviewed by Anders Carlsson.
2316 * PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.
2318 2014-01-30 Jessie Berlin <jberlin@apple.com>
2320 Speculative build fix.
2322 * page/animation/CSSPropertyAnimation.cpp:
2324 2014-01-30 Zalan Bujtas <zalan@apple.com>
2326 Subpixel rendering: Change BorderData's width from unsigned to float to enable subpixel border painting.
2327 https://bugs.webkit.org/show_bug.cgi?id=127949
2329 Reviewed by Andreas Kling.
2331 Covered by existing tests. No change in functionality.
2333 * css/DeprecatedStyleBuilder.cpp:
2334 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2335 * page/animation/CSSPropertyAnimation.cpp:
2336 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
2337 * rendering/RenderTable.cpp:
2338 (WebCore::RenderTable::calcBorderStart):
2339 (WebCore::RenderTable::calcBorderEnd):
2340 * rendering/style/BorderValue.h:
2341 (WebCore::BorderValue::BorderValue):
2342 (WebCore::BorderValue::width):
2343 * rendering/style/RenderStyle.cpp:
2344 (WebCore::RenderStyle::borderBeforeWidth):
2345 (WebCore::RenderStyle::borderAfterWidth):
2346 (WebCore::RenderStyle::borderStartWidth):
2347 (WebCore::RenderStyle::borderEndWidth):
2348 * rendering/style/RenderStyle.h:
2350 2014-01-30 David Kilzer <ddkilzer@apple.com>
2352 Add security-checked cast for WebCore::CachedImage
2353 <http://webkit.org/b/127967>
2355 Reviewed by Darin Adler.
2357 * loader/cache/CachedImage.h:
2358 (WebCore::toCachedImage): Add.
2359 (WebCore::toCachedImageManual): Add.
2360 * loader/cache/CachedResource.h:
2361 (CACHED_RESOURCE_TYPE_CASTS): Add macro.
2363 * loader/cache/CachedImage.cpp:
2364 (WebCore::CachedImage::switchClientsToRevalidatedResource):
2365 (WebCore::CachedImage::resumeAnimatingImagesForLoader):
2366 * loader/cache/CachedResourceLoader.cpp:
2367 (WebCore::CachedResourceLoader::requestImage):
2368 * loader/cache/MemoryCache.cpp:
2369 (WebCore::MemoryCache::removeImageFromCache):
2370 - Use toCachedImage() and toCachedImageManual().
2372 2014-01-30 Simon Fraser <simon.fraser@apple.com>
2374 Fixed position objects are clipped in iOS WK2
2375 https://bugs.webkit.org/show_bug.cgi?id=127974
2377 Reviewed by Darin Adler.
2379 We clip compositing layers for fixed position objects to the viewport
2380 to avoid huge layers. However, because iOS changes the fixed position
2381 rect when zooming, we need a different rect for iOS.
2383 In WK1 (when we have a platformWidget), we can use
2384 visibleContentRect(ScrollableArea::LegacyIOSDocumentVisibleRect)
2385 which is effectively the whole document. However in WK2 this is
2386 the real visibleContentRect(), so there we use unscaledDocumentRect().
2388 * page/FrameView.cpp:
2389 (WebCore::FrameView::viewportConstrainedExtentRect):
2391 * rendering/RenderLayerBacking.cpp:
2392 (WebCore::RenderLayerBacking::updateCompositedBounds):
2394 2014-01-28 Timothy Hatcher <timothy@apple.com>
2396 Add column number and call timing support to LegacyProfiler.
2398 https://bugs.webkit.org/show_bug.cgi?id=127764
2400 Reviewed by Joseph Pecoraro.
2402 * bindings/js/ScriptProfile.cpp:
2403 (WebCore::ScriptProfile::idleTime):
2404 (WebCore::buildInspectorObjectFor):
2405 (WebCore::ScriptProfile::buildInspectorObject):
2406 * bindings/js/ScriptProfile.h:
2407 * inspector/InspectorHeapProfilerAgent.cpp:
2408 (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
2409 * inspector/InspectorProfilerAgent.cpp:
2410 (WebCore::InspectorProfilerAgent::createSnapshotHeader):
2411 (WebCore::InspectorProfilerAgent::getCPUProfile):
2412 * inspector/ScriptProfileNode.idl:
2413 * inspector/TimelineRecordFactory.cpp:
2414 (WebCore::TimelineRecordFactory::appendProfile):
2415 * inspector/protocol/Profiler.json:
2417 2014-01-26 Timothy Hatcher <timothy@apple.com>
2419 Include profile with FunctionCall and EvaluateScript Timeline records.
2421 https://bugs.webkit.org/show_bug.cgi?id=127663
2423 Reviewed by Joseph Pecoraro.
2425 * bindings/js/JSCallbackData.cpp:
2426 (WebCore::JSCallbackData::invokeCallback):
2427 * bindings/js/JSEventListener.cpp:
2428 (WebCore::JSEventListener::handleEvent):
2429 * bindings/js/JSMutationCallback.cpp:
2430 (WebCore::JSMutationCallback::call):
2431 * bindings/js/ScheduledAction.cpp:
2432 (WebCore::ScheduledAction::executeFunctionInContext):
2433 * bindings/js/ScriptController.cpp:
2434 (WebCore::ScriptController::evaluateInWorld):
2435 * inspector/InspectorController.cpp:
2436 (WebCore::InspectorController::didCallInjectedScriptFunction):
2437 * inspector/InspectorController.h:
2438 * inspector/InspectorInstrumentation.cpp:
2439 (WebCore::InspectorInstrumentation::didCallFunctionImpl):
2440 (WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
2441 * inspector/InspectorInstrumentation.h:
2442 (WebCore::InspectorInstrumentation::didCallFunction):
2443 (WebCore::InspectorInstrumentation::didEvaluateScript):
2444 * inspector/InspectorTimelineAgent.cpp:
2445 (WebCore::InspectorTimelineAgent::willCallFunction):
2446 (WebCore::InspectorTimelineAgent::didCallFunction):
2447 (WebCore::InspectorTimelineAgent::willEvaluateScript):
2448 (WebCore::InspectorTimelineAgent::didEvaluateScript):
2449 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2450 * inspector/InspectorTimelineAgent.h:
2451 * inspector/TimelineRecordFactory.cpp:
2452 (WebCore::TimelineRecordFactory::appendProfile):
2453 * inspector/TimelineRecordFactory.h:
2454 * inspector/WorkerInspectorController.cpp:
2455 (WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
2456 * inspector/WorkerInspectorController.h:
2458 2014-01-30 Joseph Pecoraro <pecoraro@apple.com>
2460 Remove now-empty ScriptController::setCaptureCallStackForUncaughtExceptions
2461 https://bugs.webkit.org/show_bug.cgi?id=127964
2463 Reviewed by Timothy Hatcher.
2465 Remove empty function. It was only needed by v8 at one point.
2467 * bindings/js/ScriptController.h:
2468 * bindings/js/ScriptController.cpp:
2469 Remove empty function.
2471 * inspector/InspectorConsoleAgent.h:
2472 * inspector/InspectorConsoleAgent.cpp:
2473 (WebCore::InspectorConsoleAgent::enable):
2474 (WebCore::InspectorConsoleAgent::disable):
2475 Remove callers and related tracking state.
2477 2014-01-30 Roger Fong <roger_fong@apple.com>
2479 WebGL load policy should be queried for the top level document.
2480 https://bugs.webkit.org/show_bug.cgi?id=127937.
2481 <rdar://problem/15950122>
2483 Reviewed by Timothy Horton.
2485 * html/HTMLCanvasElement.cpp:
2486 (WebCore::HTMLCanvasElement::getContext):
2488 2014-01-27 Jeffrey Pfau <jpfau@apple.com>
2490 Add a method for schemes to be registered as supporting cache partitioning
2491 https://bugs.webkit.org/show_bug.cgi?id=127739
2493 Reviewed by Darin Adler.
2495 Currently, this assumes that schemes supporting cache partitioning
2496 also support (scheme, host) doubles for the scheme. Furthermore,
2497 the scheme is currently discarded when partitioning and is only
2498 checked to ensure that partitioning is supported for that scheme: it
2499 is assumed that all origins with the same host double should be binned
2500 together, regardless of scheme.
2503 * page/SecurityOrigin.cpp:
2504 (WebCore::SecurityOrigin::cachePartition):
2505 * platform/SchemeRegistry.cpp:
2506 (WebCore::CachePartitioningSchemes):
2507 (WebCore::SchemeRegistry::registerURLSchemeAsCachePartitioned):
2508 (WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme):
2509 * platform/SchemeRegistry.h:
2511 2014-01-30 Jer Noble <jer.noble@apple.com>
2513 [iOS] Convert blocks to lambdas in iOS Fullscreen code.
2514 https://bugs.webkit.org/show_bug.cgi?id=127946
2516 Reviewed by Anders Carlsson.
2518 Pushing a block into a std::function will eventually cause a crash, since std::function
2519 does not know about Block_copy and Block_release.
2521 Lamdas can be intrinsicly converted to blocks, but not vice versa. Switch over all the
2522 blocks in the new iOS Fullscreen code to use lamdas, and use the ref-counted this object
2523 directly rather than implicitly.
2525 * platform/ios/WebVideoFullscreenControllerAVKit.mm:
2526 (-[WebVideoFullscreenController exitFullscreen]):
2527 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2528 (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
2529 (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
2530 (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
2532 2014-01-30 Martin Robinson <mrobinson@igalia.com>
2534 [GTK] [CMake] Add a "make dist" target
2535 https://bugs.webkit.org/show_bug.cgi?id=116378
2537 Reviewed by Gustavo Noronha Silva.
2539 * CMakeLists.txt: Don't build WebKitVersion.h for WebKitGTK+. We don't use it
2540 and we don't want to distribute the dependency.
2542 2014-01-30 Brady Eidson <beidson@apple.com>
2544 IDB: ObjectStore cursor advance() support
2545 <rdar://problem/15779645> and https://bugs.webkit.org/show_bug.cgi?id=127866
2547 Reviewed by Sam Weinig.
2549 Add IDBKeyData sorting for database collation:
2550 * Modules/indexeddb/IDBKeyData.cpp:
2551 (WebCore::IDBKeyData::compare):
2552 * Modules/indexeddb/IDBKeyData.h:
2556 * platform/sql/SQLiteTransaction.h:
2557 (WebCore::SQLiteTransaction::database):
2559 2014-01-30 David Kilzer <ddkilzer@apple.com>
2561 De-virtual-ize CachedResource::isImage()
2562 <http://webkit.org/b/127936>
2564 Reviewed by Andreas Kling.
2566 Also replace explicit type() checks with isImage().
2568 * loader/SubresourceLoader.cpp:
2569 (WebCore::SubresourceLoader::willSendRequest): Use isImage().
2570 * loader/cache/CachedImage.h:
2571 (WebCore::CachedResource::isImage): Remove virtual override.
2572 * loader/cache/CachedResource.h:
2573 (WebCore::CachedResource::isImage): Check type() instead of
2574 defining a virtual method that returns false by default.
2575 * loader/cache/CachedResourceLoader.cpp:
2576 (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred): Use isImage().
2578 2014-01-30 Eric Carlson <eric.carlson@apple.com>
2580 [iOS] don't update media layers on main thread when using AVFoundation
2581 https://bugs.webkit.org/show_bug.cgi?id=127931
2583 Reviewed by Simon Fraser.
2585 * platform/graphics/GraphicsLayerClient.h:
2586 (WebCore::GraphicsLayerClient::mediaLayerMustBeUpdatedOnMainThread): Add mediaLayerMustBeUpdatedOnMainThread.
2588 * platform/graphics/ca/GraphicsLayerCA.cpp:
2589 (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread): Ask the client if graphics layers
2590 should be updated on the main thread.
2592 * rendering/RenderLayerBacking.cpp:
2593 (WebCore::RenderLayerBacking::mediaLayerMustBeUpdatedOnMainThread): New, check settings to see
2594 if video plug-in proxy is enabled.
2595 * rendering/RenderLayerBacking.h:
2597 2014-01-30 Jer Noble <jer.noble@apple.com>
2599 [MediaControls][iOS] Fix a couple of UI bugs in the iOS Media Controls
2600 https://bugs.webkit.org/show_bug.cgi?id=127929
2602 Reviewed by Eric Carlson.
2604 Two UI bugs in the iOS Media Controls: the text in the controls should use the apple
2605 system font rather than the webkit small control font, and the buttons in the controls
2606 are clipped due to an "off by one" error when calculating the SVG image dimensions.
2608 * Modules/mediacontrols/mediaControlsiOS.css:
2609 (::-webkit-media-controls):
2610 (audio::-webkit-media-controls-play-button):
2611 (audio::-webkit-media-controls-fullscreen-button):
2612 (audio::-webkit-media-controls-time-remaining-display):
2614 2014-01-30 Jeremy Jones <jeremyj@apple.com>
2616 Refactor WebVideoFullscreenController separating AVKit from MediaElement.
2617 https://bugs.webkit.org/show_bug.cgi?id=127762
2619 Reviewed by Jer Noble.
2621 Refactor WebVideoFullscreenControllerAVKit implementation into two abstract interfaces with concrete implementations:
2622 WebVideoFullscreenModel, WebVideoFullscreenInterface, WebVideoFullscreenModelMediaElement, WebVideoFullscreenInterfaceAVKit.
2624 * WebCore.xcodeproj/project.pbxproj:
2625 * platform/ios/WebVideoFullscreenControllerAVKit.h:
2626 * platform/ios/WebVideoFullscreenControllerAVKit.mm:
2627 (-[WebVideoFullscreenController init]):
2628 (-[WebVideoFullscreenController dealloc]):
2629 (-[WebVideoFullscreenController enterFullscreen:]):
2630 (-[WebVideoFullscreenController exitFullscreen]):
2631 * platform/ios/WebVideoFullscreenInterface.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
2632 (WebCore::WebVideoFullscreenInterface::~WebVideoFullscreenInterface):
2633 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Added.
2634 (WebCore::WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit):
2635 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Added.
2637 (-[WebAVPlayerController init]):
2638 (-[WebAVPlayerController dealloc]):
2639 (-[WebAVPlayerController forwardingTargetForSelector:]):
2640 (-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):
2641 (-[WebAVPlayerController play:]):
2642 (-[WebAVPlayerController pause:]):
2643 (-[WebAVPlayerController togglePlayback:]):
2644 (-[WebAVPlayerController isPlaying]):
2645 (-[WebAVPlayerController setPlaying:]):
2646 (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
2647 (-[WebAVPlayerController seekToTime:]):
2648 (:m_videoFullscreenModel):
2649 (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
2650 (WebVideoFullscreenInterfaceAVKit::setDuration):
2651 (WebVideoFullscreenInterfaceAVKit::setCurrentTime):
2652 (WebVideoFullscreenInterfaceAVKit::setRate):
2653 (WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
2654 (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
2655 (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
2656 (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
2657 * platform/ios/WebVideoFullscreenModel.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
2658 (WebCore::WebVideoFullscreenModel::~WebVideoFullscreenModel):
2659 * platform/ios/WebVideoFullscreenModelMediaElement.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
2660 (WebCore::WebVideoFullscreenModelMediaElement::~WebVideoFullscreenModelMediaElement):
2661 (WebCore::WebVideoFullscreenModelMediaElement::setWebVideoFullscreenInterface):
2662 * platform/ios/WebVideoFullscreenModelMediaElement.mm: Added.
2663 (WebVideoFullscreenModelMediaElement::setMediaElement):
2664 (WebVideoFullscreenModelMediaElement::handleEvent):
2665 (WebVideoFullscreenModelMediaElement::requestExitFullScreen):
2666 (WebVideoFullscreenModelMediaElement::play):
2667 (WebVideoFullscreenModelMediaElement::pause):
2668 (WebVideoFullscreenModelMediaElement::togglePlayState):
2669 (WebVideoFullscreenModelMediaElement::seekToTime):
2670 (WebVideoFullscreenModelMediaElement::didExitFullscreen):
2672 2014-01-30 Jer Noble <jer.noble@apple.com>
2674 [MediaControls][iOS] Add a "start load" button.
2675 https://bugs.webkit.org/show_bug.cgi?id=127861
2677 Reviewed by Eric Carlson.
2679 Add a "start load" button which replaces the controls on platforms
2680 where inline playback is not allowed, or when playback without a
2681 user gesture is not allowed.
2683 Add an accessor to MediaControlsHost to query whether inline playback is allowed.:
2684 * Modules/mediacontrols/MediaControlsHost.cpp:
2685 (WebCore::MediaControlsHost::mediaPlaybackAllowsInline):
2686 * Modules/mediacontrols/MediaControlsHost.h:
2687 * Modules/mediacontrols/MediaControlsHost.idl:
2688 * html/HTMLMediaElement.h:
2689 (WebCore::HTMLMediaElement::mediaSession):
2691 Update the base controller to allow more functions to be overridden:
2692 * Modules/mediacontrols/mediaControlsApple.js:
2694 (Controller.prototype.shouldHaveAnyUI):
2695 (Controller.prototype.updateBase):
2696 (Controller.prototype.setControlsType):
2697 (Controller.prototype.updateControls):
2698 (Controller.prototype.handleFullscreenChange):
2700 Add the new button, and allow for switching between "start", "inline", and "fullscreen" controls:
2701 * Modules/mediacontrols/mediaControlsiOS.js:
2702 (ControllerIOS.prototype.addVideoListeners):
2703 (ControllerIOS.prototype.removeVideoListeners):
2704 (ControllerIOS.prototype.createBase):
2705 (ControllerIOS.prototype.shouldHaveStartPlaybackButton):
2706 (ControllerIOS.prototype.shouldHaveControls):
2707 (ControllerIOS.prototype.shouldHaveAnyUI):
2708 (ControllerIOS.prototype.createControls):
2709 (ControllerIOS.prototype.setControlsType):
2710 (ControllerIOS.prototype.addStartPlaybackControls):
2711 (ControllerIOS.prototype.removeStartPlaybackControls):
2712 (ControllerIOS.prototype.updateControls):
2713 (ControllerIOS.prototype.handleStartPlaybackButtonTouchStart):
2714 (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd):
2715 (ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel):
2716 (ControllerIOS.prototype.handleReadyStateChange):
2719 * Modules/mediacontrols/mediaControlsiOS.css:
2720 (audio::-webkit-media-controls-start-playback-button):
2721 (audio::-webkit-media-controls-start-playback-button.failed):
2723 2014-01-30 Tim Horton <timothy_horton@apple.com>
2725 WebKit2 View Gestures (Swipe): Provide a way for clients to provide views to swipe
2726 https://bugs.webkit.org/show_bug.cgi?id=127891
2727 <rdar://problem/15931413>
2729 Reviewed by Anders Carlsson.
2732 A surprising export.
2734 2014-01-30 Beth Dakin <bdakin@apple.com>
2736 https://bugs.webkit.org/show_bug.cgi?id=127371
2737 Explore new API that could be used to help build infinitely scrolling websites
2739 <rdar://problem/15244768>
2741 Reviewed by Sam Weinig.
2743 This patch adds 4 new events called webkitwillrevealbottom, webkitwillrevealtop,
2744 webkitwillrevealleft, and webkitwillrevealright. These events will fire when the
2745 user has scrolled close to corresponding edge of the document. Right now that is
2746 defined to be one viewport away from the corresponding edge.
2748 FrameView::scrollPositionChanged() and
2749 FrameView::scrollPositionChangedViaPlatformWidget() now take two parameters
2750 representing the old scroll position and the new position.
2759 * html/HTMLAttributeNames.in:
2760 * html/HTMLElement.cpp:
2761 (WebCore::populateEventNameForAttributeLocalNameMap):
2763 * page/DOMWindow.idl:
2765 Send oldPosition and newPosition to scrollPositionChanged().
2766 * page/FrameView.cpp:
2767 (WebCore::FrameView::setFixedVisibleContentRect):
2768 (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
2770 After sending scroll events, also call sendWillRevealEdgeEventsIfNeeded() to send
2771 the see if we should send the new will-reveal events.
2772 (WebCore::FrameView::scrollPositionChanged):
2774 Use the old position and the new position to determine if the events should be
2776 (WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded):
2778 Send new parameters to scrollPositionChanged().
2779 (WebCore::FrameView::scrollTo):
2780 (WebCore::FrameView::wheelEvent):
2783 2014-01-30 Szabolcs David <davidsz@inf.u-szeged.hu>
2785 [curl] Improve realm string parsing in WWW-Authenticate headers
2786 https://bugs.webkit.org/show_bug.cgi?id=127421
2788 Reviewed by Brent Fulgham.
2790 The realm string contains quotes at the beginning and end - this is the
2791 opposite of the libsoup implementation. Furthermore, if the header is
2792 concatenated from two or more another headers, it contains more incorrect part.
2794 * platform/network/curl/ResourceHandleManager.cpp:
2795 (WebCore::removeLeadingAndTrailingQuotes):
2796 (WebCore::getProtectionSpace):
2798 2014-01-30 Anders Carlsson <andersca@apple.com>
2800 Modernize HTTPHeaderMap iteration
2801 https://bugs.webkit.org/show_bug.cgi?id=127915
2803 Reviewed by Andreas Kling.
2805 * inspector/InspectorResourceAgent.cpp:
2806 (WebCore::buildObjectForHeaders):
2807 (WebCore::InspectorResourceAgent::willLoadXHR):
2808 (WebCore::InspectorResourceAgent::replayXHR):
2809 * loader/CrossOriginAccessControl.cpp:
2810 (WebCore::isSimpleCrossOriginAccessRequest):
2811 (WebCore::createAccessControlPreflightRequest):
2812 * loader/CrossOriginPreflightResultCache.cpp:
2813 (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
2814 * loader/DocumentLoader.cpp:
2815 (WebCore::DocumentLoader::responseReceived):
2816 * loader/appcache/ApplicationCacheStorage.cpp:
2817 (WebCore::ApplicationCacheStorage::store):
2818 * loader/cache/CachedRawResource.cpp:
2819 (WebCore::CachedRawResource::canReuse):
2820 * loader/cache/CachedResource.cpp:
2821 (WebCore::CachedResource::updateResponseAfterRevalidation):
2822 * platform/network/HTTPHeaderMap.cpp:
2823 (WebCore::HTTPHeaderMap::copyData):
2824 * platform/network/ResourceRequestBase.cpp:
2825 (WebCore::ResourceRequestBase::addHTTPHeaderFields):
2826 * platform/network/cf/ResourceRequestCFNet.cpp:
2827 (WebCore::setHeaderFields):
2828 * platform/network/mac/ResourceRequestMac.mm:
2829 (WebCore::ResourceRequest::doUpdatePlatformRequest):
2830 * xml/XMLHttpRequest.cpp:
2831 (WebCore::XMLHttpRequest::getAllResponseHeaders):
2833 2014-01-30 Antti Koivisto <antti@apple.com>
2835 WebPage::determinePrimarySnapshottedPlugIn is slow
2836 https://bugs.webkit.org/show_bug.cgi?id=127905
2838 Reviewed by Anders Carlsson.
2840 * WebCore.exp.in: New exports
2841 * WebCore.xcodeproj/project.pbxproj:
2842 * html/HTMLPlugInImageElement.h:
2843 (WebCore::HTMLPlugInImageElement>): Add isElementOfType<>
2845 2014-01-30 Csaba Osztrogonác <ossy@webkit.org>
2847 [SOUP] Fix the build if !ENABLE(WEB_TIMING)
2848 https://bugs.webkit.org/show_bug.cgi?id=127906
2850 Reviewed by Gustavo Noronha Silva.
2852 * platform/network/soup/SoupNetworkSession.cpp:
2854 2014-01-30 Andrei Bucur <abucur@adobe.com>
2856 Remove the ACCELERATED_COMPOSITING flag
2857 https://bugs.webkit.org/show_bug.cgi?id=127833
2859 Reviewed by Antti Koivisto.
2861 Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
2864 Tests: No new tests, no functional change.
2866 * css/MediaQueryEvaluator.cpp:
2867 (WebCore::transform_3dMediaFeatureEval):
2868 * css/StyleResolver.cpp:
2869 (WebCore::StyleResolver::canShareStyleWithElement):
2871 (WebCore::Document::setVisualUpdatesAllowed):
2872 (WebCore::Document::recalcStyle):
2873 (WebCore::Document::createRenderTree):
2874 (WebCore::Document::documentWillBecomeInactive):
2875 (WebCore::Document::documentDidResumeFromPageCache):
2876 (WebCore::Document::windowScreenDidChange):
2877 * dom/PseudoElement.cpp:
2878 (WebCore::PseudoElement::~PseudoElement):
2879 * history/CachedFrame.cpp:
2880 (WebCore::CachedFrameBase::CachedFrameBase):
2881 (WebCore::CachedFrameBase::restore):
2882 (WebCore::CachedFrame::CachedFrame):
2883 * history/CachedFrame.h:
2884 * history/CachedPage.cpp:
2885 (WebCore::CachedPage::restore):
2886 * history/CachedPage.h:
2887 * history/PageCache.cpp:
2888 (WebCore::PageCache::PageCache):
2889 (WebCore::PageCache::markPagesForDeviceScaleChanged):
2890 * history/PageCache.h:
2891 * html/HTMLCanvasElement.cpp:
2892 (WebCore::HTMLCanvasElement::getContext):
2893 (WebCore::HTMLCanvasElement::reset):
2894 (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
2895 (WebCore::HTMLCanvasElement::createImageBuffer):
2896 * html/HTMLMediaElement.cpp:
2897 (WebCore::HTMLMediaElement::parseAttribute):
2898 * html/HTMLMediaElement.h:
2899 * html/canvas/CanvasRenderingContext.h:
2900 * html/canvas/CanvasRenderingContext2D.cpp:
2901 (WebCore::CanvasRenderingContext2D::didDraw):
2902 * html/canvas/CanvasRenderingContext2D.h:
2903 * html/canvas/WebGLRenderingContext.cpp:
2904 (WebCore::WebGLRenderingContext::markContextChanged):
2905 (WebCore::WebGLRenderingContext::reshape):
2906 (WebCore::WebGLRenderingContext::platformLayer):
2907 * html/canvas/WebGLRenderingContext.h:
2908 * inspector/InspectorController.cpp:
2909 (WebCore::InspectorController::InspectorController):
2910 * inspector/InspectorInstrumentation.cpp:
2911 (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2912 (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
2913 * inspector/InspectorInstrumentation.h:
2914 (WebCore::InspectorInstrumentation::pseudoElementDestroyed):
2915 * inspector/InspectorLayerTreeAgent.cpp:
2916 * inspector/InstrumentingAgents.cpp:
2917 (WebCore::InstrumentingAgents::InstrumentingAgents):
2918 (WebCore::InstrumentingAgents::reset):
2919 * inspector/InstrumentingAgents.h:
2920 * loader/EmptyClients.h:
2921 * page/ChromeClient.h:
2923 (WebCore::Frame::layerTreeAsText):
2924 (WebCore::Frame::deviceOrPageScaleFactorChanged):
2926 * page/FrameView.cpp:
2927 (WebCore::FrameView::setFrameRect):
2928 (WebCore::FrameView::scheduleLayerFlushAllowingThrottling):
2929 (WebCore::FrameView::hasCompositedContent):
2930 (WebCore::FrameView::hasCompositedContentIncludingDescendants):
2931 (WebCore::FrameView::hasCompositingAncestor):
2932 (WebCore::FrameView::enterCompositingMode):
2933 (WebCore::FrameView::isEnclosedInCompositingLayer):
2934 (WebCore::FrameView::flushCompositingStateIncludingSubframes):
2935 (WebCore::FrameView::isSoftwareRenderable):
2936 (WebCore::FrameView::layout):
2937 (WebCore::FrameView::contentsInCompositedLayer):
2938 (WebCore::FrameView::scrollContentsFastPath):
2939 (WebCore::FrameView::scrollContentsSlowPath):
2940 (WebCore::FrameView::setIsOverlapped):
2941 (WebCore::FrameView::delegatesScrollingDidChange):
2942 (WebCore::FrameView::scrollPositionChanged):
2943 (WebCore::FrameView::updateCompositingLayersAfterScrolling):
2944 (WebCore::FrameView::visibleContentsResized):
2945 (WebCore::FrameView::addedOrRemovedScrollbar):
2946 (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
2947 (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
2948 (WebCore::FrameView::adjustTiledBackingCoverage):
2949 (WebCore::FrameView::hasExtendedBackground):
2950 (WebCore::FrameView::extendedBackgroundRect):
2951 (WebCore::FrameView::setBackgroundExtendsBeyondPage):
2952 (WebCore::FrameView::performPostLayoutTasks):
2953 (WebCore::FrameView::paintContents):
2954 (WebCore::FrameView::setTracksRepaints):
2955 (WebCore::FrameView::resetTrackedRepaints):
2956 (WebCore::FrameView::setScrollingPerformanceLoggingEnabled):
2957 (WebCore::FrameView::setExposedRect):
2960 (WebCore::Page::setPageScaleFactor):
2961 (WebCore::Page::setDeviceScaleFactor):
2962 * page/Settings.cpp:
2963 (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
2964 * page/animation/AnimationBase.cpp:
2965 (WebCore::AnimationBase::freezeAtTime):
2966 * page/animation/AnimationController.cpp:
2967 (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
2968 * page/animation/CSSPropertyAnimation.cpp:
2969 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
2970 (WebCore::CSSPropertyAnimation::blendProperties):
2971 (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
2972 * page/animation/CSSPropertyAnimation.h:
2973 * page/animation/CompositeAnimation.cpp:
2974 (WebCore::CompositeAnimation::updateTransitions):
2975 * page/animation/ImplicitAnimation.cpp:
2976 (WebCore::ImplicitAnimation::animate):
2977 (WebCore::ImplicitAnimation::startAnimation):
2978 (WebCore::ImplicitAnimation::pauseAnimation):
2979 (WebCore::ImplicitAnimation::endAnimation):
2980 (WebCore::ImplicitAnimation::timeToNextService):
2981 * page/animation/KeyframeAnimation.cpp:
2982 (WebCore::KeyframeAnimation::animate):
2983 (WebCore::KeyframeAnimation::startAnimation):
2984 (WebCore::KeyframeAnimation::pauseAnimation):
2985 (WebCore::KeyframeAnimation::endAnimation):
2986 (WebCore::KeyframeAnimation::timeToNextService):
2987 * page/ios/FrameIOS.mm:
2988 (WebCore::Frame::viewportOffsetChanged):
2989 (WebCore::Frame::containsTiledBackingLayers):
2990 * page/scrolling/AsyncScrollingCoordinator.cpp:
2991 (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
2992 * page/scrolling/ScrollingCoordinator.cpp:
2993 (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
2994 (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
2995 (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
2996 (WebCore::ScrollingCoordinator::scrollLayerForFrameView):
2997 (WebCore::ScrollingCoordinator::headerLayerForFrameView):
2998 (WebCore::ScrollingCoordinator::footerLayerForFrameView):
2999 (WebCore::ScrollingCoordinator::counterScrollingLayerForFrameView):
3000 (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
3001 * page/scrolling/ScrollingCoordinator.h:
3002 * platform/ScrollView.cpp:
3003 (WebCore::positionScrollCornerLayer):
3004 (WebCore::ScrollView::positionScrollbarLayers):
3005 (WebCore::ScrollView::paintScrollbars):
3006 (WebCore::ScrollView::paint):
3007 * platform/ScrollableArea.cpp:
3008 (WebCore::ScrollableArea::invalidateScrollbar):
3009 (WebCore::ScrollableArea::invalidateScrollCorner):
3010 (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
3011 (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
3012 (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
3013 (WebCore::ScrollableArea::hasLayerForScrollCorner):
3014 * platform/ScrollableArea.h:
3015 * platform/ScrollbarTheme.h:
3016 * platform/efl/EflScreenUtilities.cpp:
3017 (WebCore::applyFallbackCursor):
3018 * platform/graphics/GraphicsContext3D.h:
3019 * platform/graphics/GraphicsContext3DPrivate.cpp:
3020 (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
3021 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3022 * platform/graphics/GraphicsContext3DPrivate.h:
3023 * platform/graphics/GraphicsLayer.cpp:
3024 * platform/graphics/GraphicsLayer.h:
3025 * platform/graphics/GraphicsLayerAnimation.cpp:
3026 * platform/graphics/GraphicsLayerAnimation.h:
3027 * platform/graphics/GraphicsLayerClient.h:
3028 * platform/graphics/GraphicsLayerFactory.h:
3029 * platform/graphics/GraphicsLayerUpdater.cpp:
3030 * platform/graphics/GraphicsLayerUpdater.h:
3031 * platform/graphics/ImageBuffer.cpp:
3032 * platform/graphics/ImageBuffer.h:
3033 * platform/graphics/MediaPlayer.cpp:
3034 (WebCore::MediaPlayer::platformLayer):
3035 (WebCore::MediaPlayer::supportsAcceleratedRendering):
3036 * platform/graphics/MediaPlayer.h:
3037 * platform/graphics/MediaPlayerPrivate.h:
3038 * platform/graphics/PlatformLayer.h:
3039 * platform/graphics/TextTrackRepresentation.cpp:
3040 * platform/graphics/TextTrackRepresentation.h:
3041 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3042 (WebCore::MediaPlayerPrivateAVFoundation::currentRenderingMode):
3043 (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
3044 (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
3045 (WebCore::MediaPlayerPrivateAVFoundation::tearDownVideoRendering):
3046 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3047 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
3048 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3049 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
3050 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
3051 * platform/graphics/ca/GraphicsLayerCA.cpp:
3052 * platform/graphics/ca/GraphicsLayerCA.h:
3053 * platform/graphics/ca/LayerFlushScheduler.cpp:
3054 * platform/graphics/ca/LayerFlushScheduler.h:
3055 * platform/graphics/ca/LayerFlushSchedulerClient.h:
3056 * platform/graphics/ca/PlatformCAAnimation.h:
3057 * platform/graphics/ca/PlatformCAFilters.h:
3058 * platform/graphics/ca/PlatformCALayer.h:
3059 * platform/graphics/ca/PlatformCALayerClient.h:
3060 * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
3061 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
3062 (PlatformCAAnimation::copyTimingFunctionsFrom):
3063 * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
3064 * platform/graphics/ca/mac/PlatformCALayerMac.h:
3065 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3066 (PlatformCALayerMac::enumerateRectsBeingDrawn):
3067 * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h:
3068 * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
3069 * platform/graphics/ca/win/CACFLayerTreeHost.h:
3070 * platform/graphics/ca/win/CACFLayerTreeHostClient.h:
3071 * platform/graphics/ca/win/LayerChangesFlusher.cpp:
3072 * platform/graphics/ca/win/LayerChangesFlusher.h:
3073 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
3074 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
3075 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
3076 (PlatformCAAnimation::copyTimingFunctionsFrom):
3077 * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
3078 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3079 (PlatformCALayerWin::createCompatibleLayer):
3080 * platform/graphics/ca/win/PlatformCALayerWin.h:
3081 * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
3082 (PlatformCALayerWinInternal::drawTile):
3083 * platform/graphics/ca/win/PlatformCALayerWinInternal.h:
3084 * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
3085 * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
3086 * platform/graphics/cairo/DrawingBufferCairo.cpp:
3087 (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
3088 * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
3089 (WebCore::GraphicsContext3D::platformLayer):
3090 * platform/graphics/cairo/ImageBufferCairo.cpp:
3091 (WebCore::ImageBuffer::platformLayer):
3092 * platform/graphics/efl/GraphicsContext3DEfl.cpp:
3093 (WebCore::GraphicsContext3D::platformLayer):
3094 * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3095 * platform/graphics/efl/GraphicsContext3DPrivate.h:
3096 * platform/graphics/gpu/DrawingBuffer.h:
3097 * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
3098 * platform/graphics/gpu/TilingData.cpp:
3099 * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3100 (WebCore::DrawingBuffer::frontColorBuffer):
3101 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3102 (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
3103 (WebCore::MediaPlayerPrivateGStreamerBase::paint):
3104 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3105 * platform/graphics/ios/MediaPlayerPrivateIOS.h:
3106 * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
3107 (WebCore::MediaPlayerPrivateIOS::supportsAcceleratedRendering):
3108 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3109 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3110 (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
3111 (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
3112 (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
3113 (WebCore::MediaPlayerPrivateQTKit::platformLayer):
3114 (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
3115 (WebCore::MediaPlayerPrivateQTKit::layerHostChanged):
3116 (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
3117 (-[WebCoreMovieObserver layerHostChanged:]):
3118 * platform/graphics/mac/WebGLLayer.h:
3119 * platform/graphics/mac/WebGLLayer.mm:
3120 * platform/graphics/mac/WebLayer.h:
3121 * platform/graphics/mac/WebLayer.mm:
3122 * platform/graphics/mac/WebTiledLayer.h:
3123 * platform/graphics/mac/WebTiledLayer.mm:
3124 * platform/graphics/opengl/GLDefs.h:
3125 * platform/graphics/opengl/GLPlatformContext.cpp:
3126 * platform/graphics/opengl/GLPlatformContext.h:
3127 * platform/graphics/opengl/GLPlatformSurface.cpp:
3128 * platform/graphics/opengl/GLPlatformSurface.h:
3129 * platform/graphics/surfaces/GLTransportSurface.cpp:
3130 * platform/graphics/surfaces/GLTransportSurface.h:
3131 * platform/graphics/surfaces/glx/GLXConfigSelector.h:
3132 * platform/graphics/surfaces/glx/GLXContext.cpp:
3133 * platform/graphics/surfaces/glx/GLXContext.h:
3134 * platform/graphics/surfaces/glx/GLXSurface.cpp:
3135 * platform/graphics/surfaces/glx/GLXSurface.h:
3136 * platform/graphics/texmap/TextureMapper.cpp:
3137 * platform/graphics/texmap/TextureMapper.h:
3138 * platform/graphics/texmap/TextureMapperBackingStore.cpp:
3139 * platform/graphics/texmap/TextureMapperBackingStore.h:
3140 * platform/graphics/texmap/TextureMapperFPSCounter.cpp:
3141 * platform/graphics/texmap/TextureMapperFPSCounter.h:
3142 * platform/graphics/texmap/TextureMapperGL.cpp:
3143 * platform/graphics/texmap/TextureMapperGL.h:
3144 * platform/graphics/texmap/TextureMapperLayer.cpp:
3145 * platform/graphics/texmap/TextureMapperLayer.h:
3146 * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
3147 * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
3148 * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
3149 * platform/graphics/texmap/TextureMapperTile.cpp:
3150 * platform/graphics/texmap/TextureMapperTile.h:
3151 * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
3152 * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
3153 * platform/graphics/win/GraphicsContext3DWin.cpp:
3154 (WebCore::GraphicsContext3D::platformLayer):
3155 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
3156 (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
3157 (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
3158 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
3159 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3160 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
3161 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
3162 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
3163 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
3164 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
3165 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
3166 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
3167 (WebCore::CreateCGImageFromPixelBuffer):
3168 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
3169 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode):
3170 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::preferredRenderingMode):
3171 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
3172 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
3173 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering):
3174 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
3175 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
3176 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
3177 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode):
3178 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
3179 * platform/graphics/win/WKCAImageQueue.cpp:
3180 * platform/graphics/win/WKCAImageQueue.h:
3181 * platform/mac/ScrollbarThemeMac.h:
3182 * platform/mac/ScrollbarThemeMac.mm:
3183 * plugins/PluginViewBase.h:
3184 * rendering/FlowThreadController.cpp:
3185 (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
3186 * rendering/FlowThreadController.h:
3187 * rendering/RenderBox.cpp:
3188 (WebCore::RenderBox::styleWillChange):
3189 (WebCore::isCandidateForOpaquenessTest):
3190 (WebCore::layersUseImage):
3191 (WebCore::RenderBox::imageChanged):
3192 * rendering/RenderBoxModelObject.cpp:
3193 (WebCore::RenderBoxModelObject::suspendAnimations):
3194 (WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
3195 * rendering/RenderBoxModelObject.h:
3196 * rendering/RenderElement.cpp:
3197 (WebCore::RenderElement::adjustStyleDifference):
3198 (WebCore::RenderElement::setStyle):
3199 (WebCore::RenderElement::styleWillChange):
3200 * rendering/RenderEmbeddedObject.cpp:
3201 (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
3202 * rendering/RenderEmbeddedObject.h:
3203 * rendering/RenderFlowThread.cpp:
3204 (WebCore::RenderFlowThread::RenderFlowThread):
3205 (WebCore::RenderFlowThread::layout):
3206 (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
3207 * rendering/RenderFlowThread.h:
3208 * rendering/RenderFullScreen.cpp:
3209 * rendering/RenderImage.cpp:
3210 (WebCore::RenderImage::imageDimensionsChanged):
3211 (WebCore::RenderImage::notifyFinished):
3212 * rendering/RenderLayer.cpp:
3213 (WebCore::RenderLayer::RenderLayer):
3214 (WebCore::RenderLayer::~RenderLayer):
3215 (WebCore::RenderLayer::canRender3DTransforms):
3216 (WebCore::RenderLayer::paintsWithFilters):
3217 (WebCore::RenderLayer::updateLayerPositions):
3218 (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive):
3219 (WebCore::RenderLayer::currentTransform):
3220 (WebCore::RenderLayer::updateDescendantDependentFlags):
3221 (WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate):
3222 (WebCore::RenderLayer::shouldRepaintAfterLayout):
3223 (WebCore::RenderLayer::enclosingFilterRepaintLayer):
3224 (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
3225 (WebCore::RenderLayer::clippingRootForPainting):
3226 (WebCore::RenderLayer::addChild):
3227 (WebCore::RenderLayer::removeChild):
3228 (WebCore::RenderLayer::removeOnlyThisLayer):
3229 (WebCore::RenderLayer::scrollTo):
3230 (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
3231 (WebCore::RenderLayer::invalidateScrollbarRect):
3232 (WebCore::RenderLayer::invalidateScrollCornerRect):
3233 (WebCore::RenderLayer::positionOverflowControls):
3234 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
3235 (WebCore::RenderLayer::paintOverflowControls):
3236 (WebCore::shouldDoSoftwarePaint):
3237 (WebCore::RenderLayer::paintLayer):
3238 (WebCore::RenderLayer::calculateClipRects):
3239 * rendering/RenderLayer.h:
3240 * rendering/RenderLayerBacking.cpp:
3241 * rendering/RenderLayerBacking.h:
3242 * rendering/RenderLayerCompositor.cpp:
3243 * rendering/RenderLayerCompositor.h:
3244 * rendering/RenderNamedFlowThread.cpp:
3245 (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
3246 * rendering/RenderNamedFlowThread.h:
3247 * rendering/RenderObject.cpp:
3248 (WebCore::RenderObject::containerForRepaint):
3249 (WebCore::RenderObject::repaintUsingContainer):
3250 * rendering/RenderTreeAsText.cpp:
3252 * rendering/RenderVideo.cpp:
3253 (WebCore::RenderVideo::updatePlayer):
3254 (WebCore::RenderVideo::acceleratedRenderingStateChanged):
3255 * rendering/RenderVideo.h:
3256 * rendering/RenderView.cpp:
3257 (WebCore::RenderView::paintBoxDecorations):
3258 (WebCore::RenderView::repaintRootContents):
3259 (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
3260 (WebCore::RenderView::repaintViewAndCompositedLayers):
3261 (WebCore::RenderView::setMaximalOutlineSize):
3262 (WebCore::RenderView::compositor):
3263 (WebCore::RenderView::setIsInWindow):
3264 * rendering/RenderView.h:
3265 * rendering/RenderWidget.cpp:
3266 (WebCore::RenderWidget::setWidgetGeometry):
3267 (WebCore::RenderWidget::requiresAcceleratedCompositing):
3268 * rendering/RenderWidget.h:
3269 * rendering/style/RenderStyle.cpp:
3270 (WebCore::RenderStyle::changeRequiresLayout):
3271 (WebCore::RenderStyle::changeRequiresLayerRepaint):
3272 (WebCore::RenderStyle::changeRequiresRecompositeLayer):
3273 (WebCore::RenderStyle::diff):
3274 * rendering/style/RenderStyle.h:
3275 * rendering/style/RenderStyleConstants.h:
3276 * rendering/style/StyleRareNonInheritedData.cpp:
3277 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3278 (WebCore::StyleRareNonInheritedData::operator==):
3279 * rendering/style/StyleRareNonInheritedData.h:
3280 * testing/Internals.cpp:
3281 (WebCore::Internals::resetToConsistentState):
3282 (WebCore::Internals::setHeaderHeight):
3283 (WebCore::Internals::setFooterHeight):
3285 2014-01-30 Krzysztof Czech <k.czech@samsung.com>
3287 AX: Clean up AccessibilityRenderObject
3288 https://bugs.webkit.org/show_bug.cgi?id=127838
3290 Reviewed by Chris Fleizach.
3292 Reducing some code by implementing ariaElementsFromAttribute.
3293 It is used as a helper for other methods.
3295 No new tests. Covered by existing ones.
3297 * accessibility/AccessibilityRenderObject.cpp:
3298 (WebCore::AccessibilityRenderObject::ariaElementsFromAttribute):
3299 (WebCore::AccessibilityRenderObject::ariaFlowToElements):
3300 (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
3301 (WebCore::AccessibilityRenderObject::ariaOwnsElements):
3302 * accessibility/AccessibilityRenderObject.h:
3304 2014-01-29 Commit Queue <commit-queue@webkit.org>
3306 Unreviewed, rolling out r163048.
3307 http://trac.webkit.org/changeset/163048
3308 https://bugs.webkit.org/show_bug.cgi?id=127890
3310 Caused many crashes, detected by EWS prior to landing
3311 (Requested by ap on #webkit).
3313 * Modules/mediacontrols/MediaControlsHost.cpp:
3314 (WebCore::MediaControlsHost::sortedTrackListForMenu):
3315 (WebCore::MediaControlsHost::displayNameForTrack):
3316 (WebCore::MediaControlsHost::captionDisplayMode):
3318 * WebCore.vcxproj/WebCore.vcxproj:
3319 * WebCore.vcxproj/WebCore.vcxproj.filters:
3320 * WebCore.xcodeproj/project.pbxproj:
3321 * css/DocumentRuleSets.cpp:
3322 (WebCore::DocumentRuleSets::initUserStyle):
3323 * css/InspectorCSSOMWrappers.cpp:
3324 (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection):
3326 (WebCore::Document::setCompatibilityMode):
3327 (WebCore::Document::registerForCaptionPreferencesChangedCallbacks):
3328 (WebCore::Document::captionPreferencesChanged):
3329 * dom/DocumentStyleSheetCollection.cpp:
3330 * dom/DocumentStyleSheetCollection.h:
3331 * html/HTMLMediaElement.cpp:
3332 (WebCore::HTMLMediaElement::HTMLMediaElement):
3333 (WebCore::HTMLMediaElement::parseAttribute):
3334 * html/shadow/MediaControlElements.cpp:
3335 (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
3336 (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
3337 (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
3338 * page/CaptionStyleSheetMediaAF.cpp: Removed.
3339 * page/CaptionStyleSheetMediaAF.h: Removed.
3340 * page/CaptionUserPreferences.cpp:
3341 (WebCore::CaptionUserPreferences::CaptionUserPreferences):
3342 (WebCore::CaptionUserPreferences::notify):
3343 (WebCore::CaptionUserPreferences::setCaptionDisplayMode):
3344 (WebCore::CaptionUserPreferences::userPrefersCaptions):
3345 (WebCore::CaptionUserPreferences::setUserPrefersCaptions):
3346 (WebCore::CaptionUserPreferences::userPrefersSubtitles):
3347 (WebCore::CaptionUserPreferences::setUserPrefersSubtitles):
3348 (WebCore::CaptionUserPreferences::userPrefersTextDescriptions):
3349 (WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions):
3350 (WebCore::CaptionUserPreferences::captionPreferencesChanged):
3351 (WebCore::CaptionUserPreferences::textTrackSelectionScore):
3352 (WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride):
3353 (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
3354 * page/CaptionUserPreferences.h:
3355 (WebCore::CaptionUserPreferences::captionsStyleSheetOverride):
3356 (WebCore::CaptionUserPreferences::setInterestedInCaptionPreferenceChanges):
3357 (WebCore::CaptionUserPreferences::testingMode):
3358 (WebCore::CaptionUserPreferences::setTestingMode):
3359 (WebCore::CaptionUserPreferences::pageGroup):
3360 * page/CaptionUserPreferencesMediaAF.cpp:
3361 (WebCore::userCaptionPreferencesChangedNotificationCallback):
3362 (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
3363 (WebCore::CaptionUserPreferencesMediaAF::userPrefersCaptions):
3364 (WebCore::CaptionUserPreferencesMediaAF::userPrefersSubtitles):
3365 (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
3366 (WebCore::CaptionUserPreferencesMediaAF::captionPreferencesChanged):
3367 (WebCore::CaptionUserPreferencesMediaAF::captionsWindowCSS):
3368 (WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
3369 (WebCore::CaptionUserPreferencesMediaAF::captionsTextColor):
3370 (WebCore::CaptionUserPreferencesMediaAF::captionsTextColorCSS):
3371 (WebCore::CaptionUserPreferencesMediaAF::windowRoundedCornerRadiusCSS):
3372 (WebCore::CaptionUserPreferencesMediaAF::captionsEdgeColorForTextColor):
3373 (WebCore::CaptionUserPreferencesMediaAF::cssPropertyWithTextEdgeColor):
3374 (WebCore::CaptionUserPreferencesMediaAF::colorPropertyCSS):
3375 (WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
3376 (WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):
3377 (WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride):
3378 (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):
3379 (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
3380 * page/CaptionUserPreferencesMediaAF.h:
3383 * page/PageGroup.cpp:
3384 (WebCore::PageGroup::captionPreferencesChanged):
3385 (WebCore::PageGroup::captionPreferences):
3387 * testing/InternalSettings.cpp:
3388 (WebCore::InternalSettings::setShouldDisplayTrackKind):
3389 (WebCore::InternalSettings::shouldDisplayTrackKind):
3390 * testing/Internals.cpp:
3391 (WebCore::Internals::resetToConsistentState):
3392 (WebCore::Internals::Internals):
3393 (WebCore::Internals::captionsStyleSheetOverride):
3394 (WebCore::Internals::setCaptionsStyleSheetOverride):
3395 (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
3396 (WebCore::Internals::setCaptionDisplayMode):
3398 2014-01-29 Csaba Osztrogonác <ossy@webkit.org>
3400 Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers
3401 https://bugs.webkit.org/show_bug.cgi?id=127845
3403 Reviewed by Joseph Pecoraro.
3405 * Configurations/FeatureDefines.xcconfig:
3406 * bindings/js/JSDOMWindowBase.cpp:
3407 (WebCore::JSDOMWindowBase::supportsProfiling):
3409 2014-01-29 Gavin Barraclough <barraclough@apple.com>
3411 Add IsVisibleOrOccluded to ViewState
3412 https://bugs.webkit.org/show_bug.cgi?id=127875
3414 Reviewed by Anders Carlsson.
3417 - added IsVisibleOrOccluded
3419 2014-01-29 Ryosuke Niwa <rniwa@webkit.org>
3421 EventHandler::handleMouseReleaseEvent shouldn't call updateSelectionCachesIfSelectionIsInsideTextFormControl
3422 and selectFrameElementInParentIfFullySelected
3423 https://bugs.webkit.org/show_bug.cgi?id=127834
3425 Reviewed by Alexey Proskuryakov.
3427 Removed the calls and made setNonDirectionalSelectionIfNeeded pass in UserTriggered option.
3429 In addition, removed the rather error-prone function override of setSelection since TextGranularity,
3430 which is an enum, could be implicitly coerced into SetSelectionOptions which is a typedefed unsigned int.
3432 * editing/FrameSelection.cpp:
3433 (WebCore::FrameSelection::setSelectionByMouseIfDifferent): Renamed from setNonDirectionalSelectionIfNeeded.
3434 Pass in DoNotRevealSelection to avoid revealing the selection to preserve the existing behavior.
3435 There are two layout tests that fail without this.
3436 (WebCore::FrameSelection::setSelection): Check the newly addeed DoNotRevealSelection option.
3437 (WebCore::FrameSelection::wordSelectionContainingCaretSelection): Call
3439 * editing/FrameSelection.h: Made updateSelectionCachesIfSelectionIsInsideTextFormControl and
3440 selectFrameElementInParentIfFullySelected private as they are no longer called outside of FrameSelection.
3442 * page/EventHandler.cpp:
3443 (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
3444 (WebCore::EventHandler::updateSelectionForMouseDrag):
3445 (WebCore::EventHandler::handleMouseReleaseEvent): Removed calls to the functions.
3447 2014-01-29 Jer Noble <jer.noble@apple.com>
3449 Unreviewed iOS build fix after 163050.
3451 Import CALayer.h explicitly as (on iOS) it is not included by other headers.
3453 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3455 2014-01-29 Jer Noble <jer.noble@apple.com>
3457 Unreviewed Mac Build fix after r163046.
3459 Forward define AVSampleLayerDisplayLayer and its methods.
3461 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3463 2014-01-26 Sam Weinig <sam@webkit.org>
3465 CaptionUserPreferences should not be on the PageGroup if they are not really per-PageGroup (Part 1)
3466 https://bugs.webkit.org/show_bug.cgi?id=127666
3468 Reviewed by Eric Carlson.
3471 - Makes CaptionUserPreferences a singleton (temporary) that is accessed
3473 - Simplifies overriding system preferences by requiring that a Document be
3474 be passed so the correct Settings object can be obtained (and not just a
3476 - Stops using UserStyleSheets for captions style injection, and instead
3477 adds a new style sheet to the DocumentStyleSheetCollection.
3478 - Move caption style sheet creation into its own file - CaptionStyleSheetMediaAF.h/cpp
3480 * WebCore.vcxproj/WebCore.vcxproj:
3481 * WebCore.vcxproj/WebCore.vcxproj.filters:
3482 * WebCore.xcodeproj/project.pbxproj: