<attachment>'s label baseline should match that of the surrounding text
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-02-27  Timothy Horton  <timothy_horton@apple.com>
2
3         <attachment>'s label baseline should match that of the surrounding text
4         https://bugs.webkit.org/show_bug.cgi?id=142099
5         rdar://problem/19982495
6
7         Reviewed by Dan Bernstein.
8
9         * rendering/RenderAttachment.cpp:
10         (WebCore::RenderAttachment::baselinePosition):
11         * rendering/RenderAttachment.h:
12         Override baselinePosition and retrieve it from RenderTheme.
13
14         * rendering/RenderTheme.h:
15         (WebCore::RenderTheme::attachmentBaseline):
16         * rendering/RenderThemeMac.h:
17         * rendering/RenderThemeMac.mm:
18         (WebCore::AttachmentLayout::AttachmentLayout):
19         (WebCore::RenderThemeMac::attachmentBaseline):
20         Plumb the label baseline from AttachmentLayout to RenderAttachment.
21
22 2015-02-27  Commit Queue  <commit-queue@webkit.org>
23
24         Unreviewed, rolling out r180752.
25         https://bugs.webkit.org/show_bug.cgi?id=142098
26
27         Causes 10 SVG test failures on Windows. (Requested by
28         bfulgham_ on #webkit).
29
30         Reverted changeset:
31
32         "Cache glyph widths to GlyphPages"
33         https://bugs.webkit.org/show_bug.cgi?id=142028
34         http://trac.webkit.org/changeset/180752
35
36 2015-02-27  David Kilzer  <ddkilzer@apple.com>
37
38         [iOS] Fix build by defining EAGL_IOSURFACE macro before including <OpenGLES/EAGLPrivate.h>
39
40         * platform/spi/ios/OpenGLESSPI.h:  Define EAGL_IOSURFACE macro
41         until header refactoring is completed.
42
43 2015-02-27  Chris Dumez  <cdumez@apple.com>
44
45         MediaSource should be suspendable when closed
46         https://bugs.webkit.org/show_bug.cgi?id=142089
47         <rdar://problem/19923085>
48
49         Reviewed by Jer Noble.
50
51         Make MediaSource ActiveDOMObject suspendable when it is in closed state
52         and it has no pending events. This increases the likelihood of pages
53         using MediaSource to enter the PageCache.
54
55         Tests: fast/history/page-cache-media-source-closed-2.html
56                fast/history/page-cache-media-source-closed.html
57                fast/history/page-cache-media-source-opened.html
58
59 2015-02-27  Andreas Kling  <akling@apple.com>
60
61         Use NeverDestroyed for JS wrapper owners.
62         <https://webkit.org/b/142090>
63
64         Reviewed by Chris Dumez.
65
66         Using NeverDestroyed puts these objects in BSS which is preferable
67         since that prevents them from pinning down entire malloc pages forever.
68
69         * bindings/scripts/CodeGeneratorJS.pm:
70         (GenerateHeader): Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
71
72         * bindings/scripts/test/JS/*: Rebaseline bindings tests for this change.
73
74 2015-02-27  Chris Dumez  <cdumez@apple.com>
75
76         Make IDBDatabase / IDBRequest suspendable
77         https://bugs.webkit.org/show_bug.cgi?id=142076
78         <rdar://problem/19923085>
79
80         Reviewed by Andreas Kling.
81
82         Make IDBDatabase / IDBRequest suspendable under certain conditions to
83         make it more likely for pages using indexeddb to enter the PageCache.
84
85         IDBDatabase is safely suspendable if the database is closed. IDBRequest
86         is safely suspendable if the request no longer has any pending activity
87         (i.e. state is DONE and success / failure handler was called). We may
88         be able to do better later but this is the bare minimum for now.
89
90         Tests: fast/history/page-cache-indexed-closed-db.html
91                fast/history/page-cache-indexed-opened-db.html
92
93         * Modules/indexeddb/IDBDatabase.cpp:
94         (WebCore::IDBDatabase::IDBDatabase):
95         (WebCore::IDBDatabase::closeConnection):
96         (WebCore::IDBDatabase::enqueueEvent):
97         (WebCore::IDBDatabase::canSuspend):
98         * Modules/indexeddb/IDBDatabase.h:
99         * Modules/indexeddb/IDBRequest.cpp:
100         (WebCore::IDBRequest::canSuspend):
101         * Modules/indexeddb/IDBRequest.h:
102
103 2015-02-27  Chris Dumez  <cdumez@apple.com>
104
105         Drop unnecessary DatabaseManager::hasOpenDatabases() in PageCache::canCachePageContainingThisFrame()
106         https://bugs.webkit.org/show_bug.cgi?id=142052
107
108         Reviewed by Andreas Kling.
109
110         Drop WebDatabase special-handling from PageCache::canCachePageContainingThisFrame().
111         DatabaseContext is already an ActiveDOMObject and DatabaseContext::canSuspend() was
112         returning false so pages using WebDatabase would never enter the PageCache anyway.
113
114         This patch also overrides ActiveDOMObject::canSuspend() in DatabaseContext to only
115         return false when there are open databases. This check is now equivalent to the one
116         that was in PageCache.
117
118         An issue that remains is that DatabaseContext::m_hasOpenDatabases is never reset
119         to false so once a page opened a database, it will never be page-cacheable. This
120         will be taken care of separately though.
121
122         Test: fast/history/page-cache-webdatabase-opened-db.html
123
124         * Modules/webdatabase/DatabaseContext.cpp:
125         (WebCore::DatabaseContext::canSuspend):
126         * Modules/webdatabase/DatabaseContext.h:
127         * history/PageCache.cpp:
128         (WebCore::logCanCacheFrameDecision):
129         (WebCore::PageCache::canCachePageContainingThisFrame):
130         * page/DiagnosticLoggingKeys.cpp:
131         (WebCore::DiagnosticLoggingKeys::hasOpenDatabasesKey): Deleted.
132         * page/DiagnosticLoggingKeys.h:
133
134 2015-02-27  Alex Christensen  <achristensen@webkit.org>
135
136         Compile DFA to bytecode.
137         https://bugs.webkit.org/show_bug.cgi?id=142031
138
139         Reviewed by Benjamin Poulain.
140
141         * WebCore.xcodeproj/project.pbxproj:
142         * contentextensions/ContentExtensionsBackend.cpp:
143         (WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
144         (WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):
145         * contentextensions/ContentExtensionsBackend.h:
146         * contentextensions/DFA.cpp:
147         (WebCore::ContentExtensions::DFA::nextState): Deleted.
148         (WebCore::ContentExtensions::DFA::actions): Deleted.
149         * contentextensions/DFA.h:
150         (WebCore::ContentExtensions::DFA::size):
151         (WebCore::ContentExtensions::DFA::nodeAt):
152         * contentextensions/DFABytecode.h: Added.
153         (WebCore::ContentExtensions::instructionSizeWithArguments):
154         * contentextensions/DFABytecodeCompiler.cpp: Added.
155         (WebCore::ContentExtensions::append):
156         (WebCore::ContentExtensions::set32Bits):
157         (WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendAction):
158         (WebCore::ContentExtensions::DFABytecodeCompiler::emitJump):
159         (WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValue):
160         (WebCore::ContentExtensions::DFABytecodeCompiler::emitTerminate):
161         (WebCore::ContentExtensions::DFABytecodeCompiler::reserveBufferCapacity):
162         (WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
163         (WebCore::ContentExtensions::DFABytecodeCompiler::compile):
164         * contentextensions/DFABytecodeCompiler.h: Added.
165         (WebCore::ContentExtensions::DFABytecodeCompiler::DFABytecodeCompiler):
166         * contentextensions/DFABytecodeInterpreter.cpp: Added.
167         (WebCore::ContentExtensions::getBits):
168         (WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
169         * contentextensions/DFABytecodeInterpreter.h: Added.
170         (WebCore::ContentExtensions::DFABytecodeInterpreter::DFABytecodeInterpreter):
171
172 2015-02-27  Zalan Bujtas  <zalan@apple.com>
173
174         Use after free in WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle
175         https://bugs.webkit.org/show_bug.cgi?id=138366
176
177         Reviewed by Dave Hyatt.
178
179         This patch ensures that we clean up RenderNamedFlowFragment::m_renderObjectRegionStyle when embedded flow content is getting destroyed.
180
181         In m_renderObjectRegionStyle hash map, we store style information about the named flow's descendant children.
182         When a child is being detached from the tree, it removes itself from this hashmap.
183         We do it by traversing up on the ancestor chain and call removeFlowChildInfo() on the parent flow.
184         However in case of embedded flows (for example multicolumn content inside a region), we need to check whether the parent flow
185         is inside a flow too and continue the cleanup accordingly.
186
187         Test: fast/regions/region-with-multicolumn-embedded-crash.html
188
189         * rendering/RenderObject.cpp:
190         (WebCore::RenderObject::removeFromRenderFlowThreadIncludingDescendants):
191
192 2015-02-27  Brady Eidson  <beidson@apple.com>
193
194         Add API to remove a single content filter.
195         <rdar://problem/19977764> and https://bugs.webkit.org/show_bug.cgi?id=142088
196
197         Reviewed by Sam Weinig.
198
199         * page/UserContentController.cpp:
200         (WebCore::UserContentController::removeUserContentFilter):
201         * page/UserContentController.h:
202
203 2015-02-26  Brent Fulgham  <bfulgham@apple.com>
204
205         [Win] Remove remaining SafariTheme cruft
206         https://bugs.webkit.org/show_bug.cgi?id=142075
207
208         Reviewed by Anders Carlsson.
209
210         Remove reference to SafariTheme-switching preference.
211
212         Tested by existing layout tests.
213
214         * WebCore.vcxproj/WebCore.vcxproj:
215         * WebCore.vcxproj/WebCore.vcxproj.filters:
216         * config.h:
217         * page/Settings.cpp:
218         (WebCore::Settings::fontRenderingMode):
219         (WebCore::Settings::setShouldPaintNativeControls): Deleted.
220         * page/Settings.h:
221         (WebCore::Settings::shouldPaintNativeControls): Deleted.
222         * platform/win/ScrollbarThemeWin.cpp:
223         (WebCore::ScrollbarTheme::nativeTheme):
224         * rendering/RenderThemeWin.cpp:
225         (WebCore::RenderTheme::themeForPage):
226
227 2015-02-27  Myles C. Maxfield  <mmaxfield@apple.com>
228
229         Add comment about CSS value name mangling
230
231         Unreviewed
232
233         * css/CSSParser.cpp:
234         (WebCore::cssValueKeywordID):
235
236 2015-02-27  Antti Koivisto  <antti@apple.com>
237
238         Cache glyph widths to GlyphPages
239         https://bugs.webkit.org/show_bug.cgi?id=142028
240
241         Reviewed by Andreas Kling.
242
243         Currently we have a separate cache in Font for glyph widths. In practice we always need
244         the widths so we can just cache them in GlyphPages. This simplifies the code and removes
245         a per-character hash lookup from WidthIterator.
246
247         * platform/graphics/Font.cpp:
248         (WebCore::Font::Font):
249         (WebCore::Font::initCharWidths):
250         (WebCore::Font::platformGlyphInit):
251         (WebCore::createAndFillGlyphPage):
252         (WebCore::Font::computeWidthForGlyph):
253
254             Rename to make it clear this doesn't cache.
255
256         (WebCore::GlyphPage::setGlyphDataForIndex):
257
258             Initialize the width.
259             This could go to GlyphPage.cpp if we had one.
260
261         * platform/graphics/Font.h:
262         (WebCore::Font::glyphZeroWidth):
263         (WebCore::Font::isZeroWidthSpaceGlyph):
264         (WebCore::Font::zeroGlyph): Deleted.
265         (WebCore::Font::setZeroGlyph): Deleted.
266         (WebCore::Font::widthForGlyph): Deleted.
267         * platform/graphics/FontCascade.cpp:
268         (WebCore::offsetToMiddleOfGlyph):
269         * platform/graphics/FontCascadeFonts.cpp:
270         (WebCore::FontCascadeFonts::glyphDataForCharacter):
271         * platform/graphics/GlyphPage.h:
272         (WebCore::GlyphData::GlyphData):
273
274             Return width too as part of GlyphData.
275
276         (WebCore::GlyphPage::glyphDataForIndex):
277         (WebCore::GlyphPage::setGlyphDataForCharacter):
278         (WebCore::GlyphPage::setGlyphDataForIndex):
279         (WebCore::GlyphPage::GlyphPage):
280         * platform/graphics/WidthIterator.cpp:
281         (WebCore::WidthIterator::advanceInternal):
282
283             No need to lookup width separately now.
284
285         * platform/graphics/mac/ComplexTextController.cpp:
286         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
287         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
288         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
289         * rendering/mathml/RenderMathMLOperator.cpp:
290         (WebCore::RenderMathMLOperator::advanceForGlyph):
291         * rendering/svg/SVGTextRunRenderingContext.cpp:
292         (WebCore::missingGlyphForFont):
293         * svg/SVGFontData.cpp:
294         (WebCore::SVGFontData::initializeFont):
295
296 2015-02-26  Alexey Proskuryakov  <ap@apple.com>
297
298         iOS build fix after r180717.
299
300         * Modules/webdatabase/DatabaseThread.cpp: (WebCore::DatabaseUnpauseTask::doPerformTask):
301
302 2015-02-26  Ryosuke Niwa  <rniwa@webkit.org>
303
304         isEditablePosition and related functions shouldn't move position out of table
305         https://bugs.webkit.org/show_bug.cgi?id=129200
306
307         Reviewed by Darin Adler.
308
309         This patch removes the legacy editing position for elements display: table in its computed style.
310         Previously, we used (table, 0) and (table, !0) to denote positions immediately before and after
311         such an element for historical reasons. This forced us to update the style tree before computing
312         the editability of a position because we have to check the editability of the position outside
313         the element with display: table if the position was using such a legacy editing position.
314         e.g. if a table was not editable (contenteditable=false), the position before the table (table, 0)
315         should still be considered editable if the parent node of the table was editable.
316
317         This patch replaces such a legacy editing position by using modern position types:
318         PositionIsBeforeAnchor and PositionIsAfterAnchor.
319
320         No new tests since there should be no change in the user perceived editing operations.
321
322         * dom/Position.cpp:
323         (WebCore::Position::previous): Setup the node and the offset correctly when the original position's
324         type is PositionIsBeforeAnchor. Also return a position before or after node when the node we found
325         is "atomic" (e.g. input, img, br, etc...) or it's a table. This avoids creating a legacy editing
326         position inside a table.
327         (WebCore::Position::next): Ditto.
328         (WebCore::Position::atStartOfTree): Use atFirstEditingPositionForNode, which takes care of all types
329         of positions.
330         (WebCore::Position::atEndOfTree): Ditto.
331         (WebCore::Position::downstream): Return a position before a node instead of a legacy editing position
332         for an atomic element or a table element as done in the equivalent code in Position::upstream.
333         (WebCore::Position::isCandidate): Don't treat a position inside a table to be a candidate. e.g.
334         (table, 1) when there are more than two children of the table.
335
336         * dom/PositionIterator.cpp:
337         (WebCore::PositionIterator::operator Position): PositionIterator internally uses legacy editing
338         positions. So convert it to a modern position by returning a position before or after a table here.
339         * editing/ApplyBlockElementCommand.cpp:
340         (WebCore::ApplyBlockElementCommand::formatSelection): Check that the unsplittable element we found
341         is actually empty before executing the simple code path for an empty unsplittable element. Without
342         this check, block formatting a table element will fail.
343
344         * editing/htmlediting.cpp:
345         (WebCore::isEditablePosition): Use containerNode instead of deprecatedNode because the editability
346         of a position before or after an element is determined by its parent, not the element itself.
347         (WebCore::isAtUnsplittableElement): Ditto.
348         (WebCore::isRichlyEditablePosition): Ditto. Removed the code that moved the starting node out of
349         an element with display: table. This is the code removal for which this patch was made.
350         (WebCore::editableRootForPosition): Ditto.
351
352 2015-02-26  Timothy Horton  <timothy_horton@apple.com>
353
354         Implement <attachment> element appearance on Mac
355         https://bugs.webkit.org/show_bug.cgi?id=142023
356
357         Reviewed by Dean Jackson.
358
359         * css/CSSParser.cpp:
360         (WebCore::isValidKeywordPropertyAndValue):
361         * css/CSSPrimitiveValueMappings.h:
362         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
363         * css/CSSValueKeywords.in:
364         * css/html.css:
365         (attachment):
366         * platform/ThemeTypes.h:
367         Add a new -webkit-appearance value, attachment.
368
369         * WebCore.xcodeproj/project.pbxproj:
370         * html/HTMLAttachmentElement.cpp:
371         (WebCore::HTMLAttachmentElement::setFile):
372         Let the renderer know when the file changes (so it can relayout and repaint).
373
374         (WebCore::HTMLAttachmentElement::filePath):
375         (WebCore::HTMLAttachmentElement::fileName):
376         * html/HTMLAttachmentElement.h:
377         Handy acccessors for the full path and the name of the file.
378
379         * platform/spi/mac/IconServicesSPI.h: Added.
380         * platform/spi/mac/LaunchServicesSPI.h: Added.
381         Add some IconServices and LaunchServices SPI headers.
382
383         * rendering/RenderAttachment.cpp:
384         (WebCore::RenderAttachment::RenderAttachment):
385         Don't have a default intrinsic size; we'll adjust in layout().
386
387         (WebCore::RenderAttachment::isSelected):
388         (WebCore::RenderAttachment::isFocused):
389         (WebCore::RenderAttachment::isSelectedOrFocused):
390         Factor out from paintReplaced().
391
392         (WebCore::RenderAttachment::layout):
393         Use RenderTheme to compute the intrinsic size of this attachment.
394
395         (WebCore::RenderAttachment::paintReplaced):
396         Use RenderTheme to paint the attachment.
397
398         (WebCore::RenderAttachment::representedFileChanged):
399         When the represented file changes, we need to recompute the intrinsic size and repaint.
400
401         * rendering/RenderTheme.cpp:
402         (WebCore::RenderTheme::adjustStyle):
403         (WebCore::RenderTheme::paint):
404         (WebCore::RenderTheme::adjustAttachmentStyle):
405         (WebCore::RenderTheme::paintAttachment):
406         Plumb through the attachment appearance.
407
408         * rendering/RenderAttachment.h:
409         * rendering/RenderTheme.h:
410         (WebCore::RenderTheme::paintAttachment):
411         (WebCore::RenderTheme::attachmentIntrinsicSize):
412         * rendering/RenderThemeMac.h:
413         * rendering/RenderThemeMac.mm:
414         (WebCore::attachmentIconBackgroundColor):
415         (WebCore::attachmentIconBorderColor):
416         (WebCore::AttachmentLayout):
417         AttachmentLayout lays out the innards of the RenderThemeMac attachment
418         presentation: an icon with an optional bordered background, with a label
419         underneath it with an optional background.
420
421         (WebCore::RenderThemeMac::attachmentIntrinsicSize):
422         (WebCore::paintAttachmentIconBackground):
423         (WebCore::paintAttachmentIcon):
424         (WebCore::RenderThemeMac::paintAttachmentLabelBackground):
425         (WebCore::RenderThemeMac::paintAttachmentLabel):
426         (WebCore::RenderThemeMac::paintAttachment):
427         Paint the attachment element. Paint the optional backgrounds (and swap
428         out the text color) if the element is selected/focused.
429
430 2015-02-26  Doug Russell  <d_russell@apple.com>
431
432         AX: Expose caret browsing preference to accessibility API
433         https://bugs.webkit.org/show_bug.cgi?id=141862
434
435         Reviewed by Chris Fleizach.
436
437         Exposing the caret browsing setting on WebCore::Frame via the accessibility API would allow assistive tech apps to enable it contextually (for example, when the assistive tech app is running).
438         Enabling caret browsing when assistive tech apps are running greatly improves the reliability of keyboard navigation on the web. Most especially in cases where selection would be disrupted by focus events.
439
440         Tests: platform/mac/accessibility/caret-browsing-arrow-nav.html
441                platform/mac/accessibility/caret-browsing-attribute.html
442                platform/mac/accessibility/caret-browsing-tab-selection.html
443
444         * accessibility/AccessibilityObject.h:
445         * accessibility/mac/AccessibilityObjectMac.mm:
446         (WebCore::AccessibilityObject::caretBrowsingEnabled):
447         (WebCore::AccessibilityObject::setCaretBrowsingEnabled):
448         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
449         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
450         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
451         (-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
452         (-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):
453         (-[WebAccessibilityObjectWrapper _accessibilitySetTestValue:forAttribute:]):
454
455 2015-02-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
456
457         Remove unnecessary create() factory functions
458         https://bugs.webkit.org/show_bug.cgi?id=142039
459
460         Reviewed by Chris Dumez.
461
462         Clean up remaining JSCryptoKeySerializationJWK::create, HTMLMediaSession::create,
463         and DatabaseUnpauseTask::create.
464
465         * Modules/webdatabase/DatabaseThread.cpp:
466         (WebCore::DatabaseUnpauseTask::DatabaseUnpauseTask):
467         (WebCore::DatabaseThread::setPaused):
468         (WebCore::DatabaseUnpauseTask::create): Deleted.
469         * bindings/js/JSCryptoKeySerializationJWK.h:
470         * bindings/js/JSSubtleCryptoCustom.cpp:
471         (WebCore::importKey):
472         * html/HTMLMediaElement.cpp:
473         (WebCore::HTMLMediaElement::HTMLMediaElement):
474         * html/HTMLMediaSession.cpp:
475         (WebCore::HTMLMediaSession::create): Deleted.
476         * html/HTMLMediaSession.h:
477
478 2015-02-26  Joseph Pecoraro  <pecoraro@apple.com>
479
480         Web Inspector: Save Console Evaluations into Command Line variables $1-$99 ($n)
481         https://bugs.webkit.org/show_bug.cgi?id=142061
482
483         Reviewed by Timothy Hatcher.
484
485         * inspector/CommandLineAPIModuleSource.js:
486         Replace $1-$4 "inspected objects" with $1-$99 "saved results".
487
488         * bindings/js/JSCommandLineAPIHostCustom.cpp:
489         (WebCore::JSCommandLineAPIHost::inspectedObject):
490         * inspector/CommandLineAPIHost.cpp:
491         (WebCore::CommandLineAPIHost::CommandLineAPIHost):
492         (WebCore::CommandLineAPIHost::InspectableObject::get):
493         (WebCore::CommandLineAPIHost::addInspectedObject):
494         (WebCore::CommandLineAPIHost::inspectedObject):
495         (WebCore::CommandLineAPIHost::clearInspectedObjects): Deleted.
496         * inspector/CommandLineAPIHost.h:
497         * inspector/CommandLineAPIHost.idl:
498         Since we now just save the single $0 inspected object, eliminate
499         keeping track of a list of 5 values.
500
501 2015-02-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
502
503         Remove unnecessary create() factory functions in CDMFoo, NamedNodeMap
504         https://bugs.webkit.org/show_bug.cgi?id=141902
505
506         Reviewed by Darin Adler.
507
508         Create instance using std::make_unique<> in CDMFactory directly. To do that,
509         CDMFactory uses lambdas. Additionally this patch removes NamedNodeMap::create() as well.
510
511         No new tests, no behavior changes.
512
513         * Modules/encryptedmedia/CDM.cpp:
514         (WebCore::installedCDMFactories):
515         * Modules/encryptedmedia/CDM.h:
516         * Modules/encryptedmedia/CDMPrivateClearKey.h:
517         (WebCore::CDMPrivateClearKey::CDMPrivateClearKey):
518         (WebCore::CDMPrivateClearKey::create): Deleted.
519         * Modules/encryptedmedia/CDMPrivateMediaPlayer.h:
520         (WebCore::CDMPrivateMediaPlayer::create): Deleted.
521         * dom/Element.cpp:
522         (WebCore::Element::attributes):
523         * dom/NamedNodeMap.h:
524         (WebCore::NamedNodeMap::NamedNodeMap):
525         (WebCore::NamedNodeMap::create): Deleted.
526         * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h:
527         (WebCore::CDMPrivateMediaSourceAVFObjC::create): Deleted.
528
529 2015-02-26  Andy Estes  <aestes@apple.com>
530
531         [Content Filtering] Move WebFilterEvaluator and NEFilterSource declarations to SPI headers
532         https://bugs.webkit.org/show_bug.cgi?id=142062
533
534         Reviewed by Daniel Bates.
535
536         * WebCore.xcodeproj/project.pbxproj:
537         * platform/mac/ContentFilterMac.mm:
538         * platform/spi/cocoa/NEFilterSourceSPI.h: Added.
539         * platform/spi/cocoa/WebFilterEvaluatorSPI.h: Added.
540
541 2015-02-26  Anders Carlsson  <andersca@apple.com>
542
543         Add API to remove all website data for the given data records
544         https://bugs.webkit.org/show_bug.cgi?id=142060
545
546         Reviewed by Beth Dakin.
547
548         * loader/cache/MemoryCache.cpp:
549         (WebCore::MemoryCache::removeResourcesWithOrigins):
550         New function that removes all resources that match the set of origins in a given session.
551
552 2015-02-26  Chris Dumez  <cdumez@apple.com>
553
554         Rename DatabaseManager::manager() to DatabaseManager::singleton()
555         https://bugs.webkit.org/show_bug.cgi?id=142054
556
557         Reviewed by Ryosuke Niwa.
558
559         Rename DatabaseManager::manager() to DatabaseManager::singleton() as
560         per coding style and use WTF::NeverDestroyed.
561
562         * Modules/webdatabase/DOMWindowWebDatabase.cpp:
563         (WebCore::DOMWindowWebDatabase::openDatabase):
564         * Modules/webdatabase/DatabaseBackendBase.cpp:
565         (WebCore::DatabaseBackendBase::DatabaseBackendBase):
566         * Modules/webdatabase/DatabaseContext.cpp:
567         (WebCore::DatabaseContext::DatabaseContext):
568         (WebCore::DatabaseContext::~DatabaseContext):
569         (WebCore::DatabaseContext::stopDatabases):
570         (WebCore::DatabaseContext::databaseExceededQuota):
571         * Modules/webdatabase/DatabaseManager.cpp:
572         (WebCore::DatabaseManager::singleton):
573         (WebCore::DatabaseManager::manager): Deleted.
574         * Modules/webdatabase/DatabaseManager.h:
575         (WebCore::DatabaseManager::~DatabaseManager): Deleted.
576         * Modules/webdatabase/SQLTransactionClient.cpp:
577         (WebCore::SQLTransactionClient::didExceedQuota):
578         * history/PageCache.cpp:
579         (WebCore::logCanCacheFrameDecision):
580         (WebCore::PageCache::canCachePageContainingThisFrame):
581         * loader/FrameLoader.cpp:
582         (WebCore::FrameLoader::stopLoading):
583
584 2015-02-26  Csaba Osztrogonác  <ossy@webkit.org>
585
586         Fix the !ENABLE(GEOLOCATION) build after r180533
587         https://bugs.webkit.org/show_bug.cgi?id=142053
588
589         Reviewed by Chris Dumez.
590
591         * Modules/geolocation/GeoNotifier.cpp:
592         * Modules/geolocation/GeoNotifier.h:
593
594 2015-02-26  Dean Jackson  <dino@apple.com>
595
596         [iOS Media] incorrect front padding on time values
597         https://bugs.webkit.org/show_bug.cgi?id=142027
598         <rdar://problem/19960790>
599
600         Reviewed by Brent Fulgham.
601
602         My last commit was updating the OS X file,
603         not the iOS file.
604
605         We don't want to prefix times with a "0".
606
607         * Modules/mediacontrols/mediaControlsApple.js:
608         (Controller.prototype.formatTime):
609         * Modules/mediacontrols/mediaControlsiOS.js:
610         (ControllerIOS.prototype.formatTime):
611
612 2015-02-26  Mark Lam  <mark.lam@apple.com>
613
614         Rolling out r180602, r180608, r180613, r180617, r180671.
615         <https://webkit.org/b/141990>
616
617         Not reviewed.
618
619         The r180602 solution does result in more work for GC when worker
620         threads are in use.  Filip is uncomfortable with that.
621         The EFL and GTK ports also seem to be unhappy with this change.
622         Rolling out while we investigate.
623
624         * bindings/js/JSDOMWindowBase.cpp:
625         (WebCore::JSDOMWindowBase::commonVM):
626
627 2015-02-26  Myles C. Maxfield  <mmaxfield@apple.com>
628
629         [Mac] [iOS] Parsing support for -apple-trailing-word
630         https://bugs.webkit.org/show_bug.cgi?id=141939
631
632         Reviewed by Andreas Kling.
633
634         This patch implements initial parsing support for the -apple-trailing-word CSS property.
635         This property has two possible (mutually exclusive) values: auto and
636         -apple-partially-balanced. This property is inherited.
637
638         The work for this property is behind the ENABLE(CSS_TRAILING_WORD) preprocessor define.
639
640         This is an internal property that will allow us to control line breaking behavior for
641         short paragraphs.
642
643         Note that, because of the implementation of cssValueKeywordID() in CSSParser.cpp,
644         the new value must be implemented as -webkit-partially-balanced. Using the -apple-
645         prefix will work, but if you getComputedStyle(), it will return the -webkit- prefixed
646         version.
647
648         Test: platform/mac/fast/text/trailing-word-parse.html
649
650         * Configurations/FeatureDefines.xcconfig:
651         * css/CSSComputedStyleDeclaration.cpp:
652         (WebCore::ComputedStyleExtractor::propertyValue): Turn internal representation into a
653         CSS value.
654         * css/CSSParser.cpp:
655         (WebCore::isValidKeywordPropertyAndValue): Updated for new keyword property / value
656         pair.
657         (WebCore::isKeywordPropertyID): New property is a keyword property.
658         (WebCore::CSSParser::parseValue): Use the keyword property codepath.
659         * css/CSSPrimitiveValueMappings.h:
660         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Convert to and from the internal
661         representation and CSS values.
662         (WebCore::CSSPrimitiveValue::operator TrailingWord):
663         * css/CSSPropertyNames.in: New property.
664         * css/CSSValueKeywords.in: New value.
665         * rendering/SimpleLineLayout.cpp:
666         (WebCore::SimpleLineLayout::canUseFor): Can't use SimpleLineLayout for this.
667         * rendering/style/RenderStyle.h: Getter, setter and initial value.
668         * rendering/style/RenderStyleConstants.h: Internal data type.
669         * rendering/style/StyleRareInheritedData.h: One bit to control this style property.
670         * rendering/style/StyleRareInheritedData.cpp: Update constructors and operators.
671
672 2015-02-26  Roger Fong  <roger_fong@apple.com>
673
674         Unreviewed. Fix a accidental deletion from r178674.
675
676         * html/canvas/WebGLRenderingContextBase.cpp:
677         (WebCore::WebGLRenderingContextBase::create):
678         Return the fake WebGL context.
679
680 2015-02-26  Said Abou-Hallawa  <sabouhallawa@apple.com>
681
682         Cleanup RenderSVGResourceClipper class.
683         https://bugs.webkit.org/show_bug.cgi?id=142032.
684
685         Reviewed by Darin Adler.
686         
687         This is a follow up for r180643: <http://trac.webkit.org/changeset/180643>.
688         It includes cleanup for RenderSVGResourceClipper class.
689
690         * rendering/svg/RenderSVGResourceClipper.cpp:
691         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
692         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
693         * rendering/svg/RenderSVGResourceClipper.h: Change ClipperData to be a
694         typedef instead of a class and rename it to ClipperMaskImage. The purpose
695         of having it a class even though it includes only one member was because
696         we wanted it to be WTF_MAKE_FAST_ALLOCATED. We do not need to allocate it
697         as a separate object on the heap anymore.
698         
699         (WebCore::RenderSVGResourceClipper::addRendererToClipper): Instead of doing
700         double hash table lookups by calling HashMap::contains() and then HashMap::get(),
701         we can use HashMap::add() instead.
702
703 2015-02-26  Said Abou-Hallawa  <sabouhallawa@apple.com>
704
705         Setting any of the <object> element plugin controlling attributes does not have any affect.
706         https://bugs.webkit.org/show_bug.cgi?id=141936.
707
708         Reviewed by Zalan Bujtas.
709
710         When setting any of the <object> element plugin controlling attributes
711         dynamically we need to mark the the element to be dirty by calling
712         setNeedsStyleRecalc(), so it has to recreate its renderer when needed.
713         
714         Test: svg/as-object/svg-in-object-dynamic-attribute-change.html
715
716         * dom/Element.h: Delete unimplemented function.
717         
718         * html/HTMLObjectElement.cpp:
719         (WebCore::HTMLObjectElement::parseAttribute): Dirty the element by calling
720         setNeedsStyleRecalc() when one of the plugin controlling attributes gets
721         changed. We have to clear the m_useFallbackContent because the attribute's
722         new value might fix the object rendering.
723         
724         * html/HTMLObjectElement.h: Add a function to clear m_useFallbackContent.
725         
726         * html/HTMLPlugInImageElement.cpp:
727         (WebCore::HTMLPlugInImageElement::willRecalcStyle): We might need to 
728         reconstruct the object renderer in the image case. This can happen if the
729         image was rendering fallback content and the attribute's new value fixes
730         the object rendering.
731
732 2015-02-26  Brent Fulgham  <bfulgham@apple.com>
733
734         [Win] Make build logs more legible by reducing noise
735         https://bugs.webkit.org/show_bug.cgi?id=142034
736
737         Reviewed by Alexey Proskuryakov.
738
739         Modify batch files, makefiles, and DOS commands to remove
740         uninteresting/unhelpful output.
741
742         * WebCore.vcxproj/WebCoreGenerated.make:
743         * WebCore.vcxproj/WebCorePreBuild.cmd:
744         * WebCore.vcxproj/copyForwardingHeaders.cmd:
745         * WebCore.vcxproj/copyWebCoreResourceFiles.cmd:
746
747 2015-02-26  Michael Catanzaro  <mcatanzaro@igalia.com>
748
749         [FreeType] REGRESSION(r180563): Introduced crashes
750         https://bugs.webkit.org/show_bug.cgi?id=142044
751
752         Reviewed by Martin Robinson.
753
754         No new tests, should be caught by any woff font test.
755
756         Use optionsPattern, not m_pattern, when m_pattern may be null.
757
758         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
759         (WebCore::FontPlatformData::initializeWithFontFace):
760
761 2015-02-26  Sergio Villar Senin  <svillar@igalia.com>
762
763         ASSERTION FAILED: !length.isUndefined() in WebCore::GridLength::GridLength
764         https://bugs.webkit.org/show_bug.cgi?id=141645
765
766         Reviewed by Chris Dumez.
767
768         This bug has been here since r110484 but was uncovered by
769         r180140. The problem r110484 was trying to fix was that
770         CSSPrimitiveValue::convertToLength<Length> ended up calling
771         CSSPrimitiveValue::computeLengthDouble() which was apparently
772         dereferencing conversionData.style() and
773         conversionData.rootStyle() pointers without checking them. That's
774         why that fix added this condition to convertToLength():
775
776         isFontRelativeLength() && (!conversionData.style() || !conversionData.rootStyle())
777
778         which is not correct, because for the 4 possible font relative
779         length types, 3 of them just use the style() pointer and the other
780         one just uses rootStyle() which BTW could be NULL. This erroneous
781         condition makes that function to return Length(Undefined) more
782         often than it should.
783
784         From now on it only returns Length(Undefined) if the style()
785         pointer is NULL and the font relative length type is one in the
786         set (CSS_EMS, CSS_EXS, CSS_CHS);
787
788         Test: fast/css-grid-layout/grid-with-relative-font-length-crash.html
789
790         * css/CSSPrimitiveValue.h:
791         * css/CSSPrimitiveValueMappings.h:
792         (WebCore::CSSPrimitiveValue::convertingToLengthRequiresNonNullStyle):
793         (WebCore::CSSPrimitiveValue::convertToLength):
794
795
796 2015-02-26  Andreas Kling  <akling@apple.com>
797
798         [Cocoa] Prod libcache to drop caches in memory pressure relief handler.
799         <https://webkit.org/b/142024>
800         <rdar://problem/19966096>
801
802         Reviewed by Antti Koivisto.
803
804         libcache already listens to the OS memory pressure notifications, but we still
805         need to manually request a cleanup when doing an iOS process suspension, or when
806         simulating memory pressure.
807
808         * platform/cocoa/MemoryPressureHandlerCocoa.mm:
809         (WebCore::MemoryPressureHandler::platformReleaseMemory): Call out to libcache's
810         cache_simulate_memory_warning_event() to make sure that nonessential objects
811         being kept alive by NSCaches get dropped when we need the memory.
812
813 2015-02-25  Zalan Bujtas  <zalan@apple.com>
814
815         Black line across screen on Adobe Illustrator detail page (non-retina only)
816         https://bugs.webkit.org/show_bug.cgi?id=141866
817
818         Reviewed by Simon Fraser.
819
820         Phase is relative to the destination origin. We need to take location information into account
821         while snapping so that the result is inline with the snapped destination rect.
822         (location affects the snapped size.)
823
824         Test: fast/backgrounds/gradient-background-on-subpixel-position.html
825
826         * rendering/RenderBoxModelObject.cpp:
827         (WebCore::pixelSnapBackgroundImageGeometryForPainting):
828         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
829
830 2015-02-25  Brent Fulgham  <bfulgham@apple.com>
831
832         [Win] Use WEBCORE_EXPORT instead of Definition file
833         https://bugs.webkit.org/show_bug.cgi?id=141734
834
835         Reviewed by Alex Christensen.
836
837         No change in functionality.
838
839         * WebCore.vcxproj/WebCore.vcxproj: Correct bad Precompiled header
840         settings on certain files.
841         * WebCore.vcxproj/WebCore.vcxproj.filters: Automatically updated
842         by Visual Studio.
843         * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Ditto.
844         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Ditto.
845         * WebCore.vcxproj/WebCoreTestSupportCommon.props: Added.
846         * WebCore.vcxproj/WebCoreTestSupportDebug.props: Added.
847         * WebCore.vcxproj/WebCoreTestSupportDebugWinCairo.props: Added.
848         * WebCore.vcxproj/WebCoreTestSupportProduction.props: Added.
849         * WebCore.vcxproj/WebCoreTestSupportRelease.props: Added.
850         * WebCore.vcxproj/WebCoreTestSupportReleaseWinCairo.props: Added.
851         * WebCorePrefix.h: Provide proper export definitions for Windows.
852         * bindings/js/JSCustomXPathNSResolver.cpp: Add missing #include
853         needed by the new export style.
854         * bindings/js/JSDOMWindowBase.h: Export class since DRT needs
855         access to parts of it.
856         * bindings/js/ScriptCachedFrameData.cpp: Add missing #include
857         needed by the new export style.
858         * bindings/scripts/CodeGeneratorJS.pm: Use different export macro
859         when generating WebCoreTestSupport files, so that we don't confuse
860         the linker when WebCore.lib and WebCoreTestSupport.lib try to
861         both export WEBCORE_EXPORT symbols.
862         (ExportLabelForClass):
863         (GenerateHeader):
864         * bridge/jsc/BridgeJSC.cpp: Add missing #include needed by the new
865         export style.
866         * css/CSSParser.cpp: Ditto.
867         * dom/Document.cpp: Ditto.
868         * html/HTMLImageLoader.cpp: Ditto.
869         * inspector/CommandLineAPIModule.cpp: Ditto.
870         * inspector/PageDebuggerAgent.cpp: Ditto.
871         * inspector/PageRuntimeAgent.cpp: Ditto.
872         * inspector/WorkerRuntimeAgent.cpp: Ditto.
873         * page/DOMWindow.cpp: Ditto.
874         * page/DOMWindow.h: Export the destructor, as it is needed by
875         DumpRenderTree (on Windows).
876         * page/Page.cpp: Add missing #include needed by the new export style.
877         * platform/Logging.h: Remove conflicting export declaration.
878         * platform/PlatformExportMacros.h: Update for Windows use.
879         * testing/Internals.cpp: Add missing #include needed by the new export style.
880         * testing/Internals.h: Use WEBCORE_TESTSUPPORT_EXPORT for things that
881         are supposed to be exported by WebCoreTestSupport, not WebCore.
882         * testing/js/WebCoreTestSupport.cpp: Add missing #include needed by
883         new export style.
884         * testing/js/WebCoreTestSupportPrefix.cpp: Added.
885         * testing/js/WebCoreTestSupportPrefix.h: Added.
886         * xml/XMLHttpRequest.h: Export the destructor.
887         * xml/XSLStyleSheetLibxslt.cpp: Add missing #include needed by the new
888         export style.
889         * xml/XSLTProcessorLibxslt.cpp: Ditto.
890
891 2015-02-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
892
893         Remove unnecessary DatabaseFooTask::create
894         https://bugs.webkit.org/show_bug.cgi?id=142002
895
896         Reviewed by Darin Adler.
897
898         DatabaseFooTask::create can be replaced with std::make_unique<>.
899
900         No new tests, no behavior changes.
901
902         * Modules/webdatabase/Database.cpp:
903         (WebCore::Database::scheduleTransaction):
904         (WebCore::Database::scheduleTransactionStep):
905         (WebCore::Database::markAsDeletedAndClose):
906         (WebCore::Database::closeImmediately):
907         (WebCore::Database::tableNames):
908         * Modules/webdatabase/DatabaseTask.h:
909         (WebCore::DatabaseBackend::DatabaseCloseTask::create): Deleted.
910         (WebCore::DatabaseBackend::DatabaseTransactionTask::create): Deleted.
911         (WebCore::DatabaseBackend::DatabaseTableNamesTask::create): Deleted.
912
913 2015-02-25  Dean Jackson  <dino@apple.com>
914
915         [iOS Media] incorrect front padding on time values
916         https://bugs.webkit.org/show_bug.cgi?id=142027
917         <rdar://problem/19960790>
918
919         Reviewed by Brent Fulgham.
920
921         We don't want to prefix times with a "0".
922
923         * Modules/mediacontrols/mediaControlsApple.js:
924         (Controller.prototype.formatTime):
925
926 2015-02-25  Chris Dumez  <cdumez@apple.com>
927
928         Make PublicURLManager suspendable
929         https://bugs.webkit.org/show_bug.cgi?id=141977
930         <rdar://problem/19923085>
931
932         Reviewed by Andreas Kling.
933
934         Make PublicURLManager suspendable by overriding ActiveDOMObject::canSuspend()
935         and returning true. Nothing prevents suspending the PublicURLManager as its
936         implementation never causes JS to be executed. No implementation for
937         suspend() / resume() needs to be provided for the same reason.
938
939         The fact that PublicURLManager wasn't suspendable was preventing pages using
940         URL.createObjectURL() from entering the PageCache. Baidu.com search results
941         pages are using the API for example.
942
943         Test: fast/history/page-cache-createObjectURL.html
944
945         * html/PublicURLManager.cpp:
946         (WebCore::PublicURLManager::canSuspend):
947         * html/PublicURLManager.h:
948
949 2015-02-25  Zalan Bujtas  <zalan@apple.com>
950
951         Cleanup BackgroundImageGeometry class.
952         https://bugs.webkit.org/show_bug.cgi?id=141997
953
954         Reviewed by Simon Fraser.
955
956         This patch attempts to improve RenderBoxModelObject::calculateBackgroundImageGeometry() readability by
957         removing redundant code and making image geometry operations explicit. BackgroundImageGeometry
958         becomes a read only class (with the exception of the clip() method).
959
960         No change in functionality.
961
962         * rendering/RenderBoxModelObject.cpp:
963         (WebCore::BackgroundImageGeometry::BackgroundImageGeometry):
964         (WebCore::BackgroundImageGeometry::pixelSnapBackgroundImageGeometryForPainting):
965         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
966         (WebCore::BackgroundImageGeometry::setNoRepeatX): Deleted.
967         (WebCore::BackgroundImageGeometry::setNoRepeatY): Deleted.
968         (WebCore::BackgroundImageGeometry::useFixedAttachment): Deleted.
969         (WebCore::BackgroundImageGeometry::clip): Deleted.
970         (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting): Deleted.
971         * rendering/RenderBoxModelObject.h:
972         (WebCore::BackgroundImageGeometry::clip):
973         (WebCore::BackgroundImageGeometry::BackgroundImageGeometry): Deleted.
974         (WebCore::BackgroundImageGeometry::setDestRect): Deleted.
975         (WebCore::BackgroundImageGeometry::setPhase): Deleted.
976         (WebCore::BackgroundImageGeometry::setPhaseX): Deleted.
977         (WebCore::BackgroundImageGeometry::setPhaseY): Deleted.
978         (WebCore::BackgroundImageGeometry::setTileSize): Deleted.
979         (WebCore::BackgroundImageGeometry::setSpaceSize): Deleted.
980         (WebCore::BackgroundImageGeometry::setHasNonLocalGeometry): Deleted.
981
982 2015-02-25  Said Abou-Hallawa  <sabouhallawa@apple.com>
983
984         Horizontal and vertical lines are clipped completely if clip-path is included in the tag but the referenced element is defined later.
985         https://bugs.webkit.org/show_bug.cgi?id=141776.
986
987         Reviewed by Dean Jackson.
988
989         Tests: svg/clip-path/clip-path-line-use-before-defined-expected.svg
990                svg/clip-path/clip-path-line-use-before-defined.svg
991
992         * rendering/svg/RenderSVGResourceClipper.cpp:
993         (WebCore::RenderSVGResourceClipper::applyClippingToContext): Ensure the renderer
994         is added to m_clipper if it does not exist. The same renderer might have been 
995         added to m_clipper in resourceBoundingBox().
996         
997         (WebCore::RenderSVGResourceClipper::addRendererToClipper): Add the renderer to
998         m_clipper if it does not exist. Return the associated ClipperData.
999         
1000         (WebCore::RenderSVGResourceClipper::resourceBoundingBox): If the clipper is
1001         referenced before it is defined, add the renderer to m_clipper. While doing the
1002         layout() for the clipper, we can check if m_clipper has values or not. If it does
1003         have, we are going to mark the clipper for client invalidation which is done by
1004         the SVG root.
1005         
1006         * rendering/svg/RenderSVGResourceClipper.h:
1007         * rendering/svg/RenderSVGResourceContainer.h:
1008         (WebCore::RenderSVGResourceContainer::selfNeedsClientInvalidation): Define a 
1009         new function selfNeedsClientInvalidation() which controls marking the clipper 
1010         for client invalidation. In RenderSVGResourceClipper, override it so it checks
1011         m_clipper to force clients validation even if it the first time we do layout
1012         for this clipper.
1013
1014         * rendering/svg/RenderSVGResourceContainer.cpp:
1015         (WebCore::RenderSVGResourceContainer::layout): Call the virtual function
1016         selfNeedsClientInvalidation() to check whether we need to mark the clipper for
1017         client invalidation.
1018         
1019         * svg/SVGElement.cpp: Delete unneeded header file.
1020
1021 2015-02-25  peavo@outlook.com  <peavo@outlook.com>
1022
1023         [WinCairo] WinLauncher is not starting on Vista.
1024         https://bugs.webkit.org/show_bug.cgi?id=141905
1025
1026         Reviewed by Alex Christensen.
1027
1028         We have to soft link with Media Foundation functions to be able
1029         to start on Vista and WinXP.
1030
1031         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
1032         (WebCore::MediaPlayerPrivateMediaFoundation::createSession):
1033         (WebCore::MediaPlayerPrivateMediaFoundation::endSession):
1034         (WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource):
1035         (WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
1036         (WebCore::MediaPlayerPrivateMediaFoundation::createTopologyFromSource):
1037         (WebCore::MediaPlayerPrivateMediaFoundation::createOutputNode):
1038         (WebCore::MediaPlayerPrivateMediaFoundation::createSourceStreamNode):
1039         (WebCore::MediaPlayerPrivateMediaFoundation::onTopologySet):
1040
1041 2015-02-25  Beth Dakin  <bdakin@apple.com>
1042
1043         REGRESSION (r180018 ): Holding a rubber-band in place can get stuck
1044         https://bugs.webkit.org/show_bug.cgi?id=142020
1045         -and corresponding-
1046         rdar://problem/19945216
1047
1048         Reviewed by Tom Horton.
1049
1050         It was a mistaken assumption that it was necessary to return false in the zero-
1051         delta case. That is clearly conceptually wrong since false represents the DOM 
1052         doing something special with the event, which is clearly not the case if we never 
1053         even send the event to the DOM. Returning true will allow the rest of the 
1054         scrolling machinery the ability to handle the event.
1055         * dom/Element.cpp:
1056         (WebCore::Element::dispatchWheelEvent):
1057
1058 2015-02-25  Ryosuke Niwa  <rniwa@webkit.org>
1059
1060         HTMLElement::collectStyleForPresentationAttribute duplicates a lot of code for contentEditableAttr
1061         https://bugs.webkit.org/show_bug.cgi?id=142003
1062
1063         Reviewed by Sam Weinig.
1064
1065         Utilized contentEditableType to reduce the code duplication.
1066
1067         * html/HTMLElement.cpp:
1068         (WebCore::contentEditableType): Moved and added a version that takes AtomicString.
1069         (WebCore::HTMLElement::collectStyleForPresentationAttribute):
1070
1071 2015-02-25  Sergio Villar Senin  <svillar@igalia.com>
1072
1073         [CSS Grid Layout] Tracks growing beyond limits when they should not
1074         https://bugs.webkit.org/show_bug.cgi?id=140883
1075
1076         Reviewed by Darin Adler.
1077
1078         Our track sizing algorithm implementation incorrectly grew some
1079         tracks beyond limits when handling min-content and max-content
1080         base sizes. In those cases we should only grow "any affected track
1081         that happens to also have an intrinsic max track sizing function"
1082         or all of them if there are none.
1083
1084         The problem was that we're using a vector of indexes pointing to
1085         the vector with the list of affected tracks. Those indexes become
1086         easily incorrect because the first thing we do in
1087         distributeSpaceToTracks() is to sort the vector with the affected
1088         tracks by growth potential.
1089
1090         Instead of that we now pass a vector with pointers to the list of
1091         tracks allowed to grow over the limits. The size changes are now
1092         directly stored in the GridTracks (it's called plannedSize)
1093         instead of in a separate vector, so we don't need to worry about
1094         tracks being rearranged (and we also get rid of the ugly vector of
1095         indexes pointing to another vector).
1096
1097         * rendering/RenderGrid.cpp:
1098         (WebCore::GridTrack::plannedSize): New member with getter/setter.
1099         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
1100         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
1101         Pass a setXXX() function instead of a growXXX() one to ForItems().
1102         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
1103         Renamed additionalBreadthSpace to extraSpace which is the term
1104         used by specs.
1105         (WebCore::RenderGrid::distributeSpaceToTracks): Use GridTrack's
1106         plannedSize instead of the old distribution vector.
1107         (WebCore::GridTrack::growBaseSize): Deleted.
1108         (WebCore::GridTrack::growGrowthLimit): Deleted.
1109         * rendering/RenderGrid.h:
1110
1111 2015-02-25  Joanmarie Diggs  <jdiggs@igalia.com>
1112
1113         AX: Implement support for ARIA 1.1 'searchbox' role
1114         https://bugs.webkit.org/show_bug.cgi?id=142004
1115
1116         Reviewed by Chris Fleizach.
1117
1118         Add a new accessible SearchFieldRole to handle both the ARIA role
1119         and the "search" input type.
1120
1121         No new tests. Instead, added a new test case to roles-exposed.html
1122         for the mapping, and updated roles-computedRoleString.html because
1123         there is now a one-to-one mapping between the "search" input type
1124         and an ARIA role.
1125
1126         * accessibility/AccessibilityNodeObject.cpp:
1127         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
1128         (WebCore::AccessibilityNodeObject::isSearchField):
1129         * accessibility/AccessibilityObject.cpp:
1130         (WebCore::AccessibilityObject::isARIATextControl):
1131         (WebCore::AccessibilityObject::isARIAInput):
1132         (WebCore::initializeRoleMap):
1133         * accessibility/AccessibilityObject.h:
1134         * accessibility/AccessibilityRenderObject.cpp:
1135         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1136         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1137         (atkRole):
1138         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1139         (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
1140         (-[WebAccessibilityObjectWrapper accessibilityTraits]):
1141         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
1142         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1143         (createAccessibilityRoleMap):
1144
1145 2015-02-24  Simon Fraser  <simon.fraser@apple.com>
1146
1147         Clarify some resizing terminology in ScrollView/FrameView
1148         https://bugs.webkit.org/show_bug.cgi?id=141996
1149
1150         Reviewed by Zalan Bujtas.
1151
1152         ScrollableArea/ScrollView/FrameView had some confusing terminology around
1153         contentsResized/visibleContentsResized/fixedLayoutSizeChanged.
1154         
1155         Clarify this by distinguishing between:
1156         1. Available size changes because of
1157             i) non-overlay scrollbar presence
1158            ii) ScrollableArea frame change
1159         2. Removing fixedLayoutSizeChanged() and just treating it like an
1160            available size change.
1161            
1162         contentsResized() is relegated to simply being a hook that allows Mac to
1163         flash overlay scrollbars.
1164         
1165         The confusingly named visibleContentsResized() is now updateContentsSize(),
1166         and is the way that a ScrollableArea tells its subclasss that it should recompute
1167         the size of the contents (i.e. do a layout).
1168
1169         * page/FrameView.cpp:
1170         (WebCore::FrameView::setContentsSize): No longer mysteriously skip the
1171         FrameView implementation of contentsResized(), which used to do a setNeedsLayout()
1172         which we didn't want to do from setContentsSize(), which itself happens as a result of layout.
1173         (WebCore::FrameView::adjustViewSize): Whitespace.
1174         (WebCore::FrameView::layout): Ditto.
1175         (WebCore::FrameView::availableContentSizeChanged): Called on frame size change, or scrollbar
1176         change.
1177         (WebCore::FrameView::updateContentsSize): This actually does the layout.
1178         (WebCore::FrameView::scrollbarStyleChanged): Always call the base class;  ScrollView::scrollbarStyleChanged
1179         will bail if not a forced update.
1180         (WebCore::FrameView::setCustomFixedPositionLayoutRect): Forces a layout via updateContentsSize() now.
1181         (WebCore::FrameView::contentsResized): Deleted.
1182         (WebCore::FrameView::fixedLayoutSizeChanged): Deleted.
1183         (WebCore::FrameView::visibleContentsResized): Deleted.
1184         * page/FrameView.h:
1185         * platform/ScrollView.cpp:
1186         (WebCore::ScrollView::setFixedLayoutSize): Calls availableContentSizeChanged() now.
1187         (WebCore::ScrollView::setUseFixedLayout): Ditto.
1188         (WebCore::ScrollView::availableContentSizeChanged): Update scrollbars if that's not
1189         the reason we are being called.
1190         (WebCore::ScrollView::updateScrollbars): contentsResized() was the thing that caused setNeedsLayout();
1191         replace it with availableContentSizeChanged(). visibleContentsResized() did the layout, and
1192         replace with updateContentsSize().
1193         (WebCore::ScrollView::setFrameRect): Call availableContentSizeChanged() now. This takes care of
1194         updating scrollbars, so no need to explicitly do that.
1195         (WebCore::ScrollView::scrollbarStyleChanged): Call the base class.
1196         (WebCore::ScrollView::fixedLayoutSizeChanged): Deleted.
1197         * platform/ScrollView.h:
1198         * platform/ScrollableArea.cpp:
1199         (WebCore::ScrollableArea::availableContentSizeChanged): Call scrollAnimator->contentsResized()
1200         to flash the scrollbars.
1201         (WebCore::ScrollableArea::scrolledToRight):
1202         (WebCore::ScrollableArea::scrollbarStyleChanged): Call availableContentSizeChanged() since
1203         scrollbar style affects available space.
1204         * platform/ScrollableArea.h:
1205         (WebCore::ScrollableArea::updateContentsSize):
1206         (WebCore::ScrollableArea::scrollbarStyleChanged): Deleted.
1207
1208 2015-02-24  Ryosuke Niwa  <rniwa@webkit.org>
1209
1210         Unreviewed Mavericks build attempt fix after r180609.
1211
1212         * platform/graphics/mac/GraphicsContext3DMac.mm:
1213         (WebCore::GraphicsContext3D::GraphicsContext3D):
1214         (WebCore::GraphicsContext3D::checkGPUStatusIfNecessary):
1215
1216 2015-02-19  Roger Fong  <roger_fong@apple.com>
1217
1218         WebGL: Destroy the GLContext if a GPU restart has been detected.
1219         https://bugs.webkit.org/show_bug.cgi?id=141567.
1220         <rdar://problem/18507496>
1221
1222         Reviewed by Dean Jackson.
1223
1224         * html/canvas/WebGLRenderingContextBase.cpp:
1225         (WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):
1226         * platform/graphics/GraphicsContext3D.h:
1227         (WebCore::GraphicsContext3D::setWebGLContext): 
1228         Keep track of which WebGLRenderingContext is associated with the current GraphicsContext3D.
1229         * platform/graphics/mac/GraphicsContext3DMac.mm:
1230         (WebCore::GraphicsContext3D::checkGPUStatusIfNecessary): Helper method to check GPU status.
1231         (WebCore::GraphicsContext3D::GraphicsContext3D): 
1232         Don’t immediately abort the GPU process when the restart status is kCGLCPGPURestartStatusBlacklisted.
1233         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1234         (WebCore::GraphicsContext3D::forceContextLost): 
1235         Force the WebGLRenderingContext to be lost.
1236         (WebCore::GraphicsContext3D::drawArrays): Check GPU status after calling drawArrays.
1237         (WebCore::GraphicsContext3D::drawElements): Check GPU status after calling drawElements.
1238         * WebCore.xcodeproj/project.pbxproj: Add SPI header for iOS.
1239         * platform/spi/ios/OpenGLESSPI.h: Added.
1240
1241 2015-02-24  Stephanie Lewis  <slewis@apple.com>
1242
1243         Unreviewed ios build fix after http://trac.webkit.org/changeset/180602.
1244
1245         * bindings/js/JSDOMWindowBase.cpp:
1246         (WebCore::JSDOMWindowBase::commonVM):
1247
1248 2015-02-24  Simon Fraser  <simon.fraser@apple.com>
1249
1250         Use an enum for scrollbar style
1251         https://bugs.webkit.org/show_bug.cgi?id=141985
1252
1253         Reviewed by Beth Dakin.
1254
1255         Switch to an enum class for the scrollbar style (normal or overlay).
1256
1257         * page/ChromeClient.h:
1258         * page/FrameView.cpp:
1259         (WebCore::FrameView::scrollbarStyleChanged):
1260         * page/FrameView.h:
1261         * platform/ScrollTypes.h:
1262         * platform/ScrollView.cpp:
1263         (WebCore::ScrollView::scrollbarStyleChanged):
1264         * platform/ScrollView.h:
1265         * platform/ScrollableArea.h:
1266         (WebCore::ScrollableArea::scrollbarStyleChanged):
1267         * platform/mac/ScrollAnimatorMac.mm:
1268         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
1269
1270 2015-02-24  Commit Queue  <commit-queue@webkit.org>
1271
1272         Unreviewed, rolling out r180599.
1273         https://bugs.webkit.org/show_bug.cgi?id=141998
1274
1275         Lots of new test failures (Requested by smfr on #webkit).
1276
1277         Reverted changeset:
1278
1279         "Parsing support for -webkit-trailing-word"
1280         https://bugs.webkit.org/show_bug.cgi?id=141939
1281         http://trac.webkit.org/changeset/180599
1282
1283 2015-02-24  Sam Weinig  <sam@webkit.org>
1284
1285         [Attachment] Give <attachment> elements an underlying File
1286         https://bugs.webkit.org/show_bug.cgi?id=141993
1287
1288         Reviewed by Tim Horton.
1289
1290         - Add a JS subclass for attachments so that <attachment>s are
1291           instances of HTMLAttachmentElement rather than HTMLElement.
1292         - Give HTMLAttachmentElements an underlying File that they
1293           are the representation of. Expose it via a new 'file' property.
1294         - Expose a new Internals function called window.internals.createFile(url)
1295           that allows creating File objects for testing.
1296
1297         * CMakeLists.txt:
1298         * DerivedSources.cpp:
1299         * DerivedSources.make:
1300         * WebCore.vcxproj/WebCore.vcxproj:
1301         * WebCore.vcxproj/WebCore.vcxproj.filters:
1302         * WebCore.xcodeproj/project.pbxproj:
1303         * fileapi/File.h:
1304         * html/HTMLAttachmentElement.cpp:
1305         (WebCore::HTMLAttachmentElement::~HTMLAttachmentElement):
1306         (WebCore::HTMLAttachmentElement::file):
1307         (WebCore::HTMLAttachmentElement::setFile):
1308         * html/HTMLAttachmentElement.h:
1309         * html/HTMLAttachmentElement.idl: Added.
1310         * html/HTMLTagNames.in:
1311         * testing/Internals.cpp:
1312         (WebCore::Internals::createFile):
1313         * testing/Internals.h:
1314         * testing/Internals.idl:
1315
1316 2015-02-24  Joanmarie Diggs  <jdiggs@igalia.com>
1317
1318         AX: Implement support for ARIA 1.1 'switch' role
1319         https://bugs.webkit.org/show_bug.cgi?id=141986
1320
1321         Reviewed by Chris Fleizach.
1322
1323         Map the role to ATK_ROLE_TOGGLE_BUTTON for Gtk and Efl; on the Mac, to
1324         AXCheckBox with a subrole of AXSwitch. Ensure it looks and acts like a
1325         widget to accessibility APIs (supports and emits notifications when
1326         toggled, doesn't have children, exposes a name and description when
1327         provided).
1328
1329         Tests: accessibility/aria-switch-checked.html
1330                accessibility/aria-switch-sends-notification.html
1331                accessibility/aria-switch-text.html
1332
1333         * accessibility/AccessibilityNodeObject.cpp:
1334         (WebCore::AccessibilityNodeObject::canHaveChildren):
1335         (WebCore::AccessibilityNodeObject::isChecked):
1336         (WebCore::AccessibilityNodeObject::visibleText):
1337         (WebCore::AccessibilityNodeObject::title):
1338         * accessibility/AccessibilityObject.cpp:
1339         (WebCore::AccessibilityObject::isARIAInput):
1340         (WebCore::AccessibilityObject::actionVerb):
1341         (WebCore::initializeRoleMap):
1342         (WebCore::AccessibilityObject::supportsChecked):
1343         (WebCore::AccessibilityObject::checkboxOrRadioValue):
1344         * accessibility/AccessibilityObject.h:
1345         (WebCore::AccessibilityObject::isSwitch):
1346         * accessibility/atk/AXObjectCacheAtk.cpp:
1347         (WebCore::AXObjectCache::postPlatformNotification):
1348         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1349         (atkRole):
1350         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1351         (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
1352         (-[WebAccessibilityObjectWrapper accessibilityTraits]):
1353         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
1354         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1355         (createAccessibilityRoleMap):
1356         (-[WebAccessibilityObjectWrapper subrole]):
1357         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1358
1359 2015-02-24  Myles C. Maxfield  <mmaxfield@apple.com>
1360
1361         [Mac] [iOS] Parsing support for -apple-trailing-word
1362         https://bugs.webkit.org/show_bug.cgi?id=141939
1363
1364         Reviewed by Andreas Kling.
1365
1366         This patch implements initial parsing support for the -apple-trailing-word CSS property.
1367         This property has two possible (mutually exclusive) values: auto and
1368         -apple-partially-balanced. This property is inherited.
1369
1370         The work for this property is behind the ENABLE(CSS_TRAILING_WORD) preprocessor define.
1371
1372         This is an internal property that will allow us to control line breaking behavior for
1373         short paragraphs.
1374
1375         Note that, because of the implementation of cssValueKeywordID() in CSSParser.cpp,
1376         the new value must be implemented as -webkit-partially-balanced. Using the -apple-
1377         prefix will work, but if you getComputedStyle(), it will return the -webkit- prefixed
1378         version.
1379
1380         Test: platform/mac/fast/text/trailing-word-parse.html
1381
1382         * Configurations/FeatureDefines.xcconfig:
1383         * css/CSSComputedStyleDeclaration.cpp:
1384         (WebCore::ComputedStyleExtractor::propertyValue): Turn internal representation into a
1385         CSS value.
1386         * css/CSSParser.cpp:
1387         (WebCore::isValidKeywordPropertyAndValue): Updated for new keyword property / value
1388         pair.
1389         (WebCore::isKeywordPropertyID): New property is a keyword property.
1390         (WebCore::CSSParser::parseValue): Use the keyword property codepath.
1391         * css/CSSPrimitiveValueMappings.h:
1392         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Convert to and from the internal
1393         representation and CSS values.
1394         (WebCore::CSSPrimitiveValue::operator TrailingWord):
1395         * css/CSSPropertyNames.in: New property.
1396         * css/CSSValueKeywords.in: New value.
1397         * rendering/SimpleLineLayout.cpp:
1398         (WebCore::SimpleLineLayout::canUseFor): Can't use SimpleLineLayout for this.
1399         * rendering/style/RenderStyle.h: Getter, setter and initial value.
1400         * rendering/style/RenderStyleConstants.h: Internal data type.
1401         * rendering/style/StyleRareInheritedData.h: One bit to control this style property.
1402
1403 2015-02-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1404
1405         Remove DecodingTask::create and DatabaseOpenTask::create
1406         https://bugs.webkit.org/show_bug.cgi?id=141966
1407
1408         Reviewed by Anders Carlsson.
1409
1410         These create() factory functions are redundant. We can use std::make_unique<> directly.
1411
1412         No new tests, no behavior changes.
1413
1414         * Modules/webaudio/AsyncAudioDecoder.cpp:
1415         (WebCore::AsyncAudioDecoder::decodeAsync):
1416         (WebCore::AsyncAudioDecoder::DecodingTask::create): Deleted.
1417         * Modules/webaudio/AsyncAudioDecoder.h:
1418         * Modules/webdatabase/Database.cpp:
1419         (WebCore::Database::openAndVerifyVersion):
1420         * Modules/webdatabase/DatabaseTask.h:
1421         (WebCore::DatabaseBackend::DatabaseOpenTask::create): Deleted.
1422
1423 2015-02-24  Commit Queue  <commit-queue@webkit.org>
1424
1425         Unreviewed, rolling out r180578.
1426         https://bugs.webkit.org/show_bug.cgi?id=141992
1427
1428         Broke scrolling in Inspector Console. (Requested by JoePeck on
1429         #webkit).
1430
1431         Reverted changeset:
1432
1433         "[Mac] WebKit abandons overlay scrollbar CALayers."
1434         https://bugs.webkit.org/show_bug.cgi?id=141943
1435         http://trac.webkit.org/changeset/180578
1436
1437 2015-02-24  Dean Jackson  <dino@apple.com>
1438
1439         [ios Media] the inline controls are visible after pressing Done on iPhone
1440         https://bugs.webkit.org/show_bug.cgi?id=141987
1441         <rdar://problem/19944110>
1442
1443         Reviewed by Beth Dakin.
1444
1445         When exiting out of a playing video, we should show the
1446         start playback button if we don't allow inline media
1447         (such as on iPhone).
1448
1449         * Modules/mediacontrols/mediaControlsiOS.js:
1450         (ControllerIOS.prototype.shouldHaveStartPlaybackButton): Test for
1451         allowsInline as well.
1452
1453 2015-02-24  Zalan Bujtas  <zalan@apple.com>
1454
1455         Pass FillLayer reference instead of pointer to RenderBoxModelObject::calculateBackgroundImageGeometry.
1456         https://bugs.webkit.org/show_bug.cgi?id=141982
1457
1458         Reviewed by Simon Fraser.
1459
1460         There should always be a valid FillLayer.
1461
1462         No change in functionality.
1463
1464         * rendering/RenderBox.cpp:
1465         (WebCore::RenderBox::getBackgroundPaintedExtent):
1466         (WebCore::RenderBox::maskClipRect):
1467         (WebCore::RenderBox::repaintLayerRectsForImage):
1468         * rendering/RenderBoxModelObject.cpp:
1469         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1470         (WebCore::RenderBoxModelObject::calculateFillTileSize):
1471         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1472         (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
1473         * rendering/RenderBoxModelObject.h:
1474
1475 2015-02-24  Dean Jackson  <dino@apple.com>
1476
1477         [iOS Media] Be specific about which document to use for the timeline background canvas
1478         https://bugs.webkit.org/show_bug.cgi?id=141981
1479
1480         Reviewed by Eric Carlson.
1481
1482         In some cases, especially with nested iframes, the document
1483         reference for the shadow DOM might not be the one used
1484         to create a -webkit-canvas context for rendering via CSS.
1485         Explicitly get the context from the video's owner
1486         document.
1487
1488         There is still a bug here:
1489         https://bugs.webkit.org/show_bug.cgi?id=141983
1490
1491         * Modules/mediacontrols/mediaControlsiOS.js:
1492         (ControllerIOS.prototype.drawTimelineBackground):
1493
1494 2015-02-24  Zalan Bujtas  <zalan@apple.com>
1495
1496         Remove unused BackgroundImageGeometry::m_destOrigin
1497         https://bugs.webkit.org/show_bug.cgi?id=141980
1498
1499         Reviewed by Simon Fraser.
1500
1501         Remove BackgroundImageGeometry::m_destOrigin and its dependencies.
1502         They are not used at all.
1503
1504         No change in functionality.
1505
1506         * rendering/RenderBoxModelObject.cpp:
1507         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1508         (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
1509         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1510         (WebCore::BackgroundImageGeometry::relativePhase): Deleted.
1511         * rendering/RenderBoxModelObject.h:
1512         (WebCore::BackgroundImageGeometry::destOrigin): Deleted.
1513         (WebCore::BackgroundImageGeometry::setDestOrigin): Deleted.
1514         * rendering/svg/RenderSVGResourceMasker.cpp:
1515         (WebCore::RenderSVGResourceMasker::drawMaskForRenderer):
1516
1517 2015-02-24  Zalan Bujtas  <zalan@apple.com>
1518
1519         RenderBoxModelObject::calculateBackgroundImageGeometry should return BackgroundImageGeometry.
1520         https://bugs.webkit.org/show_bug.cgi?id=141979
1521
1522         Reviewed by Simon Fraser.
1523
1524         No change in functionality.
1525
1526         * rendering/RenderBox.cpp:
1527         (WebCore::RenderBox::getBackgroundPaintedExtent):
1528         (WebCore::RenderBox::maskClipRect):
1529         (WebCore::RenderBox::repaintLayerRectsForImage):
1530         * rendering/RenderBoxModelObject.cpp:
1531         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1532         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1533         (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
1534         * rendering/RenderBoxModelObject.h:
1535
1536 2015-02-24  Zalan Bujtas  <zalan@apple.com>
1537
1538         Switch BackgroundImageGeometry's m_phase from LayoutPoint to LayoutSize.
1539         https://bugs.webkit.org/show_bug.cgi?id=141972
1540
1541         Reviewed by Simon Fraser.
1542
1543         Image geometry's phase represents distance.
1544
1545         No change in functionality.
1546
1547         * WebCore.order:
1548         * platform/graphics/GraphicsLayer.h:
1549         (WebCore::GraphicsLayer::setContentsTilePhase):
1550         (WebCore::GraphicsLayer::contentsTilePhase):
1551         * platform/graphics/texmap/TextureMapperLayer.cpp:
1552         (WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
1553         (WebCore::TextureMapperLayer::setContentsTilePhase):
1554         * platform/graphics/texmap/TextureMapperLayer.h:
1555         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1556         (WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):
1557         * rendering/RenderBoxModelObject.cpp:
1558         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1559         (WebCore::BackgroundImageGeometry::setNoRepeatX):
1560         (WebCore::BackgroundImageGeometry::setNoRepeatY):
1561         (WebCore::BackgroundImageGeometry::useFixedAttachment):
1562         (WebCore::BackgroundImageGeometry::relativePhase):
1563         (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
1564         (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
1565         * rendering/RenderBoxModelObject.h:
1566         (WebCore::BackgroundImageGeometry::phase):
1567         (WebCore::BackgroundImageGeometry::setPhase):
1568         (WebCore::BackgroundImageGeometry::setPhaseX):
1569         (WebCore::BackgroundImageGeometry::setPhaseY):
1570         * rendering/RenderLayerBacking.cpp:
1571         (WebCore::RenderLayerBacking::resetContentsRect):
1572         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
1573         * rendering/svg/RenderSVGResourceMasker.cpp:
1574         (WebCore::RenderSVGResourceMasker::drawMaskForRenderer):
1575
1576 2015-02-24  Andreas Kling  <akling@apple.com>
1577
1578         [Mac] WebKit abandons overlay scrollbar CALayers.
1579         <https://webkit.org/b/141943>
1580         <rdar://problem/19932199>
1581
1582         Reviewed by Beth Dakin.
1583
1584         * platform/mac/ScrollAnimatorMac.mm:
1585         (-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]):
1586         Use NSAnimationNonblockingThreaded to ensure that NSAnimations get cleaned up after they finish.
1587         The animation was indirectly retaining the overlay scrollbar's CALayer, causing significant
1588         amounts of abandoned memory to accumulate over time.
1589
1590 2015-02-24  Anders Carlsson  <andersca@apple.com>
1591
1592         Implement more of the data fetching API
1593         https://bugs.webkit.org/show_bug.cgi?id=141975
1594
1595         Reviewed by Andreas Kling.
1596
1597         Add API for getting origins in a given session that has cached data.
1598
1599         * loader/cache/MemoryCache.cpp:
1600         (WebCore::MemoryCache::originsWithCache):
1601
1602 2015-02-24  Simon Fraser  <simon.fraser@apple.com>
1603
1604         Use nullptr in more places in FrameView, RenderView, RenderObject
1605         https://bugs.webkit.org/show_bug.cgi?id=141974
1606
1607         Reviewed by Zalan Bujtas.
1608
1609         0 -> nullptr in FrameView.h/cpp, RenderView.h/cpp, RenderObject.h/cpp.
1610         
1611         Rename FrameView::m_deferSetNeedsLayouts to FrameView::m_deferSetNeedsLayoutCount
1612         to make it more clear that it's a count.
1613
1614         * page/FrameView.cpp:
1615         (WebCore::FrameView::FrameView):
1616         (WebCore::FrameView::reset):
1617         (WebCore::FrameView::setContentsSize):
1618         (WebCore::FrameView::calculateScrollbarModesForLayout):
1619         (WebCore::FrameView::layerForScrolling):
1620         (WebCore::FrameView::layerForHorizontalScrollbar):
1621         (WebCore::FrameView::layerForVerticalScrollbar):
1622         (WebCore::FrameView::layerForScrollCorner):
1623         (WebCore::FrameView::tiledBacking):
1624         (WebCore::FrameView::scrollLayerID):
1625         (WebCore::FrameView::layerForOverhangAreas):
1626         (WebCore::FrameView::setWantsLayerForTopOverHangArea):
1627         (WebCore::FrameView::setWantsLayerForBottomOverHangArea):
1628         (WebCore::FrameView::hasCompositedContentIncludingDescendants):
1629         (WebCore::FrameView::layoutRoot):
1630         (WebCore::FrameView::forceLayoutParentViewIfNeeded):
1631         (WebCore::FrameView::layout):
1632         (WebCore::FrameView::hostWindow):
1633         (WebCore::FrameView::scheduleRelayout):
1634         (WebCore::FrameView::scheduleRelayoutOfSubtree):
1635         (WebCore::FrameView::needsLayout):
1636         (WebCore::FrameView::setNeedsLayout):
1637         (WebCore::FrameView::enclosingScrollableArea):
1638         (WebCore::FrameView::parentFrameView):
1639         (WebCore::FrameView::paintControlTints):
1640         (WebCore::FrameView::adjustPageHeightDeprecated):
1641         (WebCore::FrameView::axObjectCache):
1642         * page/FrameView.h:
1643         * rendering/RenderObject.cpp:
1644         (WebCore::RenderObject::RenderObject):
1645         (WebCore::RenderObject::nextInPreOrderAfterChildren):
1646         (WebCore::RenderObject::previousInPreOrder):
1647         (WebCore::RenderObject::firstLeafChild):
1648         (WebCore::RenderObject::lastLeafChild):
1649         (WebCore::RenderObject::traverseNext):
1650         (WebCore::RenderObject::firstLineBlock):
1651         (WebCore::RenderObject::containerForRepaint):
1652         (WebCore::RenderObject::showRenderSubTreeAndMark):
1653         (WebCore::RenderObject::localToAbsolute):
1654         (WebCore::RenderObject::container):
1655         * rendering/RenderObject.h:
1656         (WebCore::RenderObject::virtualContinuation):
1657         (WebCore::RenderObject::node):
1658         (WebCore::RenderObject::nonPseudoNode):
1659         (WebCore::RenderObject::localToAbsoluteQuad):
1660         (WebCore::RenderObject::absoluteQuads):
1661         (WebCore::RenderObject::absoluteClippedOverflowRect):
1662         (WebCore::RenderObject::outlineBoundsForRepaint):
1663         (WebCore::RenderObject::computeAbsoluteRepaintRect):
1664         (WebCore::RenderObject::selectionRect):
1665         (WebCore::RenderObject::imageChanged):
1666         (WebCore::RenderObject::addFocusRingRects):
1667         (WebCore::RenderObject::absoluteOutlineBounds):
1668         * rendering/RenderView.cpp:
1669         (WebCore::SelectionIterator::next):
1670         (WebCore::RenderView::RenderView):
1671         (WebCore::RenderView::mapLocalToContainer):
1672         (WebCore::RenderView::pushMappingToContainer):
1673         (WebCore::RenderView::computeRectForRepaint):
1674         (WebCore::rendererAfterPosition):
1675         (WebCore::RenderView::splitSelectionBetweenSubtrees):
1676         (WebCore::RenderView::rootBackgroundIsEntirelyFixed):
1677         * rendering/RenderView.h:
1678
1679 2015-02-24  Yusuke Suzuki  <utatane.tea@gmail.com>
1680
1681         REGRESSION(r179429): Can't type comments in Facebook
1682         https://bugs.webkit.org/show_bug.cgi?id=141859
1683
1684         Reviewed by Brent Fulgham.
1685
1686         Enable SymbolEnabled runtime flag in inspector context.
1687
1688         * ForwardingHeaders/runtime/RuntimeFlags.h: Added.
1689         * WebCore.order:
1690         * WebCore.vcxproj/WebCore.vcxproj:
1691         * WebCore.vcxproj/WebCore.vcxproj.filters:
1692         * bindings/js/JSDOMWindowBase.cpp:
1693         (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
1694         (WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.
1695         * bindings/js/JSDOMWindowBase.h:
1696         * bindings/js/JSWorkerGlobalScopeBase.cpp:
1697         (WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
1698         (WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.
1699         * bindings/js/JSWorkerGlobalScopeBase.h:
1700         * inspector/InspectorFrontendClientLocal.cpp:
1701         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
1702         * page/Settings.h:
1703         * page/Settings.in:
1704
1705 2015-02-24  Manuel Rego Casasnovas  <rego@igalia.com>
1706
1707         [CSS Grid Layout] Support "sparse" in auto-placed items locked to a row/column
1708         https://bugs.webkit.org/show_bug.cgi?id=141748
1709
1710         Reviewed by Sergio Villar Senin.
1711
1712         The first step of grid item placement algorithm has been updated in
1713         order to support both "sparse" and "dense" modes. Current code is always
1714         doing a "dense" packing in this case.
1715
1716         See: http://dev.w3.org/csswg/css-grid/#auto-placement-algo
1717
1718         Test: fast/css-grid-layout/grid-item-auto-placement-fixed-row-column.html
1719
1720         * rendering/RenderGrid.cpp:
1721         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid): Add a cursor
1722         for each row/column and use it to place items in the right position.
1723
1724 2015-02-24  Joanmarie Diggs  <jdiggs@igalia.com>
1725
1726         [GTK] Layout Test accessibility/roles-exposed.html is failing
1727         https://bugs.webkit.org/show_bug.cgi?id=141960
1728
1729         Reviewed by Martin Robinson.
1730
1731         The test was failing because Gtk now uses GtkColorChooserDialog for the
1732         color input, making the input field a button which results in the color
1733         chooser dialog appearing. As a side effect of this change, the input now
1734         has an accessible role of ColorWell, which is currently mapped to
1735         ATK_ROLE_COLOR_CHOOSER (which is by definition the dialog which results
1736         upon activating the button input field). Changed the Gtk platform mapping
1737         to ATK_ROLE_BUTTON, leaving the Efl mapping as-is.
1738
1739         No new tests. Instead, updated and unskipped failing test.
1740
1741         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1742         (atkRole):
1743
1744 2015-02-24  Michael Catanzaro  <mcatanzaro@igalia.com>
1745
1746         [GTK] Fonts loaded via @font-face look bad
1747         https://bugs.webkit.org/show_bug.cgi?id=140994
1748
1749         Reviewed by Martin Robinson.
1750
1751         We've had several complaints that woff fonts look bad on some websites. This seems to be a
1752         combination of multiple issues. For one, we don't look at Fontconfig settings at all when
1753         creating a web font. This commit changes FontPlatformData::initializeWithFontFace to instead
1754         use sane default settings from Fontconfig when loading a web font, rather than accepting the
1755         default settings from GTK+, which are normally overridden by Fontconfig when loading system
1756         fonts. However, we will hardcode the hinting setting for web fonts to always force use of
1757         the light autohinter, so that we do not use a font's native hints. This avoids compatibility
1758         issues when fonts with poor native hinting are only tested in browsers that do not use the
1759         native hints. It also allows us to sidestep future security vulnerabilities in FreeType's
1760         bytecode interpreter.
1761
1762         The net result of this is that there should be little noticable difference if you have GTK+
1763         set to use slight hinting (which forces use of the autohinter) unless you have customized
1764         Fontconfig configuration, but a dramatic improvement with particular fonts if you use medium
1765         or full hinting. This should reduce complaints about our font rendering on "fancy sites."
1766
1767         No new tests, since the affected fonts we've found are not freely redistributable.
1768
1769         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
1770         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Force web fonts to be autohinted.
1771         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1772         (WebCore::getDefaultCairoFontOptions): Renamed to disambiguate.
1773         (WebCore::getDefaultFontconfigOptions): Added.
1774         (WebCore::FontPlatformData::initializeWithFontFace): Always call
1775         FontPlatformData::setCairoOptionsFromFontConfigPattern. If the FontPlatformData was not
1776         created with an FcPattern (e.g. because this is a web font), call
1777         getDefaultFontconfigOptions to get a sane default FcPattern.
1778         (WebCore::FontPlatformData::setOrientation): Renamed call to getDefaultCairoFontOptions.
1779         (WebCore::getDefaultFontOptions): Deleted.
1780
1781 2015-02-24  Andreas Kling  <akling@apple.com>
1782
1783         [Cocoa] Break internal reference cycle in WebCore::Font.
1784         <https://webkit.org/b/141941>
1785         <rdar://problem/19650570>
1786
1787         Reviewed by Antti Koivisto.
1788
1789         The Cocoa implementation of Font::platformCreateScaledFont() tried to be smart and use the FontCache.
1790         This didn't work out well when scaling a 0pt Font, since scaling 0pt by any factor will return 0pt.
1791
1792         We'd have a 0pt font, scale it by 0.7 to get a small-caps variant, and then cache that small-caps
1793         variant (really "this") in Font::m_derivedData->smallCaps.
1794
1795         Fix this by having Cocoa Font scaling do exactly what other platforms do: create a new Font every time.
1796         This stops us from accumulating tons of abandoned Font objects over time.
1797
1798         * platform/graphics/Font.cpp:
1799         (WebCore::Font::verticalRightOrientationFont):
1800         (WebCore::Font::uprightOrientationFont):
1801         (WebCore::Font::smallCapsFont):
1802         (WebCore::Font::emphasisMarkFont):
1803         (WebCore::Font::brokenIdeographFont):
1804         (WebCore::Font::nonSyntheticItalicFont): Add assertions to guard against reference cycles inside a Font.
1805
1806         * platform/graphics/cocoa/FontCocoa.mm:
1807         (WebCore::Font::platformCreateScaledFont): Always create a new Font when scaling an existing Font to a different size.
1808
1809 2015-02-24  Xabier Rodriguez Calvar <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
1810
1811         [Streams API] Reading ReadableStream ready and closed attributes should not always create a new promise
1812         https://bugs.webkit.org/show_bug.cgi?id=141650
1813
1814         Reviewed by Benjamin Poulain.
1815
1816         The JSPromiseDeferred objects returned by JSReadableStream::ready and JSReadableStream::closed should be stored somewhere.
1817         This patch stores them as private slots in JSReadableStream.
1818         This is close to the description in https://streams.spec.whatwg.org/#rs-internal-slots.
1819
1820         An alternative would be to have these objects as JSReadableStream class members, thus modifying the binding generator.
1821         That may be the cleanest solution, especially if other APIs express the same need.
1822         Another alternative is to store DeferredWrapper in ReadableStream objects.
1823         But it is currently preferred to keep DeferredWrapper in bindings/js code.
1824
1825         Added new constructor for DeferredWrapper to use these stored values.
1826         Updated ready and closed methods to use that new constructor.
1827         Changes are covered by new test in streams/readablestream-constructor.html.
1828
1829         * bindings/js/JSDOMPromise.cpp:
1830         (WebCore::DeferredWrapper::DeferredWrapper):
1831         * bindings/js/JSDOMPromise.h:
1832         * bindings/js/JSReadableStreamCustom.cpp:
1833         (WebCore::closedPromiseSlotName):
1834         (WebCore::getOrCreatePromiseDeferredFromObject):
1835         (WebCore::readyPromiseSlotName):
1836         (WebCore::JSReadableStream::ready):
1837         (WebCore::JSReadableStream::closed):
1838         * bindings/js/ReadableStreamJSSource.cpp:
1839         (WebCore::setInternalSlotToObject):
1840         (WebCore::getInternalSlotFromObject):
1841         * bindings/js/ReadableStreamJSSource.h:
1842
1843 2015-02-24  Dhi Aurrahman  <diorahman@rockybars.com>
1844
1845         Always serialize :lang()'s arguments to strings
1846         https://bugs.webkit.org/show_bug.cgi?id=141944
1847
1848         Reviewed by Benjamin Poulain.
1849
1850         As specified in [1] :lang()'s arguments are always serialized to strings.
1851
1852         [1] http://dev.w3.org/csswg/cssom/#serializing-selectors
1853
1854         Related tests are updated.
1855
1856         * css/CSSGrammar.y.in:
1857         * css/CSSParserValues.cpp:
1858         (WebCore::CSSParserSelector::setLangArgumentList):
1859         * css/CSSParserValues.h:
1860         (WebCore::CSSParserString::init):
1861         (WebCore::CSSParserString::clear):
1862         (WebCore::CSSParserString::tokenType): Deleted.
1863         (WebCore::CSSParserString::setTokenType): Deleted.
1864         * css/CSSSelector.cpp:
1865         (WebCore::appendLangArgumentList):
1866         (WebCore::CSSSelector::setLangArgumentList):
1867         * css/CSSSelector.h:
1868         (WebCore::CSSSelector::langArgumentList):
1869         * css/SelectorCheckerTestFunctions.h:
1870         (WebCore::matchesLangPseudoClass):
1871         * cssjit/SelectorCompiler.cpp:
1872         (WebCore::SelectorCompiler::addPseudoClassType):
1873         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):
1874
1875 2015-02-24  Antti Koivisto  <antti@apple.com>
1876
1877        Give TemporaryChange for m_inLoadPendingImages assertion a name so it actually does something.
1878
1879         * css/StyleResolver.cpp:
1880         (WebCore::StyleResolver::loadPendingImages):
1881
1882 2015-02-23  Commit Queue  <commit-queue@webkit.org>
1883
1884         Unreviewed, rolling out r180547 and r180550.
1885         https://bugs.webkit.org/show_bug.cgi?id=141957
1886
1887         Broke 10 Windows tests. (Requested by bfulgham_ on #webkit).
1888
1889         Reverted changesets:
1890
1891         "REGRESSION(r179429): Can't type comments in Facebook"
1892         https://bugs.webkit.org/show_bug.cgi?id=141859
1893         http://trac.webkit.org/changeset/180547
1894
1895         "Constructor returning null should construct an object instead
1896         of null"
1897         https://bugs.webkit.org/show_bug.cgi?id=141640
1898         http://trac.webkit.org/changeset/180550
1899
1900 2015-02-23  Ryosuke Niwa  <rniwa@webkit.org>
1901
1902         Disable font loading events until our implementation gets updated to match the latest spec
1903         https://bugs.webkit.org/show_bug.cgi?id=141938
1904
1905         Reviewed by Andreas Kling.
1906
1907         Revert r173531 for now since our implementation is outdated.
1908
1909         * Configurations/FeatureDefines.xcconfig:
1910
1911 2015-02-23  Brent Fulgham  <bfulgham@apple.com>
1912
1913         EventHandler references deleted Scrollbar
1914         https://bugs.webkit.org/show_bug.cgi?id=141931
1915         <rdar://problem/19915210>
1916
1917         Reviewed by Tim Horton.
1918
1919         Tested by scrollbars/overflow-custom-scrollbar-crash.html
1920
1921         Update the EventHandler class to use a WeakPtr to reference the
1922         last used Scrollbar, rather than retaining the Scrollbar and
1923         artificially extending its life. This keeps the EventHandler
1924         state in proper sync with the state of the render tree, and
1925         avoids cases where we have destroyed a ScrollableArea (and
1926         Scrollbar) but are still sending messages to a fake zombie
1927         version of the element.
1928
1929         * page/EventHandler.cpp:
1930         (WebCore::EventHandler::clear):
1931         (WebCore::EventHandler::handleMousePressEvent):
1932         (WebCore::EventHandler::updateMouseEventTargetNode):
1933         (WebCore::EventHandler::updateLastScrollbarUnderMouse):
1934         * page/EventHandler.h:
1935         * platform/Scrollbar.cpp:
1936         (WebCore::Scrollbar::Scrollbar): Initialize WeakPtrFactory.
1937         * platform/Scrollbar.h:
1938         (WebCore::Scrollbar::createWeakPtr): Added,
1939
1940 2015-02-23  Yusuke Suzuki  <utatane.tea@gmail.com>
1941
1942         REGRESSION(r179429): Can't type comments in Facebook
1943         https://bugs.webkit.org/show_bug.cgi?id=141859
1944
1945         Reviewed by Geoffrey Garen.
1946
1947         Enable SymbolEnabled runtime flag in inspector context.
1948
1949         * ForwardingHeaders/runtime/RuntimeFlags.h: Added.
1950         * WebCore.order:
1951         * WebCore.vcxproj/WebCore.vcxproj:
1952         * WebCore.vcxproj/WebCore.vcxproj.filters:
1953         * bindings/js/JSDOMWindowBase.cpp:
1954         (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
1955         (WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.
1956         * bindings/js/JSDOMWindowBase.h:
1957         * bindings/js/JSWorkerGlobalScopeBase.cpp:
1958         (WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
1959         (WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.
1960         * bindings/js/JSWorkerGlobalScopeBase.h:
1961         * inspector/InspectorFrontendClientLocal.cpp:
1962         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
1963         * page/Settings.h:
1964         * page/Settings.in:
1965
1966 2015-02-23  Benjamin Poulain  <benjamin@webkit.org>
1967
1968         CSS JIT: add support for case-insensitive attribute matching
1969         https://bugs.webkit.org/show_bug.cgi?id=141880
1970
1971         Reviewed by Andreas Kling.
1972
1973         The value matching now has 3 cases:
1974         1) Case-sensitive.
1975         2) Case-insensitive.
1976         3) Legacy HTML Case-insensitive.
1977
1978         The information to determine the case is split over 2 source:
1979         -To know if explicit case-insensitive is needed, we need to ask the selector
1980          for attributeValueMatchingIsCaseInsensitive().
1981         -To know if the legacy HTML behavior is needed, we need to test the attribute
1982          name filter with HTMLDocument::isCaseSensitiveAttribute().
1983
1984         I decided to perform all those checks at the fragment creation step.
1985         This makes the register requirements and code generation more explicit.
1986
1987         From there, everything is easy: switch() on the type of matching needed,
1988         and generate the code. The new case-insensitive case is a simplified version
1989         of the legacy HTML behavior without runtime check for the element type.
1990
1991         Tests: fast/css/implicitly-case-insensitive-attribute-with-svg.html
1992                fast/selectors/case-insensitive-attribute-register-requirement-1.html
1993                fast/selectors/case-insensitive-attribute-register-requirement-2.html
1994                fast/selectors/querySelector-explicit-case-insensitive-attribute-match-with-svg.html
1995
1996         * cssjit/SelectorCompiler.cpp:
1997         (WebCore::SelectorCompiler::attributeSelectorCaseSensitivity):
1998         (WebCore::SelectorCompiler::AttributeMatchingInfo::AttributeMatchingInfo):
1999         (WebCore::SelectorCompiler::AttributeMatchingInfo::attributeCaseSensitivity):
2000         (WebCore::SelectorCompiler::AttributeMatchingInfo::canDefaultToCaseSensitiveValueMatch): Deleted.
2001         (WebCore::SelectorCompiler::constructFragmentsInternal):
2002         Compute the type of value matching and store it on the AttributeMatchingInfo
2003         when creating the fragment.
2004
2005         (WebCore::SelectorCompiler::minimumRegisterRequirements):
2006         (WebCore::SelectorCompiler::attributeValueTestingRequiresExtraRegister):
2007         (WebCore::SelectorCompiler::attributeValueTestingRequiresCaseFoldingRegister): Deleted.
2008         In general, AttributeCaseSensitivity::CaseInsensitive does not require an extra
2009         register. I have made an exception for generateElementAttributeValueExactMatching()
2010         for simplicity. I use that register to load the StringImpl of the attribute
2011         being tested, that way I can use WTF::equalIgnoringCaseNonNull() directly.
2012
2013         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):
2014         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching):
2015         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
2016         Matching itself is just function calls. Unlike AttributeCaseSensitivity::HTMLLegacyCaseInsensitive,
2017         the behavior is consistent between XML and HTML.
2018
2019 2015-02-23  Alex Christensen  <achristensen@webkit.org>
2020
2021         [WinCairo] Unreviewed build fix after r180532
2022
2023         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
2024         (WebCore::MediaPlayerPrivateMediaFoundation::buffered):
2025         Fixed typo.
2026
2027 2015-02-23  Chris Dumez  <cdumez@apple.com>
2028
2029         Log using diagnostic logging which ActiveDOMObjects prevent using the PageCache
2030         https://bugs.webkit.org/show_bug.cgi?id=141922
2031         <rdar://problem/19923085>
2032
2033         Reviewed by Andreas Kling.
2034
2035         Log using diagnostic logging which ActiveDOMObjects prevent using the
2036         PageCache.
2037
2038         * history/PageCache.cpp:
2039         (WebCore::logCanCacheFrameDecision):
2040         * page/DiagnosticLoggingKeys.cpp:
2041         (WebCore::DiagnosticLoggingKeys::unsuspendableDOMObjectKey):
2042         * page/DiagnosticLoggingKeys.h:
2043
2044 2015-02-23  Chris Dumez  <cdumez@apple.com>
2045
2046         Move GeoNotifier class to its own file
2047         https://bugs.webkit.org/show_bug.cgi?id=141918
2048
2049         Reviewed by Andreas Kling.
2050
2051         Move GeoNotifier class to its own file to make Geolocation class less
2052         crowded.
2053
2054 2015-02-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2055
2056         Remove unnecessary PlatformTimeRanges::create()
2057         https://bugs.webkit.org/show_bug.cgi?id=141901
2058
2059         Reviewed by Filip Pizlo.
2060
2061         PlatformTimeRanges::create() functions have just created an instance of PlatformTimeRanges.
2062         This functionality can be replaced with std::make_unique<> use directly.
2063
2064         No new tests, no behavior changes.
2065
2066         * Modules/mediasource/MediaSource.cpp:
2067         (WebCore::MediaSource::buffered):
2068         * Modules/mediasource/SourceBuffer.cpp:
2069         (WebCore::SourceBuffer::bufferedAccountingForEndOfStream):
2070         * platform/graphics/MediaPlayer.cpp:
2071         (WebCore::NullMediaPlayerPrivate::buffered):
2072         * platform/graphics/MediaPlayerPrivate.h:
2073         (WebCore::MediaPlayerPrivateInterface::seekable):
2074         * platform/graphics/PlatformTimeRanges.cpp:
2075         (WebCore::PlatformTimeRanges::create): Deleted.
2076         * platform/graphics/PlatformTimeRanges.h:
2077         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2078         (WebCore::MediaPlayerPrivateAVFoundation::buffered):
2079         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2080         (WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):
2081         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2082         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges):
2083         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2084         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
2085         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):
2086         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2087         (WebCore::MediaPlayerPrivateGStreamer::buffered):
2088         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2089         (WebCore::MediaPlayerPrivateQTKit::buffered):
2090         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
2091         (WebCore::MediaPlayerPrivateMediaFoundation::buffered):
2092         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
2093         (WebCore::MockMediaPlayerMediaSource::buffered):
2094
2095 2015-02-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2096
2097         Partial clean up OwnPtr and PassOwnPtr in WebCore/platform
2098         https://bugs.webkit.org/show_bug.cgi?id=141888
2099
2100         Reviewed by Filip Pizlo.
2101
2102         Use std::unique_ptr<> and std::make_unique<>. Besides this patch removes
2103         unnecessary OwnPtr.h|PasSOwnPtr.h includes.
2104
2105         No new tests, no behavior changes.
2106
2107         * platform/SharedBuffer.h:
2108         * platform/Supplementable.h:
2109         * platform/audio/gstreamer/AudioSourceProviderGStreamer.h:
2110         (WebCore::AudioSourceProviderGStreamer::create): Deleted.
2111         * platform/graphics/ImageBuffer.h:
2112         * platform/graphics/TiledBackingStoreBackend.h:
2113         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2114         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2115         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2116         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2117         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2118         * platform/gtk/GamepadsGtk.cpp:
2119
2120 2015-02-23  Shivakumar JM  <shiva.jm@samsung.com>
2121
2122         Default value of HTMLSelectElement size IDL attribute should be 0.
2123         https://bugs.webkit.org/show_bug.cgi?id=141795
2124
2125         Reviewed by Andreas Kling.
2126
2127         Default value of HTMLSelectElement size IDL attribute should be 0. 
2128         As in spec: http://www.w3.org/html/wg/drafts/html/master/forms.html#the-select-element, also this matches the behavior of Chrome, IE and
2129         Gecko.
2130
2131         Test: fast/dom/select-size.html
2132
2133         * html/HTMLSelectElement.cpp:
2134         (WebCore::HTMLSelectElement::parseAttribute):
2135
2136 2015-02-23  Said Abou-Hallawa  <sabouhallawa@apple.com>
2137
2138         Drawing an SVG image into a canvas using drawImage() ignores globalAlpha.
2139         https://bugs.webkit.org/show_bug.cgi?id=141729.
2140
2141         Reviewed by Daniel Bates.
2142
2143         Fix a build break which is caused by http://trac.webkit.org/changeset/180511/trunk.
2144         Two functions of GraphicsContext were made inline but they were kept WEBCORE_EXPORT.
2145
2146         * platform/graphics/GraphicsContext.h:
2147         (WebCore::GraphicsContext::paintingDisabled):
2148         (WebCore::GraphicsContext::updatingControlTints):
2149
2150 2015-02-22  Dean Jackson  <dino@apple.com>
2151
2152         [iOS] Max canvas size is lower than expected
2153         https://bugs.webkit.org/show_bug.cgi?id=141886
2154         <rdar://problem/19729246>
2155
2156         Reviewed by Tim Horton.
2157
2158         Use the same maximum canvas area for all ports,
2159         which bumps the iOS limit up from 4580 * 1145
2160         to 16k * 16k.
2161
2162         * html/HTMLCanvasElement.cpp: Update MaxCanvasArea.
2163
2164 2015-02-23  Chris Dumez  <cdumez@apple.com>
2165
2166         Add support for diagnostic logging messages sampling
2167         https://bugs.webkit.org/show_bug.cgi?id=141823
2168         <rdar://problem/19899030>
2169
2170         Reviewed by Andreas Kling.
2171
2172         Add support for diagnostic logging messages sampling to decrease the
2173         impact of diagnostic logging on CPU usage, while still getting useful
2174         overall results. This patch adds a ShouldSample argument to
2175         logDiagnosticMessage*() functions and logs 5% of the messages when
2176         sampling. Sampling is turned on for keys that are known to be verbose
2177         (e.g. per resource load logging).
2178
2179         On the page load test I am tracking, CPU usage caused by diagnostic
2180         logging went down to 0.3% of UIProcess from 2.8% with this change.
2181
2182         * history/PageCache.cpp:
2183         (WebCore::logPageCacheFailureDiagnosticMessage):
2184         (WebCore::logCanCachePageDecision):
2185         * html/HTMLMediaElement.cpp:
2186         (WebCore::HTMLMediaElement::parseAttribute):
2187         * loader/EmptyClients.h:
2188         * loader/FrameLoader.cpp:
2189         (WebCore::logNavigation):
2190         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2191         * loader/ResourceLoader.cpp:
2192         (WebCore::logResourceResponseSource):
2193         * loader/SubframeLoader.cpp:
2194         (WebCore::logPluginRequest):
2195         * loader/SubresourceLoader.cpp:
2196         (WebCore::SubresourceLoader::willSendRequest):
2197         (WebCore::SubresourceLoader::didReceiveResponse):
2198         (WebCore::logResourceLoaded):
2199         * loader/cache/CachedResource.cpp:
2200         (WebCore::logResourceRevalidationReason):
2201         * loader/cache/CachedResourceLoader.cpp:
2202         (WebCore::logMemoryCacheResourceRequest):
2203         * page/DiagnosticLoggingClient.h:
2204
2205 2015-02-23  Said Abou-Hallawa  <sabouhallawa@apple.com>
2206
2207         Drawing an SVG image into a canvas using drawImage() ignores globalAlpha.
2208         https://bugs.webkit.org/show_bug.cgi?id=141729.
2209
2210         Reviewed by Simon Fraser.
2211
2212         When drawing an SVG image and the drawing context is set to be transparent,
2213         make sure this transparency is applied to the compositing layer.
2214
2215         Test: svg/canvas/canvas-global-alpha-svg.html
2216
2217         * platform/graphics/GraphicsContext.cpp:
2218         (WebCore::GraphicsContext::setAlpha): Make setAlpha() calls the platform
2219         function and sets 'm_state.alpha' to the input value.
2220
2221         (WebCore::GraphicsContext::alpha): Add a new function 'alpha()' which
2222         returns the value of the global alpha.
2223         
2224         * platform/graphics/GraphicsContext.h:
2225         (WebCore::GraphicsContextState::GraphicsContextState): Add a new member
2226         'alpha' to the context state since the getter function CGContextGetAlpha
2227         is defined only in a private header file. Also move single line functions
2228         from the source file to the header file.
2229     
2230         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2231         (WebCore::GraphicsContext::setPlatformAlpha):
2232         (WebCore::GraphicsContext::setAlpha): Deleted.
2233         * platform/graphics/cg/GraphicsContextCG.cpp:
2234         (WebCore::GraphicsContext::setPlatformAlpha):
2235         (WebCore::GraphicsContext::setAlpha): Deleted.
2236         Rename setAlpha() to setPlatformAlpha() in the platform files. Add setAlpha()
2237         to the core file. setAlpha() will set the value of 'm_state.alpha' and call
2238         setPlatformAlpha().
2239     
2240         * svg/graphics/SVGImage.cpp:
2241         (WebCore::SVGImage::draw): If the drawing context is transparent, apply its
2242         global alpha value to the compositing layer.
2243         
2244 2015-02-23  Eric Carlson  <eric.carlson@apple.com>
2245
2246         Occasional crash in MediaPlayer::setPrivateBrowsingMode
2247         https://bugs.webkit.org/show_bug.cgi?id=141910
2248
2249         Reviewed by Jer Noble.
2250
2251         No new tests, I was unable to reproduce the crash.
2252
2253         * html/HTMLMediaElement.cpp:
2254         (WebCore::HTMLMediaElement::stopPeriodicTimers): Use EveryDelayedAction instead of -1.
2255         (WebCore::HTMLMediaElement::stop): Call clearMediaPlayer instead of just setting m_player
2256             to NULL.
2257         * html/HTMLMediaElement.h: Define EveryDelayedAction.
2258
2259 2015-02-23  Philippe Normand  <pnormand@igalia.com>
2260
2261         [GStreamer] Redundant track language notifications
2262         https://bugs.webkit.org/show_bug.cgi?id=141908
2263
2264         Reviewed by Žan Doberšek.
2265
2266         Invoke languageChanged only if the language code actually
2267         changed.
2268
2269         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2270         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):
2271
2272 2015-02-23  peavo@outlook.com  <peavo@outlook.com>
2273
2274         [WinCairo] Crash when media player is destroyed.
2275         https://bugs.webkit.org/show_bug.cgi?id=141248
2276
2277         Reviewed by Darin Adler.
2278
2279         A COM smart pointer is both released, and set to null.
2280         This means that the COM Release method is called twice, causing a crash.
2281
2282         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
2283         (WebCore::MediaPlayerPrivateMediaFoundation::endSession):
2284
2285 2015-02-23  Manuel Rego Casasnovas  <rego@igalia.com>
2286
2287         [CSS Grid Layout] Remove old FIXME in RenderGrid::placeItemsOnGrid()
2288         https://bugs.webkit.org/show_bug.cgi?id=141899
2289
2290         Reviewed by Sergio Villar Senin.
2291
2292         There was a FIXME about not re-resolving positions if the grid is grown during
2293         auto-placement. But as the spec has changed [1] and you can only refer to the
2294         explicit grid (even if you use for example grid-column: 1 / -1). It seems that
2295         we can get rid of this FIXME as it's not a causing a problem anymore.
2296
2297         [1] http://dev.w3.org/csswg/css-grid/#grid-placement-int
2298
2299         No new tests (no change in behavior).
2300
2301         * rendering/RenderGrid.cpp:
2302         (WebCore::RenderGrid::placeItemsOnGrid): Remove FIXME.
2303
2304 2015-02-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2305
2306         Move std::unique_ptr<>|make_unique<> to WebCore/page/scrolling
2307         https://bugs.webkit.org/show_bug.cgi?id=137877
2308
2309         Reviewed by Sam Weinig.
2310
2311         Clean up unnecessary OwnPtr.h|PassOwnPtr.h includes as well as
2312         change OwnPtr with std::unique_ptr<>|make_unique<>.
2313
2314         No new tests, no behavior changes.
2315
2316         * page/scrolling/AsyncScrollingCoordinator.h:
2317         * page/scrolling/ScrollingStateFixedNode.cpp:
2318         * page/scrolling/ScrollingStateFrameScrollingNode.cpp:
2319         * page/scrolling/ScrollingStateNode.cpp:
2320         (WebCore::ScrollingStateNode::appendChild):
2321         * page/scrolling/ScrollingStateNode.h:
2322         * page/scrolling/ScrollingStateOverflowScrollingNode.cpp:
2323         * page/scrolling/ScrollingStateScrollingNode.cpp:
2324         * page/scrolling/ScrollingStateStickyNode.cpp:
2325         * page/scrolling/ScrollingTree.h:
2326         * page/scrolling/ScrollingTreeNode.cpp:
2327         (WebCore::ScrollingTreeNode::appendChild):
2328         * page/scrolling/ScrollingTreeNode.h:
2329         * page/scrolling/ScrollingTreeScrollingNode.h:
2330
2331 2015-02-22  Dean Jackson  <dino@apple.com>
2332
2333         Print a console warning when HTMLCanvasElement exceeds the maximum size
2334         https://bugs.webkit.org/show_bug.cgi?id=141861
2335         <rdar://problem/19729145>
2336
2337         Reviewed by Simon Fraser.
2338
2339         Add a warning if we ever try to create a canvas that is
2340         too big.
2341
2342         No test because:
2343         1. We can't ref-test against console messages.
2344         2. The output is platform specific.
2345
2346         * html/HTMLCanvasElement.cpp:
2347         (WebCore::HTMLCanvasElement::createImageBuffer):
2348
2349 2015-02-21  Sam Weinig  <sam@webkit.org>
2350
2351         Convert the caps lock indicator to be implemented using the shadow DOM
2352         https://bugs.webkit.org/show_bug.cgi?id=141868
2353
2354         Reviewed by Dan Bernstein.
2355
2356         - Re-adds 'caps-lock-indicator' as a valid -webkit-appearance value. It was removed
2357           in r74099 to work around a site bug, that should not be a problem anymore.
2358         - Converts the caps lock indicator to be implemented as part of the shadow DOM rather
2359           than a paint time effect. This gives the proper overflow behavior (it now clips) and
2360           behaves correctly in RTL.
2361
2362         * css/CSSParser.cpp:
2363         (WebCore::isValidKeywordPropertyAndValue):
2364         Make 'caps-lock-indicator' a valid -webkit-appearance value.
2365
2366         * css/CSSValueKeywords.in:
2367         Remove comment that indicated that caps-lock-indicator was not a valid
2368         -webkit-appearance value.
2369
2370         * css/html.css:
2371         (input::-webkit-caps-lock-indicator):
2372         Add new default style for the new -webkit-caps-lock-indicator pseudo-element. The
2373         trick employed here is to use a content: image to both implement the painting of
2374         the caps lock indicator, and to get the sizing right (shrink-to-fit, height: 100%).
2375
2376         * html/HTMLInputElement.cpp:
2377         (WebCore::HTMLInputElement::capsLockIndicatorElement):
2378         (WebCore::HTMLInputElement::capsLockStateMayHaveChanged):
2379         * html/HTMLInputElement.h:
2380         * html/InputType.cpp:
2381         (WebCore::InputType::capsLockStateMayHaveChanged):
2382         * html/InputType.h:
2383         (WebCore::InputType::capsLockIndicatorElement):
2384         Pipe notification of changes in the caps locks state to the <input> element
2385         rather than the RenderTextControlSingleLine. Also add an accessor for the caps
2386         lock indicator element in the shadow DOM.
2387
2388         * html/TextFieldInputType.cpp:
2389         (WebCore::TextFieldInputType::forwardEvent):
2390         (WebCore::TextFieldInputType::shouldHaveCapsLockIndicator):
2391         (WebCore::TextFieldInputType::createShadowSubtree):
2392         (WebCore::TextFieldInputType::capsLockIndicatorElement):
2393         (WebCore::TextFieldInputType::destroyShadowSubtree):
2394         (WebCore::TextFieldInputType::shouldDrawCapsLockIndicator):
2395         (WebCore::TextFieldInputType::capsLockStateMayHaveChanged):
2396         * html/TextFieldInputType.h:
2397         Add a new element to the text field shadow DOM to act as the caps lock indicator.
2398         Give it a pseudo-element ID of -webkit-caps-lock-indicator so it can be referenced
2399         from CSS. The element is always in the DOM for a password field. It toggles between
2400         display: none and display: block depending on the state of the caps lock key.
2401
2402         * page/EventHandler.cpp:
2403         (WebCore::EventHandler::capsLockStateMayHaveChanged):
2404         Pipe notification of changes in the caps locks state to the <input> element
2405         rather than the RenderTextControlSingleLine.
2406
2407         * rendering/RenderTextControlSingleLine.cpp:
2408         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
2409         (WebCore::RenderTextControlSingleLine::paint): Deleted.
2410         (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged): Deleted.
2411         * rendering/RenderTextControlSingleLine.h:
2412         Remove logic for drawing the caps lock indicator.
2413
2414         * rendering/RenderTheme.cpp:
2415         (WebCore::RenderTheme::adjustStyle):
2416         (WebCore::RenderTheme::paint):
2417         (WebCore::RenderTheme::paintMeter):
2418         (WebCore::RenderTheme::adjustCapsLockIndicatorStyle):
2419         (WebCore::RenderTheme::paintCapsLockIndicator):
2420         (WebCore::RenderTheme::shouldHaveCapsLockIndicator):
2421         * rendering/RenderTheme.h:
2422         (WebCore::RenderTheme::paintCapsLockIndicator): Deleted.
2423         * rendering/RenderThemeIOS.h:
2424         * rendering/RenderThemeIOS.mm:
2425         (WebCore::RenderThemeIOS::shouldHaveCapsLockIndicator):
2426         * rendering/RenderThemeMac.h:
2427         * rendering/RenderThemeMac.mm:
2428         (WebCore::RenderThemeMac::shouldHaveCapsLockIndicator):
2429         (WebCore::RenderThemeMac::paintCapsLockIndicator): Deleted.
2430         Now that the caps lock indicator is implemented like other aspects of form controls,
2431         the theme code can be converted to be similar as well.
2432
2433 2015-02-21  David Kilzer  <ddkilzer@apple.com>
2434
2435         [iOS] Fix build failure after including CoreMediaSoftLink.h in WebVideoFullscreenInterfaceAVKit.mm
2436         <http://webkit.org/b/141816>
2437
2438         Attempt to fix the following build failure:
2439
2440             WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:68:1: error: call to 'CoreMediaLibrary' is ambiguous
2441             SOFT_LINK(CoreMedia, CMTimeRangeContainsTime, Boolean, (CMTimeRange range, CMTime time), (range, time))
2442             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2443             In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
2444             In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
2445             WebCore/platform/mac/SoftLinking.h:107:79: note: expanded from macro 'SOFT_LINK'
2446             <scratch space>:58:1: note: expanded from here
2447             CoreMediaLibrary
2448             ^~~~~~~~~~~~~~~~
2449             In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
2450             WebCore/platform/cf/CoreMediaSoftLink.h:35:1: note: candidate function
2451             SOFT_LINK_FRAMEWORK_HEADER(WebCore, CoreMedia)
2452             ^
2453             In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
2454             In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
2455             WebCore/platform/mac/SoftLinking.h:298:18: note: expanded from macro 'SOFT_LINK_FRAMEWORK_HEADER'
2456             <scratch space>:42:1: note: expanded from here
2457             CoreMediaLibrary
2458             ^
2459             WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:67:1: note: candidate function
2460             SOFT_LINK_FRAMEWORK(CoreMedia)
2461             ^
2462             In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
2463             In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
2464             WebCore/platform/mac/SoftLinking.h:46:18: note: expanded from macro 'SOFT_LINK_FRAMEWORK'
2465             <scratch space>:51:1: note: expanded from here
2466             CoreMediaLibrary
2467             ^
2468
2469         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Remove the
2470         SOFT_LINK_FRAMEWORK(CoreMedia) macro since the remaining
2471         SOFT_LINK() and SOFT_LINK_CONSTANT() macros can use the
2472         CoreMediaLibrary() method exposed by CoreMediaSoftLink.h.
2473
2474 2015-02-21  David Kilzer  <ddkilzer@apple.com>
2475
2476         Add SOFT_LINK_CONSTANT_SOURCE() cross-platform macro and start using it
2477         <http://webkit.org/b/141816>
2478
2479         Reviewed by Alexey Proskuryakov.
2480
2481         * WebCore.vcxproj/WebCore.vcxproj:
2482         * WebCore.vcxproj/WebCore.vcxproj.filters:
2483         - Remove CoreMediaSoftLinking.h.
2484
2485         * platform/cf/CoreMediaSoftLink.cpp:
2486         - Add kCMTimeZero constant.
2487         * platform/cf/CoreMediaSoftLink.h:
2488         - Add SOFT_LINK_FRAMEWORK_HEADER() macro for CoreMedia.
2489         - Add kCMTimeZero constant.
2490
2491         * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Remove.
2492
2493         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2494         - Remove reference to CoreMediaSoftLinking.h and update comment.
2495         (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable):
2496         - Switch to using new method to check if a framework is
2497           available.
2498
2499         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2500         - Remove all local soft-linking macros for CoreMedia.
2501           CoreMediaSoftLink.h handles everything now.
2502         (WebCore::MediaPlayerPrivateAVFoundationObjC::isAvailable):
2503         - Switch to using new method to check if a framework is
2504           available.
2505
2506         * platform/mac/SoftLinking.h:
2507         (SOFT_LINK_FRAMEWORK_HEADER): Add.  Defines
2508         is_Name_FrameworkAvailable() macro.
2509         (SOFT_LINK_FRAMEWORK_SOURCE): Update to make it work with
2510         optional framework checks without a separate macro.
2511         (SOFT_LINK_CONSTANT_HEADER): Add.
2512         (SOFT_LINK_CONSTANT_SOURCE): Add.
2513         - Support soft-links to constants.
2514
2515         * platform/win/SoftLinking.h:
2516         (SOFT_LINK_FRAMEWORK_HELPER): Add.  Copied from
2517         SOFT_LINK_LIBRARY_HELPER, with addition of namespace and
2518         non-static function.
2519         (SOFT_LINK_FRAMEWORK): Add.  Copied from SOFT_LINK_LIBRARY.
2520         (SOFT_LINK_DEBUG_FRAMEWORK): Add.  Copied from
2521         SOFT_LINK_DEBUG_LIBRARY.
2522         (SOFT_LINK_FRAMEWORK_HEADER): Add.  Defines
2523         is_Name_FrameworkAvailable() macro.
2524         (SOFT_LINK_FRAMEWORK_SOURCE): Redefine in terms of
2525         SOFT_LINK_FRAMEWORK/SOFT_LINK_DEBUG_FRAMEWORK.
2526         (SOFT_LINK_CONSTANT_HEADER): Add.
2527         (SOFT_LINK_CONSTANT_SOURCE): Add.
2528         - Support soft-links to constants.
2529
2530 2015-02-20  David Kilzer  <ddkilzer@apple.com>
2531
2532         Make namespace configurable for SOFT_LINK_*_{HEADER,SOURCE}() macros
2533         <http://webkit.org/b/141849>
2534
2535         Reviewed by Brent Fulgham.
2536
2537         This patch does the following:
2538         - Add namespace argument to the SOFT_LINK_*_{HEADER,SOURCE}()
2539           macros for reuse in other projects.
2540         - Adds SOFT_LINK_FRAMEWORK_SOURCE() macro in preparation for Bug
2541           141816.
2542         - Adds back framework argument to SOFT_LINK_FUNCTION_HEADER()
2543           and includes framework name in generated function names.  This
2544           adds more entropy to the names in case there are two functions
2545           with the same name in different frameworks.
2546
2547         * platform/cf/CoreMediaSoftLink.cpp:
2548         - Add FIXME about USE(COREMEDIA).
2549         - Switch from SOFT_LINK_FRAMEWORK() to
2550           SOFT_LINK_FRAMEWORK_SOURCE().
2551         * platform/cf/CoreMediaSoftLink.h:
2552         - Add FIXME about USE(COREMEDIA).
2553         - Add back framework argument to SOFT_LINK_FUNCTION_HEADER()
2554           macros.
2555
2556         * platform/mac/SoftLinking.h:
2557         - Add missing header guards.
2558         - Add pragmas for different macro groups.
2559         (SOFT_LINK_FRAMEWORK_SOURCE): Add.
2560         (SOFT_LINK_FUNCTION_HEADER): Move. Add back framework argument.
2561         (SOFT_LINK_FUNCTION_SOURCE): Move.
2562         - Add framework name to generated function names.
2563         - Incorporates namespace so that it doesn't have to be listed in
2564           the *SoftLink.{cpp,h} file.
2565
2566         * platform/win/SoftLinking.h:
2567         - Add pragmas for different macro groups.
2568         (SOFT_LINK_FRAMEWORK_SOURCE): Add.
2569         (SOFT_LINK_FUNCTION_HEADER): Move. Add back framework argument.
2570         (SOFT_LINK_FUNCTION_SOURCE): Move.
2571         - Add framework name to generated function names.
2572         - Incorporates namespace so that it doesn't have to be listed in
2573           the *SoftLink.{cpp,h} file.
2574
2575 2015-02-20  Brent Fulgham  <bfulgham@apple.com>
2576
2577         [Gtk] Unreviewed build fix.
2578
2579         * platform/ScrollAnimatorNone.cpp:
2580         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone): Forget to update two
2581         uses of ScrollableArea.
2582
2583 2015-02-20  Brent Fulgham  <bfulgham@apple.com>
2584
2585         Scrollbars and ScrollAnimators must always have a ScrollableArea
2586         https://bugs.webkit.org/show_bug.cgi?id=141855
2587
2588         Reviewed by Simon Fraser.
2589
2590         No change in functionality.
2591         
2592         Change users of the scrollAnimator() method to expect a reference instead of a pointer. Also get rid of
2593         a number of unnecessary nullptr checks.
2594
2595         * accessibility/AccessibilityScrollbar.cpp:
2596         (WebCore::AccessibilityScrollbar::setValue):
2597         * css/SelectorCheckerTestFunctions.h:
2598         (WebCore::scrollbarMatchesCornerPresentPseudoClass):
2599         * page/FrameView.cpp:
2600         (WebCore::FrameView::createScrollbar):
2601         (WebCore::FrameView::setFixedVisibleContentRect):
2602         * page/scrolling/ScrollingCoordinator.cpp:
2603         (WebCore::ScrollingCoordinator::handleWheelEventPhase):
2604         * platform/PopupMenuClient.h:
2605         * platform/ScrollAnimator.cpp:
2606         (WebCore::ScrollAnimator::ScrollAnimator):
2607         (WebCore::ScrollAnimator::scroll):
2608         (WebCore::ScrollAnimator::handleWheelEvent):
2609         (WebCore::ScrollAnimator::notifyPositionChanged):
2610         (WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers):
2611         * platform/ScrollAnimator.h:
2612         (WebCore::ScrollAnimator::ScrollAnimator::scrollableArea):
2613         * platform/ScrollAnimatorNone.cpp:
2614         * platform/ScrollAnimatorNone.h:
2615         * platform/ScrollView.cpp:
2616         (WebCore::ScrollView::createScrollbar):
2617         * platform/ScrollableArea.cpp:
2618         (WebCore::ScrollableArea::scrollAnimator):
2619         (WebCore::ScrollableArea::scroll):
2620         (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
2621         (WebCore::ScrollableArea::notifyScrollPositionChanged):
2622         (WebCore::ScrollableArea::scrollPositionChanged):
2623         (WebCore::ScrollableArea::handleWheelEvent):
2624         (WebCore::ScrollableArea::handleTouchEvent):
2625         (WebCore::ScrollableArea::mouseEnteredScrollbar):
2626         (WebCore::ScrollableArea::mouseExitedScrollbar):
2627         (WebCore::ScrollableArea::didAddScrollbar):
2628         (WebCore::ScrollableArea::willRemoveScrollbar):
2629         (WebCore::ScrollableArea::verticalScrollbarLayerDidChange):
2630         (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
2631         * platform/ScrollableArea.h:
2632         * platform/Scrollbar.cpp:
2633         (WebCore::Scrollbar::createNativeScrollbar):
2634         (WebCore::Scrollbar::Scrollbar):
2635         (WebCore::Scrollbar::scrollbarOverlayStyle):
2636         (WebCore::Scrollbar::isScrollableAreaActive):
2637         (WebCore::Scrollbar::offsetDidChange):
2638         (WebCore::Scrollbar::autoscrollPressedPart):
2639         (WebCore::Scrollbar::moveThumb):
2640         (WebCore::Scrollbar::mouseMoved):
2641         (WebCore::Scrollbar::mouseEntered):
2642         (WebCore::Scrollbar::mouseExited):
2643         (WebCore::Scrollbar::mouseUp):
2644         (WebCore::Scrollbar::shouldParticipateInHitTesting):
2645         (WebCore::Scrollbar::isWindowActive):
2646         (WebCore::Scrollbar::invalidateRect):
2647         (WebCore::Scrollbar::convertToContainingView):
2648         (WebCore::Scrollbar::convertFromContainingView):
2649         (WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
2650         * platform/Scrollbar.h:
2651         (WebCore::Scrollbar::scrollableArea):
2652         (WebCore::Scrollbar::disconnectFromScrollableArea): Deleted.
2653         * platform/ios/ScrollAnimatorIOS.mm:
2654         (WebCore::ScrollAnimatorIOS::handleTouchEvent):
2655         (WebCore::ScrollAnimatorIOS::determineScrollableAreaForTouchSequence):
2656         * platform/mac/ScrollAnimatorMac.h:
2657         * platform/mac/ScrollAnimatorMac.mm:
2658         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2659         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2660         (-[WebScrollbarPainterDelegate scrollAnimator]):
2661         (-[WebScrollbarPainterDelegate layer]):
2662         (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
2663         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:animateAlphaTo:duration:]):
2664         (WebCore::ScrollAnimator::create):
2665         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2666         (WebCore::ScrollAnimatorMac::scroll):
2667         (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
2668         (WebCore::ScrollAnimatorMac::adjustScrollPositionToBoundsIfNecessary):
2669         (WebCore::ScrollAnimatorMac::immediateScrollTo):
2670         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
2671         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
2672         (WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange):
2673         (WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange):
2674         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
2675         (WebCore::ScrollAnimatorMac::pinnedInDirection):
2676         (WebCore::ScrollAnimatorMac::isAlreadyPinnedInDirectionOfGesture):
2677         (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
2678         (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
2679         (WebCore::ScrollAnimatorMac::stretchAmount):
2680         (WebCore::ScrollAnimatorMac::canScrollHorizontally):
2681         (WebCore::ScrollAnimatorMac::canScrollVertically):
2682         (WebCore::ScrollAnimatorMac::absoluteScrollPosition):
2683         (WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
2684         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
2685         (WebCore::ScrollAnimatorMac::setVisibleScrollerThumbRect):
2686         * rendering/RenderLayer.cpp:
2687         (WebCore::RenderLayer::RenderLayer):
2688         (WebCore::RenderLayer::createScrollbar):
2689         (WebCore::RenderLayer::destroyScrollbar):
2690         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2691         * rendering/RenderListBox.cpp:
2692         (WebCore::RenderListBox::createScrollbar):
2693         (WebCore::RenderListBox::destroyScrollbar):
2694         * rendering/RenderMenuList.cpp:
2695         (RenderMenuList::createScrollbar):
2696         * rendering/RenderMenuList.h:
2697         * rendering/RenderScrollbar.cpp:
2698         (WebCore::RenderScrollbar::createCustomScrollbar):
2699         (WebCore::RenderScrollbar::RenderScrollbar):
2700         * rendering/RenderScrollbar.h:
2701         * rendering/RenderSearchField.cpp:
2702         (WebCore::RenderSearchField::createScrollbar):
2703         * rendering/RenderSearchField.h:
2704
2705 2015-02-20  Enrica Casucci  <enrica@apple.com>
2706
2707         [WK2] Add support for font panel on OS X.
2708         https://bugs.webkit.org/show_bug.cgi?id=141777
2709
2710         Reviewed by Tim Horton.
2711
2712         This patch adds the necessary hooks to the Editor class to support
2713         the font panel.
2714
2715         * editing/Editor.h:
2716         * editing/mac/EditorMac.mm:
2717         (WebCore::Editor::applyFontStyles):
2718
2719 2015-02-20  Zalan Bujtas  <zalan@apple.com>
2720
2721         Invalid assert in CompositeEditCommand::insertNodeAfter/insertNodeBefore
2722         https://bugs.webkit.org/show_bug.cgi?id=141854
2723
2724         Reviewed by Ryosuke Niwa.
2725
2726         Inserting content before/after the body as the result of editing is a valid operation.
2727         This assert was originally introduced to cover cases where edited content would get moved
2728         out of body. However, asserting such operation properly is not possible atm.
2729
2730         Test: editing/inserting/insert-as-body-sibling.html
2731
2732         * editing/CompositeEditCommand.cpp:
2733         (WebCore::CompositeEditCommand::insertNodeBefore):
2734         (WebCore::CompositeEditCommand::insertNodeAfter):
2735
2736 2015-02-20  Chris Dumez  <cdumez@apple.com>
2737
2738         [WK2] Add more detailed diagnostic logging for measuring network cache efficacy
2739         https://bugs.webkit.org/show_bug.cgi?id=141803
2740         <rdar://problem/19632080>
2741
2742         Reviewed by Antti Koivisto.
2743
2744         Add more diagnostic logging keys for the network cache.
2745
2746         * page/DiagnosticLoggingKeys.cpp:
2747         (WebCore::DiagnosticLoggingKeys::missingValidatorFieldsKey):
2748         (WebCore::DiagnosticLoggingKeys::noLongerInCacheKey):
2749         (WebCore::DiagnosticLoggingKeys::isReloadIgnoringCacheDataKey):
2750         (WebCore::DiagnosticLoggingKeys::isAttachmentKey):
2751         (WebCore::DiagnosticLoggingKeys::isConditionalRequestKey):
2752         (WebCore::DiagnosticLoggingKeys::cacheControlNoStoreKey):
2753         (WebCore::DiagnosticLoggingKeys::uncacheableStatusCodeKey):
2754         (WebCore::DiagnosticLoggingKeys::unsupportedHTTPMethodKey):
2755         (WebCore::DiagnosticLoggingKeys::unusableCachedEntryKey):
2756         (WebCore::DiagnosticLoggingKeys::varyingHeaderMismatchKey):
2757         (WebCore::WebCore::DiagnosticLoggingKeys::notHTTPFamilyKey):
2758         (WebCore::DiagnosticLoggingKeys::notInCacheKey):
2759         (WebCore::DiagnosticLoggingKeys::noLongerInCacheFailureKey): Deleted.
2760         (WebCore::DiagnosticLoggingKeys::unhandledRequestFailureKey): Deleted.
2761         (WebCore::DiagnosticLoggingKeys::unusableCachedEntryFailureKey): Deleted.
2762         * page/DiagnosticLoggingKeys.h:
2763
2764 2015-02-20  Tim Horton  <timothy_horton@apple.com>
2765
2766         <attachment> turns the wrong blue when you highlight it
2767         https://bugs.webkit.org/show_bug.cgi?id=141853
2768
2769         Reviewed by Simon Fraser.
2770
2771         * rendering/RenderAttachment.h:
2772         * rendering/RenderReplaced.cpp:
2773         (WebCore::RenderReplaced::shouldDrawSelectionTint):
2774         (WebCore::RenderReplaced::paint):
2775         * rendering/RenderReplaced.h:
2776         Don't draw the selection tint for RenderAttachment.
2777
2778 2015-02-20  Tim Horton  <timothy_horton@apple.com>
2779
2780         Allow <attachment> elements to be focused
2781         https://bugs.webkit.org/show_bug.cgi?id=141847
2782
2783         Reviewed by Enrica Casucci.
2784
2785         * css/html.css:
2786         (attachment:focus):
2787         Disable focus rings for <attachment>.
2788
2789         * html/HTMLAttachmentElement.cpp:
2790         (WebCore::HTMLAttachmentElement::setFocus):
2791         * html/HTMLAttachmentElement.h:
2792         Allow HTMLAttachmentElement to get editing focus.
2793         Let RenderAttachment know when focus changes.
2794
2795         * rendering/RenderAttachment.cpp:
2796         (WebCore::RenderAttachment::paintReplaced):
2797         Paint the background in cyan when we are inside the selection or have focus.
2798         Otherwise, it will be gray.
2799
2800         (WebCore::RenderAttachment::focusChanged):
2801         When focus changes, repaint.
2802
2803         * rendering/RenderAttachment.h:
2804
2805 2015-02-20  Brent Fulgham  <bfulgham@apple.com>
2806
2807         Rename ScrollElasticityController to ScrollController
2808         https://bugs.webkit.org/show_bug.cgi?id=141842
2809
2810         Reviewed by Simon Fraser.
2811
2812         No change in functionality.
2813
2814         * PlatformMac.cmake:
2815         * WebCore.order:
2816         * WebCore.xcodeproj/project.pbxproj:
2817         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
2818         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
2819         (WebCore::ScrollingTreeFrameScrollingNodeMac::ScrollingTreeFrameScrollingNodeMac):
2820         (WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):
2821         (WebCore::ScrollingTreeFrameScrollingNodeMac::startSnapRubberbandTimer):
2822         * platform/mac/ScrollAnimatorMac.h:
2823         * platform/mac/ScrollAnimatorMac.mm:
2824         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2825         (WebCore::ScrollAnimatorMac::isRubberBandInProgress):
2826         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2827         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
2828         * platform/mac/ScrollController.h: Copied from WebCore/platform/mac/ScrollElasticityController.h.
2829         (WebCore::ScrollControllerClient::~ScrollControllerClient):
2830         (WebCore::ScrollElasticityControllerClient::~ScrollElasticityControllerClient): Deleted.
2831         * platform/mac/ScrollController.mm: Copied from WebCore/platform/mac/ScrollElasticityController.mm.
2832         (WebCore::ScrollController::ScrollController):
2833         (WebCore::ScrollController::handleWheelEvent):
2834         (WebCore::ScrollController::snapRubberBandTimerFired):
2835         (WebCore::ScrollController::isRubberBandInProgress):
2836         (WebCore::ScrollController::stopSnapRubberbandTimer):
2837         (WebCore::ScrollController::snapRubberBand):
2838         (WebCore::ScrollController::shouldRubberBandInHorizontalDirection):
2839         (WebCore::ScrollElasticityController::ScrollElasticityController): Deleted.
2840         (WebCore::ScrollElasticityController::handleWheelEvent): Deleted.
2841         (WebCore::ScrollElasticityController::snapRubberBandTimerFired): Deleted.
2842         (WebCore::ScrollElasticityController::isRubberBandInProgress): Deleted.
2843         (WebCore::ScrollElasticityController::stopSnapRubberbandTimer): Deleted.
2844         (WebCore::ScrollElasticityController::snapRubberBand): Deleted.
2845         (WebCore::ScrollElasticityController::shouldRubberBandInHorizontalDirection): Deleted.
2846         * platform/mac/ScrollElasticityController.h: Removed.
2847         * platform/mac/ScrollElasticityController.mm: Removed.
2848
2849 2015-02-20  Alexey Proskuryakov  <ap@apple.com>
2850
2851         Remove svn:keywords property.
2852
2853         As far as I can tell, the property had no effect on any of these files, but also,
2854         when it has effect it's likely harmful.
2855
2856         * Modules/mediacontrols/assets-apple-iOS.svg: Removed property svn:keywords.
2857         * Modules/mediacontrols/mediaControlsBase.css: Removed property svn:keywords.
2858         * Modules/mediacontrols/mediaControlsBase.js: Removed property svn:keywords.
2859         * bindings/js/JSDeviceMotionEventCustom.cpp: Removed property svn:keywords.
2860         * css/CSSKeyframeRule.cpp: Removed property svn:keywords.
2861         * css/CSSKeyframeRule.h: Removed property svn:keywords.
2862         * css/CSSKeyframesRule.cpp: Removed property svn:keywords.
2863         * css/CSSKeyframesRule.h: Removed property svn:keywords.
2864         * css/WebKitCSSFilterValue.cpp: Removed property svn:keywords.
2865         * css/WebKitCSSFilterValue.h: Removed property svn:keywords.
2866         * css/plugIns.css: Removed property svn:keywords.
2867         * dom/AnimationEvent.cpp: Removed property svn:keywords.
2868         * dom/AnimationEvent.h: Removed property svn:keywords.
2869         * dom/DeviceMotionClient.h: Removed property svn:keywords.
2870         * dom/DeviceMotionController.cpp: Removed property svn:keywords.
2871         * dom/DeviceMotionController.h: Removed property svn:keywords.
2872         * dom/DeviceMotionData.cpp: Removed property svn:keywords.
2873         * dom/DeviceMotionData.h: Removed property svn:keywords.
2874         * dom/DeviceMotionEvent.cpp: Removed property svn:keywords.
2875         * dom/DeviceMotionEvent.h: Removed property svn:keywords.
2876         * html/canvas/ANGLEInstancedArrays.cpp: Removed property svn:keywords.
2877         * html/canvas/ANGLEInstancedArrays.h: Removed property svn:keywords.
2878         * html/canvas/OESTextureFloatLinear.cpp: Removed property svn:keywords.
2879         * html/canvas/OESTextureFloatLinear.h: Removed property svn:keywords.
2880         * html/canvas/OESTextureHalfFloatLinear.cpp: Removed property svn:keywords.
2881         * html/canvas/OESTextureHalfFloatLinear.h: Removed property svn:keywords.
2882         * html/shadow/MediaControlsApple.cpp: Removed property svn:keywords.
2883         * html/shadow/MediaControlsApple.h: Removed property svn:keywords.
2884         * page/Frame.h: Removed property svn:keywords.
2885         * page/scrolling/ScrollingConstraints.cpp: Removed property svn:keywords.
2886         * page/scrolling/ScrollingConstraints.h: Removed property svn:keywords.
2887         * page/scrolling/ScrollingStateStickyNode.cpp: Removed property svn:keywords.
2888         * page/scrolling/ios/ScrollingTreeIOS.cpp: Removed property svn:keywords.
2889         * page/scrolling/mac/ScrollingTreeStickyNode.h: Removed property svn:keywords.
2890         * platform/ControlStates.h: Removed property svn:keywords.
2891         * platform/ScrollbarTheme.cpp: Removed property svn:keywords.
2892         * platform/graphics/GraphicsLayerUpdater.cpp: Removed property svn:keywords.
2893         * platform/graphics/GraphicsLayerUpdater.h: Removed property svn:keywords.
2894         * platform/graphics/ca/TileController.h: Removed property svn:keywords.
2895         * platform/graphics/ca/mac/WebTiledBackingLayer.h: Removed property svn:keywords.
2896         * platform/graphics/filters/FilterOperation.cpp: Removed property svn:keywords.
2897         * platform/graphics/filters/FilterOperation.h: Removed property svn:keywords.
2898         * platform/graphics/filters/FilterOperations.h: Removed property svn:keywords.
2899         * platform/ios/SystemMemory.h: Removed property svn:keywords.
2900         * platform/mock/ScrollbarThemeMock.cpp: Removed property svn:keywords.
2901         * platform/mock/ScrollbarThemeMock.h: Removed property svn:keywords.
2902         * platform/spi/cocoa/ServersSPI.h: Removed property svn:keywords.
2903         * platform/text/mac/ios-encodings.txt: Removed property svn:keywords.
2904         * rendering/FilterEffectRenderer.cpp: Removed property svn:keywords.
2905         * rendering/FilterEffectRenderer.h: Removed property svn:keywords.
2906         * rendering/RenderGeometryMap.cpp: Removed property svn:keywords.
2907         * rendering/RenderGeometryMap.h: Removed property svn:keywords.
2908         * rendering/RenderMediaControlElements.h: Removed property svn:keywords.
2909         * rendering/TextAutoSizing.cpp: Removed property svn:keywords.
2910         * rendering/TextAutoSizing.h: Removed property svn:keywords.
2911         * rendering/style/StylePendingImage.h: Removed property svn:keywords.
2912
2913 2015-02-20  Brent Fulgham  <bfulgham@apple.com>
2914
2915         [Mac] REGRESSION: Scroll snap points broken after r180018
2916         https://bugs.webkit.org/show_bug.cgi?id=141821
2917         <rdar://problem/19898333>
2918
2919         Reviewed by Simon Fraser.
2920
2921         * page/EventHandler.cpp:
2922         (WebCore::EventHandler::platformNotifySnapIfNecessary): Added stub.
2923         (WebCore::EventHandler::handleWheelEvent): Call new 'platformNotifySnapIfNecessary' method
2924         to catch the 'ended wheel' gesture.
2925         * page/EventHandler.h:
2926         * page/mac/EventHandlerMac.mm:
2927         (WebCore::EventHandler::platformNotifySnapIfNecessary): Added. If the wheel event signifies
2928         the end of a wheel/swipe gesture, let the snap logic decide if it should do anything
2929         (i.e., trigger an animation)
2930         * platform/ScrollAnimator.cpp:
2931         (WebCore::ScrollAnimator::processWheelEventForScrollSnap): Added.
2932         * platform/ScrollAnimator.h:
2933
2934 2015-02-20  Eric Carlson  <eric.carlson@apple.com>
2935
2936         [iOS] cleanup AirPlay code
2937         https://bugs.webkit.org/show_bug.cgi?id=141811
2938
2939         Reviewed by Jer Noble.
2940
2941         * Configurations/FeatureDefines.xcconfig: IOS_AIRPLAY -> WIRELESS_PLAYBACK_TARGET.
2942
2943         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp: Ditto.
2944         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
2945         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl:
2946
2947         * Modules/mediacontrols/MediaControlsHost.cpp:
2948         (WebCore::MediaControlsHost::externalDeviceDisplayName): Ditto.
2949         (WebCore::MediaControlsHost::externalDeviceType):
2950
2951         * dom/EventNames.h: Ditto.
2952         * dom/EventNames.in:
2953
2954         * html/HTMLMediaElement.cpp:
2955         (WebCore::HTMLMediaElement::HTMLMediaElement): Ditto.
2956         (WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto.
2957         (WebCore::HTMLMediaElement::parseAttribute):
2958         * html/HTMLMediaElement.h:
2959         * html/HTMLMediaElement.idl:
2960
2961         * html/HTMLMediaSession.cpp:
2962         (WebCore::restrictionName): Ditto.
2963         (WebCore::HTMLMediaSession::applyMediaPlayerRestrictions): Ditto.
2964         * html/HTMLMediaSession.h:
2965
2966         * html/HTMLVideoElement.cpp:
2967         (WebCore::HTMLVideoElement::parseAttribute): Ditto.
2968         * html/HTMLVideoElement.h:
2969         * html/HTMLVideoElement.idl:
2970
2971         * page/Settings.in: Ditto.
2972
2973         * platform/audio/MediaSessionManager.h:
2974         * platform/audio/ios/MediaSessionManagerIOS.h:
2975         * platform/audio/ios/MediaSessionManagerIOS.mm: Ditto.
2976
2977         * platform/graphics/MediaPlayer.cpp:
2978         (WebCore::MediaPlayer::showPlaybackTargetPicker): Deleted.
2979         (WebCore::MediaPlayer::hasWirelessPlaybackTargets): Deleted.
2980         * platform/graphics/MediaPlayer.h:
2981         * platform/graphics/MediaPlayerPrivate.h:
2982         (WebCore::MediaPlayerPrivateInterface::showPlaybackTargetPicker): Deleted.
2983         (WebCore::MediaPlayerPrivateInterface::hasWirelessPlaybackTargets): Deleted.
2984         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2985         (WebCore::MediaPlayerPrivateAVFoundation::rateChanged):
2986         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
2987
2988         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2989         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2990         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2991         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): IOS_AIRPLAY -> WIRELESS_PLAYBACK_TARGET.
2992         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Ditto.
2993         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Ditto.
2994         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer): Ditto.
2995         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Ditto.
2996
2997 2015-02-20  Dhi Aurrahman  <diorahman@rockybars.com>
2998
2999         Language ranges containing asterisks must be quoted as strings
3000         https://bugs.webkit.org/show_bug.cgi?id=141659
3001
3002         Reviewed by Benjamin Poulain.
3003
3004         As specified in [1], the language ranges containing asterisks must be quoted as strings.
3005
3006         [1] http://dev.w3.org/csswg/selectors-4/#the-lang-pseudo.
3007
3008         * css/CSSGrammar.y.in:
3009         * css/CSSParser.cpp:
3010         (WebCore::CSSParser::realLex):
3011
3012 2015-02-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3013
3014         Use std::unique_ptr instead of PassOwnPtr|OwnPtr in MediaPlayerFoo classes
3015         https://bugs.webkit.org/show_bug.cgi?id=137765
3016
3017         Reviewed by Ryosuke Niwa.
3018
3019         As a step to use std::unique_ptr|std::make_unique<>, this patch changes use of OwnPtr|PassOwnPtr
3020         with std::unique_ptr<>|std::make_unique<>. To remove all create() factory function, lambdas is
3021         used in registerMediaEngine().
3022
3023         No new tests, no behavior changes.
3024
3025         * WebCore.exp.in:
3026         * html/HTMLMediaElement.cpp:
3027         (WebCore::HTMLMediaElement::parseAttribute):
3028         * html/HTMLMediaElement.h:
3029         * platform/graphics/MediaPlayer.cpp:
3030         (WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate):
3031         (WebCore::MediaPlayer::MediaPlayer):
3032         (WebCore::MediaPlayer::loadWithNextMediaEngine):
3033         (WebCore::createNullMediaPlayer): Deleted.
3034         * platform/graphics/MediaPlayer.h:
3035         (WebCore::MediaPlayer::create): Deleted.
3036         * platform/graphics/MediaPlayerPrivate.h:
3037         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3038         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3039         (WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine):
3040         (WebCore::MediaPlayerPrivateAVFoundationCF::create): Deleted.
3041         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
3042         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3043         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3044         (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
3045         (WebCore::MediaPlayerPrivateAVFoundationObjC::create): Deleted.
3046         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
3047         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3048         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
3049         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::create): Deleted.
3050         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3051         (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
3052         (WebCore::MediaPlayerPrivateGStreamer::create): Deleted.
3053         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3054         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3055         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3056         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
3057         (WebCore::MediaPlayerPrivateQTKit::create): Deleted.
3058         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
3059         (WebCore::MediaPlayerPrivateMediaFoundation::registerMediaEngine):
3060         (WebCore::MediaPlayerPrivateMediaFoundation::create): Deleted.
3061         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
3062         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
3063         (WebCore::MockMediaPlayerMediaSource::registerMediaEngine):
3064         (WebCore::MockMediaPlayerMediaSource::create): Deleted.
3065         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
3066
3067 2015-02-19  David Kilzer  <ddkilzer@apple.com>
3068
3069         Rename SOFT_LINK_FUNCTION_{DECL,IMPL}() to SOFT_LINK_FUNCTION_{HEADER,SOURCE}()
3070
3071         Rubber-stamped by Brent Fulgham.
3072
3073         "HEADER" and "SOURCE" seem clearer than "DECL" and "IMPL", and
3074         Brent agreed when I talked to him in person.
3075
3076         * platform/cf/CoreMediaSoftLink.cpp:
3077         * platform/cf/CoreMediaSoftLink.h:
3078         * platform/mac/SoftLinking.h:
3079         * platform/win/SoftLinking.h:
3080         - Do the rename.
3081
3082 2015-02-19  David Kilzer  <ddkilzer@apple.com>
3083
3084         Move more CoreMedia soft-linked functions to CoreMediaSoftLink.{cpp,h}
3085         <http://webkit.org/b/141791>
3086
3087         Reviewed by Alexey Proskuryakov.
3088
3089         * Configurations/WebCore.unexp:
3090         - Remove five more symbols.
3091
3092         * Modules/plugins/QuickTimePluginReplacement.mm:
3093         - Remove all local soft-links and include CoreMediaSoftLink.h.
3094           Note that SOFT_LINK_FRAMEWORK_OPTIONAL() should not have been
3095           used here since we didn't use the optional function soft-link
3096           method.
3097
3098         * WebCore.vcxproj/WebCore.vcxproj.filters:
3099         * WebCore.vcxproj/WebCoreCFNetwork.props:
3100         * WebCore.xcodeproj/project.pbxproj:
3101         - Add CoreMediaSPI.h to the project.
3102
3103         * platform/cf/CoreMediaSoftLink.cpp:
3104         * platform/cf/CoreMediaSoftLink.h:
3105         - Add three cross-platform symbols, five Cocoa-only symbols, and
3106           two Windows-only symbols (based on current usage, not
3107           availability on each platform).
3108         - Include CoreMediaSPI.h header.
3109         - Include <CoreMedia/CoreMedia.h> instead of just CMTime.h.
3110
3111         * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
3112         - Remove all CoreMedia soft-linked functions.  Constants remain.
3113
3114         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3115         - Remove one CoreMedia soft-linked method.
3116
3117         * platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:
3118         - Remove all CoreMedia soft-linked funtions.  With this change,
3119           we are already realizing space savings for duplicate
3120           SOFT_LINK_FRAMEWORK() calls.  (On Windows, there was code
3121           generated for many unused functions included by
3122           CoreMediaSoftLinking.h.)
3123
3124         * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h:
3125         - Remove all CoreMedia soft-linked funtions.  Constants remain.
3126
3127         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3128         - Remove duplicate header included by CoreMediaSoftLink.h.
3129
3130         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3131         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3132         - Remove all CoreMedia soft-linked funtions.  Constants remain.
3133
3134         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3135         - Remove three CoreMedia soft-linked methods.
3136
3137         * platform/mac/PlatformClockCM.mm:
3138         - Remove two CoreMedia soft-linked methods.
3139
3140         * platform/mac/SerializedPlatformRepresentationMac.mm:
3141         - Remove only CoreMedia soft-linked funtion.  It wasn't even
3142           used.
3143
3144         * platform/mediastream/mac/AVVideoCaptureSource.mm:
3145         - Remove two CoreMedia soft-linked method.
3146
3147         * platform/spi/cf/CoreMediaSPI.h:
3148         - Add for SPI from CMNotificationCenter.h.
3149
3150 2015-02-19  David Hyatt  <hyatt@apple.com>
3151
3152         Columns are splitting unsplittable content.
3153         https://bugs.webkit.org/show_bug.cgi?id=141807
3154         <rdar://problem/18387659>
3155
3156         Reviewed by Dean Jackson.
3157
3158         Added inline-table-dynamic-movement.html
3159
3160         * rendering/RenderBlockFlow.cpp:
3161         (WebCore::RenderBlockFlow::pageLogicalTopForOffset):
3162         (WebCore::RenderBlockFlow::pageLogicalHeightForOffset):
3163         Patch these functions to always check the layout state for a zero
3164         pageLogicalHeight, since that is actually our indicator that we're
3165         doing column balancing and don't have a height set yet.
3166
3167         * rendering/RenderMultiColumnFlowThread.cpp:
3168         (WebCore::RenderMultiColumnFlowThread::isPageLogicalHeightKnown):
3169         * rendering/RenderMultiColumnSet.cpp:
3170         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
3171         (WebCore::RenderMultiColumnSet::setAndConstrainColumnHeight):
3172         (WebCore::RenderMultiColumnSet::prepareForLayout):
3173         * rendering/RenderMultiColumnSet.h:
3174         The function for deciding whether the logical height of the columns was
3175         known was checking for a zero computedColumnHeight. However, a column set
3176         can legitimately compute a zero column height, and with the fix to examine
3177         the layout state, this bug was exposed.
3178
3179         The fix is to add a new variable that caches whether or not the column height
3180         has been computed, so that even if it computes to zero, we aren't fooled.
3181
3182 2015-02-19  Chris Dumez  <cdumez@apple.com>
3183
3184         [iOS] Fix inefficiencies in ResourceResponse::platformLazyInit()
3185         https://bugs.webkit.org/show_bug.cgi?id=141744
3186
3187         Reviewed by Alexey Proskuryakov.
3188
3189         Fix inefficiencies in iOS's ResourceResponse::platformLazyInit()
3190         implementation, similarly to what was already done for Mac in:
3191         <http://trac.webkit.org/changeset/174717>
3192
3193         The following changes were made:
3194         - Add missing "initLevel == AllFields" check before initializing
3195           uncommon fields. This bug was causing us to initialize uncommon
3196           fields even if called with 'CommonFieldsOnly' initLevel.
3197         - Bypass the first pass populating common HTTP headers in
3198           m_httpHeaderFields if the initLevel is AllFields. If called
3199           with AllFields initLevel, we will end up populating all HTTP
3200           headers later on so this first pass is redundant.
3201         - Use C++11 range loop to iterator over commonHeaderFields array
3202           for readability.
3203         - Use CFDictionaryApplyFunction() to populate m_httpHeaderFields
3204           for the CFDictionaryRef containing the headers instead of creating
3205           copies of keys and values using CFDictionaryGetKeysAndValues() and
3206           then iterating over those. This avoids allocating Vectors for keys /
3207           values and avoids unnecessary copying.
3208
3209
3210 2015-02-18  Dean Jackson  <dino@apple.com>
3211
3212         Sufficiently small media controls should remove toolbar elements
3213         https://bugs.webkit.org/show_bug.cgi?id=141780
3214         <rdar://problem/16548548>
3215         <rdar://problem/17598778>
3216         <rdar://problem/18351963>
3217
3218         Reviewed by Eric Carlson.
3219
3220         Implement some logic where elements on the media controls are
3221         hidden when there isn't enough room. We start by dropping
3222         the scrubber, then the various buttons on the right hand
3223         side.
3224
3225         This solution isn't perfect. If we had perfection, it would
3226         be because we get resize events and respond accordingly. Instead
3227         we check the size when the user has pinch-zoomed, or when
3228         we start/stop playing.
3229
3230         This is going to cause some extra layout, because we need
3231         to know the size of things before we can work out which
3232         bits to hide.
3233
3234         * Modules/mediacontrols/mediaControlsiOS.css:
3235         (::-webkit-media-controls): Remove the minimum width. This can
3236         cause the controls to get clipped.
3237         (audio::-webkit-media-controls-spacer): Add this empty element to
3238         replace the scrubber when it is hidden.
3239         (audio::-webkit-media-controls-timeline-container):
3240         * Modules/mediacontrols/mediaControlsiOS.js:
3241         (ControllerIOS): Remember our size so we don't churn.
3242         (ControllerIOS.prototype.createControls): Create a new spacer element.
3243         (ControllerIOS.prototype.configureInlineControls):
3244         (ControllerIOS.prototype.showControls): Check if we need to hide stuff.
3245         (ControllerIOS.prototype.updateControls):
3246         (ControllerIOS.prototype.setPlaying): Ditto.
3247         (ControllerIOS.prototype.set pageScaleFactor): Ditto.
3248         (ControllerIOS.prototype.scheduleUpdateLayoutForDisplayedWidth): Trigger an update
3249         asap. In this case it's probably ok to be in a bad state for a frame, or
3250         we are inside setup and we know that we'll layout soon.
3251         (ControllerIOS.prototype.updateLayoutForDisplayedWidth): The actual code
3252         that hides elements.
3253
3254 2015-02-19  Tim Horton  <timothy_horton@apple.com>
3255
3256         Move the software-only ImageBuffer::m_context to ImageBufferData
3257         https://bugs.webkit.org/show_bug.cgi?id=141784
3258
3259         Reviewed by Simon Fraser.
3260
3261         * platform/graphics/ImageBuffer.h:
3262         * platform/graphics/cairo/ImageBufferCairo.cpp:
3263         (WebCore::ImageBuffer::ImageBuffer):
3264         (WebCore::ImageBuffer::context):
3265         * platform/graphics/cairo/ImageBufferDataCairo.h:
3266         * platform/graphics/cg/ImageBufferCG.cpp:
3267         (WebCore::ImageBuffer::ImageBuffer):
3268         (WebCore::ImageBuffer::context):
3269         * platform/graphics/cg/ImageBufferDataCG.h:
3270         Move m_context to ImageBufferData in the software-only section;
3271         for accelerated contexts, the GraphicsContext is owned by the IOSurface wrapper.
3272         This will make it harder for ImageBuffer to make the mistake of using
3273         m_context blindly without thinking when it will often be null.
3274
3275 2015-02-18  Andreas Kling  <akling@apple.com>
3276
3277         REGRESSION(r179347): Clearing the PageCache no longer clears the PageCache.
3278         <https://webkit.org/b/141788>
3279
3280         Reviewed by Anders Carlsson.
3281
3282         Once again we've fallen into the TemporaryChange trap:
3283
3284             TemporaryChange<unsigned>(m_member, temporaryValue);
3285
3286         The code above doesn't actually do anything. Since the TemporaryChange local is not named,
3287         it immediately goes out of scope and restores the original value of m_member.
3288
3289         Unless someone knows a C++ trick to prevent these, we'll need to add a style checker pass
3290         to catch bugs like this. Whatever we do will be done separately from this bug.
3291
3292         Test: fast/history/page-cache-clearing.html
3293
3294         * history/PageCache.cpp:
3295         (WebCore::PageCache::pruneToSizeNow): Name the local so it lives longer.
3296
3297         * testing/Internals.cpp:
3298         (WebCore::Internals::clearPageCache):
3299         (WebCore::Internals::pageCacheSize):
3300         * testing/Internals.h:
3301         * testing/Internals.idl: Add a way to clear the page cache and query its size from
3302         window.internals to facilitate writing a simple test for this bug.
3303
3304 2015-02-18  Alexey Proskuryakov  <ap@apple.com>
3305
3306         Roll out r180280.
3307
3308         Crashes under IDBDatabase::closeConnection.
3309         https://bugs.webkit.org/show_bug.cgi?id=141745
3310         rdar://problem/19816412
3311
3312         * Modules/indexeddb/IDBDatabase.cpp: (WebCore::IDBDatabase::closeConnection):
3313
3314 2015-02-18  Tim Horton  <timothy_horton@apple.com>
3315
3316         Fix the iOS Simulator build after r180308.
3317
3318         * platform/graphics/cg/ImageBufferDataCG.h:
3319
3320 2015-02-18  Zalan Bujtas  <zalan@apple.com>
3321
3322         REGRESSION(r174761) Dangling spanner pointer in RenderMultiColumnSpannerPlaceholder.
3323         https://bugs.webkit.org/show_bug.cgi?id=138224
3324
3325         Reviewed by Dave Hyatt.
3326
3327         It's wrong to call flowThreadRelativeWillBeRemoved(child).
3328         RenderMultiColumnFlowThread::removeFlowChildInfo() does not mean that the child is actually about to be removed.
3329         Should this introduce any regressions, we need to deal with those separately.
3330
3331         Test: fast/multicol/crash-when-spanner-gets-moved-around.html
3332
3333         * rendering/RenderMultiColumnFlowThread.cpp:
3334         (WebCore::RenderMultiColumnFlowThread::removeFlowChildInfo): Deleted.
3335         * rendering/RenderMultiColumnFlowThread.h:
3336
3337 2015-02-18  Brent Fulgham  <bfulgham@apple.com>
3338
3339         [Win] CFData leak in CDMSessionAVFoundationCF
3340         https://bugs.webkit.org/show_bug.cgi?id=141765
3341         <rdar://problem/141765>
3342
3343         Reviewed by Joseph Pecoraro.
3344
3345         * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
3346         (WebCore::CDMSessionAVFoundationCF::generateKeyRequest): use 'adoptCF'
3347         so we don't double-increment the retain count.
3348
3349 2015-02-18  Timothy Horton  <timothy_horton@apple.com>
3350
3351         Adopt WebCore::IOSurface in ImageBuffer
3352         https://bugs.webkit.org/show_bug.cgi?id=141751
3353
3354         Reviewed by Simon Fraser.
3355
3356         * platform/graphics/cg/ImageBufferCG.cpp:
3357         (WebCore::createIOSurface): Deleted.
3358         (WebCore::ImageBuffer::ImageBuffer):
3359         Make use of cachedCGColorSpace.
3360         Make use of WebCore::IOSurface.
3361         Remove the unused size argument from ImageBufferDataCG.
3362         Clear the IOSurface once we've allocated it; WebCore::IOSurface doesn't
3363         do this for us, unlike wkIOSurfaceContextCreate.
3364         Apply the flipping and scale factor to whichever context we made.
3365         We don't need to setIsAcceleratedContext anymore because it's always
3366         false for software contexts, and WebCore::IOSurface will set it for
3367         any accelerated contexts.
3368
3369         (WebCore::ImageBuffer::context):
3370         If we are IOSurface-backed, return WebCore::IOSurface's GraphicsContext.
3371
3372         (WebCore::ImageBuffer::flushContext):
3373         Make use of context(); m_context is now null for accelerated ImageBuffers.
3374
3375         (WebCore::ImageBuffer::copyNativeImage):
3376         Adopt in-line with the Create functions for clarity. Make use of
3377         IOSurface::createImage instead of wkIOSurfaceContextCreateImage.
3378
3379         (WebCore::ImageBuffer::draw):
3380         (WebCore::ImageBuffer::drawPattern):
3381         (WebCore::ImageBuffer::getUnmultipliedImageData):
3382         (WebCore::ImageBuffer::getPremultipliedImageData):
3383         (WebCore::ImageBuffer::putByteArray):
3384         (WebCore::ImageBuffer::toDataURL):
3385         Make use of context(); m_context is now null for accelerated ImageBuffers.
3386
3387         * platform/graphics/cg/ImageBufferDataCG.cpp:
3388         (WebCore::ImageBufferData::ImageBufferData):
3389         Indentation fix, and use nullptr.
3390
3391         (WebCore::convertScanline):
3392         Grammar fix (is -> are).
3393
3394         (WebCore::ImageBufferData::getData):
3395         (WebCore::ImageBufferData::putData):
3396         Grab the IOSurfaceRef from the IOSurface wrapper. Eventually these things
3397         should be made more convenient by the wrapper.
3398
3399         * platform/graphics/cg/ImageBufferDataCG.h:
3400         Drop the unused size argument from the constructor.
3401         Reorganize and label the various members which are only used
3402         for a particular type of ImageBufferDataCG.
3403
3404         * platform/graphics/cocoa/IOSurface.mm:
3405         (IOSurface::ensureGraphicsContext):
3406         IOSurface-backed GraphicsContexts are always considered accelerated.
3407
3408         (IOSurface::create):
3409         (IOSurface::IOSurface):
3410         Add a constructor that take an extra size to use when making the CGContext;
3411         it can only be less than the actual backing IOSurface size.
3412         This is needed for r160121.
3413
3414         * platform/ios/WebCoreSystemInterfaceIOS.mm:
3415         * platform/mac/WebCoreSystemInterface.h:
3416         * platform/mac/WebCoreSystemInterface.mm:
3417         Remove old WKSI IOSurface-related functions.
3418
3419 2015-02-18  Alex Christensen  <achristensen@webkit.org>
3420
3421         Prepare to use WEBCORE_EXPORT on Windows.
3422         https://bugs.webkit.org/show_bug.cgi?id=141735
3423
3424         Reviewed by Brent Fulgham.
3425
3426         * bindings/js/GCController.h:
3427         * bindings/js/JSDOMGlobalObject.h:
3428         * bindings/scripts/CodeGeneratorJS.pm:
3429         (GenerateHeader):