f5c003567dc865d89475548738a2f853172b13c9
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-02-03  Jinwoo Song  <jinwoo7.song@samsung.com>
2
3         Remove unused code in CSSParser.cpp
4         https://bugs.webkit.org/show_bug.cgi?id=128135
5
6         Reviewed by Darin Adler.
7
8         * css/CSSParser.cpp:
9         (WebCore::CSSParser::parseValue):
10
11 2014-02-03  Brent Fulgham  <bfulgham@apple.com>
12
13         [Mac] WK1 Clients Only Latch on Momentum Scroll
14         https://bugs.webkit.org/show_bug.cgi?id=128133
15
16         Reviewed by Simon Fraser.
17
18         * platform/PlatformWheelEvent.h:
19         (WebCore::PlatformWheelEvent::useLatchedEventElement): Update
20         predicate to recognize the start and change phases of the wheel
21         event as latchable (not just momentum start/change).
22
23 2014-02-03  Dean Jackson  <dino@apple.com>
24
25         Feature flag for shape-inside
26         https://bugs.webkit.org/show_bug.cgi?id=128001
27
28         Reviewed by Simon Fraser.
29
30         Add CSS_SHAPE_INSIDE flag.
31
32         I wrapped everything that is specific to shape-inside in
33         this flag. It is now possible to build with CSS Shapes enabled
34         but shape-inside disabled. CSS_SHAPE_INSIDE is dependent on
35         CSS_SHAPES, so disabling the latter should also disable the former.
36
37         * Configurations/FeatureDefines.xcconfig:
38         * css/CSSComputedStyleDeclaration.cpp:
39         (WebCore::ComputedStyleExtractor::propertyValue):
40         * css/CSSParser.cpp:
41         (WebCore::CSSParser::parseValue):
42         (WebCore::CSSParser::parseShapeProperty):
43         * css/CSSPropertyNames.in:
44         * css/DeprecatedStyleBuilder.cpp:
45         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
46         * css/StyleResolver.cpp:
47         (WebCore::StyleResolver::applyProperty):
48         (WebCore::StyleResolver::loadPendingImages):
49         * page/animation/CSSPropertyAnimation.cpp:
50         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
51         * rendering/LayoutState.cpp:
52         (WebCore::LayoutState::LayoutState):
53         * rendering/LayoutState.h:
54         (WebCore::LayoutState::LayoutState):
55         * rendering/RenderBlock.cpp:
56         (WebCore::RenderBlock::styleDidChange):
57         (WebCore::RenderBlock::updateShapesBeforeBlockLayout):
58         (WebCore::RenderBlock::updateShapesAfterBlockLayout):
59         * rendering/RenderBlock.h:
60         * rendering/RenderBlockFlow.cpp:
61         (WebCore::RenderBlockFlow::layoutBlockChild):
62         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
63         * rendering/RenderBlockFlow.h:
64         * rendering/RenderBlockLineLayout.cpp:
65         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
66         (WebCore::constructBidiRunsForLine):
67         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
68         * rendering/RenderElement.cpp:
69         (WebCore::RenderElement::~RenderElement):
70         (WebCore::RenderElement::initializeStyle):
71         (WebCore::RenderElement::setStyle):
72         * rendering/RenderNamedFlowFragment.cpp:
73         (WebCore::RenderNamedFlowFragment::createStyle):
74         * rendering/RenderView.h:
75         * rendering/SimpleLineLayout.cpp:
76         (WebCore::SimpleLineLayout::canUseFor):
77         * rendering/line/BreakingContextInlineHeaders.h:
78         (WebCore::BreakingContext::handleText):
79         (WebCore::BreakingContext::handleEndOfLine):
80         * rendering/line/LineBreaker.cpp:
81         (WebCore::LineBreaker::nextLineBreak):
82         * rendering/line/LineWidth.cpp:
83         (WebCore::LineWidth::LineWidth):
84         (WebCore::LineWidth::updateAvailableWidth):
85         (WebCore::LineWidth::fitBelowFloats):
86         * rendering/line/LineWidth.h:
87         * rendering/shapes/ShapeInsideInfo.cpp:
88         * rendering/shapes/ShapeInsideInfo.h:
89         * rendering/style/RenderStyle.cpp:
90         (WebCore::RenderStyle::changeRequiresLayout):
91         * rendering/style/RenderStyle.h:
92         * rendering/style/StyleRareNonInheritedData.cpp:
93         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
94         (WebCore::StyleRareNonInheritedData::operator==):
95         * rendering/style/StyleRareNonInheritedData.h:
96
97 2014-02-03  Radu Stavila  <stavila@adobe.com>
98
99         REGRESSION (r163018): Can’t scroll in <select> lists
100         https://bugs.webkit.org/show_bug.cgi?id=128090
101
102         The regression was caused by the fact that a new method scrollWithWheelEventLocation() was added
103         to RenderBox to replace the generic scroll() method for the particular case of scrolling using 
104         the mouse wheel. This turned out to be a mistake because in the case of some elements, like select lists, 
105         the scroll method was overriden and now the incorrect method was being called.
106         The solution was to remove the new method and just add two default parameters to the generic
107         scroll method.
108
109         Reviewed by Simon Fraser.
110
111         Test: fast/scrolling/scroll-select-list.html
112
113         * page/EventHandler.cpp:
114         (WebCore::scrollNode):
115         * rendering/RenderBox.cpp:
116         (WebCore::RenderBox::scroll):
117         * rendering/RenderBox.h:
118         * rendering/RenderEmbeddedObject.cpp:
119         (WebCore::RenderEmbeddedObject::scroll):
120         * rendering/RenderEmbeddedObject.h:
121         * rendering/RenderListBox.cpp:
122         (WebCore::RenderListBox::scroll):
123         * rendering/RenderListBox.h:
124         * rendering/RenderTextControlSingleLine.cpp:
125         (WebCore::RenderTextControlSingleLine::scroll):
126         * rendering/RenderTextControlSingleLine.h:
127
128 2014-02-03  Chris Fleizach  <cfleizach@apple.com>
129
130         AX: WebKit should support @headers/@id for complex accessible web tables
131         https://bugs.webkit.org/show_bug.cgi?id=128114
132
133         Reviewed by Darin Adler.
134
135         Expose the headers attribute for table cells to accessibility.
136
137         Test: platform/mac/accessibility/table-headers-attribute.html
138
139         * accessibility/AccessibilityTableCell.cpp:
140         (WebCore::AccessibilityTableCell::columnHeaders):
141
142 2014-02-03  Andreas Kling  <akling@apple.com>
143
144         CTTE: RenderSVGGradientStop always has a SVGStopElement.
145         <https://webkit.org/b/128107>
146
147         RenderSVGGradientStop is never anonymous and always has a
148         corresponding SVGStopElement. Codify this by adding an element()
149         overload that returns an SVGStopElement&.
150
151         Also added missing overrides and made most functions private.
152
153         Reviewed by Darin Adler.
154
155         * rendering/svg/RenderSVGGradientStop.cpp:
156         (WebCore::RenderSVGGradientStop::styleDidChange):
157         (WebCore::RenderSVGGradientStop::gradientElement):
158         * rendering/svg/RenderSVGGradientStop.h:
159         * rendering/svg/SVGRenderTreeAsText.cpp:
160         (WebCore::writeSVGGradientStop):
161
162 2014-02-03  David Kilzer  <ddkilzer@apple.com>
163
164         Remove CachedImageManual class
165         <http://webkit.org/b/128043>
166
167         Reviewed by Darin Adler.
168
169         Get rid of the CachedImageManual class by inlining its
170         functionality into CachedImage.  This makes it possible to
171         de-virtual-ize isManual() (renamed to isManuallyCached()) and to
172         make CachedImage final.  The size of CachedImage does not
173         increase because we turn an existing bool into a bitfield to add
174         an m_isManuallyCached bit, and create a static CachedImageClient
175         in MemoryCache.cpp as the "fake" client to keep the manually
176         cached image alive in the cache.
177
178         * loader/cache/CachedImage.cpp:
179         (WebCore::CachedImage::CachedImage): Set m_isManuallyCached
180         bitfield.  For one overloaded constructor, move the
181         CachedImageManual code into the CachedImage constructor.
182         (WebCore::CachedImageManual::CachedImageManual): Remove.
183         (WebCore::CachedImage::mustRevalidateDueToCacheHeaders): Move
184         method from CachedImageManual to CachedImage, and put
185         ManuallyCached behavior behind a check.
186         * loader/cache/CachedImage.h: Update includes.  Make CachedImage
187         final.  Add CachedImage::CacheBehaviorType enum when manually
188         cached images are created.  Move CachedImageManual methods into
189         CachedImage, remove addFakeClient() and removeFakeClient()
190         methods (MemoryCache methods use addClient() and removeClient()
191         with a static CachedImageClient), and remove the
192         CachedImageManual class definition.  Change
193         m_shouldPaintBrokenImage to a bitfield and add
194         m_isManuallyCached bitfield.
195
196         * loader/cache/MemoryCache.cpp:
197         (WebCore::MemoryCache::addImageToCache): Use std::unique_ptr and
198         remove useless NULL check after calling CachedImage constructor.
199         (WebCore::MemoryCache::removeImageFromCache):
200         - Update to use CachedImage class instead of CachedImageManual.
201
202 2014-02-03  Zan Dobersek  <zdobersek@igalia.com>
203
204         Move the webdatabase module source code to std::unique_ptr
205         https://bugs.webkit.org/show_bug.cgi?id=127278
206
207         Reviewed by Antti Koivisto.
208
209         Replace the majority of OwnPtr uses in the webdatabase module with std::unique_ptr.
210         The only remaining uses are due to ScriptExecutionContext::Task subclasses.
211
212         * Modules/webdatabase/AbstractSQLTransactionBackend.h:
213         * Modules/webdatabase/Database.cpp:
214         * Modules/webdatabase/DatabaseTask.h:
215         * Modules/webdatabase/DatabaseThread.cpp:
216         (WebCore::DatabaseThread::DatabaseThread):
217         * Modules/webdatabase/DatabaseThread.h:
218         * Modules/webdatabase/DatabaseTracker.cpp:
219         (WebCore::DatabaseTracker::addOpenDatabase):
220         * Modules/webdatabase/DatabaseTracker.h:
221         * Modules/webdatabase/OriginLock.cpp:
222         * Modules/webdatabase/SQLStatement.cpp:
223         * Modules/webdatabase/SQLStatement.h:
224         * Modules/webdatabase/SQLStatementBackend.cpp:
225         (WebCore::SQLStatementBackend::create):
226         (WebCore::SQLStatementBackend::SQLStatementBackend):
227         * Modules/webdatabase/SQLStatementBackend.h:
228         * Modules/webdatabase/SQLTransaction.cpp:
229         (WebCore::SQLTransaction::executeSQL):
230         * Modules/webdatabase/SQLTransactionBackend.cpp:
231         (WebCore::SQLTransactionBackend::doCleanup):
232         (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
233         (WebCore::SQLTransactionBackend::executeSQL):
234         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
235         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
236         * Modules/webdatabase/SQLTransactionBackend.h:
237         * Modules/webdatabase/SQLTransactionBackendSync.cpp:
238         (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
239         (WebCore::SQLTransactionBackendSync::begin):
240         (WebCore::SQLTransactionBackendSync::commit):
241         (WebCore::SQLTransactionBackendSync::rollback):
242         * Modules/webdatabase/SQLTransactionBackendSync.h:
243
244 2014-02-03  Andreas Kling  <akling@apple.com>
245
246         CTTE: Grab bag of SVGRenderTreeAsText cleanups.
247         <https://webkit.org/b/128099>
248
249         Made some of the DRT SVG functions take more specific types than
250         RenderObject. Removed some redundant casts.
251
252         Reviewed by Anders Carlsson.
253
254         * rendering/RenderTreeAsText.cpp:
255         (WebCore::write):
256         * rendering/svg/SVGRenderTreeAsText.h:
257         * rendering/svg/SVGRenderTreeAsText.cpp:
258         (WebCore::writeSVGResourceContainer):
259         (WebCore::writeSVGContainer):
260
261             Make writeSVGResourceContainer() and writeSVGContainer() take the
262             final type instead of RenderObject.
263
264         (WebCore::writeStyle):
265         (WebCore::writePositionAndStyle):
266
267             Make these take RenderElement instead of RenderObject.
268
269         (WebCore::writeChildren):
270
271             Use child renderer iterator.
272
273         (WebCore::writeResources):
274
275             Remove unnecessary cast.
276
277 2014-01-25  Darin Adler  <darin@apple.com>
278
279         Stop using Unicode.h
280         https://bugs.webkit.org/show_bug.cgi?id=127633
281
282         Reviewed by Anders Carlsson.
283
284         * Modules/indexeddb/IDBKeyPath.cpp:
285         * css/CSSFontFace.h:
286         * css/CSSOMUtils.h:
287         * css/CSSSegmentedFontFace.h:
288         * css/CSSUnicodeRangeValue.h:
289         * editing/Editor.cpp:
290         * editing/SmartReplace.h:
291         * html/parser/HTMLTokenizer.cpp:
292         * loader/DocumentLoader.cpp:
293         * page/ContextMenuController.cpp:
294         * page/Settings.h:
295         * platform/DateComponents.h:
296         * platform/SharedBuffer.cpp:
297         * platform/graphics/Color.h:
298         * platform/graphics/FontCache.h:
299         * platform/graphics/FontData.h:
300         * platform/graphics/FontDescription.h:
301         * platform/graphics/FontFastPath.cpp:
302         * platform/graphics/FontGenericFamilies.h:
303         * platform/graphics/FontGlyphs.cpp:
304         * platform/graphics/GlyphMetricsMap.h:
305         * platform/graphics/GlyphPage.h:
306         * platform/graphics/GlyphPageTreeNode.cpp:
307         * platform/graphics/GlyphPageTreeNode.h:
308         * platform/graphics/SVGGlyph.cpp:
309         * platform/graphics/WidthIterator.h:
310         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
311         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
312         * platform/graphics/mac/ComplexTextController.h:
313         * platform/graphics/win/QTMovie.h:
314         * platform/graphics/wince/FontWinCE.cpp:
315         * platform/text/BidiContext.h:
316         * platform/text/Hyphenation.h:
317         * platform/text/LocaleToScriptMapping.h:
318         * platform/text/TextBoundaries.cpp:
319         * platform/text/TextBoundaries.h:
320         * platform/text/TextBreakIterator.h:
321         * platform/text/TextCodec.h:
322         * platform/text/TextEncoding.h:
323         * platform/text/TextEncodingRegistry.h:
324         * platform/text/TextStream.h:
325         * platform/text/icu/UTextProvider.h:
326         * platform/text/icu/UTextProviderLatin1.h:
327         * platform/text/icu/UTextProviderUTF16.h:
328         * platform/text/wchar/TextBreakIteratorWchar.cpp:
329         * platform/win/WebCoreTextRenderer.cpp:
330         * rendering/RootInlineBox.cpp:
331         * rendering/SimpleLineLayout.cpp:
332         * rendering/SimpleLineLayoutFunctions.cpp:
333         * rendering/break_lines.h:
334         * svg/SVGFontData.cpp:
335         Removed includes of <wtf/unicode/Unicode.h>, adding includes of
336         ICU headers and <wtf/text/LChar.h> as needed to replace it.
337
338 2014-02-03  Jessie Berlin  <jberlin@apple.com>
339
340         Revert r163299 since it broke the ML 32-bit Release build
341
342         * html/HTMLAnchorElement.cpp:
343         (WebCore::parsePortFromStringPosition):
344         (WebCore::HTMLAnchorElement::hash):
345         (WebCore::HTMLAnchorElement::setHash):
346         (WebCore::HTMLAnchorElement::host):
347         (WebCore::HTMLAnchorElement::setHost):
348         (WebCore::HTMLAnchorElement::hostname):
349         (WebCore::HTMLAnchorElement::setHostname):
350         (WebCore::HTMLAnchorElement::pathname):
351         (WebCore::HTMLAnchorElement::setPathname):
352         (WebCore::HTMLAnchorElement::port):
353         (WebCore::HTMLAnchorElement::setPort):
354         (WebCore::HTMLAnchorElement::protocol):
355         (WebCore::HTMLAnchorElement::setProtocol):
356         (WebCore::HTMLAnchorElement::search):
357         (WebCore::HTMLAnchorElement::origin):
358         (WebCore::HTMLAnchorElement::setSearch):
359         (WebCore::HTMLAnchorElement::toString):
360         * html/HTMLAnchorElement.h:
361         * html/HTMLAnchorElement.idl:
362         * html/HTMLAreaElement.idl:
363         * html/URLUtils.idl:
364
365 2014-02-03  Mihai Maerean  <mmaerean@adobe.com>
366
367         [CSS Regions] Fix selection and hover effect of content in region with overflow:hidden
368         https://bugs.webkit.org/show_bug.cgi?id=127101
369
370         Reviewed by Mihnea Ovidenie.
371
372         RenderNamedFlowFragments are not hit candidates. The hit test algorithm will pick the
373         parent layer, the one of the region.
374
375         Test: fast/regions/hover-overflow-hidden.html
376
377         * rendering/RenderLayer.cpp:
378         (WebCore::isHitCandidate):
379
380 2014-02-02  Maciej Stachowiak  <mjs@apple.com>
381
382         Adopt URLUtils interface and template in HTMLAnchorElement and HTMLAreaElement
383         https://bugs.webkit.org/show_bug.cgi?id=128067
384
385         Reviewed by Antti Koivisto.
386
387         Tests: fast/dom/HTMLAnchorElement/anchor-password.html
388                fast/dom/HTMLAnchorElement/anchor-username.html
389                fast/dom/HTMLAreaElement/area-password.html
390                fast/dom/HTMLAreaElement/area-username.html
391
392         * html/HTMLAnchorElement.cpp:
393         * html/HTMLAnchorElement.h:
394         (WebCore::HTMLAnchorElement::setHref): Add version that takes
395         (and ignores) ExceptionCode. This is needed because the URLUtil
396         base interface is used for URL, which can throw an exception,
397         and HTMLAnchorElement, which cannot.
398         * html/HTMLAnchorElement.idl: implement URLUtils
399         * html/HTMLAreaElement.idl: implement URLUtils
400         * html/URLUtils.idl: Treat null as empty string for href
401
402 2014-02-03  Krzysztof Czech  <k.czech@samsung.com>
403
404         [ATK] Expose aria-controls through ATK_RELATION_CONTROLLER_FOR
405         https://bugs.webkit.org/show_bug.cgi?id=127908
406
407         Reviewed by Chris Fleizach.
408
409         Based on w3c, aria-controls could be exposed through ATK_RELATION_CONTROLLER_FOR.
410
411         Test: accessibility/aria-controls.html
412
413         * accessibility/AccessibilityObject.h:
414         (WebCore::AccessibilityObject::supportsARIAControls):
415         (WebCore::AccessibilityObject::ariaControlsElements):
416         * accessibility/AccessibilityRenderObject.cpp:
417         (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
418         (WebCore::AccessibilityRenderObject::supportsARIAControls):
419         (WebCore::AccessibilityRenderObject::ariaControlsElements):
420         * accessibility/AccessibilityRenderObject.h:
421         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
422         (setAtkRelationSetFromCoreObject):
423
424 2014-02-03  Andreas Kling  <akling@apple.com>
425
426         RenderSVGResource::removeClientFromCache() should take RenderElement&.
427         <https://webkit.org/b/128097>
428
429         Text renderers never have resources associated with them.
430         This is yet another step towards enforcing that at compile-time
431         by making all the resource cache interfaces deal in RenderElement.
432
433         Also marked the RenderSVGResourceSolidColor class final.
434
435         Reviewed by Darin Adler.
436
437         * rendering/svg/RenderSVGResource.cpp:
438         (WebCore::removeFromCacheAndInvalidateDependencies):
439         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
440         * rendering/svg/RenderSVGResource.h:
441         * rendering/svg/RenderSVGResourceClipper.cpp:
442         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
443         * rendering/svg/RenderSVGResourceClipper.h:
444         * rendering/svg/RenderSVGResourceFilter.cpp:
445         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
446         * rendering/svg/RenderSVGResourceFilter.h:
447         * rendering/svg/RenderSVGResourceGradient.cpp:
448         (WebCore::RenderSVGResourceGradient::removeClientFromCache):
449         * rendering/svg/RenderSVGResourceGradient.h:
450         * rendering/svg/RenderSVGResourceMarker.cpp:
451         (WebCore::RenderSVGResourceMarker::removeClientFromCache):
452         * rendering/svg/RenderSVGResourceMarker.h:
453         * rendering/svg/RenderSVGResourceMasker.cpp:
454         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
455         * rendering/svg/RenderSVGResourceMasker.h:
456         * rendering/svg/RenderSVGResourcePattern.cpp:
457         (WebCore::RenderSVGResourcePattern::removeClientFromCache):
458         * rendering/svg/RenderSVGResourcePattern.h:
459         * rendering/svg/RenderSVGResourceSolidColor.h:
460         * rendering/svg/SVGRenderSupport.cpp:
461         (WebCore::invalidateResourcesOfChildren):
462         (WebCore::SVGRenderSupport::layoutChildren):
463         * rendering/svg/SVGResources.cpp:
464         (WebCore::SVGResources::removeClientFromCache):
465         * rendering/svg/SVGResources.h:
466
467 2014-02-03  Dan Bernstein  <mitz@apple.com>
468
469         More iOS build fixing.
470
471         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
472         (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
473         * html/parser/HTMLTreeBuilder.cpp:
474         (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):
475         * page/ios/FrameIOS.mm:
476         (WebCore::Frame::interpretationsForCurrentRoot):
477
478 2014-02-03  Darin Adler  <darin@apple.com>
479
480         Try to fix iOS build.
481
482         * html/BaseDateAndTimeInputType.cpp:
483         (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
484         Use deprecatedCharacters.
485
486 2014-02-02  Darin Adler  <darin@apple.com>
487
488         Obey "delete this" comments, including deleting String::characters and friends
489         https://bugs.webkit.org/show_bug.cgi?id=126865
490
491         Reviewed by Andreas Kling.
492
493         * CMakeLists.txt: Deleted HTMLParserErrorCodes.cpp.
494         * GNUmakefile.list.am: Deleted HTMLParserErrorCodes.cpp/h, and HTMLParserQuirks.h.
495         * WebCore.vcxproj/WebCore.vcxproj: Deleted HTMLParserErrorCodes.cpp/h.
496         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
497         * WebCore.xcodeproj/project.pbxproj: Ditto.
498
499         * html/HTMLParserErrorCodes.cpp: Removed.
500         * html/HTMLParserErrorCodes.h: Removed.
501         * html/HTMLParserQuirks.h: Removed.
502
503         * rendering/RenderText.h: Deleted the characters function, leaving behind the
504         deprecatedCharacters function.
505
506 2014-02-02  Brady Eidson  <beidson@apple.com>
507
508         IDB: Cannot open new databases with the default version
509         https://bugs.webkit.org/show_bug.cgi?id=128096
510
511         Reviewed by Tim Horton.
512
513         * Modules/indexeddb/IDBDatabaseBackend.cpp:
514         (WebCore::IDBDatabaseBackend::openConnectionInternal): Update logic to handle the
515           current version being NoIntVersion.
516
517         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
518         (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform): Update ASSERT.
519
520 2014-02-02  Darin Adler  <darin@apple.com>
521
522         Fix context save/restore mistake spotted in SVGInlineTextBox::paintTextWithShadows
523         https://bugs.webkit.org/show_bug.cgi?id=128095
524
525         Reviewed by Andreas Kling.
526
527         * rendering/svg/SVGInlineTextBox.cpp:
528         (WebCore::SVGInlineTextBox::paintTextWithShadows): Move calls to GraphicsContext::restore
529         and GraphicsContext::clearShadow before restoreGraphicsContextAfterTextPainting, since that
530         function can swap contexts.
531
532 2014-02-02  Andreas Kling  <akling@apple.com>
533
534         Modernize RenderSVGText::locateRenderSVGTextAncestor().
535         <https://webkit.org/b/128093>
536
537         Make locateRenderSVGTextAncestor() take a reference, and simplify it
538         internally with lineageOfType.
539
540         Switched callers to use 'auto' for the return type so we get some
541         devirtualization freebies.
542
543         Reviewed by Anders Carlsson.
544
545         * rendering/svg/RenderSVGInline.cpp:
546         (WebCore::RenderSVGInline::objectBoundingBox):
547         (WebCore::RenderSVGInline::strokeBoundingBox):
548         (WebCore::RenderSVGInline::repaintRectInLocalCoordinates):
549         (WebCore::RenderSVGInline::absoluteQuads):
550         (WebCore::RenderSVGInline::addChild):
551         (WebCore::RenderSVGInline::removeChild):
552         * rendering/svg/RenderSVGInlineText.cpp:
553         (WebCore::RenderSVGInlineText::setTextInternal):
554         (WebCore::RenderSVGInlineText::styleDidChange):
555         * rendering/svg/RenderSVGResourceGradient.cpp:
556         (WebCore::createMaskAndSwapContextForTextGradient):
557         (WebCore::clipToTextMask):
558         * rendering/svg/RenderSVGText.cpp:
559         (WebCore::RenderSVGText::locateRenderSVGTextAncestor):
560         * rendering/svg/RenderSVGText.h:
561         (WebCore::RenderSVGText>):
562         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
563         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
564         * rendering/svg/SVGTextMetricsBuilder.cpp:
565         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
566         * svg/SVGTextPositioningElement.cpp:
567         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
568
569 2014-02-02  Andreas Kling  <akling@apple.com>
570
571         Modernize the toRenderSVGResourceContainer() helper.
572         <https://webkit.org/b/128091>
573
574         Make toRenderSVGResourceContainer() a free function like all the
575         other casting helpers. Use references instead of pointers where
576         applicable.
577
578         Reviewed by Anders Carlsson.
579
580         * rendering/RenderLayerFilterInfo.cpp:
581         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
582         (WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients):
583         * rendering/RenderObject.cpp:
584         * rendering/RenderObject.h:
585         * rendering/svg/RenderSVGGradientStop.cpp:
586         (WebCore::RenderSVGGradientStop::styleDidChange):
587         * rendering/svg/RenderSVGResource.cpp:
588         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
589         * rendering/svg/RenderSVGResourceContainer.cpp:
590         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
591         * rendering/svg/RenderSVGResourceContainer.h:
592         * rendering/svg/RenderSVGResourceFilter.cpp:
593         (WebCore::RenderSVGResourceFilter::buildPrimitives):
594         * rendering/svg/RenderSVGResourceFilter.h:
595         * rendering/svg/SVGRenderTreeAsText.cpp:
596         (WebCore::writeSVGResourceContainer):
597         * rendering/svg/SVGResourcesCycleSolver.cpp:
598         (WebCore::SVGResourcesCycleSolver::resolveCycles):
599         * svg/SVGElement.cpp:
600         (WebCore::SVGElement::svgAttributeChanged):
601
602 2014-02-02  Andreas Kling  <akling@apple.com>
603
604         Minor SVGRootInlineBox cleanup.
605         <https://webkit.org/b/128094>
606
607         Remove two virtual functions and sprinkle some missing overrides.
608
609         Reviewed by Anders Carlsson.
610
611         * rendering/svg/SVGRootInlineBox.h:
612
613 2014-01-30  Oliver Hunt  <oliver@apple.com>
614
615         Push DOM attributes into the prototype chain
616         https://bugs.webkit.org/show_bug.cgi?id=127969
617
618         Reviewed by Mark Lam.
619
620         This patch does the actual work of moving dom attributes up the
621         prototype chain. There are still a few class and edge cases
622         where we can't do this without impacting existing behaviour,
623         but they can be fixed separately in later patches.
624
625         * bindings/js/JSDOMBinding.h:
626         (WebCore::getStaticPropertySlotEntryWithoutCaching):
627         (WebCore::getStaticPropertySlotEntryWithoutCaching<JSDOMWrapper>):
628         * bindings/scripts/CodeGeneratorJS.pm:
629         (GenerateGetOwnPropertySlotBody):
630         (HasComplexGetOwnProperty):
631         (ConstructorShouldBeOnInstance):
632         (AttributeShouldBeOnInstance):
633         (InstanceAttributeCount):
634         (PrototypeAttributeCount):
635         (InstanceOverridesGetOwnPropertySlot):
636         (PrototypeOverridesGetOwnPropertySlot):
637         (GenerateAttributesHashTable):
638         (GenerateImplementation):
639
640 2014-02-02  Andreas Kling  <akling@apple.com>
641
642         RenderSVGResourceContainer clients are always RenderElement.
643         <https://webkit.org/b/128088>
644
645         All clients of RenderSVGResourceContainer are going to be RenderElement,
646         so make the interface take RenderElement& instead of RenderObject*.
647
648         Also modernized the code a bit with C++11 range for loops.
649
650         Reviewed by Sam Weinig.
651
652         * rendering/svg/RenderSVGResourceContainer.cpp:
653         (WebCore::RenderSVGResourceContainer::addClient):
654         (WebCore::RenderSVGResourceContainer::removeClient):
655         * rendering/svg/RenderSVGResourceContainer.h:
656         * rendering/svg/SVGResourcesCache.cpp:
657         (WebCore::SVGResourcesCache::addResourcesFromRenderer):
658         (WebCore::SVGResourcesCache::removeResourcesFromRenderer):
659
660 2014-02-02  Zalan Bujtas  <zalan@apple.com>
661
662         Subpixel rendering: Use floorf/roundf/fabs in device snapping helpers.
663         https://bugs.webkit.org/show_bug.cgi?id=128075
664
665         Reviewed by Darin Adler.
666
667         No change in functionality.
668
669         * platform/LayoutUnit.h:
670         (WebCore::roundToDevicePixel):
671         (WebCore::floorToDevicePixel):
672         * platform/graphics/cg/GraphicsContextCG.cpp:
673         (WebCore::GraphicsContext::platformInit):
674
675 2014-02-02  Andreas Kling  <akling@apple.com>
676
677         SVGDocumentExtensions::resourcesCache() should return a reference.
678         <https://webkit.org/b/128087>
679
680         The SVGResourcesCache is always present when the Document is using
681         SVG extensions, so make this return a reference and propagate that
682         knowledge to the call site.
683
684         This gets rid of an assertion and some rickety looking ->'s.
685         Also converted a loop to use C++11 range for syntax.
686
687         Reviewed by Sam Weinig.
688
689         * rendering/svg/SVGResourcesCache.cpp:
690         (WebCore::resourcesCacheFromRenderer):
691         (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
692         (WebCore::SVGResourcesCache::clientStyleChanged):
693         (WebCore::SVGResourcesCache::clientWasAddedToTree):
694         (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
695         (WebCore::SVGResourcesCache::clientDestroyed):
696         (WebCore::SVGResourcesCache::resourceDestroyed):
697         * svg/SVGDocumentExtensions.h:
698         (WebCore::SVGDocumentExtensions::resourcesCache):
699
700 2014-02-02  Andreas Kling  <akling@apple.com>
701
702         RenderSVGInlineText::computeNewScaledFontForStyle() should take references.
703         <https://webkit.org/b/128086>
704
705         Make computeNewScaledFontForStyle() take renderer and style by reference
706         instead of taking a pointer and asserting that it's non-null.
707
708         Reviewed by Darin Adler.
709
710         * rendering/svg/RenderSVGInlineText.cpp:
711         (WebCore::RenderSVGInlineText::updateScaledFont):
712         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
713         * rendering/svg/RenderSVGInlineText.h:
714         * rendering/svg/RenderSVGResourceClipper.cpp:
715         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
716         * rendering/svg/RenderSVGResourceContainer.cpp:
717         (WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting):
718         * rendering/svg/RenderSVGResourceFilter.cpp:
719         (WebCore::RenderSVGResourceFilter::applyResource):
720         * rendering/svg/RenderSVGResourceGradient.cpp:
721         (WebCore::createMaskAndSwapContextForTextGradient):
722         (WebCore::clipToTextMask):
723         * rendering/svg/RenderSVGResourceMasker.cpp:
724         (WebCore::RenderSVGResourceMasker::applyResource):
725         * rendering/svg/RenderSVGResourcePattern.cpp:
726         (WebCore::RenderSVGResourcePattern::buildPattern):
727         * rendering/svg/SVGInlineTextBox.cpp:
728         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
729         * rendering/svg/SVGRenderingContext.cpp:
730         (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
731         (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
732         * rendering/svg/SVGRenderingContext.h:
733
734 2014-02-02  Darin Adler  <darin@apple.com>
735
736         Still more characters -> deprecatedCharacters (EWS keeps finding more)
737         https://bugs.webkit.org/show_bug.cgi?id=128076
738
739         Reviewed by Andreas Kling.
740
741         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
742         (WebCore::HarfBuzzShaper::setFontFeatures):
743         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
744         Use deprecatedCharacters.
745
746 2014-02-02  Zalan Bujtas  <zalan@apple.com>
747
748         Subpixel rendering: Enable subpixel positioning/sizing/hairline border painting.
749         https://bugs.webkit.org/show_bug.cgi?id=128009
750
751         Reviewed by Simon Fraser.
752
753         Snap and clip to device pixels when painting boxes. Enable hairline painting
754         for solid border.
755
756         No existing context to test this functionality yet.
757
758         * rendering/RenderBoxModelObject.cpp:
759         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
760         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
761         * rendering/RenderObject.cpp:
762         (WebCore::RenderObject::drawLineForBoxSide):
763         * rendering/style/RenderStyle.cpp:
764         (WebCore::RenderStyle::getRoundedBorderFor):
765         (WebCore::RenderStyle::getRoundedInnerBorderFor):
766
767 2014-02-02  Sam Weinig  <sam@webkit.org>
768
769         Add some missing override keywords
770         https://bugs.webkit.org/show_bug.cgi?id=128082
771
772         Reviewed by Antti Koivisto.
773
774         * loader/DocumentThreadableLoader.h:
775         * loader/LinkLoader.h:
776         * loader/TextTrackLoader.h:
777         * xml/parser/XMLDocumentParser.h:
778
779 2014-02-02  Brady Eidson  <beidson@apple.com>
780
781         IDB: Support IDBFactory.deleteDatabase()
782         https://bugs.webkit.org/show_bug.cgi?id=128060
783
784         Reviewed by Filip Pizlo and Maciej Stachowiak (filesystem parts also Tim Hatcher and Simon Fraser)
785
786         * Modules/indexeddb/IDBDatabaseBackend.cpp:
787         (WebCore::IDBDatabaseBackend::deleteDatabaseAsync):
788
789         * Modules/indexeddb/IDBFactory.cpp:
790         (WebCore::IDBFactory::deleteDatabase):
791
792         Change factory-level deleteDatabase to take opening and main frame origins:
793         * Modules/indexeddb/IDBFactoryBackendInterface.h:
794         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
795         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
796         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
797
798         * Modules/indexeddb/IDBServerConnection.h:
799         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
800
801         * WebCore.exp.in:
802
803 2014-02-02  Zalan Bujtas  <zalan@apple.com>
804
805         Subpixel rendering: Introduce device pixel snapping helper functions.
806         https://bugs.webkit.org/show_bug.cgi?id=128049
807
808         Reviewed by Simon Fraser.
809
810         These functions help device pixel snapping during painting. They follow the logic of
811         the corresponding pixelSnappedInt* functions.
812
813         No change in functionality.
814
815         * platform/LayoutUnit.h:
816         (WebCore::roundToDevicePixel):
817         (WebCore::floorToDevicePixel):
818         (WebCore::snapSizeToPixel):
819         (WebCore::snapSizeToDevicePixel):
820         * platform/graphics/GraphicsContext.cpp:
821         (WebCore::GraphicsContext::GraphicsContext):
822         * platform/graphics/GraphicsContext.h:
823         (WebCore::GraphicsContext::pixelSnappingFactor):
824         * platform/graphics/LayoutRect.h:
825         (WebCore::pixelSnappedForPainting):
826         * platform/graphics/cg/GraphicsContextCG.cpp:
827         (WebCore::GraphicsContext::platformInit):
828
829 2014-02-02  Zalan Bujtas  <zalan@apple.com>
830
831         Floor thickness and length after switching from int to float.
832         https://bugs.webkit.org/show_bug.cgi?id=128071
833
834         Reviewed by Antti Koivisto.
835
836         This is a temporary solution to fix the assertion on empty line drawing until after
837         device pixel snapping is added.
838
839         Covered by existing tests.
840
841         * rendering/RenderObject.cpp:
842         (WebCore::RenderObject::drawLineForBoxSide):
843
844 2014-02-02  Antti Koivisto  <antti@apple.com>
845
846         Remove StyleScopeResolver
847         https://bugs.webkit.org/show_bug.cgi?id=128069
848
849         Reviewed by Anders Carlsson.
850
851         This is dead code.
852
853         * CMakeLists.txt:
854         * GNUmakefile.list.am:
855         * WebCore.xcodeproj/project.pbxproj:
856         * css/DocumentRuleSets.cpp:
857         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
858         (WebCore::DocumentRuleSets::collectFeatures):
859         * css/DocumentRuleSets.h:
860         * css/ElementRuleCollector.h:
861         (WebCore::ElementRuleCollector::ElementRuleCollector):
862         * css/RuleSet.cpp:
863         (WebCore::RuleSet::addChildRules):
864         * css/StyleResolver.cpp:
865         (WebCore::StyleResolver::pushParentElement):
866         (WebCore::StyleResolver::popParentElement):
867         (WebCore::StyleResolver::locateSharedStyle):
868         (WebCore::StyleResolver::styleForElement):
869         * css/StyleResolver.h:
870         (WebCore::StyleResolver::document):
871         * css/StyleScopeResolver.cpp: Removed.
872         * css/StyleScopeResolver.h: Removed.
873         * style/StyleResolveTree.cpp:
874         (WebCore::Style::attachShadowRoot):
875         (WebCore::Style::resolveShadowTree):
876
877 2014-02-02  Zalan Bujtas  <zalan@apple.com>
878
879         Subpixel rendering: Make BorderEdge/RoundedRect::Radii LayoutUnit aware.
880         https://bugs.webkit.org/show_bug.cgi?id=128036
881
882         Reviewed by Darin Adler.
883
884         Covered by existing tests.
885
886         * platform/LayoutUnit.h:
887         (WebCore::LayoutUnit::operator++):
888         * rendering/RenderBoxModelObject.cpp:
889         (WebCore::BorderEdge::BorderEdge):
890         (WebCore::BorderEdge::usedWidth):
891         (WebCore::BorderEdge::getDoubleBorderStripeWidths):
892         (WebCore::RenderBoxModelObject::paintOneBorderSide):
893         (WebCore::RenderBoxModelObject::paintBorder):
894         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
895         (WebCore::calculateSideRectIncludingInner):
896         * rendering/RenderObject.cpp:
897         (WebCore::RenderObject::drawLineForBoxSide):
898         * rendering/RenderObject.h:
899         * rendering/style/BorderData.h:
900         (WebCore::BorderData::borderLeftWidth):
901         (WebCore::BorderData::borderRightWidth):
902         (WebCore::BorderData::borderTopWidth):
903         (WebCore::BorderData::borderBottomWidth):
904         * rendering/style/RenderStyle.cpp:
905         (WebCore::calcRadiiFor):
906         (WebCore::calcConstraintScaleFor):
907         (WebCore::RenderStyle::getRoundedInnerBorderFor):
908         * rendering/style/RenderStyle.h:
909
910 2014-02-01  Hunseop Jeong  <hs85.jeong@samsung.com>
911
912         REGRESSION(r163234) Debug build is broken
913         https://bugs.webkit.org/show_bug.cgi?id=128059
914
915         Unreviewed. Debug build is broken with INDEXED_DATABASE.
916
917         * Modules/indexeddb/IDBKeyData.cpp:
918         (WebCore::IDBKeyData::loggingString): Added the default: case.
919
920 2014-02-01  Zalan Bujtas  <zalan@apple.com>
921
922         Subpixel rendering: LayoutUnit operator++ is broken.
923         https://bugs.webkit.org/show_bug.cgi?id=128056
924
925         Reviewed by Darin Adler.
926
927         Add pre-increment operator++.
928
929         * platform/LayoutUnit.h:
930         (WebCore::LayoutUnit::operator++):
931
932 2014-02-01  Darin Adler  <darin@apple.com>
933
934         More characters -> deprecatedCharacters (based on more EWS complaints)
935         https://bugs.webkit.org/show_bug.cgi?id=128063
936
937         Reviewed by Anders Carlsson.
938
939         * editing/SmartReplace.cpp:
940         (WebCore::addAllCodePoints):
941         (WebCore::getSmartSet):
942         * platform/win/WebCoreTextRenderer.cpp:
943         (WebCore::doDrawTextAtPoint):
944         Use deprecatedCharacters.
945
946 2014-02-01  Darin Adler  <darin@apple.com>
947
948         Use deprecatedCharacters in a few more places (non-Mac-build sites found by EWS)
949         https://bugs.webkit.org/show_bug.cgi?id=128042
950
951         Reviewed by Sam Weinig.
952
953         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
954         (WebCore::IDBLevelDBCoding::encodeString):
955         * platform/graphics/win/FontCacheWin.cpp:
956         (WebCore::FontCache::systemFallbackForCharacters):
957         (WebCore::createGDIFont):
958         (WebCore::FontCache::getTraitsInFamily):
959         * platform/network/DataURL.cpp:
960         (WebCore::handleDataURL):
961         * platform/win/BString.cpp:
962         (WebCore::BString::BString):
963         * platform/win/ClipboardUtilitiesWin.cpp:
964         (WebCore::createGlobalData):
965         * platform/win/FileSystemWin.cpp:
966         (WebCore::pathByAppendingComponent):
967         (WebCore::fileSystemRepresentation):
968         * platform/win/PasteboardWin.cpp:
969         (WebCore::filesystemPathFromUrlOrTitle):
970         (WebCore::Pasteboard::writeURLToDataObject):
971         (WebCore::createGlobalImageFileDescriptor):
972         * platform/win/PopupMenuWin.cpp:
973         (WebCore::PopupMenuWin::calculatePositionAndSize):
974         Call deprecatedCharacters instead of characters.
975
976 2014-02-01  Enrica Casucci  <enrica@apple.com>
977
978         Add support for ActionSheets in WK2 for iOS.
979         https://bugs.webkit.org/show_bug.cgi?id=127586
980         <rdar://problem/15283667>
981
982         Reviewed by Benjamin Poulain.
983
984         Updates the localizable strings for action sheets.
985
986         * English.lproj/Localizable.strings:
987
988 2014-02-01  Maciej Stachowiak  <mjs@apple.com>
989
990         Factor URL decomposition methods (from URLUtils interface) into a base template
991         https://bugs.webkit.org/show_bug.cgi?id=128052
992
993         Reviewed by Sam Weinig.
994
995         Refactoring only; no new tests.
996
997         * html/DOMURL.cpp:
998         * html/DOMURL.h:
999         (WebCore::DOMURL::href): Moved to header and made inline.
1000         * html/URLUtils.h: Added. 
1001         (WebCore::URLUtils::href): Downcast and call the derived class.
1002         (WebCore::URLUtils::setHref): Downcast and call the derived class.
1003         Functions below factored out from DOMURL.cpp.
1004         (WebCore::URLUtils<T>::toString):
1005         (WebCore::URLUtils<T>::origin):
1006         (WebCore::URLUtils<T>::protocol):
1007         (WebCore::URLUtils<T>::setProtocol):
1008         (WebCore::URLUtils<T>::username):
1009         (WebCore::URLUtils<T>::setUsername):
1010         (WebCore::URLUtils<T>::password):
1011         (WebCore::URLUtils<T>::setPassword):
1012         (WebCore::URLUtils<T>::host):
1013         (WebCore::parsePortFromStringPosition):
1014         (WebCore::URLUtils<T>::setHost):
1015         (WebCore::URLUtils<T>::hostname):
1016         (WebCore::URLUtils<T>::setHostname):
1017         (WebCore::URLUtils<T>::port):
1018         (WebCore::URLUtils<T>::setPort):
1019         (WebCore::URLUtils<T>::pathname):
1020         (WebCore::URLUtils<T>::setPathname):
1021         (WebCore::URLUtils<T>::search):
1022         (WebCore::URLUtils<T>::setSearch):
1023         (WebCore::URLUtils<T>::hash):
1024         (WebCore::URLUtils<T>::setHash):
1025
1026         Add mention of new header.
1027         * GNUmakefile.list.am: 
1028         * WebCore.vcxproj/WebCore.vcxproj:
1029         * WebCore.vcxproj/WebCore.vcxproj.filters:
1030         * WebCore.xcodeproj/project.pbxproj:
1031
1032 2014-02-01  Benjamin Poulain  <bpoulain@apple.com>
1033
1034         Improve the JavaScript bindings of DatasetDOMStringMap
1035         https://bugs.webkit.org/show_bug.cgi?id=127971
1036
1037         Unriewed.
1038
1039         * dom/DatasetDOMStringMap.cpp:
1040         * dom/DatasetDOMStringMap.h:
1041         Follow up for r163239. Darin pointed out the #includes are wrong.
1042
1043 2014-02-01  Brady Eidson  <beidson@apple.com>
1044
1045         IDB: Implement IDBObjectStore.delete()
1046         https://bugs.webkit.org/show_bug.cgi?id=127880
1047
1048         Reviewed by Sam Weinig.
1049
1050         * Modules/indexeddb/IDBKeyData.cpp:
1051         (WebCore::IDBKeyData::compare): Make this const.
1052         * Modules/indexeddb/IDBKeyData.h:
1053
1054         * Modules/indexeddb/IDBKeyRangeData.cpp:
1055         (WebCore::IDBKeyRangeData::isExactlyOneKey): Returns whether or not
1056           the key range is known to represent precisely one key.
1057         * Modules/indexeddb/IDBKeyRangeData.h:
1058
1059         * WebCore.exp.in:
1060
1061 2014-02-01  Anders Carlsson  <andersca@apple.com>
1062
1063         SVGTextLayoutAttributesBuilder shouldn't use RenderText::deprecatedCharacters()
1064         https://bugs.webkit.org/show_bug.cgi?id=128048
1065
1066         Reviewed by Sam Weinig.
1067
1068         Change UChar*& lastCharacter to bool& lastCharacterWasSpace since that's what the parameter was used for.
1069
1070         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
1071         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
1072         Initialize lastCharacterWasSpace to true to match the previous behavior.
1073
1074         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree):
1075         Ditto.
1076
1077         (WebCore::processRenderSVGInlineText):
1078         Take a reference instead of a pointer, get the character using RenderText::operator[] and compute lastCharacterWasSpace.
1079
1080         (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
1081         This now takes a bool reference instead.
1082
1083         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
1084
1085 2014-02-01  Brady Eidson  <beidson@apple.com>
1086
1087         IDB: Index cursor complete advance() and iterate() support
1088         <rdar://problem/15941916> and https://bugs.webkit.org/show_bug.cgi?id=127870
1089
1090         Reviewed by Dan Bernstein.
1091
1092         * Modules/indexeddb/IDBRequest.cpp:
1093         (WebCore::IDBRequest::onSuccess): Always use the value buffer for the script object.
1094
1095 2014-02-01  Alexey Proskuryakov  <ap@apple.com>
1096
1097         Update WebCrypto JWK mapping to use key_ops
1098         https://bugs.webkit.org/show_bug.cgi?id=127609
1099
1100         Reviewed by Sam Weinig.
1101
1102         Updated JWK support ot match current editor draft.
1103
1104         * bindings/js/JSCryptoKeySerializationJWK.cpp:
1105         (WebCore::getJSArrayFromJSON): Fixed this previously untested function to actually work.
1106         (WebCore::tryJWKKeyOpsValue):
1107         (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
1108         (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable): Removed an old comment,
1109         these things are now specced.
1110         (WebCore::addToJSON): Made static functions file static, there is no reason for
1111         them to be class members.
1112         (WebCore::buildJSONForOctetSequence):
1113         (WebCore::buildJSONForRSAComponents):
1114         (WebCore::addBoolToJSON):
1115         (WebCore::addJWKAlgorithmToJSON):
1116         (WebCore::addUsagesToJSON):
1117         (WebCore::JSCryptoKeySerializationJWK::serialize):
1118         * bindings/js/JSCryptoKeySerializationJWK.h:
1119
1120         * crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
1121         (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
1122         (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
1123         Check for length, so that we don't fail silently.
1124
1125 2014-02-01  David Kilzer  <ddkilzer@apple.com>
1126
1127         Add security-checked casts for all WebCore::CachedResource subclasses
1128         <http://webkit.org/b/127988>
1129
1130         Reviewed by Darin Adler.
1131
1132         * inspector/InspectorPageAgent.cpp:
1133         (WebCore::InspectorPageAgent::cachedResourceContent):
1134         * inspector/InspectorResourceAgent.cpp:
1135         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1136         - Switch from static_cast<>() to security-checked cast.
1137
1138         * loader/cache/CachedCSSStyleSheet.h:
1139         (WebCore::toCachedCSSStyleSheet): Add.
1140         * loader/cache/CachedFont.h:
1141         (WebCore::toCachedFont): Add.
1142
1143         * loader/cache/CachedImage.h: Make CachedImageManual final.
1144
1145         * loader/cache/CachedRawResource.cpp:
1146         (WebCore::CachedRawResource::CachedRawResource): Add assert that
1147         only MainResource or RawResource types are used to construct a
1148         CachedRawResource.  This may be a security issue depending on
1149         what code exists that uses the type() value to cast to a
1150         CachedResource subclass.
1151         (WebCore::CachedRawResource::switchClientsToRevalidatedResource):
1152         Switch from static_cast<>() to toCachedRawResource().
1153
1154         * loader/cache/CachedRawResource.h:
1155         (WebCore::toCachedRawResource): Add.
1156         * loader/cache/CachedResource.h:
1157         (WebCore::CachedResource::isMainOrRawResource): Add.  A
1158         CachedRawResource could be either a MainResource or a
1159         RawResource.  Currently only used in assertions.
1160
1161         * loader/cache/CachedResourceLoader.cpp:
1162         (WebCore::CachedResourceLoader::requestFont):
1163         (WebCore::CachedResourceLoader::requestTextTrack):
1164         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
1165         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1166         (WebCore::CachedResourceLoader::requestScript):
1167         (WebCore::CachedResourceLoader::requestXSLStyleSheet):
1168         (WebCore::CachedResourceLoader::requestSVGDocument):
1169         (WebCore::CachedResourceLoader::requestRawResource):
1170         (WebCore::CachedResourceLoader::requestMainResource):
1171         - Switch from static_cast<>() to security-checked cast.
1172
1173         * loader/cache/CachedSVGDocument.h:
1174         (WebCore::toCachedSVGDocument): Add.
1175         * loader/cache/CachedScript.h:
1176         (WebCore::toCachedScript): Add.
1177         * loader/cache/CachedTextTrack.h:
1178         (WebCore::toCachedTextTrack): Add.
1179         * loader/cache/CachedXSLStyleSheet.h:
1180         (WebCore::toCachedXSLStyleSheet): Add.
1181
1182 2014-02-01  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1183
1184         Unreviewed. Fixed GTK+ CMake build after r162922.
1185
1186         * PlatformGTK.cmake: Removed SoupURIUtils.cpp from the
1187         compilation.
1188
1189 2014-02-01  Benjamin Poulain  <bpoulain@apple.com>
1190
1191         Improve the JavaScript bindings of DatasetDOMStringMap
1192         https://bugs.webkit.org/show_bug.cgi?id=127971
1193
1194         Reviewed by Sam Weinig.
1195
1196         Instead of querying contains() followed by item(), just get the item
1197         at once in the custom binding.
1198
1199         Test: fast/dom/dataset-name-getter-properties.html
1200
1201         * bindings/js/JSDOMStringMapCustom.cpp:
1202         (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
1203         * dom/DOMStringMap.idl:
1204         * dom/DatasetDOMStringMap.cpp:
1205         (WebCore::DatasetDOMStringMap::item):
1206         * dom/DatasetDOMStringMap.h:
1207
1208 2014-01-31  Benjamin Poulain  <bpoulain@apple.com>
1209
1210         Remove LEGACY_VIEWPORT_ADAPTION
1211         https://bugs.webkit.org/show_bug.cgi?id=128028
1212
1213         Reviewed by Anders Carlsson.
1214
1215         The code is incorrect and was only supported by Nix.
1216
1217         * dom/Document.cpp:
1218         (WebCore::Document::childrenChanged):
1219         * dom/ViewportArguments.h:
1220         * html/HTMLMetaElement.cpp:
1221         (WebCore::HTMLMetaElement::process):
1222
1223 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
1224
1225         Release build fix after r163234. Don't always export the symbol that doesn't exist under NDEBUG.
1226
1227         * WebCore.exp.in:
1228
1229 2014-01-31  Brady Eidson  <beidson@apple.com>
1230
1231         IDB: Index cursors use wrong deserialization for the retrieved value
1232         https://bugs.webkit.org/show_bug.cgi?id=128035
1233
1234         Reviewed by Dan Bernstein.
1235
1236         For the cursor operations, add an IDBKey value result in the callbacks.
1237         If an already deserialized IDBKey value exists it will be preferred over the serialized buffer.
1238
1239         Change some of the onSuccess() callback formats:
1240         * Modules/indexeddb/IDBCallbacks.h:
1241         * Modules/indexeddb/IDBRequest.cpp:
1242         (WebCore::IDBRequest::onSuccess): Selectively choose between the IDBKey or the SharedBuffer value
1243           when choosed what to convert to the ScriptValue.
1244         * Modules/indexeddb/IDBRequest.h:
1245
1246         Let the IDBCursorBackend hold both a value buffer and a value key:
1247         * Modules/indexeddb/IDBCursorBackend.cpp:
1248         (WebCore::IDBCursorBackend::updateCursorData):
1249         (WebCore::IDBCursorBackend::clear):
1250         * Modules/indexeddb/IDBCursorBackend.h:
1251         (WebCore::IDBCursorBackend::valueBuffer):
1252         (WebCore::IDBCursorBackend::valueKey):
1253
1254         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
1255         (WebCore::CursorAdvanceOperation::perform):
1256         (WebCore::CursorIterationOperation::perform):
1257
1258         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1259         (WebCore::OpenCursorOperation::perform):
1260
1261         * Modules/indexeddb/IDBServerConnection.h:
1262         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
1263         (WebCore::IDBServerConnectionLevelDB::openCursor):
1264         (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
1265         (WebCore::IDBServerConnectionLevelDB::cursorIterate):
1266         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
1267
1268         Add IDBKey/IDBKeyData debug logging utilities:
1269         * Modules/indexeddb/IDBKey.cpp:
1270         (WebCore::IDBKey::loggingString):
1271         * Modules/indexeddb/IDBKey.h:
1272         * Modules/indexeddb/IDBKeyData.cpp:
1273         (WebCore::IDBKeyData::loggingString):
1274         * Modules/indexeddb/IDBKeyData.h:
1275
1276         * WebCore.exp.in:
1277
1278 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
1279
1280         Debug build fix after r163232. Call hasEditableStyle() instead of isContentEditable() which
1281         can trigger a layout synchronously inside paintCaret. This matches the code before r163232.
1282
1283         * rendering/RenderBlock.cpp:
1284         (WebCore::RenderBlock::paintCaret):
1285
1286 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
1287
1288         Remove inline member functions of FrameSelection that access m_selection
1289         https://bugs.webkit.org/show_bug.cgi?id=127986
1290
1291         Reviewed by Enrica Casucci.
1292
1293         Removed numerous inline member functions of FrameSelection that depend on m_selection.
1294
1295         This is needed to ensure all accesses to m_selection happen through FrameSelection::selection(),
1296         which in turn, allows us to update its call sites to use either validated selection that editing
1297         and rendering code uses or invalidated selection that's exposed to JavaScript.
1298
1299         * WebCore.exp.in:
1300         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1301         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
1302         (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
1303         * bindings/objc/DOMUIKitExtensions.mm:
1304         (-[DOMRange move:inDirection:]):
1305         (-[DOMRange extend:inDirection:]):
1306         * dom/Element.cpp:
1307         (WebCore::Element::updateFocusAppearance):
1308         * editing/Editor.cpp:
1309         (WebCore::Editor::canEdit):
1310         (WebCore::Editor::canEditRichly):
1311         (WebCore::Editor::canDHTMLCut):
1312         (WebCore::Editor::canDHTMLCopy):
1313         (WebCore::Editor::canCopy):
1314         (WebCore::Editor::canDelete):
1315         (WebCore::Editor::replaceSelectionWithFragment):
1316         (WebCore::Editor::tryDHTMLCopy):
1317         (WebCore::Editor::tryDHTMLCut):
1318         (WebCore::Editor::applyStyle):
1319         (WebCore::Editor::applyParagraphStyle):
1320         (WebCore::Editor::cut):
1321         (WebCore::Editor::copy):
1322         (WebCore::Editor::paste):
1323         (WebCore::Editor::setComposition):
1324         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
1325         (WebCore::Editor::markMisspellingsAfterTypingToWord):
1326         (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
1327         (WebCore::Editor::markAndReplaceFor):
1328         (WebCore::Editor::getCompositionSelection):
1329         (WebCore::Editor::selectionStartHasMarkerFor):
1330         * editing/EditorCommand.cpp:
1331         (WebCore::expandSelectionToGranularity):
1332         (WebCore::enabledInRichlyEditableText):
1333         (WebCore::enabledRangeInEditableText):
1334         (WebCore::enabledRangeInRichlyEditableText):
1335         * editing/FrameSelection.cpp:
1336         (WebCore::CaretBase::updateCaretRect):
1337         (WebCore::FrameSelection::recomputeCaretRect):
1338         (WebCore::FrameSelection::selectAll):
1339         (WebCore::FrameSelection::updateAppearance):
1340         (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl):
1341         (WebCore::FrameSelection::setFocusedElementIfNeeded):
1342         (WebCore::FrameSelection::currentForm):
1343         (WebCore::FrameSelection::revealSelection):
1344         (WebCore::FrameSelection::setSelectionFromNone):
1345         * editing/FrameSelection.h:
1346         (WebCore::FrameSelection::isCaretOrRange):
1347         * editing/RemoveFormatCommand.cpp:
1348         (WebCore::RemoveFormatCommand::doApply):
1349         * editing/VisibleSelection.cpp:
1350         (WebCore::VisibleSelection::isInPasswordField):
1351         * editing/VisibleSelection.h:
1352         * editing/mac/EditorMac.mm:
1353         (WebCore::Editor::canCopyExcludingStandaloneImages):
1354         (WebCore::Editor::readSelectionFromPasteboard):
1355         * html/HTMLAnchorElement.cpp:
1356         (WebCore::HTMLAnchorElement::defaultEventHandler):
1357         (WebCore::HTMLAnchorElement::setActive):
1358         * html/HTMLTextFormControlElement.cpp:
1359         (WebCore::HTMLTextFormControlElement::computeSelectionStart):
1360         (WebCore::HTMLTextFormControlElement::computeSelectionEnd):
1361         * page/ContextMenuController.cpp:
1362         (WebCore::ContextMenuController::contextMenuItemSelected):
1363         (WebCore::ContextMenuController::populate):
1364         * page/DragController.cpp:
1365         (WebCore::DragController::dragIsMove):
1366         (WebCore::setSelectionToDragCaret):
1367         (WebCore::DragController::concludeEditDrag):
1368         (WebCore::DragController::startDrag):
1369         * page/EventHandler.cpp:
1370         (WebCore::nodeIsNotBeingEdited):
1371         (WebCore::EventHandler::sendContextMenuEvent):
1372         (WebCore::EventHandler::sendContextMenuEventForKey):
1373         (WebCore::EventHandler::handleDrag):
1374         * page/FocusController.cpp:
1375         (WebCore::FocusController::advanceFocusInDocumentOrder):
1376         (WebCore::clearSelectionIfNeeded):
1377         * page/ios/FrameIOS.mm:
1378         (WebCore::Frame::caretRect):
1379         (WebCore::Frame::rectForScrollToVisible):
1380         (WebCore::Frame::styleAtSelectionStart):
1381         (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionStart):
1382         (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionEnd):
1383         (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionStart):
1384         (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionEnd):
1385         (WebCore::Frame::interpretationsForCurrentRoot):
1386         * rendering/RenderBlock.cpp:
1387         (WebCore::RenderBlock::paintCaret):
1388
1389 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
1390
1391         Pass the viewport rect and scroll origin independently into the scrolling tree, and make things floats
1392         https://bugs.webkit.org/show_bug.cgi?id=128032
1393
1394         Reviewed by Tim Horton.
1395
1396         Pass the viewport rect and scroll offset independently into the ScrollingTree
1397         via the ScrollingStateScrollingNode, since on iOS the scroll offset doesn't
1398         always correspond to the viewport rect.
1399         
1400         Make the viewport rect and the scroll origin be float-based, since on
1401         Retina screens and with zooming these can both be non-integral.
1402
1403         No behavior change.
1404         
1405         * WebCore.exp.in:
1406         * page/scrolling/AsyncScrollingCoordinator.cpp:
1407         (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
1408         (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
1409         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
1410         * page/scrolling/AsyncScrollingCoordinator.h:
1411         (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
1412         * page/scrolling/ScrollingStateScrollingNode.cpp:
1413         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
1414         (WebCore::ScrollingStateScrollingNode::setViewportConstrainedObjectRect):
1415         (WebCore::ScrollingStateScrollingNode::setScrollPosition):
1416         (WebCore::ScrollingStateScrollingNode::dumpProperties):
1417         * page/scrolling/ScrollingStateScrollingNode.h:
1418         * page/scrolling/ScrollingTree.cpp:
1419         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
1420         (WebCore::ScrollingTree::commitNewTreeState):
1421         (WebCore::ScrollingTree::mainFrameScrollPosition):
1422         (WebCore::ScrollingTree::setMainFrameScrollPosition):
1423         * page/scrolling/ScrollingTree.h:
1424         * page/scrolling/ScrollingTreeNode.h:
1425         * page/scrolling/ScrollingTreeScrollingNode.cpp:
1426         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
1427         * page/scrolling/ScrollingTreeScrollingNode.h:
1428         (WebCore::ScrollingTreeScrollingNode::scrollPosition):
1429         (WebCore::ScrollingTreeScrollingNode::viewportConstrainedObjectRect):
1430         * page/scrolling/ThreadedScrollingTree.cpp:
1431         (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
1432         * page/scrolling/ThreadedScrollingTree.h:
1433         * page/scrolling/ios/ScrollingTreeIOS.cpp:
1434         (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
1435         * page/scrolling/ios/ScrollingTreeIOS.h:
1436         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
1437         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
1438         (WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
1439         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
1440         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
1441         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
1442         (WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
1443         (WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
1444         * page/scrolling/mac/ScrollingTreeFixedNode.h:
1445         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
1446         (WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange):
1447         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
1448         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1449         (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
1450         (WebCore::ScrollingTreeScrollingNodeMac::absoluteScrollPosition):
1451         (WebCore::ScrollingTreeScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
1452         (WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
1453         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPosition):
1454         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
1455         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
1456         (WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
1457         (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
1458         (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
1459         (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
1460         * page/scrolling/mac/ScrollingTreeStickyNode.h:
1461         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
1462         (WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
1463         * platform/graphics/FloatPoint.h:
1464         (WebCore::FloatPoint::shrunkTo):
1465
1466 2014-01-30  Andy Estes  <aestes@apple.com>
1467
1468         [Cocoa] Add NEFilterSource support to ContentFilterMac
1469         https://bugs.webkit.org/show_bug.cgi?id=127979
1470
1471         Reviewed by Sam Weinig.
1472
1473         Update ContentFilterMac to work with both WebFilterEvaluator and
1474         NEFilterSource, if enabled.
1475
1476         * platform/ContentFilter.h: Set HAVE_NE_FILTER_SOURCE based on platform
1477         conditionals, and forward-declare NEFilterSource.
1478         * platform/mac/ContentFilterMac.mm: Included NEFilterSource.h if the SDK
1479         has it; declared the class directly if not. Also soft-linked
1480         NetworkExtension.framework.
1481         (WebCore::ContentFilter::ContentFilter): Initialized
1482         m_neFilterSourceStatus to NEFilterSourceStatusNeedsMoreData and created
1483         m_platformContentFilter and m_neFilterSource objects if their
1484         respective filters were enabled.
1485         (WebCore::ContentFilter::isEnabled): Returned true if either filter is
1486         enabled.
1487         (WebCore::ContentFilter::addData): Added incoming data to each filter
1488         that is enabled.
1489         (WebCore::ContentFilter::finishedAddingData): Notified each enabled
1490         filter that we are finished adding data.
1491         (WebCore::ContentFilter::needsMoreData): Returned true if either filter
1492         needs more data.
1493         (WebCore::ContentFilter::didBlockData): Returned true if either filter
1494         blocked data.
1495         (WebCore::ContentFilter::getReplacementData): Returned
1496         m_replacementData. Commented that this will currently return a null
1497         string if NEFilterSource blocked the load.
1498
1499 2014-01-31  Oliver Hunt  <oliver@apple.com>
1500
1501         Rollout r163195 and related patches
1502
1503         * CMakeLists.txt:
1504         * ForwardingHeaders/runtime/JSStringInlines.h: Removed.
1505         * Modules/plugins/QuickTimePluginReplacement.cpp:
1506         * bindings/js/JSIDBAnyCustom.cpp:
1507         * bindings/js/JSIDBDatabaseCustom.cpp:
1508         * bindings/js/JSIDBObjectStoreCustom.cpp:
1509         * bindings/js/JSNodeFilterCondition.cpp:
1510
1511 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
1512
1513         Even when in fixed layout mode, some platforms need to do layout after a viewport change
1514         https://bugs.webkit.org/show_bug.cgi?id=128003
1515
1516         Reviewed by Andreas Kling.
1517         
1518         Re-land 163182 with a less aggresive check in visibleContentsResized() for
1519         needing to layout.
1520
1521         iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
1522         elements relative to a variable viewport. This code assumed that fixed layout
1523         implies a fixed viewport.
1524         
1525         Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
1526         
1527         Also removed RenderView::hasCustomFixedPosition() which is no longer used.
1528         
1529         * page/FrameView.cpp:
1530         (WebCore::FrameView::shouldLayoutAfterViewportChange):
1531         (WebCore::FrameView::visibleContentsResized):
1532         * page/FrameView.h:
1533         * rendering/RenderView.cpp:
1534         * rendering/RenderView.h:
1535
1536 2014-01-31  Alexey Proskuryakov  <ap@apple.com>
1537
1538         Expose creation and modification times for LocalStorage
1539         https://bugs.webkit.org/show_bug.cgi?id=128018
1540
1541         Reviewed by Anders Carlsson.
1542
1543         * WebCore.exp.in: Export FileSystem functions to get file times.
1544
1545 2014-01-30  Maciej Stachowiak  <mjs@apple.com>
1546
1547         Implement (most of) URL API
1548         https://bugs.webkit.org/show_bug.cgi?id=127795
1549
1550         Reviewed by Alexey Proskuryakov.
1551
1552         Tests: fast/dom/DOMURL/get-href-attribute-port.html
1553                fast/dom/DOMURL/invalid-url-getters.html
1554                fast/dom/DOMURL/set-href-attribute-hash.html
1555                fast/dom/DOMURL/set-href-attribute-host.html
1556                fast/dom/DOMURL/set-href-attribute-hostname.html
1557                fast/dom/DOMURL/set-href-attribute-pathname.html
1558                fast/dom/DOMURL/set-href-attribute-port.html
1559                fast/dom/DOMURL/set-href-attribute-protocol.html
1560                fast/dom/DOMURL/set-href-attribute-search.html
1561                fast/dom/DOMURL/set-href-attribute-whitespace.html
1562                fast/dom/DOMURL/url-constructor.html
1563                fast/dom/DOMURL/url-origin.html
1564                fast/dom/DOMURL/url-password.html
1565                fast/dom/DOMURL/url-username.html
1566
1567         * CMakeLists.txt: Update for new IDL file.
1568         * DerivedSources.make: ditto
1569         * GNUmakefile.list.am: ditto
1570         * html/DOMURL.cpp: Implement URL() constructor and instance methods; cribbed from
1571         HTMLAnchorElement mostly
1572         (WebCore::DOMURL::DOMURL):
1573         (WebCore::DOMURL::href):
1574         (WebCore::DOMURL::setHref):
1575         (WebCore::DOMURL::toString):
1576         (WebCore::DOMURL::origin):
1577         (WebCore::DOMURL::protocol):
1578         (WebCore::DOMURL::setProtocol):
1579         (WebCore::DOMURL::username):
1580         (WebCore::DOMURL::setUsername):
1581         (WebCore::DOMURL::password):
1582         (WebCore::DOMURL::setPassword):
1583         (WebCore::DOMURL::host):
1584         (WebCore::parsePortFromStringPosition):
1585         (WebCore::DOMURL::setHost):
1586         (WebCore::DOMURL::hostname):
1587         (WebCore::DOMURL::setHostname):
1588         (WebCore::DOMURL::port):
1589         (WebCore::DOMURL::setPort):
1590         (WebCore::DOMURL::pathname):
1591         (WebCore::DOMURL::setPathname):
1592         (WebCore::DOMURL::search):
1593         (WebCore::DOMURL::setSearch):
1594         (WebCore::DOMURL::hash):
1595         (WebCore::DOMURL::setHash):
1596         * html/DOMURL.h:
1597         (WebCore::DOMURL::create):
1598         * html/DOMURL.idl: Update for new methods.
1599         * html/URLUtils.idl: Added. New IDL file that contains most of the interface.
1600
1601 2014-01-31  Bem Jones-Bey  <bjonesbe@adobe.com>
1602
1603         Create clipping path from <box> value
1604         https://bugs.webkit.org/show_bug.cgi?id=126205
1605
1606         Reviewed by Dirk Schulze.
1607
1608         This implements <box> values for border, content, and padding boxes.
1609         Since margin box is not implemented as a reference box, this does not
1610         implement margin box value.
1611
1612         Tests: css3/masking/clip-path-border-box.html
1613                css3/masking/clip-path-content-box.html
1614                css3/masking/clip-path-padding-box.html
1615
1616         * rendering/ClipPathOperation.h:
1617         (WebCore::BoxClipPathOperation::pathForReferenceRect): Implement.
1618         * rendering/RenderLayer.cpp:
1619         (WebCore::computeReferenceBox): Pull out reference box calculation.
1620         (WebCore::RenderLayer::setupClipPath): Add support for <box> values.
1621         * rendering/shapes/ShapeInfo.cpp:
1622         (WebCore::ShapeInfo<RenderType>::computedShape): Add FIXME comment.
1623
1624 2014-01-29  Oliver Hunt  <oliver@apple.com>
1625
1626         Make it possible to implement JS builtins in JS
1627         https://bugs.webkit.org/show_bug.cgi?id=127887
1628
1629         Reviewed by Michael Saboff.
1630
1631         Updating for the newly required headers.
1632
1633         Test: js/regress/array-prototype-every.html
1634
1635         * ForwardingHeaders/runtime/JSStringInlines.h: Added.
1636         * Modules/plugins/QuickTimePluginReplacement.cpp:
1637         * bindings/js/JSIDBAnyCustom.cpp:
1638         * bindings/js/JSIDBDatabaseCustom.cpp:
1639         * bindings/js/JSIDBObjectStoreCustom.cpp:
1640
1641 2014-01-31  Beth Dakin  <bdakin@apple.com>
1642
1643         Build fix.
1644
1645         * rendering/RenderLayerCompositor.cpp:
1646         (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
1647
1648 2014-01-31  Timothy Hatcher  <timothy@apple.com>
1649
1650         Properly handle cases where a profile couldn't be recorded and null is returned.
1651
1652         <rdar://problem/15957993> Crash with Inspector open at WebCore::ScriptProfile::buildInspectorObject
1653
1654         Reviewed by Joseph Pecoraro.
1655
1656         * inspector/InspectorTimelineAgent.cpp:
1657         (WebCore::InspectorTimelineAgent::didCallFunction): Null check profile.
1658         (WebCore::InspectorTimelineAgent::didEvaluateScript): Ditto.
1659
1660 2014-01-31  Beth Dakin  <bdakin@apple.com>
1661
1662         Extended background should only create margin tiles for pages with background 
1663         images
1664         https://bugs.webkit.org/show_bug.cgi?id=127876
1665         -and corresponding-
1666         <rdar://problem/15827632>
1667
1668         Reviewed by Simon Fraser.
1669
1670         Settings::backgroundShouldExtendBeyondPage() doesn't need to create margin tiles
1671         for pages with simple background colors. Instead, those pages should achieve the 
1672         same effect by setting a background color on RenderLayerCompositor's
1673         m_layerForOverhangAreas. For now, we should only create tiles when there is a 
1674         background image. We may want to extend this to other types of complicated 
1675         backgrounds in the future.
1676
1677         This patch makes callers that only care about the value of the setting always call 
1678         Settings::backgroundShouldExtendBeyondPage() rather than asking about margin 
1679         tiles. And callers that want to know about margin tiles can either keep querying 
1680         that directly or they can call FrameView::hasExtendedBackgroundRectForPainting(). 
1681         An extended background does not necessarily require an extended background rect 
1682         for painting, and this new FrameView function can make that distinction. 
1683
1684         When setBackgroundExtendsBeyondPage() is called, call RenderLayerCompositor:: 
1685         setRootExtendedBackgroundColor() with either the document background color, or an 
1686         invalid color, depending on whether you have or do not have an extended 
1687         background. Also call needsExtendedBackgroundRectForPainting() to determine if we 
1688         also need to extend the background rect, and then call 
1689         setHasExtendedBackgroundRectForPainting() with its value.
1690         * page/FrameView.cpp:
1691         (WebCore::FrameView::setBackgroundExtendsBeyondPage):
1692         (WebCore::FrameView::hasExtendedBackgroundRectForPainting):
1693
1694          Right now we only need to extend the background rect for documents with 
1695         background images on the root. This may be extended in the future.
1696         (WebCore::FrameView::needsExtendedBackgroundRectForPainting):
1697         (WebCore::FrameView::setHasExtendedBackgroundRectForPainting):
1698         (WebCore::FrameView::extendedBackgroundRectForPainting):
1699         * page/FrameView.h:
1700
1701         Expose defaultTileWidth and defaultTileHeight from TiledBacking.h so that we can 
1702         access the values from RenderLayerBacking.
1703         * platform/graphics/TiledBacking.h:
1704         * platform/graphics/ca/mac/TileController.mm:
1705
1706         hasExtendedBackgroundForPainting() is now called 
1707         hasExtendedBackgroundRectForPainting() to distinguish 
1708         the case where an extended RECT is needed.
1709         * rendering/RenderBox.cpp:
1710         (WebCore::RenderBox::repaintLayerRectsForImage):
1711         * rendering/RenderBoxModelObject.cpp:
1712         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1713
1714         Call setHasExtendedBackgroundRectForPainting() if relevant.
1715         * rendering/RenderElement.cpp:
1716         (WebCore::RenderElement::styleWillChange):
1717
1718         Don't call setTiledBackingHasMargins() right in the constructor because we only
1719         want margins if we have a background image, and we won't have that information
1720         yet.
1721         * rendering/RenderLayerBacking.cpp:
1722         (WebCore::RenderLayerBacking::RenderLayerBacking):
1723
1724         Clean up the variable name here. We are only setting margins when we need to 
1725         extend the background rect for painting. Also make us of newly-exposed 
1726         defaultTileWidth and Height.
1727         (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
1728
1729         Remove RenderLayerBacking::tiledBackingHasMargin() since there aren't any more
1730         callers.
1731         * rendering/RenderLayerBacking.h:
1732         (WebCore::RenderLayerBacking::usingTiledBacking):
1733
1734         setMasksToBounds(false) based on the Setting, and not based on whether there are 
1735         tile margins.
1736         * rendering/RenderLayerCompositor.cpp:
1737         (WebCore::RenderLayerCompositor::updateBacking):
1738
1739         Return false from RenderLayerCompositor::requiresContentShadowLayer() if there is 
1740         an extended background.
1741         (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
1742
1743         Setting the background color on m_layerForOverhangAreas is all we need to do to 
1744         create the extended background effect on pages that only have background colors. 
1745         (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
1746         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1747
1748         Remove mainFrameBackingIsTiledWithMargin() since there aren't any more callers,
1749         and add setRootExtendedBackgroundColor() so that we can update the color from 
1750         RenderView.
1751         * rendering/RenderLayerCompositor.h:
1752
1753         Revert the code that was added to paint background color here, since this should 
1754         all be covered by calling RenderLayerCompositor::setExtendedBackgroundColor(). 
1755         More complicated backgrounds will run through the full background painting code.
1756         * rendering/RenderView.cpp:
1757         (WebCore::RenderView::paintBoxDecorations):
1758         (WebCore::RenderView::backgroundRect):
1759
1760 2014-01-31  Jochen Eisinger  <jochen@chromium.org>
1761
1762         Remove FrameLoader's reloadWithOverrideURL and reloadWithRequest
1763         https://bugs.webkit.org/show_bug.cgi?id=128005
1764
1765         Reviewed by Darin Adler.
1766
1767         The former was used by chromium-android to implement the "request
1768         desktop version" feature, but is no longer used. After removing it,
1769         the latter is only invoked by reload(), so we can merge the method
1770         with it.
1771
1772         No new tests, just removing dead code.
1773
1774         * loader/FrameLoader.cpp:
1775         (WebCore::FrameLoader::reload):
1776         * loader/FrameLoader.h:
1777
1778 2014-01-31  Commit Queue  <commit-queue@webkit.org>
1779
1780         Unreviewed, rolling out r163182.
1781         http://trac.webkit.org/changeset/163182
1782         https://bugs.webkit.org/show_bug.cgi?id=128012
1783
1784         Broke lots of tests (Requested by smfr on #webkit).
1785
1786         * page/FrameView.cpp:
1787         (WebCore::FrameView::visibleContentsResized):
1788         * page/FrameView.h:
1789         * rendering/RenderView.cpp:
1790         (WebCore::isFixedPositionInViewport):
1791         (WebCore::RenderView::hasCustomFixedPosition):
1792         * rendering/RenderView.h:
1793
1794 2014-01-31  Brady Eidson  <beidson@apple.com>
1795
1796         IDB: openCursor() needs to prime the cursor with first position values
1797         https://bugs.webkit.org/show_bug.cgi?id=128008
1798
1799         Reviewed by Alexey Proskuryakov.
1800
1801         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1802         (WebCore::OpenCursorOperation::perform): If the server connection returns initial keys/values
1803           for the cursor, store them.
1804
1805         * Modules/indexeddb/IDBServerConnection.h:
1806
1807         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
1808         (WebCore::IDBServerConnectionLevelDB::openCursor):
1809         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
1810
1811 2014-01-31  Hans Muller  <hmuller@adobe.com>
1812
1813         [CSS Shapes] Image valued shape can fail
1814         https://bugs.webkit.org/show_bug.cgi?id=127588
1815
1816         Reviewed by Dean Jackson.
1817
1818         Correct the handling of image valued shapes that extend into or beyond the
1819         margin box. This can happen when object-fit causes one dimension of the shape
1820         to be greater than the corresponding margin box dimension.
1821
1822         Made some simplifications in RasterShapeIntervals::computeShapeMarginIntervals()
1823         by making the shapeMargin parameter an int, removing some unnecessary variables.
1824
1825         Revised the RasterShapeIntervals class. It's now a just a list of size() interval-lists,
1826         with valid indices: -offset() <= y < size() - offset(), or minY() to maxY(). If margin-top
1827         and shape-margin are specified, then offset() is the larger of shape-margin and margin-top.
1828         Similarly size() is the vertical size of the margin-box or the content-box expanded by
1829         shape-margin, whichever is larger. See computeShapeMarginIntervals().
1830
1831         Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-005.html
1832                fast/shapes/shape-outside-floats/shape-outside-image-fit-006.html
1833
1834         * rendering/shapes/RasterShape.cpp:
1835         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
1836         (WebCore::RasterShape::marginIntervals):
1837         * rendering/shapes/RasterShape.h:
1838         (WebCore::RasterShapeIntervals::RasterShapeIntervals):
1839         (WebCore::RasterShapeIntervals::offset):
1840         (WebCore::RasterShapeIntervals::minY):
1841         (WebCore::RasterShapeIntervals::maxY):
1842         (WebCore::RasterShapeIntervals::intervalsAt):
1843         * rendering/shapes/Shape.cpp:
1844         (WebCore::Shape::createRasterShape):
1845         * rendering/shapes/Shape.h:
1846         * rendering/shapes/ShapeInfo.cpp:
1847
1848         (WebCore::getShapeImageReplacedRect):
1849         The rect that the image will be drawn into. This rect can imply image
1850         scaling and translation.
1851
1852         (WebCore::getShapeImageMarginRect):
1853         The margin rect relative too the (0,0 origin) shape content rect.
1854
1855         (WebCore::ShapeInfo<RenderType>::computedShape):
1856
1857 2014-01-31  Andreas Kling  <akling@apple.com>
1858
1859         Deduplicate Document::encoding().
1860         <https://webkit.org/b/128000>
1861
1862         Make Document::encoding() return an AtomicString so we don't duplicate
1863         the string every time it's called.
1864
1865         215 KB progression on Membuster3.
1866
1867         Reviewed by Simon Fraser.
1868
1869         * dom/Document.h:
1870         * dom/Document.cpp:
1871         (WebCore::Document::encoding):
1872
1873 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
1874
1875         Even when in fixed layout mode, some platforms need to do layout after a viewport change
1876         https://bugs.webkit.org/show_bug.cgi?id=128003
1877
1878         Reviewed by Andreas Kling.
1879
1880         iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
1881         elements relative to a variable viewport. This code assumed that fixed layout
1882         implies a fixed viewport.
1883         
1884         Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
1885         
1886         Also removed RenderView::hasCustomFixedPosition() which is no longer used.
1887         
1888         * page/FrameView.cpp:
1889         (WebCore::FrameView::shouldLayoutAfterViewportChange):
1890         (WebCore::FrameView::visibleContentsResized):
1891         * page/FrameView.h:
1892         * rendering/RenderView.cpp:
1893         * rendering/RenderView.h:
1894
1895 2014-01-31  Zan Dobersek  <zdobersek@igalia.com>
1896
1897         Guard GLContextEGL::platformContext() with USE(3D_GRAPHICS)
1898         https://bugs.webkit.org/show_bug.cgi?id=120214
1899
1900         Reviewed by Philippe Normand.
1901
1902         Guard the GLContextEGL::platformContext() declaration and definiton with USE(3D_GRAPHICS)
1903         since this guard is used in the GLContext class, from which the GLContextEGL class overrides
1904         this method.
1905
1906         * platform/graphics/egl/GLContextEGL.cpp:
1907         * platform/graphics/egl/GLContextEGL.h:
1908
1909 2014-01-31  Beth Dakin  <bdakin@apple.com>
1910
1911         Sideways 'wobble' when scrolling with trackpad on Mavericks
1912         https://bugs.webkit.org/show_bug.cgi?id=127521
1913         -and corresponding-
1914         <rdar://problem/14137306>
1915
1916         Reviewed by Simon Fraser.
1917
1918         This patch takes http://trac.webkit.org/changeset/154535 which introduced 
1919         filtering wheel events for overflow areas to try to make them less sensitive to X 
1920         deltas when scrolling in a primarily Y direction, and it factors that code out 
1921         into its own class, now called WheelEventDeltaTracker. So now this new class can 
1922         use the same code to filter events for WebKit2’s EventDispatcher.
1923
1924         Files for WheelEventDeltaTracker.
1925         * CMakeLists.txt:
1926         * GNUmakefile.list.am:
1927         * WebCore.vcxproj/WebCore.vcxproj:
1928         * WebCore.vcxproj/WebCore.vcxproj.filters:
1929         * WebCore.xcodeproj/project.pbxproj:
1930
1931         WK2 needs these new WheelEventDeltaTracker functions.
1932         * WebCore.exp.in:
1933
1934         Move a bunch of code over to WheelEventDeltaTracker and use
1935         m_recentWheelEventTracker to serve the same purpose.
1936         * page/EventHandler.cpp:
1937         (WebCore::EventHandler::EventHandler):
1938         (WebCore::EventHandler::handleWheelEvent):
1939         (WebCore::EventHandler::defaultWheelEventHandler):
1940         * page/EventHandler.h:
1941
1942         Allow horizontal rubber banding now that we have some event filtering in place.
1943         * page/FrameView.cpp:
1944         (WebCore::FrameView::FrameView):
1945
1946         New files. Most of this code was from EventHandler.
1947         * page/WheelEventDeltaTracker.cpp: Added.
1948         (WebCore::WheelEventDeltaTracker::WheelEventDeltaTracker):
1949         (WebCore::WheelEventDeltaTracker::~WheelEventDeltaTracker):
1950         (WebCore::WheelEventDeltaTracker::beginTrackingDeltas):
1951         (WebCore::WheelEventDeltaTracker::endTrackingDeltas):
1952         (WebCore::WheelEventDeltaTracker::recordWheelEventDelta):
1953         (WebCore::deltaIsPredominantlyVertical):
1954         (WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):
1955         * page/WheelEventDeltaTracker.h: Added.
1956         (WebCore::WheelEventDeltaTracker::isTrackingDeltas):
1957
1958         New function to clone events while zero-ing out certain deltas.
1959         * platform/PlatformWheelEvent.h:
1960         (WebCore::PlatformWheelEvent::copyIgnoringHorizontalDelta):
1961         (WebCore::PlatformWheelEvent::copyIgnoringVerticalDelta):
1962
1963 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
1964
1965         Don't do logging from Range::collectSelectionRects() on iOS
1966         https://bugs.webkit.org/show_bug.cgi?id=127999
1967
1968         Reviewed by Enrica Casucci.
1969
1970         Remove some logging code that printed Range stuff in debug builds.
1971
1972         * dom/Range.cpp:
1973         (WebCore::Range::collectSelectionRects):
1974
1975 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
1976
1977         Make iOS fixed layer registration more like OS X
1978         https://bugs.webkit.org/show_bug.cgi?id=127983
1979
1980         Reviewed by Antti Koivisto.
1981
1982         Remove some #if PLATFORM(IOS) in the code related to registering
1983         viewport-constrained layers. The code behaves correctly now in WK1
1984         and WK2 based on the presence of a ScrollingCoordinator.
1985
1986         * rendering/RenderLayerCompositor.cpp:
1987         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1988         (WebCore::nearestScrollingCoordinatorAncestor):
1989         (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
1990         (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer):
1991
1992 2014-01-31  Commit Queue  <commit-queue@webkit.org>
1993
1994         Unreviewed, rolling out r163165.
1995         http://trac.webkit.org/changeset/163165
1996         https://bugs.webkit.org/show_bug.cgi?id=127997
1997
1998         broke 2 fast/table tests (Requested by kling on #webkit).
1999
2000         * rendering/RenderTable.cpp:
2001         (WebCore::RenderTable::updateLogicalWidth):
2002         (WebCore::RenderTable::computePreferredLogicalWidths):
2003
2004 2014-01-31  Anders Carlsson  <andersca@apple.com>
2005
2006         Don't allocate a new XMLHttpRequestStaticData every time staticData() is called
2007         https://bugs.webkit.org/show_bug.cgi?id=127996
2008
2009         Reviewed by Andreas Kling.
2010
2011         std::once_flag should be static.
2012
2013         * xml/XMLHttpRequest.cpp:
2014         (WebCore::staticData):
2015
2016 2014-01-31  Zalan Bujtas  <zalan@apple.com>
2017
2018         Subpixel rendering: Change RenderBoxModelObject's border functions' signature to support subpixel border painting.
2019         https://bugs.webkit.org/show_bug.cgi?id=127975
2020
2021         Reviewed by Simon Fraser.
2022
2023         From int to LayoutUnit.
2024
2025         Covered by existing tests. No change in functionality.
2026
2027         * platform/text/TextStream.cpp:
2028         (WebCore::TextStream::operator<<):
2029         * platform/text/TextStream.h:
2030         * rendering/RenderBoxModelObject.cpp:
2031         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2032         * rendering/RenderBoxModelObject.h:
2033         (WebCore::RenderBoxModelObject::borderTop):
2034         (WebCore::RenderBoxModelObject::borderBottom):
2035         (WebCore::RenderBoxModelObject::borderLeft):
2036         (WebCore::RenderBoxModelObject::borderRight):
2037         (WebCore::RenderBoxModelObject::borderBefore):
2038         (WebCore::RenderBoxModelObject::borderAfter):
2039         (WebCore::RenderBoxModelObject::borderStart):
2040         (WebCore::RenderBoxModelObject::borderEnd):
2041         * rendering/RenderElement.cpp:
2042         (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
2043         * rendering/RenderTable.cpp:
2044         (WebCore::RenderTable::borderBefore):
2045         (WebCore::RenderTable::borderAfter):
2046         * rendering/RenderTable.h:
2047         * rendering/RenderTableCell.cpp:
2048         (WebCore::RenderTableCell::borderLeft):
2049         (WebCore::RenderTableCell::borderRight):
2050         (WebCore::RenderTableCell::borderTop):
2051         (WebCore::RenderTableCell::borderBottom):
2052         (WebCore::RenderTableCell::borderStart):
2053         (WebCore::RenderTableCell::borderEnd):
2054         (WebCore::RenderTableCell::borderBefore):
2055         (WebCore::RenderTableCell::borderAfter):
2056         * rendering/RenderTableCell.h:
2057
2058 2014-01-31  Brady Eidson  <beidson@apple.com>
2059
2060         IDB: Index writing
2061         <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868
2062
2063         Reviewed by Anders Carlsson.
2064
2065         * Modules/indexeddb/IDBDatabaseBackend.cpp:
2066         (WebCore::IDBDatabaseBackend::openConnectionInternal): Remove outdated comment and ASSERT.
2067
2068         * Modules/indexeddb/IDBObjectStore.cpp:
2069         (WebCore::IDBObjectStore::createIndex): Conditionalize a block of code that is LevelDB-only.
2070
2071         Remove getColumnBlob().  Nobody used it, and it was dangerous because it reset the statement:
2072         * platform/sql/SQLiteStatement.cpp:
2073         * platform/sql/SQLiteStatement.h:
2074         * WebCore.exp.in:
2075
2076 2014-01-30  László Langó  <lango@inf.u-szeged.hu>
2077
2078         [CSS Grid Layout] Do log(n) search in the named line vectors when positioning named line spans.
2079         https://bugs.webkit.org/show_bug.cgi?id=125396
2080
2081         Reviewed by Andreas Kling.
2082
2083         Implement the suggested FIXMEs and do a log search in the named line
2084         vectors. This maintains the previous (somewhat tricky) behavior by
2085         using std::lower_bound and std::upper_bound. No difference in existing
2086         performance tests, but should scale much better for big grids.
2087
2088         Backported from Blink:
2089         https://chromium.googlesource.com/chromium/blink/+/9fc477af0be708c490a6b90e65e412b0c22b161f
2090
2091         No new tests, no behavior change.
2092
2093         * rendering/RenderGrid.cpp:
2094         (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
2095         (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
2096
2097 2014-01-31  László Langó  <lango@inf.u-szeged.hu>
2098
2099         Fix table sizing when 'max-width' is used.
2100         https://bugs.webkit.org/show_bug.cgi?id=115156
2101
2102         Reviewed by Andreas Kling.
2103
2104         r143534 make <table> abide by 'max-width' all the time which is wrong.
2105         Per the CSS specification, a table should be wide enough to fit its
2106         content, regardless of 'max-width'.
2107
2108         r140479 fixed part of the regression from that change but made the
2109         same fatal mistake by constraining min-content to fit 'max-width'.
2110
2111         The fix is to avoid constraining min-content and ensure that the table
2112         logical width is at least its min-content size.
2113
2114         Backported from Blink:
2115         https://chromium.googlesource.com/chromium/blink/+/0bca0dec4895aeeb2054ba36316e984e4ebed06f
2116
2117         Test: fast/table/html-table-width-max-width-constrained.html
2118
2119         * rendering/RenderTable.cpp:
2120         (WebCore::RenderTable::updateLogicalWidth):
2121         (WebCore::RenderTable::computePreferredLogicalWidths):
2122
2123 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
2124
2125         Fix iOS build after r163156.
2126         
2127         Need to convert LayoutSizes to FloatSizes.
2128
2129         * bindings/objc/DOMUIKitExtensions.mm:
2130         (-[DOMNode borderRadii]):
2131
2132 2014-01-30  Zalan Bujtas  <zalan@apple.com>
2133
2134         Subpixel rendering: Change drawRect()/drawLine() signature to support subpixel rendering.
2135         https://bugs.webkit.org/show_bug.cgi?id=127961
2136
2137         Reviewed by Simon Fraser.
2138
2139         IntRect/IntPoint -> FloatRect/FloatPoint.
2140
2141         Covered by existing tests. No change in functionality.
2142
2143         * platform/graphics/GraphicsContext.h:
2144         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2145         (WebCore::GraphicsContext::drawRect):
2146         (WebCore::GraphicsContext::drawLine):
2147         * platform/graphics/cg/GraphicsContextCG.cpp:
2148         (WebCore::GraphicsContext::drawRect):
2149         (WebCore::GraphicsContext::drawLine): Keep 'distance' int for DottedStroke and DashedStroke for now.
2150         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2151         (WebCore::GraphicsContext::drawRect):
2152         (WebCore::GraphicsContext::drawLine):
2153
2154 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
2155
2156         Remove ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers() which is no longer used
2157         https://bugs.webkit.org/show_bug.cgi?id=127981
2158
2159         Reviewed by Andreas Kling.
2160
2161         setLayerIsContainerForFixedPositionLayers() was only used by Chromium and Blackberry,
2162         so remove it.
2163         
2164         This allows the removal of RenderLayerBacking::registerScrollingLayers(),
2165         moving the single useful line of code to the caller.
2166
2167         * page/scrolling/ScrollingCoordinator.h:
2168         * rendering/RenderLayerBacking.cpp:
2169         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2170         * rendering/RenderLayerBacking.h:
2171         * rendering/RenderLayerCompositor.cpp:
2172         (WebCore::RenderLayerCompositor::ensureRootLayer):
2173
2174 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
2175
2176         Some fixed position elements disappear in WK2 on iOS
2177         https://bugs.webkit.org/show_bug.cgi?id=127977
2178
2179         Reviewed by Tim Horton.
2180
2181         Use the appropriate rectangle to ensure that on iOS we don't 
2182         consider a fixed element outside the viewport when zoomed in,
2183         and therefore never make a compositing layer for it.
2184
2185         Also remove the iOS-specific code in RenderLayerCompositor::requiresCompositingForPosition(),
2186         since it's OK to use the common code. Doing so requires that we
2187         set the "acceleratedCompositingForFixedPositionEnabled" setting to true
2188         for iOS, so do so.
2189
2190         * page/Settings.cpp:
2191         * page/Settings.in:
2192         * rendering/RenderLayerCompositor.cpp:
2193         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2194
2195 2014-01-30  Zalan Bujtas  <zalan@apple.com>
2196
2197         Subpixel rendering: Make RoundedRect layout unit aware.
2198         https://bugs.webkit.org/show_bug.cgi?id=127779
2199
2200         Reviewed by Simon Fraser.
2201
2202         In order to draw hairline borders, RoundedRect needs to be
2203         LayoutUnit based.
2204
2205         No change in behavior.
2206
2207         * platform/graphics/GraphicsContext.cpp:
2208         (WebCore::GraphicsContext::fillRoundedRect):
2209         * platform/graphics/GraphicsContext.h:
2210         * platform/graphics/RoundedRect.cpp:
2211         (WebCore::RoundedRect::Radii::scale):
2212         (WebCore::RoundedRect::Radii::expand):
2213         (WebCore::RoundedRect::inflateWithRadii):
2214         (WebCore::RoundedRect::RoundedRect):
2215         (WebCore::RoundedRect::intersectsQuad):
2216         * platform/graphics/RoundedRect.h:
2217         (WebCore::RoundedRect::Radii::Radii):
2218         (WebCore::RoundedRect::Radii::setTopLeft):
2219         (WebCore::RoundedRect::Radii::setTopRight):
2220         (WebCore::RoundedRect::Radii::setBottomLeft):
2221         (WebCore::RoundedRect::Radii::setBottomRight):
2222         (WebCore::RoundedRect::Radii::topLeft):
2223         (WebCore::RoundedRect::Radii::topRight):
2224         (WebCore::RoundedRect::Radii::bottomLeft):
2225         (WebCore::RoundedRect::Radii::bottomRight):
2226         (WebCore::RoundedRect::Radii::expand):
2227         (WebCore::RoundedRect::Radii::shrink):
2228         (WebCore::RoundedRect::rect):
2229         (WebCore::RoundedRect::setRect):
2230         (WebCore::RoundedRect::move):
2231         (WebCore::RoundedRect::inflate):
2232         (WebCore::RoundedRect::expandRadii):
2233         (WebCore::RoundedRect::shrinkRadii):
2234         * platform/graphics/ShadowBlur.cpp:
2235         (WebCore::ScratchBuffer::setCachedShadowValues):
2236         (WebCore::ScratchBuffer::setCachedInsetShadowValues):
2237         (WebCore::computeSliceSizesFromRadii):
2238         (WebCore::ShadowBlur::templateSize):
2239         (WebCore::ShadowBlur::drawRectShadow):
2240         (WebCore::ShadowBlur::drawInsetShadow):
2241         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2242         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
2243         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2244         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2245         (WebCore::ShadowBlur::drawLayerPieces):
2246         (WebCore::ShadowBlur::beginShadowLayer):
2247         * platform/graphics/ShadowBlur.h:
2248         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2249         (WebCore::GraphicsContext::clipOut):
2250         (WebCore::GraphicsContext::fillRoundedRect):
2251         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2252         * platform/graphics/cg/GraphicsContextCG.cpp:
2253         (WebCore::GraphicsContext::platformInit):
2254         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2255         (WebCore::GraphicsContext::clipOut):
2256         (WebCore::GraphicsContext::fillRoundedRect):
2257         * rendering/RenderBoxModelObject.cpp:
2258         (WebCore::RenderBoxModelObject::paintOneBorderSide):
2259         (WebCore::calculateSideRect):
2260         (WebCore::RenderBoxModelObject::paintBorderSides):
2261         (WebCore::RenderBoxModelObject::paintBorder):
2262         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2263         (WebCore::calculateSideRectIncludingInner):
2264         (WebCore::calculateAdjustedInnerBorder):
2265         (WebCore::areaCastingShadowInHole):
2266         (WebCore::RenderBoxModelObject::paintBoxShadow):
2267         * rendering/RenderBoxModelObject.h:
2268         * rendering/RenderThemeSafari.cpp:
2269         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2270         (WebCore::RenderThemeSafari::paintSliderTrack):
2271
2272 2014-01-30  Martin Robinson  <mrobinson@igalia.com>
2273
2274         [GTK] [CMake] Add support for building against GTK+ 2
2275         https://bugs.webkit.org/show_bug.cgi?id=127959
2276
2277         Reviewed by Anders Carlsson.
2278
2279         * PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.
2280
2281 2014-01-30  Jessie Berlin  <jberlin@apple.com>
2282
2283         Speculative build fix.
2284
2285         * page/animation/CSSPropertyAnimation.cpp:
2286
2287 2014-01-30  Zalan Bujtas  <zalan@apple.com>
2288
2289         Subpixel rendering: Change BorderData's width from unsigned to float to enable subpixel border painting.
2290         https://bugs.webkit.org/show_bug.cgi?id=127949
2291
2292         Reviewed by Andreas Kling.
2293
2294         Covered by existing tests. No change in functionality.
2295
2296         * css/DeprecatedStyleBuilder.cpp:
2297         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2298         * page/animation/CSSPropertyAnimation.cpp:
2299         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
2300         * rendering/RenderTable.cpp:
2301         (WebCore::RenderTable::calcBorderStart):
2302         (WebCore::RenderTable::calcBorderEnd):
2303         * rendering/style/BorderValue.h:
2304         (WebCore::BorderValue::BorderValue):
2305         (WebCore::BorderValue::width):
2306         * rendering/style/RenderStyle.cpp:
2307         (WebCore::RenderStyle::borderBeforeWidth):
2308         (WebCore::RenderStyle::borderAfterWidth):
2309         (WebCore::RenderStyle::borderStartWidth):
2310         (WebCore::RenderStyle::borderEndWidth):
2311         * rendering/style/RenderStyle.h:
2312
2313 2014-01-30  David Kilzer  <ddkilzer@apple.com>
2314
2315         Add security-checked cast for WebCore::CachedImage
2316         <http://webkit.org/b/127967>
2317
2318         Reviewed by Darin Adler.
2319
2320         * loader/cache/CachedImage.h:
2321         (WebCore::toCachedImage): Add.
2322         (WebCore::toCachedImageManual): Add.
2323         * loader/cache/CachedResource.h:
2324         (CACHED_RESOURCE_TYPE_CASTS): Add macro.
2325
2326         * loader/cache/CachedImage.cpp:
2327         (WebCore::CachedImage::switchClientsToRevalidatedResource):
2328         (WebCore::CachedImage::resumeAnimatingImagesForLoader):
2329         * loader/cache/CachedResourceLoader.cpp:
2330         (WebCore::CachedResourceLoader::requestImage):
2331         * loader/cache/MemoryCache.cpp:
2332         (WebCore::MemoryCache::removeImageFromCache):
2333         - Use toCachedImage() and toCachedImageManual().
2334
2335 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
2336
2337         Fixed position objects are clipped in iOS WK2
2338         https://bugs.webkit.org/show_bug.cgi?id=127974
2339
2340         Reviewed by Darin Adler.
2341         
2342         We clip compositing layers for fixed position objects to the viewport
2343         to avoid huge layers. However, because iOS changes the fixed position
2344         rect when zooming, we need a different rect for iOS.
2345         
2346         In WK1 (when we have a platformWidget), we can use
2347         visibleContentRect(ScrollableArea::LegacyIOSDocumentVisibleRect)
2348         which is effectively the whole document. However in WK2 this is
2349         the real visibleContentRect(), so there we use unscaledDocumentRect().
2350
2351         * page/FrameView.cpp:
2352         (WebCore::FrameView::viewportConstrainedExtentRect):
2353         * page/FrameView.h:
2354         * rendering/RenderLayerBacking.cpp:
2355         (WebCore::RenderLayerBacking::updateCompositedBounds):
2356
2357 2014-01-28  Timothy Hatcher  <timothy@apple.com>
2358
2359         Add column number and call timing support to LegacyProfiler.
2360
2361         https://bugs.webkit.org/show_bug.cgi?id=127764
2362
2363         Reviewed by Joseph Pecoraro.
2364
2365         * bindings/js/ScriptProfile.cpp:
2366         (WebCore::ScriptProfile::idleTime):
2367         (WebCore::buildInspectorObjectFor):
2368         (WebCore::ScriptProfile::buildInspectorObject):
2369         * bindings/js/ScriptProfile.h:
2370         * inspector/InspectorHeapProfilerAgent.cpp:
2371         (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
2372         * inspector/InspectorProfilerAgent.cpp:
2373         (WebCore::InspectorProfilerAgent::createSnapshotHeader):
2374         (WebCore::InspectorProfilerAgent::getCPUProfile):
2375         * inspector/ScriptProfileNode.idl:
2376         * inspector/TimelineRecordFactory.cpp:
2377         (WebCore::TimelineRecordFactory::appendProfile):
2378         * inspector/protocol/Profiler.json:
2379
2380 2014-01-26  Timothy Hatcher  <timothy@apple.com>
2381
2382         Include profile with FunctionCall and EvaluateScript Timeline records.
2383
2384         https://bugs.webkit.org/show_bug.cgi?id=127663
2385
2386         Reviewed by Joseph Pecoraro.
2387
2388         * bindings/js/JSCallbackData.cpp:
2389         (WebCore::JSCallbackData::invokeCallback):
2390         * bindings/js/JSEventListener.cpp:
2391         (WebCore::JSEventListener::handleEvent):
2392         * bindings/js/JSMutationCallback.cpp:
2393         (WebCore::JSMutationCallback::call):
2394         * bindings/js/ScheduledAction.cpp:
2395         (WebCore::ScheduledAction::executeFunctionInContext):
2396         * bindings/js/ScriptController.cpp:
2397         (WebCore::ScriptController::evaluateInWorld):
2398         * inspector/InspectorController.cpp:
2399         (WebCore::InspectorController::didCallInjectedScriptFunction):
2400         * inspector/InspectorController.h:
2401         * inspector/InspectorInstrumentation.cpp:
2402         (WebCore::InspectorInstrumentation::didCallFunctionImpl):
2403         (WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
2404         * inspector/InspectorInstrumentation.h:
2405         (WebCore::InspectorInstrumentation::didCallFunction):
2406         (WebCore::InspectorInstrumentation::didEvaluateScript):
2407         * inspector/InspectorTimelineAgent.cpp:
2408         (WebCore::InspectorTimelineAgent::willCallFunction):
2409         (WebCore::InspectorTimelineAgent::didCallFunction):
2410         (WebCore::InspectorTimelineAgent::willEvaluateScript):
2411         (WebCore::InspectorTimelineAgent::didEvaluateScript):
2412         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2413         * inspector/InspectorTimelineAgent.h:
2414         * inspector/TimelineRecordFactory.cpp:
2415         (WebCore::TimelineRecordFactory::appendProfile):
2416         * inspector/TimelineRecordFactory.h:
2417         * inspector/WorkerInspectorController.cpp:
2418         (WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
2419         * inspector/WorkerInspectorController.h:
2420
2421 2014-01-30  Joseph Pecoraro  <pecoraro@apple.com>
2422
2423         Remove now-empty ScriptController::setCaptureCallStackForUncaughtExceptions
2424         https://bugs.webkit.org/show_bug.cgi?id=127964
2425
2426         Reviewed by Timothy Hatcher.
2427
2428         Remove empty function. It was only needed by v8 at one point.
2429
2430         * bindings/js/ScriptController.h:
2431         * bindings/js/ScriptController.cpp:
2432         Remove empty function.
2433
2434         * inspector/InspectorConsoleAgent.h:
2435         * inspector/InspectorConsoleAgent.cpp:
2436         (WebCore::InspectorConsoleAgent::enable):
2437         (WebCore::InspectorConsoleAgent::disable):
2438         Remove callers and related tracking state.
2439
2440 2014-01-30  Roger Fong  <roger_fong@apple.com>
2441
2442         WebGL load policy should be queried for the top level document.
2443         https://bugs.webkit.org/show_bug.cgi?id=127937.
2444         <rdar://problem/15950122>
2445
2446         Reviewed by Timothy Horton.
2447
2448         * html/HTMLCanvasElement.cpp:
2449         (WebCore::HTMLCanvasElement::getContext):
2450
2451 2014-01-27  Jeffrey Pfau  <jpfau@apple.com>
2452
2453         Add a method for schemes to be registered as supporting cache partitioning
2454         https://bugs.webkit.org/show_bug.cgi?id=127739
2455
2456         Reviewed by Darin Adler.
2457
2458         Currently, this assumes that schemes supporting cache partitioning
2459         also support (scheme, host) doubles for the scheme. Furthermore,
2460         the scheme is currently discarded when partitioning and is only
2461         checked to ensure that partitioning is supported for that scheme: it
2462         is assumed that all origins with the same host double should be binned
2463         together, regardless of scheme.
2464
2465         * WebCore.exp.in:
2466         * page/SecurityOrigin.cpp:
2467         (WebCore::SecurityOrigin::cachePartition):
2468         * platform/SchemeRegistry.cpp:
2469         (WebCore::CachePartitioningSchemes):
2470         (WebCore::SchemeRegistry::registerURLSchemeAsCachePartitioned):
2471         (WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme):
2472         * platform/SchemeRegistry.h:
2473
2474 2014-01-30  Jer Noble  <jer.noble@apple.com>
2475
2476         [iOS] Convert blocks to lambdas in iOS Fullscreen code.
2477         https://bugs.webkit.org/show_bug.cgi?id=127946
2478
2479         Reviewed by Anders Carlsson.
2480
2481         Pushing a block into a std::function will eventually cause a crash, since std::function
2482         does not know about Block_copy and Block_release.
2483
2484         Lamdas can be intrinsicly converted to blocks, but not vice versa. Switch over all the
2485         blocks in the new iOS Fullscreen code to use lamdas, and use the ref-counted this object
2486         directly rather than implicitly.
2487
2488         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
2489         (-[WebVideoFullscreenController exitFullscreen]):
2490         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2491         (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
2492         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
2493         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
2494
2495 2014-01-30  Martin Robinson  <mrobinson@igalia.com>
2496
2497         [GTK] [CMake] Add a "make dist" target
2498         https://bugs.webkit.org/show_bug.cgi?id=116378
2499
2500         Reviewed by Gustavo Noronha Silva.
2501
2502         * CMakeLists.txt: Don't build WebKitVersion.h for WebKitGTK+. We don't use it
2503         and we don't want to distribute the dependency.
2504
2505 2014-01-30  Brady Eidson  <beidson@apple.com>
2506
2507         IDB: ObjectStore cursor advance() support
2508         <rdar://problem/15779645> and https://bugs.webkit.org/show_bug.cgi?id=127866
2509
2510         Reviewed by Sam Weinig.
2511
2512         Add IDBKeyData sorting for database collation:
2513         * Modules/indexeddb/IDBKeyData.cpp:
2514         (WebCore::IDBKeyData::compare):
2515         * Modules/indexeddb/IDBKeyData.h:
2516
2517         * WebCore.exp.in:
2518
2519         * platform/sql/SQLiteTransaction.h:
2520         (WebCore::SQLiteTransaction::database):
2521
2522 2014-01-30  David Kilzer  <ddkilzer@apple.com>
2523
2524         De-virtual-ize CachedResource::isImage()
2525         <http://webkit.org/b/127936>
2526
2527         Reviewed by Andreas Kling.
2528
2529         Also replace explicit type() checks with isImage().
2530
2531         * loader/SubresourceLoader.cpp:
2532         (WebCore::SubresourceLoader::willSendRequest): Use isImage().
2533         * loader/cache/CachedImage.h:
2534         (WebCore::CachedResource::isImage): Remove virtual override.
2535         * loader/cache/CachedResource.h:
2536         (WebCore::CachedResource::isImage): Check type() instead of
2537         defining a virtual method that returns false by default.
2538         * loader/cache/CachedResourceLoader.cpp:
2539         (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred): Use isImage().
2540
2541 2014-01-30  Eric Carlson  <eric.carlson@apple.com>
2542
2543         [iOS] don't update media layers on main thread when using AVFoundation
2544         https://bugs.webkit.org/show_bug.cgi?id=127931
2545
2546         Reviewed by Simon Fraser.
2547
2548         * platform/graphics/GraphicsLayerClient.h:
2549         (WebCore::GraphicsLayerClient::mediaLayerMustBeUpdatedOnMainThread): Add mediaLayerMustBeUpdatedOnMainThread.
2550
2551         * platform/graphics/ca/GraphicsLayerCA.cpp:
2552         (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread): Ask the client if graphics layers
2553             should be updated on the main thread.
2554
2555         * rendering/RenderLayerBacking.cpp:
2556         (WebCore::RenderLayerBacking::mediaLayerMustBeUpdatedOnMainThread): New, check settings to see
2557             if video plug-in proxy is enabled.
2558         * rendering/RenderLayerBacking.h:
2559
2560 2014-01-30  Jer Noble  <jer.noble@apple.com>
2561
2562         [MediaControls][iOS] Fix a couple of UI bugs in the iOS Media Controls
2563         https://bugs.webkit.org/show_bug.cgi?id=127929
2564
2565         Reviewed by Eric Carlson.
2566
2567         Two UI bugs in the iOS Media Controls: the text in the controls should use the apple
2568         system font rather than the webkit small control font, and the buttons in the controls
2569         are clipped due to an "off by one" error when calculating the SVG image dimensions.
2570
2571         * Modules/mediacontrols/mediaControlsiOS.css:
2572         (::-webkit-media-controls):
2573         (audio::-webkit-media-controls-play-button):
2574         (audio::-webkit-media-controls-fullscreen-button):
2575         (audio::-webkit-media-controls-time-remaining-display):
2576
2577 2014-01-30  Jeremy Jones  <jeremyj@apple.com>
2578
2579         Refactor WebVideoFullscreenController separating AVKit from MediaElement.
2580         https://bugs.webkit.org/show_bug.cgi?id=127762
2581
2582         Reviewed by Jer Noble.
2583
2584         Refactor WebVideoFullscreenControllerAVKit implementation into two abstract interfaces with concrete implementations: 
2585         WebVideoFullscreenModel, WebVideoFullscreenInterface, WebVideoFullscreenModelMediaElement, WebVideoFullscreenInterfaceAVKit.
2586
2587         * WebCore.xcodeproj/project.pbxproj:
2588         * platform/ios/WebVideoFullscreenControllerAVKit.h:
2589         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
2590         (-[WebVideoFullscreenController init]):
2591         (-[WebVideoFullscreenController dealloc]):
2592         (-[WebVideoFullscreenController enterFullscreen:]):
2593         (-[WebVideoFullscreenController exitFullscreen]):
2594         * platform/ios/WebVideoFullscreenInterface.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
2595         (WebCore::WebVideoFullscreenInterface::~WebVideoFullscreenInterface):
2596         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Added.
2597         (WebCore::WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit):
2598         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Added.
2599         (NS_ENUM):
2600         (-[WebAVPlayerController init]):
2601         (-[WebAVPlayerController dealloc]):
2602         (-[WebAVPlayerController forwardingTargetForSelector:]):
2603         (-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):
2604         (-[WebAVPlayerController play:]):
2605         (-[WebAVPlayerController pause:]):
2606         (-[WebAVPlayerController togglePlayback:]):
2607         (-[WebAVPlayerController isPlaying]):
2608         (-[WebAVPlayerController setPlaying:]):
2609         (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
2610         (-[WebAVPlayerController seekToTime:]):
2611         (:m_videoFullscreenModel):
2612         (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
2613         (WebVideoFullscreenInterfaceAVKit::setDuration):
2614         (WebVideoFullscreenInterfaceAVKit::setCurrentTime):
2615         (WebVideoFullscreenInterfaceAVKit::setRate):
2616         (WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
2617         (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
2618         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
2619         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
2620         * platform/ios/WebVideoFullscreenModel.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
2621         (WebCore::WebVideoFullscreenModel::~WebVideoFullscreenModel):
2622         * platform/ios/WebVideoFullscreenModelMediaElement.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
2623         (WebCore::WebVideoFullscreenModelMediaElement::~WebVideoFullscreenModelMediaElement):
2624         (WebCore::WebVideoFullscreenModelMediaElement::setWebVideoFullscreenInterface):
2625         * platform/ios/WebVideoFullscreenModelMediaElement.mm: Added.
2626         (WebVideoFullscreenModelMediaElement::setMediaElement):
2627         (WebVideoFullscreenModelMediaElement::handleEvent):
2628         (WebVideoFullscreenModelMediaElement::requestExitFullScreen):
2629         (WebVideoFullscreenModelMediaElement::play):
2630         (WebVideoFullscreenModelMediaElement::pause):
2631         (WebVideoFullscreenModelMediaElement::togglePlayState):
2632         (WebVideoFullscreenModelMediaElement::seekToTime):
2633         (WebVideoFullscreenModelMediaElement::didExitFullscreen):
2634
2635 2014-01-30  Jer Noble  <jer.noble@apple.com>
2636
2637         [MediaControls][iOS] Add a "start load" button.
2638         https://bugs.webkit.org/show_bug.cgi?id=127861
2639
2640         Reviewed by Eric Carlson.
2641
2642         Add a "start load" button which replaces the controls on platforms
2643         where inline playback is not allowed, or when playback without a
2644         user gesture is not allowed.
2645
2646         Add an accessor to MediaControlsHost to query whether inline playback is allowed.:
2647         * Modules/mediacontrols/MediaControlsHost.cpp:
2648         (WebCore::MediaControlsHost::mediaPlaybackAllowsInline):
2649         * Modules/mediacontrols/MediaControlsHost.h:
2650         * Modules/mediacontrols/MediaControlsHost.idl:
2651         * html/HTMLMediaElement.h:
2652         (WebCore::HTMLMediaElement::mediaSession):
2653
2654         Update the base controller to allow more functions to be overridden:
2655         * Modules/mediacontrols/mediaControlsApple.js:
2656         (Controller):
2657         (Controller.prototype.shouldHaveAnyUI):
2658         (Controller.prototype.updateBase):
2659         (Controller.prototype.setControlsType):
2660         (Controller.prototype.updateControls):
2661         (Controller.prototype.handleFullscreenChange):
2662
2663         Add the new button, and allow for switching between "start", "inline", and "fullscreen" controls:
2664         * Modules/mediacontrols/mediaControlsiOS.js:
2665         (ControllerIOS.prototype.addVideoListeners):
2666         (ControllerIOS.prototype.removeVideoListeners):
2667         (ControllerIOS.prototype.createBase):
2668         (ControllerIOS.prototype.shouldHaveStartPlaybackButton):
2669         (ControllerIOS.prototype.shouldHaveControls):
2670         (ControllerIOS.prototype.shouldHaveAnyUI):
2671         (ControllerIOS.prototype.createControls):
2672         (ControllerIOS.prototype.setControlsType):
2673         (ControllerIOS.prototype.addStartPlaybackControls):
2674         (ControllerIOS.prototype.removeStartPlaybackControls):
2675         (ControllerIOS.prototype.updateControls):
2676         (ControllerIOS.prototype.handleStartPlaybackButtonTouchStart):
2677         (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd):
2678         (ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel):
2679         (ControllerIOS.prototype.handleReadyStateChange):
2680
2681         Add the new art:
2682         * Modules/mediacontrols/mediaControlsiOS.css:
2683         (audio::-webkit-media-controls-start-playback-button):
2684         (audio::-webkit-media-controls-start-playback-button.failed):
2685
2686 2014-01-30  Tim Horton  <timothy_horton@apple.com>
2687
2688         WebKit2 View Gestures (Swipe): Provide a way for clients to provide views to swipe
2689         https://bugs.webkit.org/show_bug.cgi?id=127891
2690         <rdar://problem/15931413>
2691
2692         Reviewed by Anders Carlsson.
2693
2694         * WebCore.exp.in:
2695         A surprising export.
2696
2697 2014-01-30  Beth Dakin  <bdakin@apple.com>
2698
2699         https://bugs.webkit.org/show_bug.cgi?id=127371
2700         Explore new API that could be used to help build infinitely scrolling websites
2701         -and corresponding-
2702         <rdar://problem/15244768>
2703
2704         Reviewed by Sam Weinig.
2705
2706         This patch adds 4 new events called webkitwillrevealbottom, webkitwillrevealtop, 
2707         webkitwillrevealleft, and webkitwillrevealright. These events will fire when the 
2708         user has scrolled close to corresponding edge of the document. Right now that is 
2709         defined to be one viewport away from the corresponding edge. 
2710
2711         FrameView::scrollPositionChanged() and 
2712         FrameView::scrollPositionChangedViaPlatformWidget() now take two parameters 
2713         representing the old scroll position and the new position.
2714         * WebCore.exp.in:
2715
2716         New events.
2717         * dom/Document.h:
2718         * dom/Document.idl:
2719         * dom/Element.h:
2720         * dom/Element.idl:
2721         * dom/EventNames.h:
2722         * html/HTMLAttributeNames.in:
2723         * html/HTMLElement.cpp:
2724         (WebCore::populateEventNameForAttributeLocalNameMap):
2725         * page/DOMWindow.h:
2726         * page/DOMWindow.idl:
2727
2728         Send oldPosition and newPosition to scrollPositionChanged().
2729         * page/FrameView.cpp:
2730         (WebCore::FrameView::setFixedVisibleContentRect):
2731         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
2732
2733         After sending scroll events, also call sendWillRevealEdgeEventsIfNeeded() to send 
2734         the see if we should send the new will-reveal events.
2735         (WebCore::FrameView::scrollPositionChanged):
2736
2737         Use the old position and the new position to determine if the events should be 
2738         sent.
2739         (WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded):
2740
2741         Send new parameters to scrollPositionChanged().
2742         (WebCore::FrameView::scrollTo):
2743         (WebCore::FrameView::wheelEvent):
2744         * page/FrameView.h:
2745
2746 2014-01-30  Szabolcs David  <davidsz@inf.u-szeged.hu>
2747
2748         [curl] Improve realm string parsing in WWW-Authenticate headers
2749         https://bugs.webkit.org/show_bug.cgi?id=127421
2750
2751         Reviewed by Brent Fulgham.
2752
2753         The realm string contains quotes at the beginning and end - this is the
2754         opposite of the libsoup implementation. Furthermore, if the header is
2755         concatenated from two or more another headers, it contains more incorrect part.
2756
2757         * platform/network/curl/ResourceHandleManager.cpp:
2758         (WebCore::removeLeadingAndTrailingQuotes):
2759         (WebCore::getProtectionSpace):
2760
2761 2014-01-30  Anders Carlsson  <andersca@apple.com>
2762
2763         Modernize HTTPHeaderMap iteration
2764         https://bugs.webkit.org/show_bug.cgi?id=127915
2765
2766         Reviewed by Andreas Kling.
2767
2768         * inspector/InspectorResourceAgent.cpp:
2769         (WebCore::buildObjectForHeaders):
2770         (WebCore::InspectorResourceAgent::willLoadXHR):
2771         (WebCore::InspectorResourceAgent::replayXHR):
2772         * loader/CrossOriginAccessControl.cpp:
2773         (WebCore::isSimpleCrossOriginAccessRequest):
2774         (WebCore::createAccessControlPreflightRequest):
2775         * loader/CrossOriginPreflightResultCache.cpp:
2776         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
2777         * loader/DocumentLoader.cpp:
2778         (WebCore::DocumentLoader::responseReceived):
2779         * loader/appcache/ApplicationCacheStorage.cpp:
2780         (WebCore::ApplicationCacheStorage::store):
2781         * loader/cache/CachedRawResource.cpp:
2782         (WebCore::CachedRawResource::canReuse):
2783         * loader/cache/CachedResource.cpp:
2784         (WebCore::CachedResource::updateResponseAfterRevalidation):
2785         * platform/network/HTTPHeaderMap.cpp:
2786         (WebCore::HTTPHeaderMap::copyData):
2787         * platform/network/ResourceRequestBase.cpp:
2788         (WebCore::ResourceRequestBase::addHTTPHeaderFields):
2789         * platform/network/cf/ResourceRequestCFNet.cpp:
2790         (WebCore::setHeaderFields):
2791         * platform/network/mac/ResourceRequestMac.mm:
2792         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2793         * xml/XMLHttpRequest.cpp:
2794         (WebCore::XMLHttpRequest::getAllResponseHeaders):
2795
2796 2014-01-30  Antti Koivisto  <antti@apple.com>
2797
2798         WebPage::determinePrimarySnapshottedPlugIn is slow
2799         https://bugs.webkit.org/show_bug.cgi?id=127905
2800
2801         Reviewed by Anders Carlsson.
2802
2803         * WebCore.exp.in: New exports
2804         * WebCore.xcodeproj/project.pbxproj:
2805         * html/HTMLPlugInImageElement.h:
2806         (WebCore::HTMLPlugInImageElement>): Add isElementOfType<>
2807
2808 2014-01-30  Csaba Osztrogonác  <ossy@webkit.org>
2809
2810         [SOUP] Fix the build if !ENABLE(WEB_TIMING)
2811         https://bugs.webkit.org/show_bug.cgi?id=127906
2812
2813         Reviewed by Gustavo Noronha Silva.
2814
2815         * platform/network/soup/SoupNetworkSession.cpp:
2816
2817 2014-01-30  Andrei Bucur  <abucur@adobe.com>
2818
2819         Remove the ACCELERATED_COMPOSITING flag
2820         https://bugs.webkit.org/show_bug.cgi?id=127833
2821
2822         Reviewed by Antti Koivisto.
2823
2824         Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
2825         mandatory.
2826
2827         Tests: No new tests, no functional change.
2828
2829         * css/MediaQueryEvaluator.cpp:
2830         (WebCore::transform_3dMediaFeatureEval):
2831         * css/StyleResolver.cpp:
2832         (WebCore::StyleResolver::canShareStyleWithElement):
2833         * dom/Document.cpp:
2834         (WebCore::Document::setVisualUpdatesAllowed):
2835         (WebCore::Document::recalcStyle):
2836         (WebCore::Document::createRenderTree):
2837         (WebCore::Document::documentWillBecomeInactive):
2838         (WebCore::Document::documentDidResumeFromPageCache):
2839         (WebCore::Document::windowScreenDidChange):
2840         * dom/PseudoElement.cpp:
2841         (WebCore::PseudoElement::~PseudoElement):
2842         * history/CachedFrame.cpp:
2843         (WebCore::CachedFrameBase::CachedFrameBase):
2844         (WebCore::CachedFrameBase::restore):
2845         (WebCore::CachedFrame::CachedFrame):
2846         * history/CachedFrame.h:
2847         * history/CachedPage.cpp:
2848         (WebCore::CachedPage::restore):
2849         * history/CachedPage.h:
2850         * history/PageCache.cpp:
2851         (WebCore::PageCache::PageCache):
2852         (WebCore::PageCache::markPagesForDeviceScaleChanged):
2853         * history/PageCache.h:
2854         * html/HTMLCanvasElement.cpp:
2855         (WebCore::HTMLCanvasElement::getContext):
2856         (WebCore::HTMLCanvasElement::reset):
2857         (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
2858         (WebCore::HTMLCanvasElement::createImageBuffer):
2859         * html/HTMLMediaElement.cpp:
2860         (WebCore::HTMLMediaElement::parseAttribute):
2861         * html/HTMLMediaElement.h:
2862         * html/canvas/CanvasRenderingContext.h:
2863         * html/canvas/CanvasRenderingContext2D.cpp:
2864         (WebCore::CanvasRenderingContext2D::didDraw):
2865         * html/canvas/CanvasRenderingContext2D.h:
2866         * html/canvas/WebGLRenderingContext.cpp:
2867         (WebCore::WebGLRenderingContext::markContextChanged):
2868         (WebCore::WebGLRenderingContext::reshape):
2869         (WebCore::WebGLRenderingContext::platformLayer):
2870         * html/canvas/WebGLRenderingContext.h:
2871         * inspector/InspectorController.cpp:
2872         (WebCore::InspectorController::InspectorController):
2873         * inspector/InspectorInstrumentation.cpp:
2874         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2875         (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
2876         * inspector/InspectorInstrumentation.h:
2877         (WebCore::InspectorInstrumentation::pseudoElementDestroyed):
2878         * inspector/InspectorLayerTreeAgent.cpp:
2879         * inspector/InstrumentingAgents.cpp:
2880         (WebCore::InstrumentingAgents::InstrumentingAgents):
2881         (WebCore::InstrumentingAgents::reset):
2882         * inspector/InstrumentingAgents.h:
2883         * loader/EmptyClients.h:
2884         * page/ChromeClient.h:
2885         * page/Frame.cpp:
2886         (WebCore::Frame::layerTreeAsText):
2887         (WebCore::Frame::deviceOrPageScaleFactorChanged):
2888         * page/Frame.h:
2889         * page/FrameView.cpp:
2890         (WebCore::FrameView::setFrameRect):
2891         (WebCore::FrameView::scheduleLayerFlushAllowingThrottling):
2892         (WebCore::FrameView::hasCompositedContent):
2893         (WebCore::FrameView::hasCompositedContentIncludingDescendants):
2894         (WebCore::FrameView::hasCompositingAncestor):
2895         (WebCore::FrameView::enterCompositingMode):
2896         (WebCore::FrameView::isEnclosedInCompositingLayer):
2897         (WebCore::FrameView::flushCompositingStateIncludingSubframes):
2898         (WebCore::FrameView::isSoftwareRenderable):
2899         (WebCore::FrameView::layout):
2900         (WebCore::FrameView::contentsInCompositedLayer):
2901         (WebCore::FrameView::scrollContentsFastPath):
2902         (WebCore::FrameView::scrollContentsSlowPath):
2903         (WebCore::FrameView::setIsOverlapped):
2904         (WebCore::FrameView::delegatesScrollingDidChange):
2905         (WebCore::FrameView::scrollPositionChanged):
2906         (WebCore::FrameView::updateCompositingLayersAfterScrolling):
2907         (WebCore::FrameView::visibleContentsResized):
2908         (WebCore::FrameView::addedOrRemovedScrollbar):
2909         (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
2910         (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
2911         (WebCore::FrameView::adjustTiledBackingCoverage):
2912         (WebCore::FrameView::hasExtendedBackground):
2913         (WebCore::FrameView::extendedBackgroundRect):
2914         (WebCore::FrameView::setBackgroundExtendsBeyondPage):
2915         (WebCore::FrameView::performPostLayoutTasks):
2916         (WebCore::FrameView::paintContents):
2917         (WebCore::FrameView::setTracksRepaints):
2918         (WebCore::FrameView::resetTrackedRepaints):
2919         (WebCore::FrameView::setScrollingPerformanceLoggingEnabled):
2920         (WebCore::FrameView::setExposedRect):
2921         * page/FrameView.h:
2922         * page/Page.cpp:
2923         (WebCore::Page::setPageScaleFactor):
2924         (WebCore::Page::setDeviceScaleFactor):
2925         * page/Settings.cpp:
2926         (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
2927         * page/animation/AnimationBase.cpp:
2928         (WebCore::AnimationBase::freezeAtTime):
2929         * page/animation/AnimationController.cpp:
2930         (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
2931         * page/animation/CSSPropertyAnimation.cpp:
2932         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
2933         (WebCore::CSSPropertyAnimation::blendProperties):
2934         (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
2935         * page/animation/CSSPropertyAnimation.h:
2936         * page/animation/CompositeAnimation.cpp:
2937         (WebCore::CompositeAnimation::updateTransitions):
2938         * page/animation/ImplicitAnimation.cpp:
2939         (WebCore::ImplicitAnimation::animate):
2940         (WebCore::ImplicitAnimation::startAnimation):
2941         (WebCore::ImplicitAnimation::pauseAnimation):
2942         (WebCore::ImplicitAnimation::endAnimation):
2943         (WebCore::ImplicitAnimation::timeToNextService):
2944         * page/animation/KeyframeAnimation.cpp:
2945         (WebCore::KeyframeAnimation::animate):
2946         (WebCore::KeyframeAnimation::startAnimation):
2947         (WebCore::KeyframeAnimation::pauseAnimation):
2948         (WebCore::KeyframeAnimation::endAnimation):
2949         (WebCore::KeyframeAnimation::timeToNextService):
2950         * page/ios/FrameIOS.mm:
2951         (WebCore::Frame::viewportOffsetChanged):
2952         (WebCore::Frame::containsTiledBackingLayers):
2953         * page/scrolling/AsyncScrollingCoordinator.cpp:
2954         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
2955         * page/scrolling/ScrollingCoordinator.cpp:
2956         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
2957         (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
2958         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
2959         (WebCore::ScrollingCoordinator::scrollLayerForFrameView):
2960         (WebCore::ScrollingCoordinator::headerLayerForFrameView):
2961         (WebCore::ScrollingCoordinator::footerLayerForFrameView):
2962         (WebCore::ScrollingCoordinator::counterScrollingLayerForFrameView):
2963         (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
2964         * page/scrolling/ScrollingCoordinator.h:
2965         * platform/ScrollView.cpp:
2966         (WebCore::positionScrollCornerLayer):
2967         (WebCore::ScrollView::positionScrollbarLayers):
2968         (WebCore::ScrollView::paintScrollbars):
2969         (WebCore::ScrollView::paint):
2970         * platform/ScrollableArea.cpp:
2971         (WebCore::ScrollableArea::invalidateScrollbar):
2972         (WebCore::ScrollableArea::invalidateScrollCorner):
2973         (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
2974         (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
2975         (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
2976         (WebCore::ScrollableArea::hasLayerForScrollCorner):
2977         * platform/ScrollableArea.h:
2978         * platform/ScrollbarTheme.h:
2979         * platform/efl/EflScreenUtilities.cpp:
2980         (WebCore::applyFallbackCursor):
2981         * platform/graphics/GraphicsContext3D.h:
2982         * platform/graphics/GraphicsContext3DPrivate.cpp:
2983         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2984         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2985         * platform/graphics/GraphicsContext3DPrivate.h:
2986         * platform/graphics/GraphicsLayer.cpp:
2987         * platform/graphics/GraphicsLayer.h:
2988         * platform/graphics/GraphicsLayerAnimation.cpp:
2989         * platform/graphics/GraphicsLayerAnimation.h:
2990         * platform/graphics/GraphicsLayerClient.h:
2991         * platform/graphics/GraphicsLayerFactory.h:
2992         * platform/graphics/GraphicsLayerUpdater.cpp:
2993         * platform/graphics/GraphicsLayerUpdater.h:
2994         * platform/graphics/ImageBuffer.cpp:
2995         * platform/graphics/ImageBuffer.h:
2996         * platform/graphics/MediaPlayer.cpp:
2997         (WebCore::MediaPlayer::platformLayer):
2998         (WebCore::MediaPlayer::supportsAcceleratedRendering):
2999         * platform/graphics/MediaPlayer.h:
3000         * platform/graphics/MediaPlayerPrivate.h:
3001         * platform/graphics/PlatformLayer.h:
3002         * platform/graphics/TextTrackRepresentation.cpp:
3003         * platform/graphics/TextTrackRepresentation.h:
3004         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3005         (WebCore::MediaPlayerPrivateAVFoundation::currentRenderingMode):
3006         (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
3007         (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
3008         (WebCore::MediaPlayerPrivateAVFoundation::tearDownVideoRendering):
3009         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3010         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
3011         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3012         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
3013         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
3014         * platform/graphics/ca/GraphicsLayerCA.cpp:
3015         * platform/graphics/ca/GraphicsLayerCA.h:
3016         * platform/graphics/ca/LayerFlushScheduler.cpp:
3017         * platform/graphics/ca/LayerFlushScheduler.h:
3018         * platform/graphics/ca/LayerFlushSchedulerClient.h:
3019         * platform/graphics/ca/PlatformCAAnimation.h:
3020         * platform/graphics/ca/PlatformCAFilters.h:
3021         * platform/graphics/ca/PlatformCALayer.h:
3022         * platform/graphics/ca/PlatformCALayerClient.h:
3023         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
3024         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
3025         (PlatformCAAnimation::copyTimingFunctionsFrom):
3026         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
3027         * platform/graphics/ca/mac/PlatformCALayerMac.h:
3028         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3029         (PlatformCALayerMac::enumerateRectsBeingDrawn):
3030         * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h:
3031         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
3032         * platform/graphics/ca/win/CACFLayerTreeHost.h:
3033         * platform/graphics/ca/win/CACFLayerTreeHostClient.h:
3034         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
3035         * platform/graphics/ca/win/LayerChangesFlusher.h:
3036         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
3037         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
3038         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
3039         (PlatformCAAnimation::copyTimingFunctionsFrom):
3040         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
3041         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3042         (PlatformCALayerWin::createCompatibleLayer):
3043         * platform/graphics/ca/win/PlatformCALayerWin.h:
3044         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
3045         (PlatformCALayerWinInternal::drawTile):
3046         * platform/graphics/ca/win/PlatformCALayerWinInternal.h:
3047         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
3048         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
3049         * platform/graphics/cairo/DrawingBufferCairo.cpp:
3050         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
3051         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
3052         (WebCore::GraphicsContext3D::platformLayer):
3053         * platform/graphics/cairo/ImageBufferCairo.cpp:
3054         (WebCore::ImageBuffer::platformLayer):
3055         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
3056         (WebCore::GraphicsContext3D::platformLayer):
3057         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3058         * platform/graphics/efl/GraphicsContext3DPrivate.h:
3059         * platform/graphics/gpu/DrawingBuffer.h:
3060         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
3061         * platform/graphics/gpu/TilingData.cpp:
3062         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3063         (WebCore::DrawingBuffer::frontColorBuffer):
3064         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3065         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
3066         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
3067         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3068         * platform/graphics/ios/MediaPlayerPrivateIOS.h:
3069         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
3070         (WebCore::MediaPlayerPrivateIOS::supportsAcceleratedRendering):
3071         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3072         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3073         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
3074         (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
3075         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
3076         (WebCore::MediaPlayerPrivateQTKit::platformLayer):
3077         (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
3078         (WebCore::MediaPlayerPrivateQTKit::layerHostChanged):
3079         (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
3080         (-[WebCoreMovieObserver layerHostChanged:]):
3081         * platform/graphics/mac/WebGLLayer.h:
3082         * platform/graphics/mac/WebGLLayer.mm:
3083         * platform/graphics/mac/WebLayer.h:
3084         * platform/graphics/mac/WebLayer.mm:
3085         * platform/graphics/mac/WebTiledLayer.h:
3086         * platform/graphics/mac/WebTiledLayer.mm:
3087         * platform/graphics/opengl/GLDefs.h:
3088         * platform/graphics/opengl/GLPlatformContext.cpp:
3089         * platform/graphics/opengl/GLPlatformContext.h:
3090         * platform/graphics/opengl/GLPlatformSurface.cpp:
3091         * platform/graphics/opengl/GLPlatformSurface.h:
3092         * platform/graphics/surfaces/GLTransportSurface.cpp:
3093         * platform/graphics/surfaces/GLTransportSurface.h:
3094         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
3095         * platform/graphics/surfaces/glx/GLXContext.cpp:
3096         * platform/graphics/surfaces/glx/GLXContext.h:
3097         * platform/graphics/surfaces/glx/GLXSurface.cpp:
3098         * platform/graphics/surfaces/glx/GLXSurface.h:
3099         * platform/graphics/texmap/TextureMapper.cpp:
3100         * platform/graphics/texmap/TextureMapper.h:
3101         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
3102         * platform/graphics/texmap/TextureMapperBackingStore.h:
3103         * platform/graphics/texmap/TextureMapperFPSCounter.cpp:
3104         * platform/graphics/texmap/TextureMapperFPSCounter.h:
3105         * platform/graphics/texmap/TextureMapperGL.cpp:
3106         * platform/graphics/texmap/TextureMapperGL.h:
3107         * platform/graphics/texmap/TextureMapperLayer.cpp:
3108         * platform/graphics/texmap/TextureMapperLayer.h:
3109         * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
3110         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
3111         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
3112         * platform/graphics/texmap/TextureMapperTile.cpp:
3113         * platform/graphics/texmap/TextureMapperTile.h:
3114         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
3115         * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
3116         * platform/graphics/win/GraphicsContext3DWin.cpp:
3117         (WebCore::GraphicsContext3D::platformLayer):
3118         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
3119         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
3120         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
3121         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
3122         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3123         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
3124         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
3125         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
3126         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
3127         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
3128         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
3129         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
3130         (WebCore::CreateCGImageFromPixelBuffer):
3131         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
3132         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode):
3133         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::preferredRenderingMode):
3134         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
3135         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
3136         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering):
3137         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
3138         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
3139         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
3140         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode):
3141         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
3142         * platform/graphics/win/WKCAImageQueue.cpp:
3143         * platform/graphics/win/WKCAImageQueue.h:
3144         * platform/mac/ScrollbarThemeMac.h:
3145         * platform/mac/ScrollbarThemeMac.mm:
3146         * plugins/PluginViewBase.h:
3147         * rendering/FlowThreadController.cpp:
3148         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
3149         * rendering/FlowThreadController.h:
3150         * rendering/RenderBox.cpp:
3151         (WebCore::RenderBox::styleWillChange):
3152         (WebCore::isCandidateForOpaquenessTest):
3153         (WebCore::layersUseImage):
3154         (WebCore::RenderBox::imageChanged):
3155         * rendering/RenderBoxModelObject.cpp:
3156         (WebCore::RenderBoxModelObject::suspendAnimations):
3157         (WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
3158         * rendering/RenderBoxModelObject.h:
3159         * rendering/RenderElement.cpp:
3160         (WebCore::RenderElement::adjustStyleDifference):
3161         (WebCore::RenderElement::setStyle):
3162         (WebCore::RenderElement::styleWillChange):
3163         * rendering/RenderEmbeddedObject.cpp:
3164         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
3165         * rendering/RenderEmbeddedObject.h:
3166         * rendering/RenderFlowThread.cpp:
3167         (WebCore::RenderFlowThread::RenderFlowThread):
3168         (WebCore::RenderFlowThread::layout):
3169         (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
3170         * rendering/RenderFlowThread.h:
3171         * rendering/RenderFullScreen.cpp:
3172         * rendering/RenderImage.cpp:
3173         (WebCore::RenderImage::imageDimensionsChanged):
3174         (WebCore::RenderImage::notifyFinished):
3175         * rendering/RenderLayer.cpp:
3176         (WebCore::RenderLayer::RenderLayer):
3177         (WebCore::RenderLayer::~RenderLayer):
3178         (WebCore::RenderLayer::canRender3DTransforms):
3179         (WebCore::RenderLayer::paintsWithFilters):
3180         (WebCore::RenderLayer::updateLayerPositions):
3181         (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive):
3182         (WebCore::RenderLayer::currentTransform):
3183         (WebCore::RenderLayer::updateDescendantDependentFlags):
3184         (WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate):
3185         (WebCore::RenderLayer::shouldRepaintAfterLayout):
3186         (WebCore::RenderLayer::enclosingFilterRepaintLayer):
3187         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
3188         (WebCore::RenderLayer::clippingRootForPainting):
3189         (WebCore::RenderLayer::addChild):
3190         (WebCore::RenderLayer::removeChild):
3191         (WebCore::RenderLayer::removeOnlyThisLayer):
3192         (WebCore::RenderLayer::scrollTo):
3193         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
3194         (WebCore::RenderLayer::invalidateScrollbarRect):
3195         (WebCore::RenderLayer::invalidateScrollCornerRect):
3196         (WebCore::RenderLayer::positionOverflowControls):
3197         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
3198         (WebCore::RenderLayer::paintOverflowControls):
3199         (WebCore::shouldDoSoftwarePaint):
3200         (WebCore::RenderLayer::paintLayer):
3201         (WebCore::RenderLayer::calculateClipRects):
3202         * rendering/RenderLayer.h:
3203         * rendering/RenderLayerBacking.cpp:
3204         * rendering/RenderLayerBacking.h:
3205         * rendering/RenderLayerCompositor.cpp:
3206         * rendering/RenderLayerCompositor.h:
3207         * rendering/RenderNamedFlowThread.cpp:
3208         (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
3209         * rendering/RenderNamedFlowThread.h:
3210         * rendering/RenderObject.cpp:
3211         (WebCore::RenderObject::containerForRepaint):
3212         (WebCore::RenderObject::repaintUsingContainer):
3213         * rendering/RenderTreeAsText.cpp:
3214         (WebCore::write):
3215         * rendering/RenderVideo.cpp:
3216         (WebCore::RenderVideo::updatePlayer):
3217         (WebCore::RenderVideo::acceleratedRenderingStateChanged):
3218         * rendering/RenderVideo.h:
3219         * rendering/RenderView.cpp:
3220         (WebCore::RenderView::paintBoxDecorations):
3221         (WebCore::RenderView::repaintRootContents):
3222         (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
3223         (WebCore::RenderView::repaintViewAndCompositedLayers):
3224         (WebCore::RenderView::setMaximalOutlineSize):
3225         (WebCore::RenderView::compositor):
3226         (WebCore::RenderView::setIsInWindow):
3227         * rendering/RenderView.h:
3228         * rendering/RenderWidget.cpp:
3229         (WebCore::RenderWidget::setWidgetGeometry):
3230         (WebCore::RenderWidget::requiresAcceleratedCompositing):
3231         * rendering/RenderWidget.h:
3232         * rendering/style/RenderStyle.cpp:
3233         (WebCore::RenderStyle::changeRequiresLayout):
3234         (WebCore::RenderStyle::changeRequiresLayerRepaint):
3235         (WebCore::RenderStyle::changeRequiresRecompositeLayer):
3236         (WebCore::RenderStyle::diff):
3237         * rendering/style/RenderStyle.h:
3238         * rendering/style/RenderStyleConstants.h:
3239         * rendering/style/StyleRareNonInheritedData.cpp:
3240         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3241         (WebCore::StyleRareNonInheritedData::operator==):
3242         * rendering/style/StyleRareNonInheritedData.h:
3243         * testing/Internals.cpp:
3244         (WebCore::Internals::resetToConsistentState):
3245         (WebCore::Internals::setHeaderHeight):
3246         (WebCore::Internals::setFooterHeight):
3247
3248 2014-01-30  Krzysztof Czech  <k.czech@samsung.com>
3249
3250         AX: Clean up AccessibilityRenderObject
3251         https://bugs.webkit.org/show_bug.cgi?id=127838
3252
3253         Reviewed by Chris Fleizach.
3254
3255         Reducing some code by implementing ariaElementsFromAttribute.
3256         It is used as a helper for other methods.
3257
3258         No new tests. Covered by existing ones.
3259
3260         * accessibility/AccessibilityRenderObject.cpp:
3261         (WebCore::AccessibilityRenderObject::ariaElementsFromAttribute):
3262         (WebCore::AccessibilityRenderObject::ariaFlowToElements):
3263         (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
3264         (WebCore::AccessibilityRenderObject::ariaOwnsElements):
3265         * accessibility/AccessibilityRenderObject.h:
3266
3267 2014-01-29  Commit Queue  <commit-queue@webkit.org>
3268
3269         Unreviewed, rolling out r163048.
3270         http://trac.webkit.org/changeset/163048
3271         https://bugs.webkit.org/show_bug.cgi?id=127890
3272
3273         Caused many crashes, detected by EWS prior to landing
3274         (Requested by ap on #webkit).
3275
3276         * Modules/mediacontrols/MediaControlsHost.cpp:
3277         (WebCore::MediaControlsHost::sortedTrackListForMenu):
3278         (WebCore::MediaControlsHost::displayNameForTrack):
3279         (WebCore::MediaControlsHost::captionDisplayMode):
3280         * WebCore.exp.in:
3281         * WebCore.vcxproj/WebCore.vcxproj:
3282         * WebCore.vcxproj/WebCore.vcxproj.filters:
3283         * WebCore.xcodeproj/project.pbxproj:
3284         * css/DocumentRuleSets.cpp:
3285         (WebCore::DocumentRuleSets::initUserStyle):
3286         * css/InspectorCSSOMWrappers.cpp:
3287         (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection):
3288         * dom/Document.cpp:
3289         (WebCore::Document::setCompatibilityMode):
3290         (WebCore::Document::registerForCaptionPreferencesChangedCallbacks):
3291         (WebCore::Document::captionPreferencesChanged):
3292         * dom/DocumentStyleSheetCollection.cpp:
3293         * dom/DocumentStyleSheetCollection.h:
3294         * html/HTMLMediaElement.cpp:
3295         (WebCore::HTMLMediaElement::HTMLMediaElement):
3296         (WebCore::HTMLMediaElement::parseAttribute):
3297         * html/shadow/MediaControlElements.cpp:
3298         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
3299         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
3300         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
3301         * page/CaptionStyleSheetMediaAF.cpp: Removed.
3302         * page/CaptionStyleSheetMediaAF.h: Removed.
3303         * page/CaptionUserPreferences.cpp:
3304         (WebCore::CaptionUserPreferences::CaptionUserPreferences):
3305         (WebCore::CaptionUserPreferences::notify):
3306         (WebCore::CaptionUserPreferences::setCaptionDisplayMode):
3307         (WebCore::CaptionUserPreferences::userPrefersCaptions):
3308         (WebCore::CaptionUserPreferences::setUserPrefersCaptions):
3309         (WebCore::CaptionUserPreferences::userPrefersSubtitles):
3310         (WebCore::CaptionUserPreferences::setUserPrefersSubtitles):
3311         (WebCore::CaptionUserPreferences::userPrefersTextDescriptions):
3312         (WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions):
3313         (WebCore::CaptionUserPreferences::captionPreferencesChanged):
3314         (WebCore::CaptionUserPreferences::textTrackSelectionScore):
3315         (WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride):
3316         (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
3317         * page/CaptionUserPreferences.h:
3318         (WebCore::CaptionUserPreferences::captionsStyleSheetOverride):
3319         (WebCore::CaptionUserPreferences::setInterestedInCaptionPreferenceChanges):
3320         (WebCore::CaptionUserPreferences::testingMode):
3321         (WebCore::CaptionUserPreferences::setTestingMode):
3322         (WebCore::CaptionUserPreferences::pageGroup):
3323         * page/CaptionUserPreferencesMediaAF.cpp:
3324         (WebCore::userCaptionPreferencesChangedNotificationCallback):
3325         (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
3326         (WebCore::CaptionUserPreferencesMediaAF::userPrefersCaptions):
3327         (WebCore::CaptionUserPreferencesMediaAF::userPrefersSubtitles):
3328         (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
3329         (WebCore::CaptionUserPreferencesMediaAF::captionPreferencesChanged):
3330         (WebCore::CaptionUserPreferencesMediaAF::captionsWindowCSS):
3331         (WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
3332         (WebCore::CaptionUserPreferencesMediaAF::captionsTextColor):
3333         (WebCore::CaptionUserPreferencesMediaAF::captionsTextColorCSS):
3334         (WebCore::CaptionUserPreferencesMediaAF::windowRoundedCornerRadiusCSS):
3335         (WebCore::CaptionUserPreferencesMediaAF::captionsEdgeColorForTextColor):
3336         (WebCore::CaptionUserPreferencesMediaAF::cssPropertyWithTextEdgeColor):
3337         (WebCore::CaptionUserPreferencesMediaAF::colorPropertyCSS):
3338         (WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
3339         (WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):
3340         (WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride):
3341         (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):
3342         (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
3343         * page/CaptionUserPreferencesMediaAF.h:
3344         * page/Page.cpp:
3345         * page/Page.h:
3346         * page/PageGroup.cpp:
3347         (WebCore::PageGroup::captionPreferencesChanged):
3348         (WebCore::PageGroup::captionPreferences):
3349         * page/PageGroup.h:
3350         * testing/InternalSettings.cpp:
3351         (WebCore::InternalSettings::setShouldDisplayTrackKind):
3352         (WebCore::InternalSettings::shouldDisplayTrackKind):
3353         * testing/Internals.cpp:
3354         (WebCore::Internals::resetToConsistentState):
3355         (WebCore::Internals::Internals):
3356         (WebCore::Internals::captionsStyleSheetOverride):
3357         (WebCore::Internals::setCaptionsStyleSheetOverride):
3358         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
3359         (WebCore::Internals::setCaptionDisplayMode):
3360
3361 2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
3362
3363         Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers
3364         https://bugs.webkit.org/show_bug.cgi?id=127845
3365
3366         Reviewed by Joseph Pecoraro.
3367
3368         * Configurations/FeatureDefines.xcconfig:
3369         * bindings/js/JSDOMWindowBase.cpp:
3370         (WebCore::JSDOMWindowBase::supportsProfiling):
3371
3372 2014-01-29  Gavin Barraclough  <barraclough@apple.com>
3373
3374         Add IsVisibleOrOccluded to ViewState
3375         https://bugs.webkit.org/show_bug.cgi?id=127875
3376
3377         Reviewed by Anders Carlsson.
3378
3379         * page/ViewState.h:
3380             - added IsVisibleOrOccluded
3381
3382 2014-01-29  Ryosuke Niwa  <rniwa@webkit.org>
3383
3384         EventHandler::handleMouseReleaseEvent shouldn't call updateSelectionCachesIfSelectionIsInsideTextFormControl
3385         and selectFrameElementInParentIfFullySelected
3386         https://bugs.webkit.org/show_bug.cgi?id=127834
3387
3388         Reviewed by Alexey Proskuryakov.
3389
3390         Removed the calls and made setNonDirectionalSelectionIfNeeded pass in UserTriggered option.
3391
3392         In addition, removed the rather error-prone function override of setSelection since TextGranularity,
3393         which is an enum, could be implicitly coerced into SetSelectionOptions which is a typedefed unsigned int.
3394
3395         * editing/FrameSelection.cpp:
3396         (WebCore::FrameSelection::setSelectionByMouseIfDifferent): Renamed from setNonDirectionalSelectionIfNeeded.
3397         Pass in DoNotRevealSelection to avoid revealing the selection to preserve the existing behavior.
3398         There are two layout tests that fail without this.
3399         (WebCore::FrameSelection::setSelection): Check the newly addeed DoNotRevealSelection option.
3400         (WebCore::FrameSelection::wordSelectionContainingCaretSelection): Call
3401
3402         * editing/FrameSelection.h: Made updateSelectionCachesIfSelectionIsInsideTextFormControl and
3403         selectFrameElementInParentIfFullySelected private as they are no longer called outside of FrameSelection.
3404
3405         * page/EventHandler.cpp:
3406         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
3407         (WebCore::EventHandler::updateSelectionForMouseDrag):
3408         (WebCore::EventHandler::handleMouseReleaseEvent): Removed calls to the functions.
3409
3410 2014-01-29  Jer Noble  <jer.noble@apple.com>
3411
3412         Unreviewed iOS build fix after 163050.
3413
3414         Import CALayer.h explicitly as (on iOS) it is not included by other headers.
3415
3416         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3417
3418 2014-01-29  Jer Noble  <jer.noble@apple.com>
3419
3420         Unreviewed Mac Build fix after r163046.
3421
3422         Forward define AVSampleLayerDisplayLayer and its methods.
3423
3424         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3425
3426 2014-01-26  Sam Weinig  <sam@webkit.org>
3427
3428         CaptionUserPreferences should not be on the PageGroup if they are not really per-PageGroup (Part 1)
3429         https://bugs.webkit.org/show_bug.cgi?id=127666
3430
3431         Reviewed by Eric Carlson.
3432
3433         This patch:
3434         - Makes CaptionUserPreferences a singleton (temporary) that is accessed
3435           via Page.
3436         - Simplifies overriding system preferences by requiring that a Document be
3437           be passed so the correct Settings object can be obtained (and not just a 
3438           random one).
3439         - Stops using UserStyleSheets for captions style injection, and instead
3440           adds a new style sheet to the DocumentStyleSheetCollection.
3441         - Move caption style sheet creation into its own file - CaptionStyleSheetMediaAF.h/cpp
3442
3443         * WebCore.vcxproj/WebCore.vcxproj:
3444         * WebCore.vcxproj/WebCore.vcxproj.filters:
3445         * WebCore.xcodeproj/project.pbxproj:
3446         Add new files.
3447
3448         * WebCore.exp.in:
3449         Update exports.
3450
3451         * css/DocumentRuleSets.cpp:
3452         * css/InspectorCSSOMWrappers.cpp:
3453         * dom/Document.cpp:
3454         * dom/DocumentStyleSheetCollection.cpp:
3455         * dom/DocumentStyleSheetCollection.h:
3456         Switch from using the user style sheet mechanism, which is meant for, you guessed it, users,
3457         to an explicit caption style sheet.
3458
3459         * Modules/mediacontrols/MediaControlsHost.cpp:
3460         * html/HTMLMediaElement.cpp:
3461         * html/shadow/MediaControlElements.cpp:
3462         Get the CaptionUserPreferences via the Page.
3463
3464         * page/CaptionStyleSheetMediaAF.cpp: Added.
3465         * page/CaptionStyleSheetMediaAF.h: Added.
3466         Move caption style sheet creation here. If the global style changes, the sheet is invalidated
3467         and this is called again.
3468
3469         * page/CaptionUserPreferences.cpp:
3470         * page/CaptionUserPreferences.h:
3471         - Removes unused m_havePreferences member.
3472         - Change userPrefersFoo() functions to take a Document&. Use it to check its Settings.
3473         - Remove setUserPrefersFoo() functions and just set the Settings directly.
3474         - Move all the testing only pieces together.
3475         
3476         * page/CaptionUserPreferencesMediaAF.cpp:
3477         * page/CaptionUserPreferencesMediaAF.h:
3478         - Extract caption style sheet creation into CaptionStyleSheetMediaAF.h/cpp
3479         - Stop waiting for an interested party, and just register for appearance change
3480           notifications right away. Media elements are common enough that this should not
3481           make a difference.
3482
3483         * page/Page.cpp:
3484         (WebCore::Page::updateStyleForAllPagesForCaptionPreferencesChanged):
3485         Add helper to call captionPreferencesChanged() on all the Pages.
3486
3487         (WebCore::Page::captionPreferences):
3488         Add accessor for the CaptionUserPreferences. Currently this returns a singleton, but I plan
3489         to extract the singleton aspects of it into another class, and leave the per-Page parts here.
3490
3491         * page/Page.h:
3492         * page/PageGroup.cpp:
3493         * page/PageGroup.h:
3494         Remove CaptionUserPreferences from here.
3495
3496         * testing/InternalSettings.cpp:
3497         (WebCore::InternalSettings::setShouldDisplayTrackKind):
3498         (WebCore::InternalSettings::shouldDisplayTrackKind):
3499         Override the settings for the page directly.
3500
3501         * testing/Internals.cpp:
3502         (WebCore::Internals::resetToConsistentState):
3503         (WebCore::Internals::Internals):
3504         (WebCore::Internals::captionsStyleSheetOverride):
3505         (WebCore::Internals::setCaptionsStyleSheetOverride):
3506         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
3507         (WebCore::Internals::setCaptionDisplayMode):
3508         Get the CaptionUserPreferences via the Page.
3509
3510 2014-01-29  Jer Noble  <jer.noble@apple.com>
3511
3512         [MSE][Mac] In SourceBufferPrivateAVFObjC, only include those headers actually necessary to compile.
3513         https://bugs.webkit.org/show_bug.cgi?id=127846
3514
3515         Reviewed by Darin Adler.
3516
3517         To work around a compile issue, only include those paths containing classes and typedefs
3518         which are used within SourceBufferPrivateAVFObjC, rather than all of AVFoundation.
3519
3520         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3521
3522 2014-01-29  Brady Eidson  <beidson@apple.com>
3523
3524         IDB: Fully implement IDBKeyData encoding/decoding
3525         https://bugs.webkit.org/show_bug.cgi?id=127863
3526
3527         Rubberstamped by Alexey Proskuryakov.
3528
3529         * platform/KeyedCoding.h:
3530
3531         * Modules/indexeddb/IDBKeyData.cpp:
3532         (WebCore::IDBKeyData::encode):
3533         (WebCore::IDBKeyData::decode):
3534
3535         * WebCore.exp.in:
3536
3537 2014-01-29  Bem Jones-Bey  <bjonesbe@adobe.com>
3538
3539         clip-path swaps bottom radii for the inset shape
3540         https://bugs.webkit.org/show_bug.cgi?id=127859
3541
3542         Reviewed by Dirk Schulze.
3543
3544         The bottom right and bottom left radii were passed in the wrong order,
3545         causing the wrong corner to be clipped in the resultant rendering.
3546
3547         Test: css3/masking/clip-path-inset-corners.html
3548
3549         * rendering/style/BasicShapes.cpp:
3550         (WebCore::BasicShapeInset::path): Change the parameter order to be
3551         correct.
3552
3553 2014-01-29  Jer Noble  <jer.noble@apple.com>
3554
3555         [MediaControls][iOS] Hook up the fullscreen button
3556         https://bugs.webkit.org/show_bug.cgi?id=127850
3557
3558         Reviewed by Eric Carlson.
3559
3560         For the fullscreen button, do the same thing we do for the play button: handle touchstart,
3561         touchend, and touchcancel, and perform the action (i.e., 'click') on touchend.
3562
3563         * Modules/mediacontrols/mediaControlsiOS.js:
3564         (ControllerIOS.prototype.createControls): Add listeners for the fullscreenButton.
3565         (ControllerIOS.prototype.isFullScreen): Override.
3566         (ControllerIOS.prototype.handleFullscreenButtonClicked): Override.
3567         (ControllerIOS.prototype.handleFullscreenTouchStart): Added.
3568         (ControllerIOS.prototype.handleFullscreenTouchEnd): Added.
3569         (ControllerIOS.prototype.handleFullscreenTouchCancel): Added.
3570
3571 2014-01-29  Brady Eidson  <beidson@apple.com>
3572
3573         IDB: Opening an existing database is broken
3574         https://bugs.webkit.org/show_bug.cgi?id=127851
3575
3576         Reviewed by Tim Hatcher.
3577
3578         * Modules/indexeddb/IDBDatabaseBackend.cpp:
3579         (WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
3580         (WebCore::IDBDatabaseBackend::didOpenInternalAsync): Remember if this method has completed.
3581         (WebCore::IDBDatabaseBackend::processPendingCalls): If didOpenInternalAsync hasn’t
3582           been called yet, then it is incorrect to process any pending calls right now.
3583         * Modules/indexeddb/IDBDatabaseBackend.h:
3584
3585 2014-01-29  Oliver Hunt  <oliver@apple.com>
3586
3587         This dereference should not actually be necessary, and
3588         is producing deprecation warnings with newer perls
3589
3590         * bindings/scripts/CodeGeneratorJS.pm:
3591         (GenerateAttributesHashTable):
3592
3593 2014-01-28  Oliver Hunt  <oliver@apple.com>
3594
3595         Make DOM attributes appear to be faux accessor properties
3596         https://bugs.webkit.org/show_bug.cgi?id=127797
3597
3598         Reviewed by Michael Saboff.
3599
3600         Refactor the bindings generator, and make sure we emit
3601         the CustomAccessor flag on properties that should 
3602         appear to be accessors.
3603
3604         * bindings/scripts/CodeGeneratorJS.pm:
3605         (GenerateGetOwnPropertySlotBody):
3606         (GenerateAttributesHashTable):
3607         (GenerateImplementation):
3608
3609 2014-01-29  Alex Christensen  <achristensen@webkit.org>
3610
3611         Prepare for accelerated compositing on WinCairo.
3612         https://bugs.webkit.org/show_bug.cgi?id=127843
3613
3614         Reviewed by Anders Carlsson.
3615
3616         * platform/network/curl/ResourceHandleManager.cpp:
3617         (WebCore::setupFormData):
3618         Remove VS2005 warning workaround.
3619         * WebCore.vcxproj/WebCore.vcxproj:
3620         Remove StyleCachedImageSet.cpp and CSSImageSetValue.cpp from the Win64 build
3621         to avoid warnings because they are also included in StyleAllInOne.cpp and
3622         CSSAllInOne.cpp, respectively.
3623
3624 2014-01-28  Michael Saboff  <msaboff@apple.com>
3625
3626         Merge the jsCStack branch
3627         https://bugs.webkit.org/show_bug.cgi?id=127763
3628
3629         Reviewed by Mark Hahnenberg.
3630
3631         Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
3632         up to changeset 162958.
3633
3634 2014-01-29  Dan Bernstein  <mitz@apple.com>
3635
3636         Fixed the iOS build.
3637
3638         * bindings/js/JSDOMWindowCustom.cpp: Updated for header renames.
3639
3640 2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
3641
3642         Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
3643         https://bugs.webkit.org/show_bug.cgi?id=127840
3644
3645         Reviewed by Mark Lam.
3646
3647         * bindings/js/JSDOMWindowBase.cpp:
3648         (WebCore::JSDOMWindowBase::supportsProfiling):
3649         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
3650         * bindings/js/PageScriptDebugServer.cpp:
3651         * bindings/js/PageScriptDebugServer.h:
3652         * bindings/js/ScriptProfile.cpp:
3653         * bindings/js/ScriptProfile.h:
3654         * bindings/js/ScriptProfileNode.h:
3655         * bindings/js/ScriptProfiler.cpp:
3656         * bindings/js/ScriptProfiler.h:
3657         * bindings/js/WorkerScriptDebugServer.cpp:
3658         * bindings/js/WorkerScriptDebugServer.h:
3659         * inspector/InspectorConsoleAgent.h:
3660         * inspector/InspectorConsoleInstrumentation.h:
3661         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
3662         * inspector/InspectorController.cpp:
3663         (WebCore::InspectorController::InspectorController):
3664         (WebCore::InspectorController::resume):
3665         * inspector/InspectorController.h:
3666         * inspector/InspectorDOMDebuggerAgent.cpp:
3667         * inspector/InspectorDOMDebuggerAgent.h:
3668         * inspector/InspectorHeapProfilerAgent.cpp:
3669         * inspector/InspectorHeapProfilerAgent.h:
3670         * inspector/InspectorInstrumentation.cpp:
3671         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
3672         (WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
3673         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
3674         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
3675         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
3676         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
3677         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
3678         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
3679         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
3680         (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
3681         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3682         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
3683         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
3684         (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
3685         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
3686         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
3687         * inspector/InspectorInstrumentation.h:
3688         * inspector/InspectorProfilerAgent.cpp:
3689         * inspector/InspectorProfilerAgent.h:
3690         * inspector/InstrumentingAgents.cpp:
3691         (WebCore::InstrumentingAgents::InstrumentingAgents):
3692         (WebCore::InstrumentingAgents::reset):
3693         * inspector/InstrumentingAgents.h:
3694         * inspector/PageDebuggerAgent.cpp:
3695         * inspector/PageDebuggerAgent.h:
3696         * inspector/ScriptProfile.idl:
3697         * inspector/ScriptProfileNode.idl:
3698         * inspector/WebDebuggerAgent.cpp:
3699         * inspector/WebDebuggerAgent.h:
3700         * inspector/WorkerDebuggerAgent.cpp:
3701         * inspector/WorkerDebuggerAgent.h:
3702         * inspector/WorkerInspectorController.cpp:
3703         (WebCore::WorkerInspectorController::WorkerInspectorController):
3704         (WebCore::WorkerInspectorController::resume):
3705         * inspector/WorkerInspectorController.h:
3706         * inspector/WorkerRuntimeAgent.cpp:
3707         (WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
3708         * inspector/WorkerRuntimeAgent.h:
3709         * loader/FrameLoader.cpp:
3710         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
3711         * page/Console.cpp:
3712         * page/Console.h:
3713         * page/Console.idl:
3714         * testing/Internals.cpp:
3715         (WebCore::Internals::resetToConsistentState):
3716         * workers/WorkerMessagingProxy.cpp:
3717         (WebCore::connectToWorkerGlobalScopeInspectorTask):
3718         (WebCore::WorkerMessagingProxy::connectToInspector):
3719         (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
3720         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
3721         (WebCore::dispatchOnInspectorBackendTask):
3722         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
3723
3724 2014-01-29  Eric Carlson  <eric.carlson@apple.com>
3725
3726         [iOS] cleanup MediaPlayer.cpp
3727         https://bugs.webkit.org/show_bug.cgi?id=127821
3728
3729         Reviewed by Jer Noble.
3730
3731         Don't register MediaPlayerPrivateIOS unless the runtime setting for media player proxy is set.
3732
3733         * platform/graphics/MediaPlayer.cpp: Don't define PlatformMediaEngineClassName on iOS
3734         (WebCore::installedMediaEngines): Drive by cleanup to return early if registration has
3735             already happened.
3736         (WebCore::MediaPlayer::MediaPlayer): Don't force-register the first media engine unless 
3737             isVideoPluginProxyEnabled returns true.
3738
3739 2014-01-29  Youenn Fablet  <youennf@gmail.com>
3740
3741         Have XHR.getResponseHeader() return null and XHR.getAllResponseHeader() return the empty string in initial ready states
3742         https://bugs.webkit.org/show_bug.cgi?id=125840
3743
3744         Reviewed by Alexey Proskuryakov.
3745
3746         Merging https://chromium.googlesource.com/chromium/blink/+/d201caf874a0bd6f101f517462b3cf1d8c5fce3d
3747         This patch makes it clear that null/empty string is returned whenever the error flag is set.
3748         This new code path is covered by the added test.
3749         
3750         Test: http/tests/xmlhttprequest/response-access-on-error.html
3751
3752         * xml/XMLHttpRequest.cpp:
3753         (WebCore::XMLHttpRequest::getAllResponseHeaders):
3754         (WebCore::XMLHttpRequest::getResponseHeader):
3755         * xml/XMLHttpRequest.h:
3756         * xml/XMLHttpRequest.idl:
3757
3758 2014-01-29  Antti Koivisto  <antti@apple.com>
3759
3760         REGRESSION (r162947): Repaint test results are different between WK1 and WK2
3761         https://bugs.webkit.org/show_bug.cgi?id=127814
3762
3763         Reviewed by Anders Carlsson.
3764
3765         * page/FrameView.cpp:
3766         (WebCore::FrameView::repaintContentRectangle):
3767         
3768             Move repaint rect logging to RenderView.
3769
3770         * rendering/RenderView.cpp:
3771         (WebCore::RenderView::repaintViewRectangle):
3772         
3773             Record raw repaint rects instead of optimized ones.
3774
3775 2014-01-29  Brady Eidson  <beidson@apple.com>
3776
3777         IDB: Serialize IDBKeyDatas to disk, not IDBKeys
3778         https://bugs.webkit.org/show_bug.cgi?id=127829
3779
3780         Reviewed by Tim Horton.
3781
3782         Move encode/decode from IDBKey to IDBKeyData.
3783
3784         * Modules/indexeddb/IDBKey.cpp:
3785         * Modules/indexeddb/IDBKey.h:
3786
3787         * Modules/indexeddb/IDBKeyData.cpp:
3788         (WebCore::IDBKeyData::IDBKeyData):
3789         (WebCore::IDBKeyData::encode):
3790         (WebCore::IDBKeyData::decode):
3791         * Modules/indexeddb/IDBKeyData.h:
3792
3793         * WebCore.exp.in:
3794
3795 2014-01-29  Antti Koivisto  <antti@apple.com>
3796
3797         REGRESSION (r162947): css3/flexbox/multiline-justify-content.html and css3/flexbox/position-absolute-child.html are timing out
3798         https://bugs.webkit.org/show_bug.cgi?id=127809
3799
3800         Reviewed by Anders Carlsson.
3801
3802         These tests generate very large number of small repaint rectangles that overwhelm the region code.
3803
3804         * page/FrameView.cpp:
3805         (WebCore::FrameView::repaintContentRectangle):
3806         * platform/graphics/Region.h:
3807         (WebCore::Region::gridSize):
3808         (WebCore::Region::Shape::gridSize):
3809         
3810             Add accessor for getting the current region grid complexity.
3811
3812         * rendering/RenderView.cpp:
3813         (WebCore::RenderView::repaintViewRectangle):
3814         
3815             If the region gets very complex merge the repaint rects into a single big rectangle.
3816
3817 2014-01-29  Radu Stavila  <stavila@adobe.com>
3818
3819         [CSSRegions] Unable to scroll a scrollable container for regions using mouse wheel
3820         https://bugs.webkit.org/show_bug.cgi?id=123886
3821
3822         When an element flowed into a scrollable region is scrolled using the mouse wheel, the event 
3823         needs to be propagated to the region containing that element, on top of which the cursor
3824         is located.
3825
3826         Reviewed by Antti Koivisto.
3827
3828         Tests: fast/regions/wheel-scroll-abspos.html
3829                fast/regions/wheel-scroll.html
3830
3831         * page/EventHandler.cpp:
3832         (WebCore::scrollNode):
3833         (WebCore::EventHandler::defaultWheelEventHandler):
3834         * rendering/RenderBox.cpp:
3835         (WebCore::RenderBox::scroll):
3836         (WebCore::RenderBox::scrollWithWheelEventLocation):
3837         * rendering/RenderBox.h:
3838         * rendering/RenderFlowThread.cpp:
3839         (WebCore::RenderFlowThread::regionFromAbsolutePointAndBox):
3840         * rendering/RenderFlowThread.h:
3841
3842 2014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3843
3844         REGRESSION(r162922): [SOUP] Several tests are failing in EFL and GTK+ after r162922
3845         https://bugs.webkit.org/show_bug.cgi?id=127836
3846
3847         Reviewed by Gustavo Noronha Silva.
3848
3849         The problem is that I assumed that several things done in
3850         ResourceRequest::soupURI() were always desired, so I moved them to
3851         URL. This patch restores the previous behaviour, so that those
3852         tings are only done right before making a request.
3853
3854         * platform/network/soup/ResourceRequestSoup.cpp:
3855         (WebCore::ResourceRequest::createSoupURI):
3856         * platform/soup/URLSoup.cpp:
3857         (WebCore::URL::createSoupURI):
3858
3859 2014-01-29  Krzysztof Czech  <k.czech@samsung.com>
3860
3861         [ATK] Expose aria-describedby with ATK_RELATION_DESCRIBED_BY
3862         https://bugs.webkit.org/show_bug.cgi?id=121684
3863
3864         Reviewed by Mario Sanchez Prada.
3865
3866         Exposed aria-describedby by ATK_RELATION_DESCRIBED_BY.
3867         Moved elementsFromAttribut to AccessibilityObject to have common interface
3868         for AccessibilityNodeObject and AccessibilityRenderObject. Implemented
3869         supportsARIADescribedBy and ariaDescribedByElements to better deal with aria-describedby attribute.
3870
3871         No new tests. Covered by existed one.
3872
3873         * accessibility/AccessibilityNodeObject.cpp:
3874         * accessibility/AccessibilityNodeObject.h:
3875         * accessibility/AccessibilityObject.cpp:
3876         (WebCore::AccessibilityObject::elementsFromAttribute):
3877         * accessibility/AccessibilityObject.h:
3878         (WebCore::AccessibilityObject::supportsARIADescribedBy):
3879         (WebCore::AccessibilityObject::ariaDescribedByElements):
3880         * accessibility/AccessibilityRenderObject.cpp:
3881         (WebCore::AccessibilityRenderObject::supportsARIADescribedBy):
3882         (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
3883         * accessibility/AccessibilityRenderObject.h:
3884         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3885         (setAtkRelationSetFromCoreObject):
3886
3887 2014-01-29  Sergio Villar Senin  <svillar@igalia.com>
3888
3889         [CSS Grid Layout] minmax() should be a CSSFunction instead of a CSSValueList
3890         https://bugs.webkit.org/show_bug.cgi?id=127057
3891
3892         Reviewed by Antti Koivisto.
3893
3894         We were incorrectly dumping minmax(x,y) as "x y" instead of
3895         "minmax(x,y)". That's because we were treating minmax() internally
3896         as a CSSValueList instead of a CSSFunction. Replaced that and also
3897         added some extra information to our tests in order to check that
3898         we don't regress. From now on the CSS grid layout testing helper
3899         functions print not only the computed style but also the contents
3900         of element.style.webkitGridDefinition{Columns|Rows}.
3901
3902         * css/CSSFunctionValue.h:
3903         (WebCore::CSSFunctionValue::arguments):
3904         * css/CSSParser.cpp:
3905         (WebCore::CSSParser::parseGridTrackList):
3906         (WebCore::CSSParser::parseGridTrackRepeatFunction):
3907         (WebCore::CSSParser::parseGridTrackSize):
3908         * css/CSSParser.h:
3909         * css/StyleResolver.cpp:
3910         (WebCore::createGridTrackSize):
3911
3912 2014-01-29  Ryosuke Niwa  <rniwa@webkit.org>
3913
3914         Rename notifyRendererOfSelectionChange
3915         https://bugs.webkit.org/show_bug.cgi?id=127831
3916
3917         Reviewed by Antti Koivisto.
3918
3919         Renamed notifyRendererOfSelectionChange to updateSelectionCachesIfSelectionIsInsideTextFormControl.
3920
3921         * WebCore.order: Removed the exported symbol name as it's not used in WebKit or WebKit2 code.
3922         * editing/FrameSelection.cpp:
3923         (WebCore::FrameSelection::setSelection):
3924         (WebCore::FrameSelection::selectAll):
3925         (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl): Don't update the style since the existence
3926         of text form control's shadow DOM no longer depends on renderer.
3927         * editing/FrameSelection.h:
3928         * html/HTMLTextFormControlElement.cpp:
3929         (WebCore::HTMLTextFormControlElement::selectionChanged): Don't check renderer() for the same reason.
3930         * page/EventHandler.cpp:
3931         (WebCore::EventHandler::handleMouseReleaseEvent):
3932
3933 2014-01-28  Jer Noble  <jer.noble@apple.com>
3934
3935         [Mac] Handle NSURLAuthenticationMethodServerTrust challenges from -resourceLoader:shouldWaitForResponseToAuthenticationChallenge:
3936         https://bugs.webkit.org/show_bug.cgi?id=127806
3937
3938         Reviewed by Eric Carlson.
3939
3940         In addition to the normal "user/password" NSURLAuthenticationChallenges, the 
3941         -resourceLoader:shouldWaitForResponseToAuthenticationChallenge: delegate method will
3942         ask us to confirm server certificate chains. Rather than pop up an authentication
3943         dialog (which won't work anyway) we will now just drop such requests and continue
3944         on normally.
3945
3946         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3947         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
3948
3949 2014-01-28  Commit Queue  <commit-queue@webkit.org>
3950
3951         Unreviewed, rolling out r162987.
3952         http://trac.webkit.org/changeset/162987
3953         https://bugs.webkit.org/show_bug.cgi?id=127825
3954
3955         Broke Mountain Lion build (Requested by andersca on #webkit).
3956
3957         * bindings/scripts/CodeGeneratorJS.pm:
3958         (GenerateGetOwnPropertySlotBody):
3959         (GenerateAttributesHashTable):
3960         (GenerateImplementation):
3961         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3962         (WebCore::jsTestActiveDOMObjectConstructor):
3963         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3964         (WebCore::jsTestCustomNamedGetterConstructor):
3965         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3966         (WebCore::jsTestEventConstructorConstructor):
3967         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3968         (WebCore::jsTestEventTargetConstructor):
3969         * bindings/scripts/test/JS/JSTestException.cpp:
3970         (WebCore::jsTestExceptionConstructor):
3971         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
3972         (WebCore::jsTestGenerateIsReachableConstructor):
3973         * bindings/scripts/test/JS/JSTestInterface.cpp:
3974         (WebCore::jsTestInterfaceConstructor):
3975         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3976         (WebCore::jsTestMediaQueryListListenerConstructor):
3977         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3978         (WebCore::jsTestNamedConstructorConstructor):
3979         * bindings/scripts/test/JS/JSTestNode.cpp:
3980         (WebCore::jsTestNodeConstructor):
3981         * bindings/scripts/test/JS/JSTestObj.cpp:
3982         (WebCore::jsTestObjConstructor):
3983         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3984         (WebCore::jsTestOverloadedConstructorsConstructor):
3985         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3986         (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
3987         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3988         (WebCore::jsTestTypedefsConstructor):
3989         * bindings/scripts/test/JS/JSattribute.cpp:
3990         (WebCore::jsattributeConstructor):
3991         * bindings/scripts/test/JS/JSreadonly.cpp:
3992         (WebCore::jsreadonlyConstructor):
3993
3994 2014-01-28  Enrica Casucci  <enrica@apple.com>
3995
3996         Add support for ActionSheets in WK2 for iOS.
3997         https://bugs.webkit.org/show_bug.cgi?id=127586
3998         <rdar://problem/15283667>
3999
4000         Reviewed by Benjamin Poulain.
4001
4002         This patch contains some WebCore changes required to
4003         implement support for ActionSheets.
4004         It adds copyURL implementation for iOS in the Editor
4005         class and fixes some bugs in the iOS specific pasteboard
4006         writing code.
4007         The changes to Localizable.strings are the result of
4008         running update-webkit-localizedstrings script.
4009
4010         * English.lproj/Localizable.strings:
4011         * WebCore.exp.in:
4012         * editing/Editor.cpp:
4013         * editing/Editor.h:
4014         * editing/ios/EditorIOS.mm:
4015         (WebCore::Editor::writeImageToPasteboard):
4016         * platform/ios/PasteboardIOS.mm:
4017         (WebCore::Pasteboard::write):
4018         * platform/ios/PlatformPasteboardIOS.mm:
4019         (WebCore::PlatformPasteboard::write):
4020
4021 2014-01-28  Andy Estes  <aestes@apple.com>
4022
4023         [iOS] REGRESSION (r162663): Webpages have strange artifacts or corruption around tile boundaries
4024         https://bugs.webkit.org/show_bug.cgi?id=127823
4025
4026         Reviewed by Daniel Bates.
4027
4028         Original patch by Simon Fraser.
4029
4030         * platform/ScrollView.cpp: Specify LegacyIOSDocumentViewRect when calling visibleContentRect().
4031
4032 2014-01-28  Zoltan Horvath  <zoltan@webkit.org>
4033
4034         [CSS Shapes] Adjust inset sizing syntax to the latest specification
4035         https://bugs.webkit.org/show_bug.cgi?id=127785
4036
4037         Reviewed by Bem Jones-Bey.
4038
4039         According to the latest CSS Shapes specification [1], the width arguments of inset should
4040         follow the syntax of the margin shorthand, which let us set all four insets with one, two
4041         or four values. This patch updates the behavior and updates the affected tests.
4042
4043         [1] http://dev.w3.org/csswg/css-shapes/#funcdef-inset
4044
4045         Existing tests have been updated.
4046
4047         * css/CSSParser.cpp:
4048         (WebCore::CSSParser::parseInsetRoundedCorners):
4049         (WebCore::CSSParser::parseBasicShapeInset):
4050
4051 2014-01-28  Oliver Hunt  <oliver@apple.com>
4052
4053         Make DOM attributes appear to be faux accessor properties
4054         https://bugs.webkit.org/show_bug.cgi?id=127797
4055
4056         Reviewed by Michael Saboff.
4057
4058         Refactor the bindings generator, and make sure we emit
4059         the CustomAccessor flag on properties that should 
4060         appear to be accessors.
4061
4062         * bindings/scripts/CodeGeneratorJS.pm:
4063         (GenerateGetOwnPropertySlotBody):
4064         (GenerateAttributesHashTable):
4065         (GenerateImplementation):
4066
4067 2014-01-27  Chris Fleizach  <cfleizach@apple.com>
4068
4069         AX: Support @scope in HTML tables
4070         https://bugs.webkit.org/show_bug.cgi?id=127688
4071
4072         Reviewed by Mario Sanchez Prada.
4073
4074         Add support for scope attribute so that row headers and column headers
4075         are now exposed at the table cell level where appropriate.
4076
4077         Test: platform/mac/accessibility/table-scope.html
4078
4079         * accessibility/AccessibilityARIAGridCell.cpp:
4080         (WebCore::AccessibilityARIAGridCell::parentTable):
4081         * accessibility/AccessibilityARIAGridCell.h:
4082         * accessibility/AccessibilityARIAGridRow.cpp:
4083         (WebCore::AccessibilityARIAGridRow::parentTable):
4084         * accessibility/AccessibilityARIAGridRow.h:
4085         * accessibility/AccessibilityTable.cpp:
4086         (WebCore::AccessibilityTable::columns):
4087         (WebCore::AccessibilityTable::rows):
4088         * accessibility/AccessibilityTable.h:
4089         * accessibility/AccessibilityTableCell.cpp:
4090         (WebCore::AccessibilityTableCell::parentTable):
4091         (WebCore::AccessibilityTableCell::isTableHeaderCell):
4092         (WebCore::AccessibilityTableCell::isTableCellInSameRowGroup):