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