CTTE: RenderNamedFlowThread always has a WebKitNamedFlow.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-02-11  Andreas Kling  <akling@apple.com>
2
3         CTTE: RenderNamedFlowThread always has a WebKitNamedFlow.
4         <https://webkit.org/b/128623>
5
6         Codify the fact that RenderNamedFlowThread always has a corresponding
7         WebKitNamedFlow by storing it in a Ref, and adding an accessor that
8         returns a reference to get rid of all the ->'s.
9
10         Also removed some unnecessary assertions exposed by this.
11
12         Reviewed by Antti Koivisto.
13
14         * dom/NamedFlowCollection.cpp:
15         (WebCore::NamedFlowCollection::ensureFlowWithName):
16         * dom/NamedFlowCollection.h:
17         * rendering/RenderNamedFlowThread.cpp:
18         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
19         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
20         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
21         (WebCore::RenderNamedFlowThread::flowThreadName):
22         (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
23         (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
24         (WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
25         (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
26         (WebCore::RenderNamedFlowThread::setMarkForDestruction):
27         (WebCore::RenderNamedFlowThread::resetMarkForDestruction):
28         (WebCore::RenderNamedFlowThread::isMarkedForDestruction):
29         * rendering/RenderNamedFlowThread.h:
30
31 2014-02-10  Myles C. Maxfield  <mmaxfield@apple.com>
32
33         Convert position:fixed property to position:absolute upon copy
34         https://bugs.webkit.org/show_bug.cgi?id=128194
35
36         Reviewed by Simon Fraser.
37
38         This adds a Setting and Preference that allows clients to opt-in to this behavior.
39
40         This new behavior is only activated if the entire body is copied. If there is a position:fixed
41         element in the copied selection, it is replaced with position:absolute, and a containing
42         block (position:relative) is wrapped around the copied text.
43
44         This patch originally converted position:-webkit-sticky to position:relative. However, we
45         currently don't support copying and pasting of position:-webkit-sticky content (See below).
46         Therefore, this patch only deals with position:fixed.
47
48         Right now we don't copy position:-webkit-sticky. This is because:
49         1. When copying styled elements, we parse the style properties again
50         2. CSSParserContext has a flag which can disable parsing -webkit-sticky
51         3. There are two constructors to CSSParserContext: one that takes a document and sets up the
52         aforementioned flag, and a simple one that doesn't take a document and sets all the enableFoo
53         flags to false
54         4. At the relevant place within copy code, we are far removed from the Document object, so we
55         instead call the second constructor, thereby disabling parsing of -webkit-sticky
56
57         Test: editing/pasteboard/copy-paste-converts-sticky-and-fixed.html
58
59         * WebCore.exp.in: Export the Setting setter
60         * editing/EditingStyle.cpp:
61         (WebCore::EditingStyle::convertFixedAndStickyPosition): Converts a single style
62         * editing/EditingStyle.h:
63         * editing/markup.cpp:
64         (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Remember if we found
65         an element which needs the position:relative containing block
66         (WebCore::StyledMarkupAccumulator::appendElement): Surround with the position:relative
67         containing block if necessary
68         (WebCore::createMarkupInternal):
69         * page/Settings.cpp:
70         (WebCore::Settings::Settings): New setting to opt-in to this new behavior
71         (WebCore::Settings::setConvertPositionStyleOnCopy):
72         * page/Settings.h:
73         (WebCore::Settings::convertPositionStyleOnCopy):
74         * testing/InternalSettings.cpp: Allow setting the setting from a Layout Test
75         (WebCore::InternalSettings::Backup::Backup):
76         (WebCore::InternalSettings::Backup::restoreTo):
77         (WebCore::InternalSettings::setConvertPositionStyleOnCopy):
78         * testing/InternalSettings.h:
79         * testing/InternalSettings.idl:
80
81 2014-02-11  Youenn Fablet  <youennf@gmail.com>
82
83         XMLHttpRequest should not send DNT header
84         https://bugs.webkit.org/show_bug.cgi?id=128533
85
86         Reviewed by Alexey Proskuryakov.
87
88         Added DNT (Do Not Track) header to the list of forbidden headers.
89         Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that header.
90
91         * xml/XMLHttpRequest.cpp:
92         (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
93
94 2014-02-10  Jeffrey Pfau  <jpfau@apple.com>
95
96         Bring third-party app cache blocking behavior in line with private browsing app cache blocking behavior
97         https://bugs.webkit.org/show_bug.cgi?id=128557
98
99         Reviewed by Alexey Proskuryakov.
100
101         * loader/appcache/ApplicationCacheGroup.cpp:
102         (WebCore::ApplicationCacheGroup::cacheForMainRequest):
103         (WebCore::ApplicationCacheGroup::selectCache):
104         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
105         (WebCore::ApplicationCacheGroup::update):
106         * loader/appcache/ApplicationCacheHost.cpp:
107         (WebCore::ApplicationCacheHost::maybeLoadMainResource):
108         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
109         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
110         (WebCore::ApplicationCacheHost::maybeLoadResource):
111         (WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
112         (WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
113         * loader/appcache/ApplicationCacheHost.h:
114
115 2014-02-11  Brady Eidson  <beidson@apple.com>
116
117         IDB: The test after storage/indexeddb/mozilla/object-identity.html fails in cleanup code
118         <rdar://problem/16040663> and https://bugs.webkit.org/show_bug.cgi?id=128621
119
120         Reviewed by Alexey Proskuryakov.
121
122         Covered by storage/indexeddb/mozilla/object-identity.html.
123
124         * Modules/indexeddb/IDBTransactionBackend.cpp:
125         (WebCore::IDBTransactionBackend::abort): Clear the m_database pointer before calling the onAbort callback.
126         (WebCore::IDBTransactionBackend::commit): Don't run the abort code if there's no m_database pointer.
127
128 2014-02-10  Jer Noble  <jer.noble@apple.com>
129
130         [EME][Mac] Move the implementation of CDMPrivateAVFoundation back into MediaPlayerPrivateAVFoundationObjC.
131         https://bugs.webkit.org/show_bug.cgi?id=128559
132
133         Reviewed by Dean Jackson.
134
135         To prepare for multiple simultaneous CDMs with muliple MediaPlayer types, move the implementation for
136         CDMPrivateAVFoundation back into its media engine.
137
138         * Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
139         (WebCore::MediaKeyExceptionToErrorCode): Added.
140         (WebCore::CDMSessionAVFoundation::generateKeyRequest): Moved to MediaPlayerPrivateAVFoundationObjC.
141         (WebCore::CDMSessionAVFoundation::releaseKeys): Ditto.
142         (WebCore::CDMSessionAVFoundation::update): Ditto.
143         * platform/graphics/MediaPlayer.cpp:
144         (WebCore::MediaPlayer::generateKeyRequest): Added, pass through to MediaPlayerPrivate.
145         (WebCore::MediaPlayer::releaseKeys): Ditto.
146         (WebCore::MediaPlayer::update): Ditto.
147         * platform/graphics/MediaPlayer.h:
148         * platform/graphics/MediaPlayerPrivate.h:
149         (WebCore::MediaPlayerPrivateInterface::generateKeyRequest): Added.
150         (WebCore::MediaPlayerPrivateInterface::releaseKeys): Ditto.
151         (WebCore::MediaPlayerPrivateInterface::update): Ditto.
152         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
153         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
154         (WebCore::MediaPlayerPrivateAVFoundationObjC::generateKeyRequest): Moved from CDMSessionAVFoundation.
155         (WebCore::MediaPlayerPrivateAVFoundationObjC::releaseKeys): Ditto.
156         (WebCore::MediaPlayerPrivateAVFoundationObjC::update): Ditto.
157
158 2014-01-24  Jer Noble  <jer.noble@apple.com>
159
160         Run UserAgentScripts through jsmin rather than the css preprocessor
161         https://bugs.webkit.org/show_bug.cgi?id=127559
162
163         Reviewed by Tim Horton.
164
165         User Agent JavaScript files were being run through the c++ preprocessor to strip out
166         comments (and presumably to allow #if ENABLE macros, though that feature is entirely
167         unused). This had the side effect of removing important whitespace, namely newlines where
168         there would normally be an implicit semicolon.
169
170         Instead, .js files will now be run through the jsmin minifier, used by the inspector.
171         Jsmin will also strip comments and whitespace, but in a syntactically aware way which will
172         keep newlines when their presence adds an implied semicolon.
173
174         * DerivedSources.make:
175         * Scripts/make-js-file-arrays.py: Added.
176         (stringifyCodepoint):
177         (chunk):
178         (main):
179
180 2014-02-11  Andy Estes  <aestes@apple.com>
181
182         [Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
183         https://bugs.webkit.org/show_bug.cgi?id=128583
184
185         Reviewed by Anders Carlsson.
186
187         The delegate method was removed in Snow Leopard.
188
189         * loader/ResourceLoader.cpp:
190         * loader/ResourceLoader.h:
191         * platform/network/ResourceHandleClient.h:
192         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
193         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
194
195 2014-02-10  Andy Estes  <aestes@apple.com>
196
197         [Content Filter] Check for NULL before calling dispatch_release()
198         https://bugs.webkit.org/show_bug.cgi?id=128576
199
200         Reviewed by Darin Adler.
201
202         m_neFilterSourceQueue will be NULL if NEFilterSource isn't enabled, and
203         passing NULL to dispatch_release() is undefined.
204
205         * platform/mac/ContentFilterMac.mm:
206         (WebCore::ContentFilter::~ContentFilter):
207
208 2014-01-24  Jer Noble  <jer.noble@apple.com>
209
210         [MediaControls] Allow the media controls script to be debuggable by giving it a generated sourceURL
211         https://bugs.webkit.org/show_bug.cgi?id=127560
212
213         Reviewed by Eric Carlson.
214
215         When evaluating a script through ScriptController, if that script does not have an
216         explicit sourceURL, it will not appear in the resources section of the Web Inspector.
217         For debug builds only, give the media controls script a generated (i.e. fake) sourceURL.
218
219         * html/HTMLMediaElement.cpp:
220         (WebCore::HTMLMediaElement::parseAttribute):
221
222 2014-02-11  Samuel White  <samuel_white@apple.com>
223
224         AX: Add text replacement activity support to NSAccessibilitySelectTextWithCriteriaParameterizedAttribute.
225         https://bugs.webkit.org/show_bug.cgi?id=128397
226
227         Reviewed by Chris Fleizach.
228
229         Added text replacement support for the AXSelectTextWithCriteria parameterized attribute.
230
231         No new test. Updated platform/mac/accessibility/select-text.html to test the added functionality.
232
233         * accessibility/AccessibilityObject.cpp:
234         (WebCore::AccessibilityObject::selectText):
235         * accessibility/AccessibilityObject.h:
236         (WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):
237         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
238         (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):
239
240 2014-02-11  Roger Fong  <roger_fong@apple.com>
241
242         [Windows] Unreviewed. Speculative test fix.
243
244         * platform/graphics/GraphicsContext.h:
245         (WebCore::GraphicsContext::pixelSnappingFactor):
246         * platform/graphics/cg/GraphicsContextCG.cpp:
247         (WebCore::GraphicsContext::platformInit):
248
249 2014-02-11  Dan Bernstein  <mitz@apple.com>
250
251         iOS build fix.
252
253         * platform/ios/TileGrid.mm:
254         (WebCore::TileGrid::dropTilesBetweenRects):
255         (WebCore::TileGrid::dropDistantTiles):
256         (WebCore::TileGrid::dropInvalidTiles):
257
258 2014-02-11  James Craig  <jcraig@apple.com>
259
260         Web Inspector: AX: Accessibility Node Inspection
261         https://bugs.webkit.org/show_bug.cgi?id=127447
262
263         Reviewed by Timothy Hatcher.
264
265         New methods supporting WebCore::AccessibilityObject::computedRoleString()
266         used for Accessibility section in WebInspector Node Inspector. Other updates 
267         support the JSON interface for the WebInspectorUI feature.
268
269         Test: accessibility/roles-computedRoleString.html
270
271         * accessibility/AccessibilityObject.cpp:
272         (WebCore::initializeRoleMap):
273         (WebCore::ariaRoleMap):
274         (WebCore::reverseAriaRoleMap):
275         (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
276         (WebCore::AccessibilityObject::computedRoleString):
277         * accessibility/AccessibilityObject.h:
278         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
279         (-[WebAccessibilityObjectWrapper computedRoleString]):
280         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
281         * inspector/InspectorDOMAgent.cpp:
282         (WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
283         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
284         * inspector/InspectorDOMAgent.h:
285         * inspector/protocol/DOM.json:
286
287 2014-02-10  Oliver Hunt  <oliver@apple.com>
288
289         Stop throwing when attempting to read instance properties directly from the prototype
290         https://bugs.webkit.org/show_bug.cgi?id=128568
291
292         Reviewed by Mark Lam.
293
294         A number of websites expect to be able to access instance properties
295         directly through the prototype.  This is broken behavior but if we
296         throw an exception the entire site breaks.  This patch simply makes us
297         return undefined when reading, and logs the error to the console.
298
299         * bindings/scripts/CodeGeneratorJS.pm:
300         (GenerateImplementation):
301         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
302         (WebCore::jsTestActiveDOMObjectExcitingAttr):
303         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
304         (WebCore::jsTestEventConstructorAttr1):
305         (WebCore::jsTestEventConstructorAttr2):
306         * bindings/scripts/test/JS/JSTestException.cpp:
307         (WebCore::jsTestExceptionName):
308         * bindings/scripts/test/JS/JSTestInterface.cpp:
309         (WebCore::jsTestInterfaceImplementsStr1):
310         (WebCore::jsTestInterfaceImplementsStr2):
311         (WebCore::jsTestInterfaceImplementsStr3):
312         (WebCore::jsTestInterfaceImplementsNode):
313         (WebCore::jsTestInterfaceSupplementalStr1):
314         (WebCore::jsTestInterfaceSupplementalStr2):
315         (WebCore::jsTestInterfaceSupplementalStr3):
316         (WebCore::jsTestInterfaceSupplementalNode):
317         * bindings/scripts/test/JS/JSTestObj.cpp:
318         (WebCore::jsTestObjReadOnlyLongAttr):
319         (WebCore::jsTestObjReadOnlyStringAttr):
320         (WebCore::jsTestObjReadOnlyTestObjAttr):
321         (WebCore::jsTestObjConstructorTestSubObj):
322         (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
323         (WebCore::jsTestObjEnumAttr):
324         (WebCore::jsTestObjByteAttr):
325         (WebCore::jsTestObjOctetAttr):
326         (WebCore::jsTestObjShortAttr):
327         (WebCore::jsTestObjUnsignedShortAttr):
328         (WebCore::jsTestObjLongAttr):
329         (WebCore::jsTestObjLongLongAttr):
330         (WebCore::jsTestObjUnsignedLongLongAttr):
331         (WebCore::jsTestObjStringAttr):
332         (WebCore::jsTestObjTestObjAttr):
333         (WebCore::jsTestObjXMLObjAttr):
334         (WebCore::jsTestObjCreate):
335         (WebCore::jsTestObjReflectedStringAttr):
336         (WebCore::jsTestObjReflectedIntegralAttr):
337         (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
338         (WebCore::jsTestObjReflectedBooleanAttr):
339         (WebCore::jsTestObjReflectedURLAttr):
340         (WebCore::jsTestObjReflectedCustomIntegralAttr):
341         (WebCore::jsTestObjReflectedCustomBooleanAttr):
342         (WebCore::jsTestObjReflectedCustomURLAttr):
343         (WebCore::jsTestObjTypedArrayAttr):
344         (WebCore::jsTestObjAttrWithGetterException):
345         (WebCore::jsTestObjAttrWithSetterException):
346         (WebCore::jsTestObjStringAttrWithGetterException):
347         (WebCore::jsTestObjStringAttrWithSetterException):
348         (WebCore::jsTestObjCustomAttr):
349         (WebCore::jsTestObjWithScriptStateAttribute):
350         (WebCore::jsTestObjWithScriptExecutionContextAttribute):
351         (WebCore::jsTestObjWithScriptStateAttributeRaises):
352         (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
353         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
354         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
355         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
356         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
357         (WebCore::jsTestObjConditionalAttr1):
358         (WebCore::jsTestObjConditionalAttr2):
359         (WebCore::jsTestObjConditionalAttr3):
360         (WebCore::jsTestObjConditionalAttr4Constructor):
361         (WebCore::jsTestObjConditionalAttr5Constructor):
362         (WebCore::jsTestObjConditionalAttr6Constructor):
363         (WebCore::jsTestObjCachedAttribute1):
364         (WebCore::jsTestObjCachedAttribute2):
365         (WebCore::jsTestObjAnyAttribute):
366         (WebCore::jsTestObjContentDocument):
367         (WebCore::jsTestObjMutablePoint):
368         (WebCore::jsTestObjImmutablePoint):
369         (WebCore::jsTestObjStrawberry):
370         (WebCore::jsTestObjStrictFloat):
371         (WebCore::jsTestObjDescription):
372         (WebCore::jsTestObjId):
373         (WebCore::jsTestObjHash):
374         (WebCore::jsTestObjReplaceableAttribute):
375         (WebCore::jsTestObjNullableDoubleAttribute):
376         (WebCore::jsTestObjNullableLongAttribute):
377         (WebCore::jsTestObjNullableBooleanAttribute):
378         (WebCore::jsTestObjNullableStringAttribute):
379         (WebCore::jsTestObjNullableLongSettableAttribute):
380         (WebCore::jsTestObjNullableStringValue):
381         (WebCore::jsTestObjAttribute):
382         (WebCore::jsTestObjAttributeWithReservedEnumType):
383         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
384         (WebCore::jsTestSerializedScriptValueInterfaceValue):
385         (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
386         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
387         (WebCore::jsTestSerializedScriptValueInterfacePorts):
388         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
389         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
390         (WebCore::jsTestTypedefsUnsignedLongLongAttr):
391         (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
392         (WebCore::jsTestTypedefsConstructorTestSubObj):
393         (WebCore::jsTestTypedefsAttrWithGetterException):
394         (WebCore::jsTestTypedefsAttrWithSetterException):
395         (WebCore::jsTestTypedefsStringAttrWithGetterException):
396         (WebCore::jsTestTypedefsStringAttrWithSetterException):
397         * bindings/scripts/test/JS/JSattribute.cpp:
398         (WebCore::jsattributeReadonly):
399
400 2014-02-11  Sergio Villar Senin  <svillar@igalia.com>
401
402         [CSS Grid Layout] Support calc() breadth size type
403         https://bugs.webkit.org/show_bug.cgi?id=103761
404
405         Reviewed by Dean Jackson.
406
407         We now support using calc() in
408         -webkit-grid-template-{columns|rows}. This means that we now
409         match the specification and support all the possible ways to
410         specify the track breadths.
411
412         This includes a fix to CSSCalculationValue that was converting
413         Length values to CalcExpressionNumber and thus removing all the
414         info regarding length units (px, em, pt...). That's why things
415         like calc(10px + 20%) were shown as calc(10 + 20%) in
416         getComputedStyle() output.
417
418         * css/CSSCalculationValue.cpp:
419         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
420         * css/CSSComputedStyleDeclaration.cpp:
421         (WebCore::zoomAdjustedPixelValueForLength):
422         (WebCore::specifiedValueForGridTrackBreadth):
423         (WebCore::specifiedValueForGridTrackSize):
424         * css/StyleResolver.cpp:
425         (WebCore::createGridTrackBreadth):
426         * rendering/RenderGrid.cpp:
427         (WebCore::RenderGrid::computeUsedBreadthOfMinLength):
428         (WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
429         (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
430
431 2014-02-11  Brent Fulgham  <bfulgham@apple.com>
432
433         Correct some uses of 'auto'
434         https://bugs.webkit.org/show_bug.cgi?id=128578
435
436         Reviewed by Anders Carlsson.
437
438         Correct the following instances of "for (auto ...)" to use reference or
439         const references to avoid copies.
440
441         * accessibility/AccessibilityObject.cpp:
442         (WebCore::AccessibilityObject::elementsFromAttribute):
443         * css/CSSGridTemplateValue.cpp:
444         (WebCore::stringForPosition):
445         * dom/Node.cpp:
446         (WebCore::NodeListsNodeData::invalidateCaches):
447         * inspector/PageInjectedScriptManager.cpp:
448         (WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):
449         * page/WheelEventDeltaTracker.cpp:
450         (WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):
451         * page/scrolling/ScrollingCoordinator.cpp:
452         (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
453         * platform/graphics/mac/WebLayer.mm:
454         (WebCore::drawLayerContents):
455         * platform/ios/TileGrid.mm:
456         (WebCore::TileGrid::dropTilesBetweenRects):
457         (WebCore::TileGrid::dropDistantTiles):
458         (WebCore::TileGrid::dropInvalidTiles):
459         * rendering/InlineTextBox.cpp:
460         (WebCore::translateIntersectionPointsToSkipInkBoundaries):
461         * testing/InternalSettings.cpp:
462         (WebCore::InternalSettings::Backup::restoreTo):
463
464 2014-02-10  David Hyatt  <hyatt@apple.com>
465
466         [New Multicolumn] Make columns work with line grids
467         https://bugs.webkit.org/show_bug.cgi?id=128555
468
469         Reviewed by Antti Koivisto.
470
471         Added line-snap-into-columns.html and line-snap-inside-columns.html
472
473         * rendering/LayoutState.cpp:
474         (WebCore::LayoutState::LayoutState):
475         * rendering/LayoutState.h:
476         (WebCore::LayoutState::pageOffset):
477         (WebCore::LayoutState::setLineGridPaginationOrigin):
478         Change the LayoutState to call into the renderer to compute the line
479         grid pagination origin instead of doing it directly. Added the
480         appropriate getters and setters to enable the renderer to do this.
481
482         * rendering/RenderBlock.cpp:
483         (WebCore::RenderBlock::computeLineGridPaginationOrigin):
484          * rendering/RenderBlock.h:
485         An implementation for the old multi-column code. The logic is the
486         same with tweaks made now that the method is on the renderer instead.
487
488         * rendering/RenderBlockFlow.cpp:
489         (WebCore::RenderBlockFlow::pageLogicalTopForOffset):
490         Fix a bug with flow threads and pageLogicalTopForOffset. Normal CSS region-based
491         flow threads are never embedded in an enclosing pagination context, so they
492         didn't add in the firstPageLogicalTop (or subtract it when computing the region
493         hit). Multi-column flow threads do need to subtract out the firstPageLogicalTop,
494         since it can occur somewhere on the page.
495         
496         Ultimately regions will need to get smarter here too if they want to work with
497         line grids, but for now I just fixed multi-column.
498
499         * rendering/RenderBox.cpp:
500         (WebCore::RenderBox::isUnsplittableForPagination):
501         Undo this change, since it prevents the inheritance of line grids into the
502         multi-column layout.
503
504         * rendering/RenderMultiColumnFlowThread.cpp:
505         (WebCore::RenderMultiColumnFlowThread::computeLineGridPaginationOrigin):
506         * rendering/RenderMultiColumnFlowThread.h:
507         An implementation for the new multi-column code. The logic is the
508         same as the old code. Code duplication is ok, since the old multi-column method
509         in RenderBlock will just be deleted once the new code is turned on, and it's easier
510         not to intertwine them.
511
512 2014-02-11  Radu Stavila  <stavila@adobe.com>
513
514         [CSS Regions] Overflow above the first region is not properly painted for regions with padding
515         https://bugs.webkit.org/show_bug.cgi?id=128590
516
517         Reviewed by Andrei Bucur.
518
519         Painting is done using the layer of the region's container, so offsetting using the content box
520         of the region itself is incorrect. 
521
522         Test: fast/regions/region-padding-overflow-hidden.html
523
524         * rendering/RenderLayer.cpp:
525         (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
526         * rendering/RenderRegion.cpp:
527         (WebCore::RenderRegion::regionContainer):
528         (WebCore::RenderRegion::regionContainerLayer):
529         * rendering/RenderRegion.h:
530
531 2014-02-11  Benjamin Poulain  <benjamin@webkit.org>
532
533         querySelector() does not use the compiler correctly
534         https://bugs.webkit.org/show_bug.cgi?id=128588
535
536         Reviewed by Andreas Kling.
537
538         * dom/SelectorQuery.cpp:
539         (WebCore::SelectorDataList::execute):
540         I messed up the refactoring when I landed SelectorQuery. The compiled
541         code was not used the first time through SelectorDataList::execute.
542
543 2014-02-11  Piotr Grad  <p.grad@samsung.com>
544
545         [GStreamer] High playback rate causes crash
546         https://bugs.webkit.org/show_bug.cgi?id=128453
547
548         Reviewed by Philippe Normand.
549
550         To high playback rate passed to GStreamer was causing crash.
551         Added guard in setRate method.
552
553         Test: media/video-extreme-playbackrate-crash.html
554
555         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
556         (WebCore::MediaPlayerPrivateGStreamer::setRate):
557
558 2014-02-10  Brady Eidson  <beidson@apple.com>
559
560         IndexedDB assertion at IDBTransactionBackend::~IDBTransactionBackend()
561         https://bugs.webkit.org/show_bug.cgi?id=128341
562
563         Reviewed by Maciej Stachowiak.
564
565         * Modules/indexeddb/IDBTransactionBackend.cpp:
566         (WebCore::IDBTransactionBackend::~IDBTransactionBackend): "Finished" is not the only
567           valid value here - In WK2, "Unused" is also valid. Update the ASSERT.
568
569 2014-02-10  Alexey Proskuryakov  <ap@apple.com>
570
571         Add hooks for wrapping CryptoKeys in SerializedScriptValue
572         https://bugs.webkit.org/show_bug.cgi?id=128567
573
574         Reviewed by Anders Carlsson.
575
576         * bindings/js/SerializedScriptValue.cpp: Changed SerializedScriptValue to serialize
577         wrapped keys. Added a version number to crypto key serialization.
578
579         * dom/Document.cpp:
580         (WebCore::Document::wrapCryptoKey):
581         (WebCore::Document::unwrapCryptoKey):
582         * dom/Document.h:
583         * dom/ScriptExecutionContext.h:
584         * page/ChromeClient.h:
585         (WebCore::ChromeClient::wrapCryptoKey):
586         (WebCore::ChromeClient::unwrapCryptoKey):
587         Hand wrapping/unwrapping over to client code.
588
589         * workers/WorkerGlobalScope.cpp:
590         (WebCore::WorkerGlobalScope::wrapCryptoKey):
591         (WebCore::WorkerGlobalScope::unwrapCryptoKey):
592         * workers/WorkerGlobalScope.h:
593         Not implemented in workers. SubtleCrypto is currently not exposed in workers. It used
594         to be possible in WebKit implementation to post a CryptoKey to a worker anyway,
595         but this doesn't work any more.
596
597 2014-02-10  ChangSeok Oh  <changseok.oh@collabora.com>
598
599         Support ANGLE_instanced_arrays for linux
600         https://bugs.webkit.org/show_bug.cgi?id=127465
601
602         Reviewed by Martin Robinson.
603
604         Support the instanced drawing WebGL extension, ANGLE_instanced_arrays for linux platform.
605         This is a following patch for r162565. Relevant opengl APIs are exposed
606         for WebGLRenderingContext to access them.
607
608         Covered by fast/canvas/webgl/angle-instanced-arrays.html
609
610         * html/canvas/ANGLEInstancedArrays.cpp:
611         (WebCore::ANGLEInstancedArrays::supported):
612         * platform/graphics/OpenGLShims.cpp:
613         (WebCore::initializeOpenGLShims):
614         * platform/graphics/OpenGLShims.h:
615         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
616         (WebCore::Extensions3DOpenGL::supportsExtension):
617         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
618         (WebCore::GraphicsContext3D::drawArraysInstanced):
619         (WebCore::GraphicsContext3D::drawElementsInstanced):
620         (WebCore::GraphicsContext3D::vertexAttribDivisor):
621
622 2014-02-10  Mark Lam  <mark.lam@apple.com>
623
624         Removing limitation on JSLock’s lockDropDepth.
625         <https://webkit.org/b/128570>
626
627         Reviewed by Geoffrey Garen.
628
629         No new tests.
630
631         * bindings/js/PageScriptDebugServer.cpp:
632         (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
633         * platform/ios/wak/WebCoreThread.mm:
634         (SendDelegateMessage):
635         (WebThreadRunOnMainThread):
636         - No longer need to specify AlwaysDropLocks, because DropAllLocks is
637           now always unconditional.
638
639 2014-02-10  Benjamin Poulain  <benjamin@webkit.org>
640
641         Clean up MarkupAccumulator::appendCharactersReplacingEntities
642         https://bugs.webkit.org/show_bug.cgi?id=128440
643
644         Reviewed by Ryosuke Niwa.
645
646         Some cleanup:
647         -Remove the copied code for the loops. Instead, use a template with the loop
648          parametrized by the characters type.
649         -Move EntityDescription from the header to the implementation.
650         -Make the 5 substitution strings compile-time literals. Replacement is not hot enough
651          to justify the static here.
652
653         * editing/MarkupAccumulator.cpp:
654         (WebCore::appendCharactersReplacingEntitiesInternal):
655         (WebCore::MarkupAccumulator::appendCharactersReplacingEntities):
656         * editing/MarkupAccumulator.h:
657
658 2014-02-10  Benjamin Poulain  <benjamin@webkit.org>
659
660         Add a few pseudo type to the selector compiler through function calls
661         https://bugs.webkit.org/show_bug.cgi?id=128514
662
663         Reviewed by Dean Jackson.
664
665         Certain pseudo type checkers rely on virtual function calls. Since those types
666         are uncommon, and this code generator cannot currently make virtual function calls,
667         the checker are added by generating a function call to a wrapper function.
668
669         To avoid code duplication between SelectorChecker and the compiler, all the relevant checking
670         code has been moved to a common header, SelectorCheckerTestFunctions.h.
671         SelectorChecker still inline the functions, while the SelectorCompiler generate local static functions
672         and generate calls to them as needed.
673
674         * GNUmakefile.list.am:
675         * WebCore.vcxproj/WebCore.vcxproj:
676         * WebCore.vcxproj/WebCore.vcxproj.filters:
677         * WebCore.xcodeproj/project.pbxproj:
678         * css/SelectorChecker.cpp:
679         (WebCore::SelectorChecker::checkOne):
680         * css/SelectorCheckerTestFunctions.h: Added.
681         (WebCore::isAutofilled):
682         (WebCore::isDefaultButtonForForm):
683         (WebCore::isDisabled):
684         (WebCore::isEnabled):
685         (WebCore::isChecked):
686         (WebCore::isInvalid):
687         (WebCore::isOptionalFormControl):
688         (WebCore::isRequiredFormControl):
689         (WebCore::isValid):
690         (WebCore::matchesReadOnlyPseudoClass):
691         (WebCore::matchesReadWritePseudoClass):
692         (WebCore::shouldAppearIndeterminate):
693         (WebCore::matchesFullScreenPseudoClass):
694         (WebCore::matchesFutureCuePseudoClass):
695         (WebCore::matchesPastCuePseudoClass):
696         * cssjit/SelectorCompiler.cpp:
697         (WebCore::SelectorCompiler::addPseudoType):
698         (WebCore::SelectorCompiler::nonConstTestFunctionWrapper):
699         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
700         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementFunctionCallTest):
701         * dom/Element.h:
702         (WebCore::Element::isValidFormControlElement):
703         * dom/Node.h:
704         (WebCore::Node::toInputElement):
705         * html/HTMLFormControlElement.cpp:
706         (WebCore::HTMLFormControlElement::isValidFormControlElement):
707         * html/HTMLFormControlElement.h:
708
709 2014-02-10  Benjamin Poulain  <benjamin@webkit.org>
710
711         Add the basic infrastructure to compile attributes matching in selectors
712         https://bugs.webkit.org/show_bug.cgi?id=128484
713
714         Reviewed by Gavin Barraclough.
715
716         Tests: fast/selectors/querySelector-attribute-match-with-child-backtracking.html
717                fast/selectors/querySelector-long-attribute-match-with-child-backtracking.html
718                fast/selectors/querySelector-long-multiple-attribute-match-with-child-backtracking.html
719                fast/selectors/querySelector-multiple-attribute-match-with-child-backtracking.html
720
721         Add the infrastructure to match attributes. This only add basic support for the 'Set' match
722         type, the other match types will have to be built on top.
723
724         * cssjit/RegisterAllocator.h:
725         (WebCore::RegisterAllocator::availableRegisterCount):
726         (WebCore::RegisterAllocator::allocateRegister):
727         (WebCore::RegisterAllocator::deallocateRegister):
728         (WebCore::RegisterAllocator::reserveCalleeSavedRegisters):
729         (WebCore::RegisterAllocator::restoreCalleeSavedRegisters):
730         (WebCore::RegisterAllocator::allocatedRegisters):
731         (WebCore::RegisterAllocator::RegisterAllocator):
732         (WebCore::RegisterAllocator::~RegisterAllocator):
733         In the worst case, matching attributes can take up to 10 registers. On x86_64, we have
734         8 caller-saved registers. The extra 2 registers are simply added by taking callee-saved registers.
735
736         RegisterAllocator is modified to know support saving and restoring callee saved registers.
737         The list of available registers is changed from a vector to a HashSet because the registers
738         are removed from arbitrary locations in restoreCalleeSavedRegisters(). The m_allocatedRegisters
739         remain a vector since the allocation/release pattern remain ordered.
740
741         * cssjit/SelectorCompiler.cpp:
742         (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
743
744         (WebCore::SelectorCompiler::minimumRegisterRequirements):
745         This new utility finds the minimum number of registers needed to compile the input. In most
746         cases we have plenty enough. In rare cases we need to saved a few registers to the stack.
747
748         (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
749         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
750         (WebCore::SelectorCompiler::testIsHTMLFlagOnNode):
751         (WebCore::SelectorCompiler::canMatchStyleAttribute):
752
753         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeStyleAttribute):
754         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeAllAnimatedSVGAttribute):
755         The style attribute and certain SVG attributes can be modified lazily. In those cases,
756         the element needs to be updated before querying the attributes.
757
758         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributesMatching):
759         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeMatching):
760         Generate the attribute matching. For each CSSSelector matching an attribute, we generate
761         a loop over all the attributes of the element, maching the particular CSSSelector.
762         This makes no attempt at grouping related queries since those do not seem to happen a lot
763         in practice.
764
765         * dom/Attribute.h:
766         (WebCore::Attribute::nameMemoryOffset):
767         (WebCore::Attribute::nameMatchesFilter):
768         (WebCore::Attribute::matches):
769         * dom/ElementData.h:
770         (WebCore::ElementData::isUniqueFlag):
771         (WebCore::ElementData::arraySizeAndFlagsMemoryOffset):
772         (WebCore::ElementData::styleAttributeIsDirtyFlag):
773         (WebCore::ElementData::animatedSVGAttributesAreDirtyFlag):
774         (WebCore::ElementData::arraySizeOffset):
775         (WebCore::ShareableElementData::attributeArrayMemoryOffset):
776         (WebCore::UniqueElementData::attributeVectorMemoryOffset):
777         * dom/Node.h:
778         (WebCore::Node::flagIsHTML):
779         * dom/StyledElement.cpp:
780         (WebCore::StyledElement::synchronizeStyleAttributeInternal):
781         * dom/StyledElement.h:
782         (WebCore::StyledElement::synchronizeStyleAttributeInternal):
783         * svg/SVGElement.cpp:
784         (WebCore::SVGElement::synchronizeAllAnimatedSVGAttribute):
785         (WebCore::SVGElement::synchronizeAnimatedSVGAttribute):
786         * svg/SVGElement.h:
787
788 2014-02-10  Brady Eidson  <beidson@apple.com>
789
790         IDB: storage/indexeddb/mozilla/indexes.html fails
791         <rdar://problem/16031590> and https://bugs.webkit.org/show_bug.cgi?id=128563
792
793         Reviewed by Tim Horton.
794
795         Tested by storage/indexeddb/mozilla/indexes.html (and probably others)
796
797         * Modules/indexeddb/IDBGetResult.h:
798         (WebCore::IDBGetResult::IDBGetResult): Add a constructor that takes an IDBKeyData argument.
799
800         * Modules/indexeddb/IDBRequest.cpp:
801         (WebCore::IDBRequest::onSuccess): If there’s no keyPath then skip the injection step.
802
803 2014-02-10  Benjamin Poulain  <benjamin@webkit.org>
804
805         Speed up DatasetDOMStringMap::item() when the element has multiple attributes
806         https://bugs.webkit.org/show_bug.cgi?id=128058
807
808         Reviewed by Darin Adler.
809
810         Accessing data attributes by name through DatasetDOMStringMap involes the conversion
811         from JavaScript property name to attribute name (done with propertyNameMatchesAttributeName()).
812
813         When there is a single data attribute, that method is efficient. When there are several attributes,
814         comparing names character by character becomes a bottleneck.
815
816         This patch add an efficent path for this case: instead of converting the attribute name on the fly,
817         the JavaScript property name is converted to an attribute name so that it can compared by its
818         AtomicStringImpl pointer.
819
820         This method puts a lot more pressure on convertPropertyNameToAttributeName()'s speed. The method was
821         improved accordingly to compensate for its new caller.
822
823         When enumerating multiple attributes by name, this patch provides about 80% speedup.
824         I could not measure any slow down on the simple cases.
825
826         * dom/DatasetDOMStringMap.cpp:
827         (WebCore::convertPropertyNameToAttributeName):
828         (WebCore::DatasetDOMStringMap::item):
829         * dom/ElementData.h:
830         (WebCore::AttributeIteratorAccessor::attributeCount):
831
832 2014-02-10  Ryosuke Niwa  <rniwa@webkit.org>
833
834         Address the review comments for r163825.
835
836         * html/HTMLTextFormControlElement.cpp:
837         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
838         (WebCore::positionForIndex):
839
840 2014-02-10  Simon Fraser  <simon.fraser@apple.com>
841
842         Try to fix the 32-bit build.
843
844         * WebCore.exp.in:
845
846 2014-02-10  Filip Pizlo  <fpizlo@apple.com>
847
848         Rename Operations.h to JSCInlines.h
849         https://bugs.webkit.org/show_bug.cgi?id=128543
850
851         Rubber stamped by Geoffrey Garen.
852
853         No new tests because no change in behavior.
854
855         * ForwardingHeaders/runtime/JSCInlines.h: Added.
856         * bindings/js/JSCryptoAlgorithmBuilder.cpp:
857         * bindings/js/JSCryptoKeySerializationJWK.cpp:
858         * bindings/js/JSCustomXPathNSResolver.h:
859         * bindings/js/JSDOMBinding.h:
860         * bindings/js/JSDOMGlobalObject.h:
861         * bindings/js/JSDictionary.h:
862         * bindings/js/JSMessagePortCustom.cpp:
863         * bindings/js/JSMessagePortCustom.h:
864         * bindings/js/JSNodeFilterCondition.h:
865         * bindings/js/SerializedScriptValue.cpp:
866         * bindings/js/WebCoreTypedArrayController.cpp:
867         * bridge/c/c_utility.h:
868         * bridge/jsc/BridgeJSC.h:
869         * dom/CustomEvent.cpp:
870         * dom/Node.cpp:
871         * html/HTMLCanvasElement.cpp:
872         * html/HTMLImageLoader.cpp:
873         * html/canvas/WebGLRenderingContext.cpp:
874         * inspector/InspectorDOMAgent.cpp:
875         * inspector/WebConsoleAgent.cpp:
876         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
877         * platform/graphics/filters/FEGaussianBlur.cpp:
878         * platform/graphics/filters/FilterEffect.cpp:
879         * testing/MockCDM.cpp:
880         * xml/XMLHttpRequest.cpp:
881
882 2014-02-09  Dean Jackson  <dino@apple.com>
883
884         Update aspect-ratio property to have constraining keywords
885         https://bugs.webkit.org/show_bug.cgi?id=128262
886
887         Reviewed by Simon Fraser.
888
889         Add support for "from-dimensions" and "from-intrinsic"
890         property values to "-webkit-aspect-ratio". I also changed
891         the default value from "none" to "auto", because "none" doesn't
892         make sense any more.
893
894         Covered by enhancing existing tests.
895
896         * css/CSSComputedStyleDeclaration.cpp:
897         (WebCore::ComputedStyleExtractor::propertyValue): New keywords.
898         * css/CSSParser.cpp:
899         (WebCore::CSSParser::parseAspectRatio): Support new keywords.
900         * css/CSSValueKeywords.in: Add from-dimensions and from-intrinsic.
901         * css/DeprecatedStyleBuilder.cpp: This now has to handle the new
902         values. I also changed "none" to "auto".
903         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
904         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
905         (WebCore::ApplyPropertyAspectRatio::applyValue):
906         * rendering/style/RenderStyle.h: hasAspectRatio is now aspectRatioType
907         and indicates one of the three keywords, or a specified number.
908         * rendering/style/RenderStyleConstants.h: New enum.
909         * rendering/style/StyleRareNonInheritedData.cpp:
910         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
911         (WebCore::StyleRareNonInheritedData::operator==):
912         * rendering/style/StyleRareNonInheritedData.h:
913
914 2014-02-10  Benjamin Poulain  <bpoulain@apple.com>
915
916         [WK2] Add support for image document viewport configuration
917         https://bugs.webkit.org/show_bug.cgi?id=128565
918
919         Reviewed by Simon Fraser.
920
921         Add proper default settings for displaying images.
922
923         * WebCore.exp.in:
924         * page/ViewportConfiguration.cpp:
925         (WebCore::ViewportConfiguration::imageDocumentParameters):
926         (WebCore::ViewportConfiguration::textDocumentParameters):
927         * page/ViewportConfiguration.h:
928
929 2014-02-10  Brendan Long  <b.long@cablelabs.com>
930
931         Unreviewed GTK build fix after r163816.
932
933         * GNUmakefile.list.am: Remove HTMLMediaSource.h and HTMLMediaSource.cpp
934
935 2014-02-10  Jinwoo Song  <jinwoo7.song@samsung.com>
936
937         Unreviewed EFL WebKit2 build fix after r163816.
938
939         * CMakeLists.txt: Remove HTMLMediaSource.cpp
940
941 2014-02-10  Ryosuke Niwa  <rniwa@webkit.org>
942
943         HTMLTextFormControlElement::setSelectionRange shouldn't use VisiblePosition
944         https://bugs.webkit.org/show_bug.cgi?id=128478
945
946         Reviewed by Darin Adler.
947
948         Added positionForIndex to compute Position given a selection index. This function doesn't
949         synchronously trigger like visiblePositionForIndex.
950
951         Also added assertions in visiblePositionForIndex and visiblePositionForIndex to make sure
952         they are inverse of one another.
953
954         * html/HTMLTextFormControlElement.cpp:
955         (WebCore::HTMLTextFormControlElement::setSelectionRange): Use positionForIndex. Also removed
956         the now tautological assertions since we would never create a position outside the inner text
957         element.
958
959         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Fixed the bug where this
960         function could return a selection index beyond innerTextElement in some types of input
961         elements such as search fields. fast/forms/search-disabled-readonly.html hits the newly
962         added assertion without this change. Note we can't use visiblePositionForIndex here as that
963         would result in a mutual recursion with the assertion in visiblePositionForIndex.
964
965         (WebCore::HTMLTextFormControlElement::visiblePositionForIndex): Added an assertion.
966
967         (WebCore::positionForIndex): Added. It's here with prototype at the beginning of the file
968         so that it's right next to HTMLTextFormControlElement::innerText() where we do a similar
969         DOM traversal to obtain the inner text value.
970
971 2014-02-07  Jeffrey Pfau  <jpfau@apple.com>
972
973         Disable access to application cache when in private browsing
974         https://bugs.webkit.org/show_bug.cgi?id=128426
975
976         Reviewed by Alexey Proskuryakov.
977
978         Tests: http/tests/security/appcache-in-private-browsing.html
979                http/tests/security/appcache-switching-private-browsing.html
980
981         * loader/appcache/ApplicationCacheGroup.cpp:
982         (WebCore::ApplicationCacheGroup::cacheForMainRequest):
983         (WebCore::ApplicationCacheGroup::selectCache):
984         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
985         (WebCore::ApplicationCacheGroup::update):
986         * loader/appcache/ApplicationCacheHost.cpp:
987         (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
988
989 2014-02-10  Jer Noble  <jer.noble@apple.com>
990
991         [MSE] Fix layering violations in MediaSource
992         https://bugs.webkit.org/show_bug.cgi?id=128546
993
994         Reviewed by Eric Carlson.
995
996         Code in Modules should be considered part of html/ and should have the
997         same layering properties. Get rid of HTMLMediaSource (which was intended
998         to allow Modules/mediasource to be considered part of platform/) and add
999         a new client interface allowing communication from platform/ -> 
1000         Modules/mediasource.
1001
1002         Replace HTMLMediaSource -> MediaSourcePrivateClient:
1003         * html/HTMLMediaSource.cpp: Removed.
1004         * html/HTMLMediaSource.h: Removed.
1005         * platform/graphics/MediaSourcePrivateClient.h: Added.
1006         (WebCore::MediaSourcePrivateClient::~MediaSourcePrivateClient):
1007
1008         Move registry support from HTMLMediaSource -> MediaSource.
1009         * Modules/mediasource/MediaSource.cpp:
1010         (WebCore::MediaSource::setRegistry): Moved from HTMLMediaSource.cpp.
1011         * Modules/mediasource/MediaSource.h:
1012         (WebCore::MediaSource::lookup): Ditto.
1013
1014         Update references to HTMLMediaSource -> MediaSource:
1015         * Modules/mediasource/MediaSourceRegistry.cpp:
1016         (WebCore::MediaSourceRegistry::MediaSourceRegistry): 
1017         * WebCore.xcodeproj/project.pbxproj:
1018         * html/HTMLMediaElement.cpp:
1019         (WebCore::HTMLMediaElement::loadResource):
1020         * html/HTMLMediaElement.h:
1021
1022         Update references to HTMLMediaSource -> MediaSourcePrivateClient:
1023         * platform/graphics/MediaPlayer.cpp:
1024         (WebCore::NullMediaPlayerPrivate::load):
1025         (WebCore::MediaPlayer::load): Ditto.
1026         (WebCore::MediaPlayer::loadWithNextMediaEngine):
1027         * platform/graphics/MediaPlayer.h:
1028         * platform/graphics/MediaPlayerPrivate.h:
1029         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1030         (WebCore::MediaPlayerPrivateAVFoundation::load):
1031         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1032         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
1033         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1034         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
1035         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1036         (WebCore::MediaPlayerPrivateGStreamer::load):
1037         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1038         * platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
1039         (WebCore::MediaSourceGStreamer::open):
1040         * platform/graphics/gstreamer/MediaSourceGStreamer.h:
1041         * platform/graphics/ios/MediaPlayerPrivateIOS.h:
1042         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1043         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1044         (WebCore::MediaPlayerPrivateQTKit::load):
1045         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
1046         (WebCore::MockMediaPlayerMediaSource::load):
1047         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
1048
1049 2014-02-10  Alexey Proskuryakov  <ap@apple.com>
1050
1051         Remove some unused functions from SerializedScriptValue
1052         https://bugs.webkit.org/show_bug.cgi?id=128407
1053
1054         Reviewed by Oliver Hunt.
1055
1056         Removed functions that used Deprecated::ScriptValue
1057
1058         * Modules/indexeddb/IDBObjectStore.cpp:
1059         (WebCore::IDBObjectStore::put):
1060         * bindings/js/IDBBindingUtilities.cpp:
1061         (WebCore::deserializeIDBValue):
1062         (WebCore::deserializeIDBValueBuffer):
1063         * bindings/js/SerializedScriptValue.cpp:
1064         * bindings/js/SerializedScriptValue.h:
1065
1066 2014-02-10  Roger Fong  <roger_fong@apple.com>
1067
1068         [Windows] Unreviewed test fix.
1069
1070         * platform/graphics/cg/GraphicsContextCG.cpp: m_pixelSnappingFactor was not set to 1.
1071         (WebCore::GraphicsContext::platformInit):
1072
1073 2014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1074
1075         [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
1076         https://bugs.webkit.org/show_bug.cgi?id=127554
1077
1078         Reviewed by Gustavo Noronha Silva.
1079
1080         Use GUniqueOutPtr instead of GOwnPtr.
1081
1082         * GNUmakefile.list.am:
1083         * PlatformEfl.cmake:
1084         * PlatformGTK.cmake:
1085         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
1086         (WebCore::AudioDestinationGStreamer::handleMessage):
1087         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1088         (WebCore::AudioFileReader::handleMessage):
1089         * platform/glib/BatteryProviderUPower.cpp:
1090         (BatteryProviderUPower::startUpdating):
1091         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
1092         (WebCore::initializeGStreamer):
1093         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1094         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
1095         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1096         (WebCore::TrackPrivateBaseGStreamer::getTag):
1097         * platform/graphics/gtk/ImageBufferGtk.cpp:
1098         (WebCore::encodeImage):
1099         (WebCore::ImageBuffer::toDataURL):
1100         * platform/graphics/gtk/ImageGtk.cpp:
1101         (WebCore::loadResourceSharedBuffer):
1102         * platform/gtk/DataObjectGtk.cpp:
1103         (WebCore::DataObjectGtk::setURIList):
1104         * platform/gtk/FileSystemGtk.cpp:
1105         (WebCore::readFromFile):
1106         * platform/gtk/GamepadsGtk.cpp:
1107         (WebCore::GamepadDeviceGtk::readCallback):
1108         * platform/gtk/GtkInputMethodFilter.cpp:
1109         (WebCore::GtkInputMethodFilter::handlePreeditChanged):
1110         * platform/gtk/PasteboardHelper.cpp:
1111         (WebCore::PasteboardHelper::fillDataObjectFromDropData):
1112         * platform/gtk/RenderThemeGtk.cpp:
1113         (WebCore::RenderThemeGtk::systemFont):
1114         * platform/gtk/SharedBufferGtk.cpp:
1115         (WebCore::SharedBuffer::createWithContentsOfFile):
1116         * platform/network/gtk/CredentialBackingStore.cpp:
1117         (WebCore::credentialForChallengeAsyncReadyCallback):
1118         * platform/network/soup/GOwnPtrSoup.cpp: Removed.
1119         * platform/network/soup/GOwnPtrSoup.h: Removed.
1120         * platform/network/soup/ResourceHandleSoup.cpp:
1121         (WebCore::redirectSkipCallback):
1122         (WebCore::nextMultipartResponsePartCallback):
1123         (WebCore::sendRequestCallback):
1124         (WebCore::addFileToSoupMessageBody):
1125         (WebCore::createSoupRequestAndMessageForHandle):
1126         (WebCore::readCallback):
1127         * platform/network/soup/SocketStreamHandleSoup.cpp:
1128         (WebCore::SocketStreamHandle::platformSend):
1129         (WebCore::SocketStreamHandle::platformClose):
1130         (WebCore::connectedCallback):
1131         (WebCore::readReadyCallback):
1132         * platform/network/soup/SoupNetworkSession.cpp:
1133         (WebCore::SoupNetworkSession::httpProxy):
1134
1135 2014-02-10  Darin Adler  <darin@apple.com>
1136
1137         Automatically generate isRendererOfType in RENDER_OBJECT_TYPE_CASTS
1138         https://bugs.webkit.org/show_bug.cgi?id=128520
1139
1140         Reviewed by Andreas Kling.
1141
1142         * rendering/RenderObject.h: Updated the RENDER_OBJECT_TYPE_CASTS macro so
1143         that it generates isRendererOfType specializations as well as type casts
1144         and also have the type casts use the isRendererOfType function. The macro
1145         also now uses an argument name of "renderer" and allows for a predicate
1146         that is more than just a single function call (see RenderTextFragment.h).
1147
1148         * rendering/RenderBlock.h:
1149         * rendering/RenderBlockFlow.h:
1150         * rendering/RenderBox.h:
1151         * rendering/RenderBoxModelObject.h:
1152         * rendering/RenderCounter.h:
1153         * rendering/RenderElement.h:
1154         * rendering/RenderFrameSet.h:
1155         * rendering/RenderLayerModelObject.h:
1156         * rendering/RenderMenuList.h:
1157         * rendering/RenderNamedFlowThread.h:
1158         * rendering/RenderRubyRun.h:
1159         * rendering/RenderTableSection.h:
1160         * rendering/RenderText.h:
1161         * rendering/mathml/RenderMathMLBlock.h:
1162         * rendering/mathml/RenderMathMLOperator.h:
1163         * rendering/mathml/RenderMathMLToken.h:
1164         * rendering/svg/RenderSVGRoot.h:
1165         * rendering/svg/RenderSVGText.h:
1166         Removed specialization of isRendererOfType, since the RENDER_OBJECT_TYPE_CASTS
1167         macro handles that now. Also removed some unneeded semicolons.
1168
1169         * rendering/RenderTextFragment.h: Use RENDER_OBJECT_TYPE_CASTS instead of
1170         hand written casts, now that it can handle a non-trivial predicate.
1171
1172         * rendering/RenderCombineText.h:
1173         * rendering/RenderDetailsMarker.h:
1174         * rendering/RenderListMarker.h:
1175         * rendering/RenderVideo.h:
1176         * rendering/RenderView.h:
1177         * rendering/mathml/RenderMathMLFraction.h:
1178         * rendering/mathml/RenderMathMLScripts.h:
1179         * rendering/mathml/RenderMathMLSpace.h:
1180         Removed unneeded semicolons.
1181
1182 2014-02-10  Darin Adler  <darin@apple.com>
1183
1184         Stop using String::deprecatedCharacters to call WTF::Collator
1185         https://bugs.webkit.org/show_bug.cgi?id=128517
1186
1187         Reviewed by Alexey Proskuryakov.
1188
1189         * xml/XSLTUnicodeSort.cpp:
1190         (WebCore::xsltUnicodeSortFunction): Create the collator in a single line using the
1191         new constructor that takes a shouldSortLowercaseFirst boolean. Use the new
1192         collateUTF8 function instead of upconverting UTF-8 strings to UTF-16 as the old code did.
1193
1194 2014-02-10  Changhun Kang  <temoochin@company100.net>
1195
1196         Remove unnecessary comment lines.
1197         https://bugs.webkit.org/show_bug.cgi?id=127894
1198
1199         Reviewed by Darin Adler.
1200
1201         No new tests. No change in behavior.
1202
1203         * Modules/websockets/WebSocketHandshake.cpp:
1204         (WebCore::WebSocketHandshake::clientHandshakeRequest):
1205
1206 2014-02-10  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1207
1208         Fix EFL build with INSPECTOR disabled
1209         https://bugs.webkit.org/show_bug.cgi?id=125064
1210
1211         Reviewed by Csaba Osztrogonác.
1212
1213         * bindings/js/PageScriptDebugServer.cpp:
1214         * bindings/js/PageScriptDebugServer.h:
1215         * bindings/js/WorkerScriptDebugServer.cpp:
1216         * bindings/js/WorkerScriptDebugServer.h:
1217         * inspector/PageInjectedScriptManager.h:
1218
1219 2014-02-10  Zan Dobersek  <zdobersek@igalia.com>
1220
1221         Fix a few mistakes that landed with r163749.
1222
1223         Rubber-stamped by Carlos Garcia Campos.
1224
1225         * platform/gtk/GtkTouchContextHelper.cpp:
1226         (WebCore::GtkTouchContextHelper::handleEvent): When handling GDK_TOUCH_BEGIN, the assertion
1227         should ensure that the sequence-to-event map doesn't yet contain pairs with the specific
1228         sequence as the key.
1229
1230 2014-02-10  David Kilzer  <ddkilzer@apple.com>
1231
1232         Add type-safe casts for ContentData subclasses
1233         <http://webkit.org/b/128510>
1234
1235         Reviewed by Darin Adler.
1236
1237         * css/CSSComputedStyleDeclaration.cpp:
1238         (WebCore::contentToCSSValue):
1239         * css/StyleResolver.cpp:
1240         (WebCore::StyleResolver::loadPendingImages):
1241         * rendering/RenderElement.cpp:
1242         (WebCore::RenderElement::createFor):
1243         * rendering/style/RenderStyle.cpp:
1244         (WebCore::RenderStyle::setContent):
1245         - Switch to toFooContentData() methods.
1246
1247         * rendering/style/ContentData.h:
1248         - Define toFooContentData() methods.
1249         - Extract FooContentData::equals() methods so that the
1250           toFooContentData() methods can be used.
1251
1252 2014-02-09  Dirk Schulze  <dschulze@chromium.org>
1253
1254         -webkit-clip-path should support fill, stroke, view-box keywords
1255         https://bugs.webkit.org/show_bug.cgi?id=128393
1256
1257         Reviewed by Dean Jackson.
1258
1259         CSS Masking uses the keywords fill, stroke and view-box for SVG shapes.
1260         This patch updates the parser, style resolver and SVG implementation of
1261         the prefixed clip-path property.
1262
1263         Remove the unexposed and obsolete keyword bounding-box.
1264
1265         Tests: svg/clip-path/clip-path-shape-fill-expected.svg
1266                svg/clip-path/clip-path-shape-fill.svg
1267                svg/clip-path/clip-path-shape-stroke-expected.svg
1268                svg/clip-path/clip-path-shape-stroke.svg
1269                svg/clip-path/clip-path-shape-view-box-expected.svg
1270                svg/clip-path/clip-path-shape-view-box.svg
1271
1272         * css/CSSParser.cpp: Parse fill, stroke, view-box. Remove bounding-box.
1273         (WebCore::isBoxValue):
1274         * css/CSSPrimitiveValueMappings.h:
1275         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1276         (WebCore::CSSPrimitiveValue::operator LayoutBox):
1277         * css/CSSValueKeywords.in:
1278         * css/DeprecatedStyleBuilder.cpp:
1279         (WebCore::ApplyPropertyClipPath::applyValue):
1280         * rendering/RenderLayer.cpp:
1281         (WebCore::computeReferenceBox):
1282         * rendering/shapes/ShapeInfo.h:
1283         (WebCore::ShapeInfo::setShapeSize):
1284         (WebCore::ShapeInfo::logicalTopOffset):
1285         (WebCore::ShapeInfo::logicalLeftOffset):
1286         * rendering/style/RenderStyleConstants.h:
1287         * rendering/svg/SVGRenderingContext.cpp: Use different reference boxes per keyword.
1288         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
1289
1290 2014-02-09  Dean Jackson  <dino@apple.com>
1291
1292         [WebGL] Remove state restorer code
1293         https://bugs.webkit.org/show_bug.cgi?id=128516
1294
1295         Reviewed by Dirk Schulze.
1296
1297         I'm not sure what the point of the WebGLStateRestorer class was. It was
1298         always constructed with a false parameter, and then wasn't even retained
1299         in local scope (so wouldn't have worked anyway). Meanwhile there were
1300         also LOTS of calls to cleanupAfterGraphicsCall, the majority of which
1301         were a no-op. I replaced the handful of cleanupAfterGraphicsCall(true)
1302         with the call to markContextChanged().
1303
1304         * html/canvas/OESVertexArrayObject.cpp:
1305         (WebCore::OESVertexArrayObject::bindVertexArrayOES):
1306         * html/canvas/WebGLRenderingContext.cpp:
1307         (WebCore::WebGLRenderingContext::activeTexture):
1308         (WebCore::WebGLRenderingContext::attachShader):
1309         (WebCore::WebGLRenderingContext::bindAttribLocation):
1310         (WebCore::WebGLRenderingContext::bindBuffer):
1311         (WebCore::WebGLRenderingContext::bindFramebuffer):
1312         (WebCore::WebGLRenderingContext::bindRenderbuffer):
1313         (WebCore::WebGLRenderingContext::bindTexture):
1314         (WebCore::WebGLRenderingContext::blendColor):
1315         (WebCore::WebGLRenderingContext::blendEquation):
1316         (WebCore::WebGLRenderingContext::blendEquationSeparate):
1317         (WebCore::WebGLRenderingContext::blendFunc):
1318         (WebCore::WebGLRenderingContext::blendFuncSeparate):
1319         (WebCore::WebGLRenderingContext::bufferData):
1320         (WebCore::WebGLRenderingContext::bufferSubData):
1321         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
1322         (WebCore::WebGLRenderingContext::clear):
1323         (WebCore::WebGLRenderingContext::clearColor):
1324         (WebCore::WebGLRenderingContext::clearDepth):
1325         (WebCore::WebGLRenderingContext::clearStencil):
1326         (WebCore::WebGLRenderingContext::colorMask):
1327         (WebCore::WebGLRenderingContext::compileShader):
1328         (WebCore::WebGLRenderingContext::compressedTexImage2D):
1329         (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
1330         (WebCore::WebGLRenderingContext::copyTexImage2D):
1331         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
1332         (WebCore::WebGLRenderingContext::cullFace):
1333         (WebCore::WebGLRenderingContext::depthFunc):
1334         (WebCore::WebGLRenderingContext::depthMask):
1335         (WebCore::WebGLRenderingContext::depthRange):
1336         (WebCore::WebGLRenderingContext::detachShader):
1337         (WebCore::WebGLRenderingContext::disable):
1338         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
1339         (WebCore::WebGLRenderingContext::validateDrawArrays):
1340         (WebCore::WebGLRenderingContext::drawArrays):
1341         (WebCore::WebGLRenderingContext::validateDrawElements):
1342         (WebCore::WebGLRenderingContext::drawElements):
1343         (WebCore::WebGLRenderingContext::enable):
1344         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
1345         (WebCore::WebGLRenderingContext::finish):
1346         (WebCore::WebGLRenderingContext::flush):
1347         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
1348         (WebCore::WebGLRenderingContext::framebufferTexture2D):
1349         (WebCore::WebGLRenderingContext::frontFace):
1350         (WebCore::WebGLRenderingContext::generateMipmap):
1351         (WebCore::WebGLRenderingContext::getBufferParameter):
1352         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
1353         (WebCore::WebGLRenderingContext::getParameter):
1354         (WebCore::WebGLRenderingContext::getProgramParameter):
1355         (WebCore::WebGLRenderingContext::getProgramInfoLog):
1356         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
1357         (WebCore::WebGLRenderingContext::getShaderParameter):
1358         (WebCore::WebGLRenderingContext::getShaderInfoLog):
1359         (WebCore::WebGLRenderingContext::getTexParameter):
1360         (WebCore::WebGLRenderingContext::getUniform):
1361         (WebCore::WebGLRenderingContext::getUniformLocation):
1362         (WebCore::WebGLRenderingContext::getVertexAttrib):
1363         (WebCore::WebGLRenderingContext::getVertexAttribOffset):
1364         (WebCore::WebGLRenderingContext::hint):
1365         (WebCore::WebGLRenderingContext::lineWidth):
1366         (WebCore::WebGLRenderingContext::linkProgram):
1367         (WebCore::WebGLRenderingContext::pixelStorei):
1368         (WebCore::WebGLRenderingContext::polygonOffset):
1369         (WebCore::WebGLRenderingContext::readPixels):
1370         (WebCore::WebGLRenderingContext::releaseShaderCompiler):
1371         (WebCore::WebGLRenderingContext::renderbufferStorage):
1372         (WebCore::WebGLRenderingContext::sampleCoverage):
1373         (WebCore::WebGLRenderingContext::scissor):
1374         (WebCore::WebGLRenderingContext::shaderSource):
1375         (WebCore::WebGLRenderingContext::stencilFunc):
1376         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
1377         (WebCore::WebGLRenderingContext::stencilMask):
1378         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
1379         (WebCore::WebGLRenderingContext::stencilOp):
1380         (WebCore::WebGLRenderingContext::stencilOpSeparate):
1381         (WebCore::WebGLRenderingContext::texImage2DBase):
1382         (WebCore::WebGLRenderingContext::texImage2D):
1383         (WebCore::WebGLRenderingContext::texParameter):
1384         (WebCore::WebGLRenderingContext::texSubImage2DBase):
1385         (WebCore::WebGLRenderingContext::uniform1f):
1386         (WebCore::WebGLRenderingContext::uniform1fv):
1387         (WebCore::WebGLRenderingContext::uniform1i):
1388         (WebCore::WebGLRenderingContext::uniform1iv):
1389         (WebCore::WebGLRenderingContext::uniform2f):
1390         (WebCore::WebGLRenderingContext::uniform2fv):
1391         (WebCore::WebGLRenderingContext::uniform2i):
1392         (WebCore::WebGLRenderingContext::uniform2iv):
1393         (WebCore::WebGLRenderingContext::uniform3f):
1394         (WebCore::WebGLRenderingContext::uniform3fv):
1395         (WebCore::WebGLRenderingContext::uniform3i):
1396         (WebCore::WebGLRenderingContext::uniform3iv):
1397         (WebCore::WebGLRenderingContext::uniform4f):
1398         (WebCore::WebGLRenderingContext::uniform4fv):
1399         (WebCore::WebGLRenderingContext::uniform4i):
1400         (WebCore::WebGLRenderingContext::uniform4iv):
1401         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
1402         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
1403         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
1404         (WebCore::WebGLRenderingContext::useProgram):
1405         (WebCore::WebGLRenderingContext::validateProgram):
1406         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1407         (WebCore::WebGLRenderingContext::viewport):
1408         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
1409         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
1410         (WebCore::WebGLRenderingContext::drawArraysInstanced):
1411         (WebCore::WebGLRenderingContext::drawElementsInstanced):
1412         * html/canvas/WebGLRenderingContext.h:
1413
1414 2014-02-09  Dean Jackson  <dino@apple.com>
1415
1416         Remove unused layer owner from WebGLLayer
1417         https://bugs.webkit.org/show_bug.cgi?id=128512
1418
1419         Reviewed by Dirk Schulze.
1420
1421         The m_layerOwner and ObjC category were not
1422         used anywhere.
1423
1424         * platform/graphics/mac/WebGLLayer.h:
1425         * platform/graphics/mac/WebGLLayer.mm:
1426         (-[WebGLLayer display]):
1427
1428 2014-02-09  Ryuan Choi  <ryuan.choi@samsung.com>
1429
1430         [EFL] Remove PageClientEfl
1431         https://bugs.webkit.org/show_bug.cgi?id=128508
1432
1433         Reviewed by Andreas Kling.
1434
1435         PageClientEfl was introduced for accelerated compositing of WebKit1, but
1436         it's bad idea because it's layer violation.
1437         Indeed, it has never been used since introduced.
1438
1439         * platform/Widget.h: Back to PlatformPageClient to Evas_Object.
1440         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
1441         Removed empty method which use PageClientEfl.
1442         * platform/graphics/efl/GraphicsContext3DPrivate.h: Ditto.
1443
1444 2014-02-09  Tim Horton  <timothy_horton@apple.com>
1445
1446         [iOS][wk2] ASSERT(WebThreadIsCurrent()) in [WebDisplayLinkHandler handleDisplayLink:]
1447         https://bugs.webkit.org/show_bug.cgi?id=128490
1448
1449         Reviewed by Simon Fraser.
1450
1451         * platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
1452         (-[WebDisplayLinkHandler handleDisplayLink:]):
1453         [WebDisplayLinkHandler handleDisplayLink:] has an ASSERT(WebThreadIsCurrent()).
1454
1455         We don't use the Web Thread in WebKit2, but it looks like isMainThread()
1456         does the right thing (main thread if web thread is disabled, web thread
1457         otherwise), so use that instead.
1458
1459 2014-02-09  Anders Carlsson  <andersca@apple.com>
1460
1461         Add WTF_MAKE_FAST_ALLOCATED to more classes
1462         https://bugs.webkit.org/show_bug.cgi?id=128506
1463
1464         Reviewed by Andreas Kling.
1465
1466         * dom/Node.h:
1467         * dom/ScriptElement.h:
1468         * loader/ImageLoader.h:
1469         * loader/cache/CachedResourceClient.h:
1470         * platform/TreeShared.h:
1471         * platform/graphics/GlyphMetricsMap.h:
1472         * rendering/InlineBox.h:
1473         * rendering/RenderLayer.h:
1474         * rendering/RenderObject.h:
1475
1476 2014-02-09  Andreas Kling  <akling@apple.com>
1477
1478         Reduce ref churn in ChildNodesLazySnapshot iteration.
1479         <https://webkit.org/b/128492>
1480
1481         Add a missing release() in ChildNodesLazySnapshot::nextNode()
1482         so we don't have to churn the ref count.
1483
1484         Reviewed by Sam Weinig.
1485
1486         * dom/ContainerNode.h:
1487         (WebCore::ChildNodesLazySnapshot::nextNode):
1488
1489 2014-02-09  Andreas Kling  <akling@apple.com>
1490
1491         Reduce ref churn in ChildInsertionNotifier.
1492         <https://webkit.org/b/128494>
1493
1494         All callers of notifyNodeInsertedIntoDocument() already hold a strong
1495         reference on the Node, so there's no need to ref it again inside.
1496
1497         Reviewed by Anders Carlsson.
1498
1499         * dom/ContainerNodeAlgorithms.h:
1500         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
1501
1502 2014-02-09  Zan Dobersek  <zdobersek@igalia.com>
1503
1504         Manage ShadowData through std::unique_ptr
1505         https://bugs.webkit.org/show_bug.cgi?id=128466
1506
1507         Reviewed by Andreas Kling.
1508
1509         Use std::unique_ptr instead of OwnPtr to manage ShadowData objects.
1510
1511         * css/SVGCSSStyleSelector.cpp:
1512         (WebCore::StyleResolver::applySVGProperty):
1513         * css/StyleResolver.cpp:
1514         (WebCore::StyleResolver::applyProperty):
1515         * page/animation/CSSPropertyAnimation.cpp:
1516         (WebCore::blendFunc):
1517         (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
1518         (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
1519         (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
1520         * rendering/style/RenderStyle.cpp:
1521         (WebCore::RenderStyle::setTextShadow):
1522         (WebCore::RenderStyle::setBoxShadow):
1523         * rendering/style/RenderStyle.h:
1524         * rendering/style/SVGRenderStyle.h:
1525         (WebCore::SVGRenderStyle::setShadow):
1526         * rendering/style/SVGRenderStyleDefs.cpp:
1527         (WebCore::StyleShadowSVGData::StyleShadowSVGData):
1528         * rendering/style/SVGRenderStyleDefs.h:
1529         * rendering/style/ShadowData.cpp:
1530         (WebCore::ShadowData::ShadowData):
1531         * rendering/style/ShadowData.h:
1532         (WebCore::ShadowData::setNext):
1533         * rendering/style/StyleRareInheritedData.cpp:
1534         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1535         * rendering/style/StyleRareInheritedData.h:
1536         * rendering/style/StyleRareNonInheritedData.cpp:
1537         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1538         * rendering/style/StyleRareNonInheritedData.h:
1539
1540 2014-02-09  Carlos Garnacho  <carlosg@gnome.org>
1541
1542         [GTK] Add touch-events related code to build
1543         https://bugs.webkit.org/show_bug.cgi?id=98931
1544
1545         Reviewed by Carlos Garcia Campos.
1546
1547         Tests in fast/events/touch have been enabled on GTK+ now that touch
1548         support is implemented, and thus all expected bits are there.
1549
1550         * platform/gtk/GtkTouchContextHelper.cpp:
1551         * platform/gtk/GtkTouchContextHelper.h: Add helper object to track all touchpoints, handy
1552         when creating WebTouchEvents.
1553         * GNUmakefile.list.am:
1554         * PlatformGTK.cmake:
1555         * bindings/gobject/GNUmakefile.am: Add touch related code and idls to build, those are
1556         necessary now that GTK+ implements touch events.
1557
1558 2014-02-09  Zan Dobersek  <zdobersek@igalia.com>
1559
1560         Switch the rest of CSS code from OwnPtr over to std::unique_ptr
1561         https://bugs.webkit.org/show_bug.cgi?id=128471
1562
1563         Reviewed by Andreas Kling.
1564
1565         Replace the remaining uses of OwnPtr in the CSS code with std::unique_ptr, covering
1566         the CSSParser, CSSParserSelector and CSSSelector classes and a few additional, closely related classes.
1567
1568         * css/CSSGrammar.y.in:
1569         * css/CSSParser.cpp:
1570         (WebCore::CSSParser::parseSheet):
1571         (WebCore::CSSParser::parseDeclaration):
1572         (WebCore::CSSParser::parseValue):
1573         (WebCore::CSSParser::markSupportsRuleHeaderStart):
1574         (WebCore::CSSParser::createKeyframesRule):
1575         (WebCore::CSSParser::createStyleRule):
1576         (WebCore::CSSParser::rewriteSpecifiersWithElementName):
1577         (WebCore::CSSParser::rewriteSpecifiers):
1578         * css/CSSParser.h:
1579         * css/CSSParserValues.cpp:
1580         (WebCore::CSSParserSelector::CSSParserSelector):
1581         (WebCore::CSSParserSelector::~CSSParserSelector):
1582         (WebCore::CSSParserSelector::adoptSelectorVector):
1583         (WebCore::CSSParserSelector::insertTagHistory):
1584         (WebCore::CSSParserSelector::appendTagHistory):
1585         (WebCore::CSSParserSelector::prependTagSelector):
1586         * css/CSSParserValues.h:
1587         (WebCore::CSSParserSelector::releaseSelector):
1588         (WebCore::CSSParserSelector::setTagHistory):
1589         (WebCore::CSSParserSelector::clearTagHistory):
1590         * css/CSSSelector.cpp:
1591         (WebCore::CSSSelector::setSelectorList):
1592         * css/CSSSelector.h:
1593         * css/CSSSelectorList.cpp:
1594         (WebCore::CSSSelectorList::adoptSelectorVector):
1595         * css/CSSSelectorList.h:
1596         * css/CSSValueList.cpp:
1597         * css/StyleRule.cpp:
1598         (WebCore::StyleRuleRegion::StyleRuleRegion):
1599         * css/StyleRule.h:
1600         (WebCore::StyleRule::parserAdoptSelectorVector):
1601         (WebCore::StyleRulePage::parserAdoptSelectorVector):
1602         (WebCore::StyleRuleRegion::create):
1603
1604 2014-02-09  Zan Dobersek  <zdobersek@igalia.com>
1605
1606         Manage MutationObserverInterestGroup through std::unique_ptr
1607         https://bugs.webkit.org/show_bug.cgi?id=128468
1608
1609         Reviewed by Andreas Kling.
1610
1611         Use std::unique_ptr instead of OwnPtr for managing MutationObserverInterestGroup objects.
1612
1613         * css/PropertySetCSSStyleDeclaration.cpp:
1614         * dom/CharacterData.cpp:
1615         (WebCore::CharacterData::dispatchModifiedEvent):
1616         * dom/ChildListMutationScope.cpp:
1617         (WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator):
1618         * dom/ChildListMutationScope.h:
1619         (WebCore::ChildListMutationAccumulator::hasObservers):
1620         * dom/Element.cpp:
1621         (WebCore::Element::willModifyAttribute):
1622         * dom/MutationObserverInterestGroup.cpp:
1623         (WebCore::MutationObserverInterestGroup::createIfNeeded):
1624         * dom/MutationObserverInterestGroup.h:
1625         (WebCore::MutationObserverInterestGroup::createForChildListMutation):
1626         (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
1627         (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
1628
1629 2014-02-09  Zan Dobersek  <zdobersek@igalia.com>
1630
1631         Manage MessagePort, MessagePortChannel and friends through std::unique_ptr
1632         https://bugs.webkit.org/show_bug.cgi?id=128467
1633
1634         Reviewed by Andreas Kling.
1635
1636         Use std::unique_ptr instead of OwnPtr to manage MessagePort, MessagePortArray, MessagePortChannel
1637         and MessagePortChannelArray objects.
1638
1639         * bindings/js/JSMessageEventCustom.cpp:
1640         (WebCore::handleInitMessageEvent):
1641         * dom/MessageEvent.cpp:
1642         (WebCore::MessageEvent::MessageEvent):
1643         (WebCore::MessageEvent::initMessageEvent):
1644         * dom/MessageEvent.h:
1645         (WebCore::MessageEvent::create):
1646         * dom/MessagePort.cpp:
1647         (WebCore::MessagePort::postMessage):
1648         (WebCore::MessagePort::disentangle):
1649         (WebCore::MessagePort::entangle):
1650         (WebCore::MessagePort::dispatchMessages):
1651         (WebCore::MessagePort::disentanglePorts):
1652         (WebCore::MessagePort::entanglePorts):
1653         * dom/MessagePort.h:
1654         * dom/MessagePortChannel.h:
1655         * dom/default/PlatformMessagePortChannel.cpp:
1656         (WebCore::PlatformMessagePortChannel::EventData::EventData):
1657         (WebCore::MessagePortChannel::createChannel):
1658         (WebCore::MessagePortChannel::postMessageToRemote):
1659         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
1660         * dom/default/PlatformMessagePortChannel.h:
1661         (WebCore::PlatformMessagePortChannel::EventData::channels):
1662         * page/DOMWindow.cpp:
1663         (WebCore::PostMessageTimer::PostMessageTimer):
1664         (WebCore::PostMessageTimer::event):
1665         (WebCore::DOMWindow::postMessage):
1666         * workers/DedicatedWorkerGlobalScope.cpp:
1667         (WebCore::DedicatedWorkerGlobalScope::postMessage):
1668         * workers/DefaultSharedWorkerRepository.cpp:
1669         (WebCore::SharedWorkerConnectTask::create):
1670         (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
1671         (WebCore::SharedWorkerConnectTask::performTask):
1672         (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
1673         (WebCore::SharedWorkerScriptLoader::notifyFinished):
1674         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
1675         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
1676         * workers/DefaultSharedWorkerRepository.h:
1677         * workers/SharedWorker.cpp:
1678         (WebCore::SharedWorker::create):
1679         * workers/SharedWorkerGlobalScope.cpp:
1680         (WebCore::createConnectEvent):
1681         * workers/SharedWorkerRepository.cpp:
1682         (WebCore::SharedWorkerRepository::connect):
1683         * workers/SharedWorkerRepository.h:
1684         * workers/Worker.cpp:
1685         (WebCore::Worker::postMessage):
1686         * workers/WorkerGlobalScopeProxy.h:
1687         * workers/WorkerMessagingProxy.cpp:
1688         (WebCore::MessageWorkerGlobalScopeTask::create):
1689         (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask):
1690         (WebCore::MessageWorkerGlobalScopeTask::performTask):
1691         (WebCore::MessageWorkerTask::create):
1692         (WebCore::MessageWorkerTask::MessageWorkerTask):
1693         (WebCore::MessageWorkerTask::performTask):
1694         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
1695         (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
1696         * workers/WorkerMessagingProxy.h:
1697         * workers/WorkerObjectProxy.h:
1698
1699 2014-02-08  Ryosuke Niwa  <rniwa@webkit.org>
1700
1701         Cleanup the interface of FrameSelection
1702         https://bugs.webkit.org/show_bug.cgi?id=128481
1703
1704         Reviewed by Andreas Kling.
1705
1706         Removed FrameSelection::end() as intended in r163232, and the stale declaration of
1707         paintDragCaret() which was supposed to be removed when we extracted DragCaretController.
1708
1709         Renamed caretRenderer() to caretRendererWithoutUpdatingLayout() to clarify the contract
1710         as the only caller of this function is RenderBlock::paintCaret. Also renamed bounds()
1711         to selectionBounds() to make it more easily identifiable / grep'able.
1712
1713         In addition, made recomputeCaretRect() and invalidateCaretRect() private.
1714
1715         * WebCore.exp.in:
1716         * editing/FrameSelection.cpp:
1717         (WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
1718         (WebCore::FrameSelection::selectionBounds):
1719         (WebCore::FrameSelection::revealSelection):
1720         * editing/FrameSelection.h:
1721         (WebCore::FrameSelection::setCaretVisible):
1722         * page/DragController.cpp:
1723         (WebCore::dragLocForSelectionDrag):
1724         * page/FrameSnapshotting.cpp:
1725         (WebCore::snapshotSelection):
1726         * page/win/FrameWin.cpp:
1727         (WebCore::imageFromSelection):
1728         * rendering/RenderBlock.cpp:
1729         (WebCore::RenderBlock::paintCaret):
1730         * testing/Internals.cpp:
1731         (WebCore::Internals::selectionBounds):
1732
1733 2014-02-08  Dan Bernstein  <mitz@apple.com>
1734
1735         Reverted part of r163734, because the assertion it enabled still fails when running
1736         loader/load-defer-resume-crash.html
1737
1738         * loader/DocumentLoader.cpp:
1739         (WebCore::DocumentLoader::dataReceived):
1740
1741 2014-02-08  Ryosuke Niwa  <rniwa@webkit.org>
1742
1743         EFL build fix after r163729.
1744
1745         * Modules/indexeddb/IDBDatabase.cpp:
1746         (WebCore::IDBDatabase::version):
1747
1748 2014-02-08  Dan Bernstein  <mitz@apple.com>
1749
1750         Remove outdated workarounds in DocumentLoader::dataReceived
1751         https://bugs.webkit.org/show_bug.cgi?id=128465
1752
1753         Reviewed by Andreas Kling.
1754
1755         * loader/DocumentLoader.cpp:
1756         (WebCore::DocumentLoader::dataReceived):
1757
1758 2014-02-08  Alexey Proskuryakov  <ap@apple.com>
1759
1760         Remove some unused functions from SerializedScriptValue
1761         https://bugs.webkit.org/show_bug.cgi?id=128407
1762
1763         Reviewed by Oliver Hunt.
1764
1765         Removed more unused code, particularly in API helpers. Renamed one serialize()
1766         function to create(), because it does the same thing as other create() functions.
1767
1768         * Modules/indexeddb/IDBObjectStore.cpp:
1769         (WebCore::IDBObjectStore::put):
1770         * bindings/js/SerializedScriptValue.cpp:
1771         (WebCore::SerializedScriptValue::create):
1772         (WebCore::SerializedScriptValue::deserialize):
1773         * bindings/js/SerializedScriptValue.h:
1774
1775 2014-02-08  Brady Eidson  <beidson@apple.com>
1776
1777         IDB: storage/indexeddb/mozilla/versionchange-abort.html fails
1778         <rdar://problem/16018887> and https://bugs.webkit.org/show_bug.cgi?id=128442
1779
1780         Reviewed by Dan Bernstein.
1781
1782         Tested by storage/indexeddb/mozilla/versionchange-abort.html (and probably others)
1783
1784         * Modules/indexeddb/IDBDatabase.cpp:
1785         (WebCore::IDBDatabase::version): If the version is NoIntVersion, return DefaultIntVersion to script.
1786
1787 2014-02-08  Brady Eidson  <beidson@apple.com>
1788
1789         IDB: storage/indexeddb/mozilla/cursors.html fails
1790         <rdar://problem/16017998> and https://bugs.webkit.org/show_bug.cgi?id=128423
1791
1792         Reviewed by Dan Bernstein.
1793
1794         Tested by storage/indexeddb/mozilla/cursors.html (And probably others)
1795
1796         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1797         (WebCore::OpenCursorOperation::perform): Distinguish between an error while opening the cursor
1798           and opening a cursor that points to no records.
1799
1800 2014-02-08  Andreas Kling  <akling@apple.com>
1801
1802         Remove unused ChromeClient::layoutUpdated().
1803         <https://webkit.org/b/128470>
1804
1805         Nobody listens for this callback anymore so remove it.
1806
1807         Reviewed by Anders Carlsson.
1808
1809         * page/Chrome.cpp:
1810         * page/Chrome.h:
1811         * page/ChromeClient.h:
1812         * page/FrameView.cpp:
1813         (WebCore::FrameView::layout):
1814
1815 2014-02-08  Dan Bernstein  <mitz@apple.com>
1816
1817         Stop using PLATFORM(MAC) in WebCore except where it means “OS X but not iOS”
1818         https://bugs.webkit.org/show_bug.cgi?id=128464
1819
1820         Reviewed by Anders Carlsson.
1821
1822         * Modules/webaudio/AudioContext.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1823         (WebCore::AudioContext::constructCommon):
1824         * accessibility/AccessibilityNodeObject.cpp: Ditto.
1825         (WebCore::AccessibilityNodeObject::visibleText):
1826         * accessibility/AccessibilityObject.h: Ditto.
1827         * accessibility/AccessibilityRenderObject.cpp: Ditto.
1828         (WebCore::AccessibilityRenderObject::clickPoint):
1829         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
1830         (WebCore::AccessibilityRenderObject::addChildren):
1831         * accessibility/AccessibilityRenderObject.h: Ditto.
1832         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1833         (WebCore::JSInspectorFrontendHost::platform): Made it explicit that this function returns
1834         "mac" when built for iOS.
1835         * bindings/js/ScriptController.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1836         (WebCore::ScriptController::ScriptController):
1837         * bindings/js/ScriptController.h: Ditto.
1838         * crypto/CryptoKey.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&
1839         !PLATFORM(GTK) when checking for whether to use CoreCrypto.
1840         * crypto/keys/CryptoKeyRSA.h: Ditto.
1841         * dom/Clipboard.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1842         * dom/Document.cpp: Ditto.
1843         (WebCore::Document::implicitClose):
1844         * dom/KeyboardEvent.h: Ditto.
1845         * editing/Editor.cpp: Ditto.
1846         (WebCore::Editor::cut):
1847         (WebCore::Editor::copy):
1848         (WebCore::Editor::copyImage):
1849         * editing/Editor.h: Ditto.
1850         * editing/FrameSelection.h: Ditto.
1851         * editing/TypingCommand.cpp: Ditto.
1852         (WebCore::TypingCommand::typingAddedToOpenCommand):
1853         * history/HistoryItem.h: Ditto.
1854         * html/HTMLMediaElement.cpp: Ditto.
1855         (WebCore::HTMLMediaElement::parseAttribute):
1856         * html/HTMLMediaElement.h: Ditto.
1857         * html/HTMLPlugInElement.cpp: Ditto.
1858         (WebCore::registeredPluginReplacements):
1859         * html/HTMLPlugInImageElement.cpp: Ditto.
1860         (WebCore::HTMLPlugInImageElement::setDisplayState):
1861         * html/HTMLSelectElement.cpp: Ditto.
1862         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
1863         * html/shadow/MediaControlElements.cpp: Ditto.
1864         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
1865         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
1866         * html/shadow/MediaControlElements.h: Ditto.
1867         * inspector/InspectorIndexedDBAgent.cpp: Ditto.
1868         * loader/CookieJar.cpp: Ditto.
1869         * loader/DocumentLoader.cpp: Ditto.
1870         (WebCore::DocumentLoader::dataReceived):
1871         * loader/DocumentLoader.h: Ditto.
1872         (WebCore::DocumentLoader::didTellClientAboutLoad):
1873         * loader/EmptyClients.h: Ditto.
1874         * loader/FrameLoader.cpp:
1875         (WebCore::FrameLoader::loadArchive): Added !PLATFORM(IOS) around Mac-only workaround.
1876         (WebCore::FrameLoader::defaultObjectContentType): Changed PLATFORM(MAC) to PLATFORM(COCOA).
1877         (WebCore::FrameLoader::subresourceCachePolicy): Ditto.
1878         * loader/ResourceBuffer.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around functions that
1879         are implemented using Foundation.
1880         * loader/ResourceLoadScheduler.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1881         (WebCore::ResourceLoadScheduler::scheduleLoad):
1882         * loader/ResourceLoader.cpp: Ditto.
1883         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
1884         * loader/ResourceLoader.h: Ditto.
1885         * loader/archive/cf/LegacyWebArchive.cpp: Ditto.
1886         * loader/cache/CachedResource.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION) around function
1887         that is implemented using other USE(FOUNDATION)-guarded code.
1888         * loader/cache/CachedResource.h: Ditto.
1889         * page/Chrome.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1890         * page/ChromeClient.h: Ditto.
1891         * page/ContextMenuClient.h: Ditto.
1892         * page/ContextMenuController.cpp: Ditto.
1893         (WebCore::ContextMenuController::contextMenuItemSelected):
1894         (WebCore::ContextMenuController::createAndAppendFontSubMenu):
1895         (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
1896         (WebCore::ContextMenuController::populate):
1897         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
1898         * page/DragClient.h: Ditto.
1899         * page/DragController.cpp: Ditto.
1900         (WebCore::dragLocForDHTMLDrag):
1901         (WebCore::dragLocForSelectionDrag):
1902         (WebCore::DragController::startDrag):
1903         (WebCore::DragController::doImageDrag):
1904         * page/EditorClient.h: Ditto.
1905         * page/EventHandler.cpp: Ditto.
1906         (WebCore::EventHandler::EventHandler):
1907         (WebCore::EventHandler::handleMouseDraggedEvent):
1908         (WebCore::EventHandler::logicalScrollRecursively):
1909         (WebCore::EventHandler::clearDragState):
1910         (WebCore::EventHandler::handleWheelEvent):
1911         (WebCore::EventHandler::defaultWheelEventHandler):
1912         (WebCore::EventHandler::keyEvent):
1913         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
1914         * page/EventHandler.h: Ditto.
1915         * page/FrameView.cpp: Ditto.
1916         (WebCore::FrameView::layout):
1917         * page/Page.h: Ditto.
1918         * page/Settings.cpp: Ditto.
1919         * page/Settings.h: Ditto.
1920         * page/scrolling/ScrollingCoordinator.cpp: Ditto.
1921         * page/scrolling/ScrollingCoordinator.h: Ditto.
1922         * page/scrolling/ScrollingStateNode.h: Removed unused #include.
1923         * page/scrolling/ScrollingThread.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1924         (WebCore::ScrollingThread::createThreadIfNeeded):
1925         * page/scrolling/ScrollingThread.h: Ditto.
1926         * platform/network/cf/ResourceRequest.h: Added !PLATFORM(IOS) around
1927         applyWebArchiveHackForMail.
1928         * platform/network/cf/ResourceRequestCFNet.cpp:
1929         (WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.
1930         * platform/network/mac/ResourceRequestMac.mm:
1931         (WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.
1932         * plugins/PluginViewNone.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
1933         * rendering/RenderBox.cpp: Ditto.
1934         (WebCore::RenderBox::logicalScroll):
1935         * rendering/RenderLayerBacking.cpp: Ditto.
1936         (WebCore::RenderLayerBacking::createGraphicsLayer):
1937         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1938         * rendering/RenderMenuList.h: Ditto.
1939         * rendering/RenderText.cpp: Ditto.
1940         (WebCore::RenderText::previousOffsetForBackwardDeletion):
1941         * rendering/break_lines.cpp: Removed unused #include.
1942         * testing/js/WebCoreTestSupport.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1943         * xml/XSLStyleSheetLibxslt.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&
1944         !PLATFORM(GTK) around soft-linking libxslt.
1945         * xml/XSLTExtensions.cpp: Ditto.
1946         * xml/XSLTProcessorLibxslt.cpp: Ditto.
1947         * xml/XSLTUnicodeSort.cpp: Ditto.
1948
1949 2014-02-08  Andreas Kling  <akling@apple.com>
1950
1951         Remove unused ChromeClient::formStateDidChange().
1952         <https://webkit.org/b/128469>
1953
1954         Nobody listens for this callback anymore so remove it and stop
1955         spamming no-op virtual dispatches in forms code.
1956
1957         Reviewed by Anders Carlsson.
1958
1959         * html/FileInputType.cpp:
1960         (WebCore::FileInputType::setFiles):
1961         * html/HTMLFormControlElementWithState.cpp:
1962         * html/HTMLFormControlElementWithState.h:
1963         * html/HTMLInputElement.cpp:
1964         (WebCore::HTMLInputElement::updateType):
1965         (WebCore::HTMLInputElement::setValue):
1966         (WebCore::HTMLInputElement::setValueFromRenderer):
1967         * html/HTMLSelectElement.cpp:
1968         (WebCore::HTMLSelectElement::updateListBoxSelection):
1969         (WebCore::HTMLSelectElement::selectOption):
1970         * html/HTMLTextAreaElement.cpp:
1971         (WebCore::HTMLTextAreaElement::updateValue):
1972         (WebCore::HTMLTextAreaElement::setValueCommon):
1973         * loader/EmptyClients.h:
1974         * page/ChromeClient.h:
1975
1976 2014-02-08  Chris J. Shull  <chrisjshull@gmail.com>
1977
1978         Web Inspector: Find evaluates attributes in a case sensitive manner
1979         https://bugs.webkit.org/show_bug.cgi?id=128405
1980
1981         Reviewed by Timothy Hatcher.
1982
1983         Changed matchesAttribute to ignore case.
1984
1985         Updated existing test with additional cases: 
1986         inspector-protocol/dom/dom-search.html
1987
1988         * inspector/InspectorNodeFinder.cpp:
1989         (WebCore::InspectorNodeFinder::matchesAttribute):
1990
1991 2014-02-08  Andreas Kling  <akling@apple.com>
1992
1993         Remove unused FrameLoaderClient::dispatchWillOpenSocketStream().
1994         <https://webkit.org/b/128472>
1995
1996         Nobody listens for this callback anymore so remove it.
1997
1998         Reviewed by Anders Carlsson.
1999
2000         * Modules/websockets/WebSocketChannel.cpp:
2001         (WebCore::WebSocketChannel::willOpenSocketStream):
2002         * loader/FrameLoaderClient.h:
2003
2004 2014-02-08  Ryosuke Niwa  <rniwa@webkit.org>
2005
2006         Split UserTriggered into FireSelectEvent and RevealSelection for selection options
2007         https://bugs.webkit.org/show_bug.cgi?id=128441
2008
2009         Reviewed by Darin Adler.
2010
2011         Split UserTriggered by FireSelectEvent and RevealSelection for selection options.
2012
2013         Also added defaultSetSelectionOptions() to abstract away the default options.
2014
2015         * editing/AlternativeTextController.cpp:
2016         (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
2017         * editing/Editor.cpp:
2018         (WebCore::Editor::unappliedEditing):
2019         (WebCore::Editor::reappliedEditing):
2020         * editing/FrameSelection.cpp:
2021         (WebCore::FrameSelection::moveTo):
2022         (WebCore::FrameSelection::setSelectionByMouseIfDifferent): UserTriggered | DoNotRevealSelection
2023         is replaced by FireSelectEvent.
2024         (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance): Check options & FireSelectEvent
2025         instead of options & UserTriggered.
2026         (WebCore::FrameSelection::setSelection): Check options & RevealSelection instead of
2027         options & UserTriggered && !(options & DoNotRevealSelection).
2028         (WebCore::FrameSelection::prepareForDestruction):
2029         (WebCore::FrameSelection::setBase):
2030         (WebCore::FrameSelection::setExtent):
2031         (WebCore::FrameSelection::selectAll):
2032         (WebCore::FrameSelection::wordSelectionContainingCaretSelection):
2033         * editing/FrameSelection.h:
2034         (WebCore::FrameSelection::defaultSetSelectionOptions): Added.
2035         * editing/SpellingCorrectionCommand.cpp:
2036         (WebCore::SpellingCorrectionCommand::doApply):
2037         * html/HTMLTextFormControlElement.cpp:
2038         (WebCore::HTMLTextFormControlElement::selectionChanged): Renamed the argument.
2039         * html/HTMLTextFormControlElement.h:
2040
2041 2014-02-08  Zan Dobersek  <zdobersek@igalia.com>
2042
2043         Move TreeScope, IdTargetObserverRegistry to std::unique_ptr
2044         https://bugs.webkit.org/show_bug.cgi?id=127276
2045
2046         Reviewed by Andreas Kling.
2047
2048         Replace uses of OwnPtr in the TreeScope and IdTargetObserverRegistry classes with std::unique_ptr.
2049
2050         * dom/IdTargetObserverRegistry.cpp:
2051         (WebCore::IdTargetObserverRegistry::addObserver):
2052         * dom/IdTargetObserverRegistry.h:
2053         (WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
2054         * dom/TreeScope.cpp:
2055         (WebCore::TreeScope::TreeScope):
2056         (WebCore::TreeScope::destroyTreeScopeData):
2057         (WebCore::TreeScope::addElementById):
2058         (WebCore::TreeScope::addElementByName):
2059         (WebCore::TreeScope::addImageMap):
2060         (WebCore::TreeScope::labelElementForId):
2061         * dom/TreeScope.h:
2062         (WebCore::TreeScope::shouldCacheLabelsByForAttribute):
2063
2064 2014-02-08  Anders Carlsson  <andersca@apple.com>
2065
2066         Slight CTTE in PingLoader
2067         https://bugs.webkit.org/show_bug.cgi?id=128462
2068
2069         Reviewed by Dan Bernstein.
2070
2071         PingLoader always wants a non-null frame.
2072
2073         * html/HTMLAnchorElement.cpp:
2074         (WebCore::HTMLAnchorElement::sendPings):
2075         * html/parser/XSSAuditorDelegate.cpp:
2076         (WebCore::XSSAuditorDelegate::didBlockScript):
2077         * inspector/InspectorInstrumentation.h:
2078         (WebCore::InspectorInstrumentation::continueAfterPingLoader):
2079         * loader/PingLoader.cpp:
2080         (WebCore::PingLoader::loadImage):
2081         (WebCore::PingLoader::sendPing):
2082         (WebCore::PingLoader::sendViolationReport):
2083         (WebCore::PingLoader::createPingLoader):
2084         (WebCore::PingLoader::PingLoader):
2085         * loader/PingLoader.h:
2086         * loader/cache/CachedResourceLoader.cpp:
2087         (WebCore::CachedResourceLoader::requestImage):
2088         * page/ContentSecurityPolicy.cpp:
2089         (WebCore::ContentSecurityPolicy::reportViolation):
2090
2091 2014-02-08  Dan Bernstein  <mitz@apple.com>
2092
2093         Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
2094         https://bugs.webkit.org/show_bug.cgi?id=128456
2095
2096         Reviewed by Anders Carlsson.
2097
2098         Updated fast/css/getComputedStyle and svg/css results.
2099
2100         * css/CSSComputedStyleDeclaration.cpp:
2101         (WebCore::ComputedStyleExtractor::propertyValue): Removed CSSPropertyWebKitHighlight case.
2102         * css/CSSParser.cpp:
2103         (WebCore::CSSParser::parseValue): Ditto.
2104         * css/CSSPropertyNames.in: Removed -webkit-highlight.
2105         * css/DeprecatedStyleBuilder.cpp:
2106         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Removed
2107         CSSPropertyWebKitHighlight handler.
2108         * css/StyleResolver.cpp:
2109         (WebCore::StyleResolver::applyProperty): Removed CSSPropertyWebKitHighlight case.
2110         * page/Chrome.cpp: Removed customHighlightRect and paintCustomHighlight.
2111         * page/ChromeClient.h: Ditto.
2112         * rendering/InlineTextBox.cpp:
2113         (WebCore::InlineTextBox::paint): Removed painting custom highlight.
2114         * rendering/InlineTextBox.h:
2115         * rendering/RenderBlockLineLayout.cpp:
2116         (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns): Removed adding overflow for custom
2117         highlights.
2118         * rendering/RenderBox.cpp: Removed paintCustomHighlight.
2119         * rendering/RenderBox.h:
2120         * rendering/RenderImage.cpp:
2121         (WebCore::RenderImage::paintReplaced): Removed painting custom highlight.
2122         * rendering/RenderListMarker.cpp:
2123         (WebCore::RenderListMarker::paint): Ditto.
2124         * rendering/RenderSnapshottedPlugIn.cpp:
2125         (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.
2126         * rendering/RenderWidget.cpp:
2127         (WebCore::RenderWidget::paint): Ditto.
2128         * rendering/RootInlineBox.cpp:
2129         (WebCore::RootInlineBox::paint): Ditto.
2130         * rendering/RootInlineBox.h:
2131         * rendering/style/RenderStyle.cpp:
2132         (WebCore::RenderStyle::changeRequiresLayout): Removed highlight comparison.
2133         * rendering/style/RenderStyle.h:
2134         * rendering/style/StyleRareInheritedData.cpp:
2135         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Removed initializer.
2136         (WebCore::StyleRareInheritedData::operator==): Removed highlight comparison.
2137         * rendering/style/StyleRareInheritedData.h: Removed highlight member variable.
2138
2139 2014-02-08  Dan Bernstein  <mitz@apple.com>
2140
2141         One more build fix fix.
2142
2143         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2144         (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
2145
2146 2014-02-08  Dan Bernstein  <mitz@apple.com>
2147
2148         More (and more correct) iOS build fix after r163712.
2149
2150         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2151         (AXAttributedStringAppendText):
2152         (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
2153         * page/ios/FrameIOS.mm:
2154         (WebCore::Frame::wordsInCurrentParagraph):
2155
2156 2014-02-08  Dan Bernstein  <mitz@apple.com>
2157
2158         iOS build fix after r163712.
2159
2160         * page/ios/FrameIOS.mm:
2161         (WebCore::Frame::indexCountOfWordPrecedingSelection):
2162         (WebCore::Frame::wordsInCurrentParagraph):
2163
2164 2014-02-08  Darin Adler  <darin@apple.com>
2165
2166         Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
2167         https://bugs.webkit.org/show_bug.cgi?id=128233
2168
2169         Reviewed by Anders Carlsson.
2170
2171         * accessibility/AccessibilityNodeObject.cpp: Removed unneeded TextIterator.h include.
2172
2173         * accessibility/AccessibilityObject.cpp:
2174         (WebCore::AccessibilityObject::hasMisspelling): Updated to use StringView for checkSpelling.
2175
2176         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2177         (AXAttributeStringSetSpelling): Changed to take a StringView.
2178         (AXAttributedStringAppendText): Ditto.
2179         (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Pass StringView.
2180
2181         * editing/Editor.cpp:
2182         (WebCore::Editor::misspelledWordAtCaretOrRange): Pass StringView.
2183         (WebCore::Editor::misspelledSelectionString): Ditto.
2184         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
2185
2186         * editing/TextCheckingHelper.cpp:
2187         (WebCore::findGrammaticalErrors): Renamed this function. Changed to use StringView.
2188         (WebCore::findMisspellings): Use StringView.
2189         (WebCore::TextCheckingHelper::findFirstMisspelling): Ditto. Also separated out assertions
2190         that were asserting multiple things with &&.
2191         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): Ditto.
2192         (WebCore::TextCheckingHelper::findFirstGrammarDetail): Ditto.
2193         (WebCore::TextCheckingHelper::findFirstBadGrammar): Ditto.
2194         (WebCore::TextCheckingHelper::isUngrammatical): Ditto.
2195         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Ditto.
2196         (WebCore::checkTextOfParagraph): Ditto.
2197
2198         * editing/TextCheckingHelper.h: Made TextCheckingParagraph::text public. Deleted
2199         TextCheckingParagraph::textDeprecatedCharacters. Added comments about additional
2200         TextCheckingParagraph refinements. Changed checkTextOfParagraph to take a client
2201         reference instead of pointer and StringView instead of characters pointer with length.
2202
2203         * editing/TextIterator.cpp:
2204         (WebCore::TextIterator::appendTextToStringBuilder): Use data members directly,
2205         rather than using functions, since we already checked m_textCharacters for null.
2206         (WebCore::CharacterIterator::string): Use text() instead of characters().
2207         (WebCore::WordAwareIterator::WordAwareIterator): Removed initialization of
2208         m_previousText now that it's a StringView rather than a pointer.
2209         (WebCore::WordAwareIterator::advance): Use TextIterator::text instead of
2210         TextIterator::characters. Also added a FIXME about a fundamental problem
2211         with the implementation of this class!
2212         (WebCore::WordAwareIterator::length): Updated for m_previousText change.
2213         (WebCore::WordAwareIterator::text): Replaced WordAwareIterator::characters with this.
2214         (WebCore::SearchBuffer::append): Changed to take a StringView.
2215         (WebCore::SearchBuffer::prependContext): Ditto.
2216         (WebCore::SearchBuffer::isWordStartMatch): Use StringView.
2217         (WebCore::SearchBuffer::search): Ditto.
2218         (WebCore::findPlainText): Ditto.
2219
2220         * editing/TextIterator.h: Added TextIterator::text that returns a StringView, and
2221         renamed TextIterator::characters to TextIterator::deprecatedTextIteratorCharacters
2222         (easy to search for in source code). Added SimplifiedBackwardsTextIterator::text
2223         and removed SimplifiedBackwardsTextIterator::characters. Added CharacterIterator::text,
2224         and removed CharacterIterator::characters. Added WordAwareIterator::text and removed
2225         WorkdAwareIterator::characters. Changed WordAwareIterator data members to use StringView.
2226
2227         * editing/VisibleSelection.cpp:
2228         (WebCore::VisibleSelection::appendTrailingWhitespace): Use TextIterator::text instead
2229         of TextIterator::characters.
2230
2231         * editing/VisibleUnits.cpp:
2232         (WebCore::previousBoundary): Updated to use StringView.
2233         (WebCore::nextBoundary): Ditto.
2234         (WebCore::startWordBoundary): Ditto.
2235         (WebCore::startOfWord): Ditto.
2236         (WebCore::endWordBoundary): Ditto.
2237         (WebCore::endOfWord): Fixed formatting.
2238         (WebCore::previousWordPositionBoundary): Updated to use StringView.
2239         (WebCore::previousWordPosition): Fixed formatting and got rid of local variable.
2240         (WebCore::nextWordPositionBoundary): Updated to use StringView.
2241         (WebCore::nextWordPosition): Fixed formatting and got rid of local variable.
2242         (WebCore::inSameLine): Fixed formatting.
2243         (WebCore::isStartOfLine): Ditto.
2244         (WebCore::isEndOfLine): Ditto.
2245         (WebCore::absoluteLineDirectionPointToLocalPointInBlock): Changed to take a reference.
2246         (WebCore::previousLinePosition): Fixed formatting chand changed to pass a reference.
2247         (WebCore::nextLinePosition): Ditto.
2248         (WebCore::startSentenceBoundary): Updated to use StringView and got rid of a local.
2249         (WebCore::startOfSentence): Fixed formatting.
2250         (WebCore::endSentenceBoundary): Updated to use StringView and got rid of a local.
2251         (WebCore::endOfSentence): Fixed formatting.
2252         (WebCore::previousSentencePositionBoundary): Updated to use StringView and got rid of
2253         a local.
2254         (WebCore::previousSentencePosition): Ditto.
2255         (WebCore::nextSentencePositionBoundary): Ditto.
2256         (WebCore::nextSentencePosition): Fixed formatting.
2257         (WebCore::endOfParagraph): Ditto.
2258         (WebCore::inSameParagraph): Ditto.
2259         (WebCore::isStartOfParagraph): Ditto.
2260         (WebCore::isEndOfParagraph): Ditto.
2261         (WebCore::inSameBlock): Ditto.
2262         (WebCore::isStartOfBlock): Ditto.
2263         (WebCore::isEndOfBlock): Ditto.
2264         (WebCore::startOfDocument): Ditto.
2265         (WebCore::endOfDocument): Ditto.
2266         (WebCore::inSameDocument): Ditto.
2267         (WebCore::isStartOfDocument): Ditto.
2268         (WebCore::isEndOfDocument): Ditto.
2269         (WebCore::isEndOfEditableOrNonEditableContent): Ditto.
2270
2271         * loader/EmptyClients.h: Use StringView.
2272
2273         * platform/mac/HTMLConverter.mm:
2274         (+[WebHTMLConverter editingAttributedStringFromRange:]): Use StringView.
2275
2276         * platform/text/TextBoundaries.cpp:
2277         (WebCore::endOfFirstWordBoundaryContext): Use StringView and unsigned.
2278         (WebCore::startOfLastWordBoundaryContext): Ditto.
2279
2280         * platform/text/TextBoundaries.h: Change interfaces to use StringView,
2281         and in some cases, unsigned instead of int. All call sites were better off
2282         with unsigned.
2283
2284         * platform/text/TextCheckerClient.h: Use StringView.
2285
2286         * platform/text/mac/TextBoundaries.mm: Changed conditionals to say
2287         USE(APPKIT) instead of PLATFORM(IOS), since that's the real issue.
2288         (WebCore::isSkipCharacter): Tweaked formatting.
2289         (WebCore::isWhitespaceCharacter): Ditto.
2290         (WebCore::isWordDelimitingCharacter): Ditto, also removed local variable.
2291         (WebCore::isSymbolCharacter): Ditto.
2292         (WebCore::tokenizerForString): Ditto.
2293         (WebCore::findSimpleWordBoundary): Use StringView. Also changed to mostly
2294         use unsigned instead of int.
2295         (WebCore::findComplexWordBoundary): Use StringView. Also restructured to
2296         be much more readable, with early returns and such.
2297         (WebCore::findWordBoundary): Use StringView and unsigned.
2298         (WebCore::findEndWordBoundary): Removed redudant copy of the findWordBoundary
2299         function and changed this to just call findWordBoundary. The reason this
2300         function exists is to optimize this case for some non-Mac, non-iOS platforms.
2301         We can always do that for Mac and/or iOS later if we like.
2302         (WebCore::findNextWordFromIndex): Use StringView. Also use wordBreakIterator
2303         instead of using UBreakIterator directly so we get a cached iterator instead
2304         of creating and destroying a new one each time this function is called.
2305
2306         * bindings/objc/DOMUIKitExtensions.mm: Removed unneeded includes.
2307         * dom/Element.cpp: Ditto.
2308         * dom/PositionIterator.cpp: Ditto.
2309         * editing/ApplyBlockElementCommand.cpp: Ditto.
2310         * editing/IndentOutdentCommand.cpp: Ditto.
2311         * editing/InsertListCommand.cpp: Ditto.
2312         * editing/markup.cpp: Ditto.
2313         * html/HTMLElement.cpp: Ditto.
2314         * html/HTMLTextAreaElement.cpp: Ditto.
2315         * page/Frame.cpp: Ditto.
2316         * rendering/RenderTextControl.cpp: Ditto.
2317
2318 2014-02-08  Andreas Kling  <akling@apple.com>
2319
2320         Remove two unused function declarations.
2321
2322         Scrub "highQualityRepaintTimerFired" declarations from RenderImage
2323         and RenderBoxModelObject since they're not actually defined.
2324
2325         * rendering/RenderBoxModelObject.h:
2326         * rendering/RenderImage.h:
2327
2328 2014-02-08  Andreas Kling  <akling@apple.com>
2329
2330         CTTE: SVGTRefTargetEventListener is always owned by SVGTRefElement.
2331         <https://webkit.org/b/128432>
2332
2333         Tighten up the relationship between SVGTRefElement and its internal
2334         event listener helper by storing the listener in a Ref, and making
2335         the listeners backpointer to the element be a reference.
2336
2337         Reviewed by Anders Carlsson.
2338
2339         * svg/SVGTRefElement.cpp:
2340         (WebCore::SVGTRefTargetEventListener::create):
2341         (WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
2342         (WebCore::SVGTRefTargetEventListener::operator==):
2343         (WebCore::SVGTRefTargetEventListener::handleEvent):
2344         (WebCore::SVGTRefElement::SVGTRefElement):
2345         * svg/SVGTRefElement.h:
2346
2347 2014-02-07  Andreas Kling  <akling@apple.com>
2348
2349         Devirtualize RenderBlockFlowRareData.
2350         <https://webkit.org/b/128427>
2351
2352         This class had a virtual destructor for no reason. Removing it
2353         shrinks RenderBlockFlowRareData by 8 bytes.
2354
2355         Reviewed by Anders Carlsson.
2356
2357         * rendering/RenderBlockFlow.h:
2358         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::~RenderBlockFlowRareData):
2359
2360 2014-02-08  Andreas Kling  <akling@apple.com>
2361
2362         Use renderer iterators in two more places.
2363         <https://webkit.org/b/128371>
2364
2365         Reviewed by Antti Koivisto.
2366
2367         * dom/Position.cpp:
2368         (WebCore::Position::primaryDirection):
2369
2370             Use lineageOfType instead of walking the parent chain.
2371
2372         * rendering/RenderLayer.cpp:
2373         (WebCore::RenderLayer::insertOnlyThisLayer):
2374
2375             Use childrenOfType instead of walking the children.
2376
2377 2014-02-07  David Kilzer  <ddkilzer@apple.com>
2378
2379         [ASan] Use new/delete in PODFreeListArena
2380         <http://webkit.org/b/128437>
2381
2382         Reviewed by Oliver Hunt.
2383
2384         * platform/PODFreeListArena.h:
2385         (WebCore::PODFreeListArena::allocateObject): Use new when
2386         ADDRESS_SANITIZER is defined.
2387         (WebCore::PODFreeListArena::freeObject): Use delete when
2388         ADDRESS_SANITIZER is defined.
2389
2390 2014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
2391
2392         Merge updateSelectionCachesIfSelectionIsInsideTextFormControl into setSelectionWithoutUpdatingAppearance
2393         https://bugs.webkit.org/show_bug.cgi?id=128439
2394
2395         Reviewed by Anders Carlsson.
2396
2397         FrameSelection::selectAll had a superfluous call to updateSelectionCachesIfSelectionIsInsideTextFormControl
2398         because it wasn't setting UserTriggered option to avoid revealing selection.
2399
2400         Call setSelection with UserTriggered and recently added DoNotRevealSelection option and merge
2401         updateSelectionCachesIfSelectionIsInsideTextFormControl into setSelectionWithoutUpdatingAppearance.
2402
2403         Also rename local variables in setSelectionWithoutUpdatingAppearance, newSelection to
2404         newSelectionPossiblyWithoutDirection and s to newSelection so that they're self explanatory.
2405
2406         In addition, we now update the input element's selection caches before calling
2407         selectFrameElementInParentIfFullySelected but this should be fine because selection cannot simultaneously
2408         select the entire document and be inside a text form control.
2409
2410         * editing/FrameSelection.cpp:
2411         (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
2412         (WebCore::FrameSelection::selectAll):
2413
2414 2014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
2415
2416         EFL build fix attempt after r163662.
2417
2418         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
2419         (WebCore::IDBLevelDBCoding::encodeIDBKey):
2420
2421 2014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
2422
2423         FrameSelection's destructor shouldn't notify accessibility
2424         https://bugs.webkit.org/show_bug.cgi?id=128421
2425
2426         Reviewed by Benjamin Poulain.
2427
2428         Extracted setSelectionWithoutUpdatingAppearance out of setSelection and called it in prepareForDestruction
2429         instead of setting DoNotUpdateAppearance option. This new function doesn't reveal selection or notify
2430         accessibility code in addition to not updating appearance.
2431
2432         Note that all implementations of notifyAccessibilityForSelectionChange in FrameSelectionAtk.cpp and
2433         FrameSelectionMac.mm exit early when the selection type is not caret or either start or end is null,
2434         which is already the case inside FrameSelection's destructor. In addition, revealSelection is never called
2435         when selection change was not triggered by user so there should be no behavioral change from this patch.
2436
2437         * editing/FrameSelection.cpp:
2438         (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
2439         (WebCore::FrameSelection::setSelection):
2440         (WebCore::FrameSelection::prepareForDestruction):
2441         * editing/FrameSelection.h:
2442         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Added the trivial implementation in the case
2443         accessibility is disabled to tidy up call sites.
2444
2445 2014-02-07  Martin Robinson  <mrobinson@igalia.com>
2446
2447         Build fix for the GTK+ CMake build
2448
2449         * PlatformGTK.cmake: VTTCue.idl was unintentionally added to the list of GObject DOM bindings
2450         output files. Remove it.
2451
2452 2014-02-07  Dirk Schulze  <krit@webkit.org>
2453
2454         Per CSSOM, computed rect() function values must be comma separated
2455         https://bugs.webkit.org/show_bug.cgi?id=128401
2456
2457         Reviewed by Simon Fraser.
2458
2459         Updated tests.
2460
2461         * css/Rect.h:
2462         (WebCore::Rect::generateCSSString):
2463
2464 2014-02-07  Gavin Barraclough  <barraclough@apple.com>
2465
2466         Remove isInitialState flag from Page::setViewState
2467         https://bugs.webkit.org/show_bug.cgi?id=128428
2468
2469         Reviewed by Sam Weinig.
2470
2471         * WebCore.exp.in:
2472             - removed isInitialState.
2473         * page/Page.cpp:
2474         (WebCore::Page::setViewState):
2475             - removed isInitialState.
2476         (WebCore::Page::setIsVisible):
2477             - removed isInitialState.
2478         (WebCore::Page::setIsVisibleInternal):
2479             - removed isInitialState.
2480         * page/Page.h:
2481             - removed isInitialState.
2482
2483 2014-02-07  Simon Fraser  <simon.fraser@apple.com>
2484
2485         Encode requestedScrollPosition on ScrollingStateScrollingNodes to send to the UI process
2486         https://bugs.webkit.org/show_bug.cgi?id=128416
2487
2488         Reviewed by Tim Horton.
2489         
2490         Change requestedScrollPosition() to be a FloatPoint, and export
2491         ScrollingStateScrollingNode::setRequestedScrollPosition(WebCore::FloatPoint const&, bool)
2492         for WK2.
2493
2494         * WebCore.exp.in:
2495         * page/scrolling/ScrollingStateScrollingNode.cpp:
2496         (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
2497         * page/scrolling/ScrollingStateScrollingNode.h:
2498
2499 2014-02-07  Beth Dakin  <bdakin@apple.com>
2500
2501         Should get rid of TileController's CoverageForSlowScrolling mode
2502         https://bugs.webkit.org/show_bug.cgi?id=128339
2503
2504         Reviewed by Simon Fraser.
2505
2506         This patch gets rid of CoverageForSlowScrolling in the TileController. It also 
2507         makes sure that margin tiles are properly invalidated on pages with slow repaint 
2508         objects that cause slow scrolling. 
2509
2510         When we invalidate because of slow scrolling, don’t clip the update rect to the 
2511         layer bounds.
2512         * page/FrameView.cpp:
2513         (WebCore::FrameView::scrollContentsSlowPath):
2514
2515         Call new RenderObject paint function repaintSlowRepaintObject() instead of the 
2516         more-generic repaint().
2517         (WebCore::FrameView::repaintSlowRepaintObjects):
2518
2519         Remove CoverageForSlowScrolling.
2520         * platform/graphics/TiledBacking.h:
2521         * platform/graphics/ca/mac/TileController.h:
2522         * platform/graphics/ca/mac/TileController.mm:
2523         (WebCore::TileController::tilesWouldChangeForVisibleRect):
2524         (WebCore::TileController::computeTileCoverageRect):
2525         (WebCore::TileController::revalidateTiles):
2526         * rendering/RenderLayerBacking.cpp:
2527         (WebCore::computeTileCoverage):
2528
2529         Handle repainting a slow repaint object. Don’t clip when we shouldn’t, use the 
2530         RenderView’s backgroundRect as a repaintRect when this is the root background 
2531         since that will take the extended background rect into consideration.
2532         * rendering/RenderObject.cpp:
2533         (WebCore::RenderObject::repaintSlowRepaintObject):
2534         * rendering/RenderObject.h:
2535
2536 2014-02-06  Filip Pizlo  <fpizlo@apple.com>
2537
2538         More FTL build scaffolding
2539         https://bugs.webkit.org/show_bug.cgi?id=128330
2540
2541         Reviewed by Geoffrey Garen.
2542
2543         The FTL already has tests.
2544
2545         * Configurations/FeatureDefines.xcconfig:
2546
2547 2014-02-07  Alexey Proskuryakov  <ap@apple.com>
2548
2549         Remove some unused functions from SerializedScriptValue
2550         https://bugs.webkit.org/show_bug.cgi?id=128407
2551
2552         Reviewed by Anders Carlsson.
2553
2554         * bindings/js/SerializedScriptValue.cpp:
2555         (WebCore::SerializedScriptValue::undefinedValue):
2556         (WebCore::SerializedScriptValue::nullValue):
2557         * bindings/js/SerializedScriptValue.h:
2558
2559 2014-02-07  Brady Eidson  <beidson@apple.com>
2560
2561         IDB: Some Mozilla cursor mutation tests fail
2562         <rdar://problem/16011680> and https://bugs.webkit.org/show_bug.cgi?id=128374
2563
2564         Reviewed by Sam Weinig.
2565
2566         Tested by:
2567         storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html
2568         storage/indexeddb/mozilla/cursor-mutation.html
2569
2570         The previous comment about LevelDB was wrong.
2571         Apparently calling onSuccess() with a null SharedBuffer means the cursor reached the end.
2572         Update to distinguish between an error and reaching the end:
2573         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
2574         (WebCore::CursorAdvanceOperation::perform):
2575         (WebCore::CursorIterationOperation::perform):
2576  
2577         Add a new IDBKey type - Maximum - To be used in comparisons between keys.
2578         This will allow the DatabaseProcess to operate on the range of all keys:
2579         * Modules/indexeddb/IDBKey.cpp:
2580         (WebCore::IDBKey::compare):
2581         * Modules/indexeddb/IDBKey.h:
2582
2583         * Modules/indexeddb/IDBKeyData.cpp:
2584         (WebCore::IDBKeyData::IDBKeyData):
2585         (WebCore::IDBKeyData::maybeCreateIDBKey):
2586         (WebCore::IDBKeyData::isolatedCopy):
2587         (WebCore::IDBKeyData::encode):
2588         (WebCore::IDBKeyData::decode):
2589         (WebCore::IDBKeyData::compare):
2590         (WebCore::IDBKeyData::loggingString):
2591         * Modules/indexeddb/IDBKeyData.h:
2592         (WebCore::IDBKeyData::minimum):
2593         (WebCore::IDBKeyData::maximum):
2594
2595         * bindings/js/IDBBindingUtilities.cpp:
2596         (WebCore::idbKeyToJSValue):
2597
2598         Remove an unused callback:
2599         * Modules/indexeddb/IDBCallbacks.h:
2600         * Modules/indexeddb/IDBRequest.h:
2601
2602 2014-02-07  Roger Fong  <roger_fong@apple.com>
2603
2604         CGContextGetUserSpaceToDeviceSpaceTransform returns the wrong value on Windows.
2605         https://bugs.webkit.org/show_bug.cgi?id=128395.
2606         
2607         Rubberstamped by Zalan Bujtas.
2608
2609         The call essentially returns 0 and causes an assertion failure when running many layout tests.
2610
2611         * platform/graphics/cg/GraphicsContextCG.cpp: Don't make the call on Windows. We default to 1.
2612         (WebCore::GraphicsContext::platformInit):
2613
2614 2014-02-07  Dan Bernstein  <mitz@apple.com>
2615
2616         iOS build fix.
2617
2618         * platform/PlatformKeyboardEvent.h: Fixed a typo.
2619
2620 2014-02-07  Dan Bernstein  <mitz@apple.com>
2621
2622         Stop using PLATFORM(MAC) in WebCore/platform except where it means “OS X but not iOS”
2623         https://bugs.webkit.org/show_bug.cgi?id=128404
2624
2625         Reviewed by Anders Carlsson.
2626
2627         * Configurations/WebCore.xcconfig: Removed KeyEventMac.mm from
2628         EXCLUDED_SOURCE_FILE_NAMES_iphoneos, because that file contains !PLATFORM(IOS) guards.
2629         Removed WheelEventMac.mm from the same definition, because that file no longer exists.
2630         * platform/ContentFilter.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2631         * platform/ContextMenu.h: Ditto.
2632         * platform/ContextMenuItem.h: Ditto.
2633         * platform/Cursor.cpp: Ditto.
2634         * platform/Cursor.h: Ditto.
2635         * platform/DragData.cpp: Ditto.
2636         * platform/DragImage.cpp: Ditto.
2637         * platform/Language.cpp:
2638         (WebCore::displayNameForLanguageLocale): Changed PLATFORM(MAC) to USE(CF) && !PLATFORM(WIN).
2639         * platform/LocalizedStrings.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2640         (WebCore::contextMenuItemTagSearchWeb):
2641         * platform/LocalizedStrings.h: Ditto.
2642         * platform/MIMETypeRegistry.cpp: Ditto.
2643         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2644         * platform/PasteboardStrategy.h: Ditto.
2645         * platform/PlatformKeyboardEvent.h: Ditto.
2646         * platform/PlatformMenuDescription.h: Ditto.
2647         * platform/PlatformSpeechSynthesizer.h: Ditto.
2648         * platform/PlatformWheelEvent.h: Ditto.
2649         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2650         * platform/SchemeRegistry.cpp: Ditto.
2651         (WebCore::localURLSchemes):
2652         (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
2653         (WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely):
2654         * platform/ScrollAnimator.cpp: Ditto.
2655         (WebCore::ScrollAnimator::handleWheelEvent):
2656         * platform/ScrollAnimator.h: Ditto.
2657         * platform/ScrollView.cpp: Ditto.
2658         * platform/ScrollView.h: Ditto.
2659         * platform/ScrollbarThemeComposite.h: Ditto.
2660         * platform/SharedBuffer.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around NSData-related
2661         code.
2662         * platform/URL.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around NSURL-related code.
2663         * platform/Widget.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2664         * platform/Widget.h: Ditto.
2665         * platform/audio/AudioSession.cpp: Changed !PLATFORM(MAC) && !PLATFORM(IOS) to
2666         !PLATFORM(COCOA).
2667         * platform/audio/HRTFElevation.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2668         * platform/audio/MediaSessionManager.cpp: Ditto.
2669         * platform/audio/mac/AudioSessionMac.cpp: Updated comment.
2670         * platform/audio/mac/MediaSessionManagerMac.cpp: Removed PLATFORM(MAC) from Cocoa-only file.
2671         * platform/cf/SharedBufferCF.cpp: Changed !PLATFORM(MAC) to !USE(FOUNDATION) and updated
2672         comment.
2673         * platform/cf/URLCF.cpp: Changed !PLATFORM(MAC) to !USE(FOUNDATION).
2674         * platform/graphics/BitmapImage.h: Changed one instance of PLATFORM(MAC) to
2675         USE(CG) || USE(APPKIT), and another to PLATFORM(COCOA).
2676         * platform/graphics/DisplayRefreshMonitor.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2677         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
2678         * platform/graphics/DisplayRefreshMonitor.h: Ditto.
2679         * platform/graphics/FloatPoint.h: Collapsed nested #ifs into a single #if.
2680         * platform/graphics/FloatRect.h: Ditto.
2681         * platform/graphics/FloatSize.h: Ditto.
2682         * platform/graphics/Font.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2683         * platform/graphics/Font.h: Ditto.
2684         * platform/graphics/FontCache.cpp: Ditto.
2685         (WebCore::FontCache::getFontData):
2686         * platform/graphics/FontCache.h: Ditto. Also removed redundant friend class declaration.
2687         * platform/graphics/FontGlyphs.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2688         (WebCore::FontGlyphs::glyphDataAndPageForCharacter):
2689         * platform/graphics/GlyphPage.h: Ditto.
2690         * platform/graphics/GraphicsContext3D.h: Ditto.
2691         * platform/graphics/Image.h: Changed PLATFORM(MAC) to USE(APPKIT) around use of NSImage.
2692         Changed another PLATFORM(MAC) to PLATFORM(COCOA).
2693         * platform/graphics/IntRect.h: Collapsed nested #ifs into a single #if.
2694         * platform/graphics/IntSize.h: Ditto.
2695         * platform/graphics/MediaPlayer.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2696         (WebCore::installedMediaEngines):
2697         (WebCore::MediaPlayer::supportsType):
2698         * platform/graphics/SimpleFontData.cpp: Ditto.
2699         (WebCore::SimpleFontData::nonSyntheticItalicFontData):
2700         (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
2701         * platform/graphics/SimpleFontData.h: Ditto.
2702         * platform/graphics/TiledBacking.h: Ditto.
2703         * platform/graphics/ca/GraphicsLayerCA.cpp: Ditto.
2704         (WebCore::GraphicsLayerCA::filtersCanBeComposited):
2705         (WebCore::GraphicsLayerCA::createPlatformCALayer):
2706         * platform/graphics/ca/LayerFlushScheduler.h: Ditto.
2707         * platform/graphics/ca/PlatformCAAnimation.h: Ditto.
2708         * platform/graphics/ca/PlatformCAFilters.h: Ditto.
2709         * platform/graphics/ca/PlatformCALayer.h: Ditto.
2710         * platform/graphics/cg/BitmapImageCG.cpp: Ditto.
2711         * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
2712         (WebCore::GraphicsContext::setAllowsFontSmoothing):
2713         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Ditto.
2714         * platform/graphics/cg/ImageBufferCG.cpp: Ditto.
2715         * platform/graphics/cg/ImageBufferDataCG.h: Ditto.
2716         * platform/graphics/cg/ImageCG.cpp: Ditto.
2717         * platform/graphics/cg/ImageSourceCG.cpp: Ditto.
2718         (WebCore::ImageSource::setData):
2719         * platform/graphics/cg/ImageSourceCG.h: Ditto.
2720         * platform/graphics/cg/PathCG.cpp: Ditto.
2721         (WebCore::Path::platformAddPathForRoundedRect):
2722         * platform/graphics/cg/PatternCG.cpp: Ditto.
2723         * platform/graphics/gpu/DrawingBuffer.h: Ditto.
2724         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2725         (WebCore::MediaPlayerPrivateQTKit::createQTMovieView): Removed PLATFORM(MAC) guards, since
2726         this file is only used on Mac and iOS.
2727         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2728         (WebCore::Extensions3DOpenGL::supportsExtension): Changed the GL_EXT_draw_buffers check to
2729         match the implementation.
2730         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Changed PLATFORM(MAC) to
2731         PLATFORM(COCOA).
2732         * platform/mac/KeyEventMac.mm: Added !PLATFORM(IOS).
2733         * platform/mac/PlatformEventFactoryMac.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2734         * platform/mac/WebCoreSystemInterface.h: Ditto. Removed redundant check for PLATFORM(MAC).
2735         * platform/mac/WebCoreSystemInterface.mm: Removed redundant check for PLATFORM(MAC).
2736         * platform/network/Credential.h: Changed PLATFORM(IOS) || PLATFORM(MAC) to PLATFORM(COCOA).
2737         * platform/network/NetworkStateNotifier.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2738         * platform/network/NetworkStorageSession.h: Ditto.
2739         * platform/network/NetworkingContext.h: Ditto.
2740         * platform/network/ProtectionSpace.cpp: Ditto.
2741         (WebCore::ProtectionSpace::receivesCredentialSecurely):
2742         * platform/network/ResourceHandle.cpp: Ditto.
2743         (WebCore::ResourceHandle::clearAuthentication):
2744         (WebCore::ResourceHandle::shouldContentSniffURL):
2745         * platform/network/ResourceHandle.h: Ditto.
2746         * platform/network/ResourceHandleClient.cpp: Ditto.
2747         * platform/network/ResourceHandleClient.h: Ditto.
2748         * platform/network/ResourceHandleInternal.h: Ditto.
2749         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2750         * platform/network/ResourceRequestBase.cpp: Ditto.
2751         * platform/network/cf/AuthenticationCF.h: Ditto.
2752         * platform/network/cf/CookieStorageCFNet.cpp: Ditto.
2753         * platform/network/cf/CredentialStorageCFNet.cpp: Ditto.
2754         * platform/network/cf/FormDataStreamCFNet.cpp: Ditto.
2755         * platform/network/cf/NetworkStorageSessionCFNet.cpp: Ditto.
2756         (WebCore::NetworkStorageSession::switchToNewTestingSession):
2757         (WebCore::NetworkStorageSession::createPrivateBrowsingSession):
2758         * platform/network/cf/ResourceError.h: Ditto.
2759         * platform/network/cf/ResourceHandleCFNet.cpp: Ditto.
2760         (WebCore::ResourceHandle::createCFURLConnection):
2761         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
2762         * platform/network/cf/ResourceRequest.h: Ditto.
2763         (WebCore::ResourceRequest::ResourceRequest):
2764         * platform/network/cf/ResourceRequestCFNet.cpp: Ditto.
2765         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2766         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
2767         (WebCore::ResourceRequest::setStorageSession):
2768         * platform/network/cf/ResourceResponse.h: Ditto.
2769         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
2770         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
2771         * platform/network/mac/ResourceResponseMac.mm: Ditto.
2772         * platform/posix/FileSystemPOSIX.cpp: Changed PLATFORM(MAC) to OS(DARWIN) &&
2773         !PLATFORM(EFL) && !PLATFORM(GTK).
2774         * platform/text/TextBoundaries.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2775
2776 2014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
2777
2778         Revert r154384 and r154674 as they broke selection rect computations for text with ligatures.
2779
2780         * platform/graphics/Font.cpp:
2781         (WebCore::Font::drawText):
2782         (WebCore::Font::drawEmphasisMarks):
2783         (WebCore::Font::selectionRectForText):
2784         (WebCore::Font::offsetForPosition):
2785         * platform/graphics/FontFastPath.cpp:
2786         (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
2787         (WebCore::Font::selectionRectForSimpleText):
2788         (WebCore::Font::offsetForPositionForSimpleText):
2789         * platform/graphics/GlyphBuffer.h:
2790         * platform/graphics/WidthIterator.cpp:
2791         (WebCore::WidthIterator::WidthIterator):
2792         (WebCore::WidthIterator::advanceInternal):
2793         (WebCore::WidthIterator::advanceOneCharacter):
2794         * platform/graphics/WidthIterator.h:
2795
2796 2014-02-07  Benjamin Poulain  <bpoulain@apple.com>
2797
2798         [WK2] Add support for text document viewport configuration
2799         https://bugs.webkit.org/show_bug.cgi?id=128359
2800
2801         Reviewed by Simon Fraser.
2802
2803         Define a set of ViewportParameters suitable for displaying text documents.
2804         Add a documents class for text document to differentiate them from other type of documents.
2805
2806         * WebCore.exp.in:
2807         * dom/Document.h:
2808         (WebCore::Document::isTextDocument):
2809         * html/TextDocument.cpp:
2810         (WebCore::TextDocument::TextDocument):
2811         * page/ViewportConfiguration.cpp:
2812         (WebCore::ViewportConfiguration::ViewportConfiguration):
2813         (WebCore::ViewportConfiguration::webpageParameters):
2814         (WebCore::ViewportConfiguration::plainTextParameters):
2815         * page/ViewportConfiguration.h:
2816
2817 2014-02-07  Bem Jones-Bey  <bjonesbe@adobe.com>
2818
2819         FloatingObject::unsafeClone should not copy m_originatingLine
2820         https://bugs.webkit.org/show_bug.cgi?id=128381
2821
2822         Reviewed by Andreas Kling.
2823
2824         Copying the originatingLine allows to break the invariant that the
2825         floating object must only contain lines that are owned by the renderer
2826         it is attached to.
2827
2828         * rendering/FloatingObjects.cpp:
2829         (WebCore::FloatingObject::unsafeClone):
2830
2831 2014-02-07  Brendan Long  <b.long@cablelabs.com>
2832
2833         Update TextTrack API to current spec
2834         https://bugs.webkit.org/show_bug.cgi?id=122218
2835
2836         Refactoring VTTCue out of TextTrackCue.
2837
2838         Reviewed by Eric Carlson.
2839
2840         Test: media/track/track-vttcue.html
2841
2842         * CMakeLists.txt: Add VTTCue and rename RenderTextTrackCue to RenderVTTCue.
2843         * DerivedSources.cpp: Same.
2844         * DerivedSources.make: Same.
2845         * GNUmakefile.list.am: Same.
2846         * PlatformGTK.cmake:  Same.
2847         * WebCore.vcxproj/WebCore.vcxproj: Same.
2848         * WebCore.vcxproj/WebCore.vcxproj.filters: Same.
2849         * WebCore.xcodeproj/project.pbxproj: Same.
2850         * bindings/js/JSTextTrackCueCustom.cpp:
2851         (WebCore::toJS): Use VTTCue DOM wrapper for VTTCue and its subclasses.
2852         * html/HTMLMediaElement.cpp:
2853         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Convert to VTTCue as needed.
2854         (WebCore::HTMLMediaElement::textTrackRemoveCue): Same.
2855         * html/HTMLMediaElement.h: Only print cue.text in debug output if the cue type has a .text attribute
2856         * html/shadow/MediaControlElements.cpp:
2857         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Convert to VTTCue as needed, and fix TextTrackCueBox to VTTCueBox.
2858         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Convert to VTTCue as needed.
2859         * html/track/InbandGenericTextTrack.cpp:
2860         (WebCore::InbandGenericTextTrack::addGenericCue): Use refactored VTTCue attributes.
2861         * html/track/InbandWebVTTTextTrack.cpp:
2862         (WebCore::InbandWebVTTTextTrack::newCuesParsed): Use VTTCue's constructor instead of deprecated TextTrackCue constructor.
2863         * html/track/TextTrack.cpp:
2864         (WebCore::TextTrack::setMode): Convert to VTTCue as needed.
2865         (WebCore::TextTrack::hasCue): Make this function only accept VTTCues, since it's only used for them anyway, and convert existing cues to VTTCues as needed.
2866         * html/track/TextTrack.h: Same as hasCue above.
2867         * html/track/TextTrackCue.cpp: Refactor a lot of code out. Everything that was removed went to VTTCue.cpp.
2868         (WebCore::TextTrackCue::create): For backwards compatibility, just call VTTCue::create().
2869         (WebCore::TextTrackCue::TextTrackCue): Refactor a lot of code out.
2870         (WebCore::TextTrackCue::~TextTrackCue): Same.
2871         (WebCore::TextTrackCue::didChange): Same.
2872         (WebCore::TextTrackCue::setIsActive): Same.
2873         * html/track/TextTrackCue.h: Same.
2874         * html/track/TextTrackCue.idl: Remove VTTCue attributes and add custom toJS function.
2875         * html/track/TextTrackCueGeneric.cpp: Use VTTCue instead of TextTrackCue.
2876         * html/track/TextTrackCueGeneric.h: Same.
2877         * html/track/VTTCue.cpp: Copied from Source/WebCore/html/track/TextTrackCue.cpp.
2878         * html/track/VTTCue.h: Copied from Source/WebCore/html/track/TextTrackCue.h.
2879         * html/track/VTTCue.idl: Copied from Source/WebCore/html/track/TextTrackCue.idl.
2880         * loader/TextTrackLoader.cpp:
2881         (WebCore::TextTrackLoader::getNewCues): Use VTTCue instead of TextTrackCue.
2882         * page/CaptionUserPreferencesMediaAF.cpp:
2883         (WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride): Use VTTCueBox instead of TextTrackCueBox.
2884         * rendering/RenderVTTCue.cpp: Renamed from Source/WebCore/rendering/RenderTextTrackCue.cpp. Changed to use VTTCue instead of TextTrackCue.
2885         * rendering/RenderVTTCue.h: Renamed from Source/WebCore/rendering/RenderTextTrackCue.h. Changed to use VTTCue instead of TextTrackCue.
2886         * rendering/RenderingAllInOne.cpp: Rename RenderTextTrackCue to RenderVTTCue.
2887
2888 2014-02-07  Gavin Barraclough  <barraclough@apple.com>
2889
2890         Should report user input to PageThrottler
2891         https://bugs.webkit.org/show_bug.cgi?id=128398
2892
2893         Reviewed by Tim Horton.
2894
2895         Make sure we wake from AppNap if there is user interaction.
2896
2897         * page/PageThrottler.h:
2898         (WebCore::PageThrottler::didReceiveUserInput):
2899         (WebCore::PageThrottler::pluginDidEvaluate):
2900             - added, these call reportInterestingEvent()
2901
2902 2014-02-07  Jer Noble  <jer.noble@apple.com>
2903
2904         Unreviewed build fix for 32-bit iOS.
2905
2906         Use magic ? values to allow the exported symbol to be different on 32- and 64-bit builds.
2907
2908         * WebCore.exp.in:
2909
2910 2014-02-07  Anders Carlsson  <andersca@apple.com>
2911
2912         Convert ProgressTracker to std::chrono
2913         https://bugs.webkit.org/show_bug.cgi?id=128377
2914
2915         Reviewed by Andreas Kling.
2916
2917         * loader/ProgressTracker.cpp:
2918         (WebCore::ProgressTracker::ProgressTracker):
2919         (WebCore::ProgressTracker::reset):
2920         (WebCore::ProgressTracker::progressStarted):
2921         (WebCore::ProgressTracker::finalProgressComplete):
2922         (WebCore::ProgressTracker::incrementProgress):
2923         * loader/ProgressTracker.h:
2924
2925 2014-02-07  Alexey Proskuryakov  <ap@apple.com>
2926
2927         32-bit build fix.
2928
2929         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2930         (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):
2931
2932 2014-02-07  Mihai Tica  <mitica@adobe.com>
2933
2934         [CSS Background Blending] Unprefix the -webkit-background-blend-mode property
2935
2936         https://bugs.webkit.org/show_bug.cgi?id=128270
2937
2938         Reviewed by Dean Jackson.
2939
2940         This patch consist of unprefixing the -webkit-background-blend-mode.
2941         The property now changes to background-blend-mode.
2942
2943         * css/CSSComputedStyleDeclaration.cpp:
2944         (WebCore::ComputedStyleExtractor::propertyValue):
2945         * css/CSSParser.cpp:
2946         (WebCore::CSSParser::parseValue):
2947         (WebCore::CSSParser::parseFillProperty):
2948         * css/CSSPropertyNames.in:
2949         * css/DeprecatedStyleBuilder.cpp:
2950         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2951
2952 2014-02-07  Samuel White  <samuel_white@apple.com>
2953
2954         AX: Find and select text with respect to insertion point using accessibility API.
2955         https://bugs.webkit.org/show_bug.cgi?id=128026
2956
2957         Reviewed by Chris Fleizach.
2958
2959         Added facilities to support semi-ambiguous text selection through the accessibility API. All
2960         requests are handled with respect to the current selection. The requests are disambiguated in
2961         WebCore using passed parameters such as: SelectStringAfterSelection , ..Before.., ..ClosestTo...,
2962         etc. Callers can also supply an array of strings to select and the closest that matches the
2963         disambiguation criteria will be used.
2964
2965         Test: platform/mac/accessibility/select-text.html
2966
2967         * accessibility/AccessibilityObject.cpp:
2968         (WebCore::AccessibilityObject::rangeClosestToRange):
2969         (WebCore::AccessibilityObject::rangeOfStringClosestToRangeInDirection):
2970         (WebCore::AccessibilityObject::selectionRange):
2971         (WebCore::AccessibilityObject::selectText):
2972         (WebCore::AccessibilityObject::frame):
2973         * accessibility/AccessibilityObject.h:
2974         (WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):
2975         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2976         (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):
2977         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2978         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2979         * dom/Position.cpp:
2980         (WebCore::Position::positionCountBetweenPositions):
2981         * dom/Position.h:
2982
2983 2014-02-07  Bem Jones-Bey  <bjonesbe@adobe.com>
2984
2985         FloatingObject m_paginationStrut should be LayoutUnit
2986         https://bugs.webkit.org/show_bug.cgi?id=119808
2987
2988         Reviewed by Andreas Kling.
2989
2990         Make the paginationStrut in FloatingObject have the same type as all
2991         of the other paginationStruts in the code.
2992
2993         * rendering/FloatingObjects.h:
2994         (WebCore::FloatingObject::paginationStrut):
2995         (WebCore::FloatingObject::setPaginationStrut):
2996         * rendering/RenderBlockLineLayout.cpp:
2997         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
2998
2999 2014-02-06  Brady Eidson  <beidson@apple.com>
3000
3001         IDB: storage/indexeddb/create-index-with-integer-keys.html fails
3002         <rdar://problem/16002857> and https://bugs.webkit.org/show_bug.cgi?id=128316
3003
3004         Reviewed by Geoff Garen.
3005
3006         Tested by storage/indexeddb/create-index-with-integer-keys.html (and probably some others)
3007
3008         * Modules/indexeddb/IDBCursor.cpp:
3009         (WebCore::IDBCursor::update): Update createIDBKeyFromScriptValueAndKeyPath usage.
3010         (WebCore::IDBCursor::setValueReady): Update createIDBKeyFromScriptValueAndKeyPath usage.
3011
3012         * Modules/indexeddb/IDBObjectStore.cpp:
3013         (WebCore::IDBObjectStore::put): Update usage of binding utilities.
3014
3015         * Modules/indexeddb/IDBRequest.cpp:
3016         (WebCore::IDBRequest::onSuccess): Update createIDBKeyFromScriptValueAndKeyPath usage.
3017
3018         * bindings/js/IDBBindingUtilities.cpp:
3019         (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
3020         (WebCore::createIDBKeyFromScriptValueAndKeyPath): Changed to take an ExecState*.
3021         (WebCore::deserializeIDBValueBuffer): Added new version that starts with ExecState* and Vector<uint8_t>
3022           instead of RequestState and SharedBuffer.
3023         (WebCore::generateIndexKeysForValue): Moved from IDBObjectStore.cpp and changed to take an ExecState*
3024         * bindings/js/IDBBindingUtilities.h:
3025
3026         Added new blob fetcher that works with uint8_t buffers:
3027         * platform/sql/SQLiteStatement.cpp:
3028         (WebCore::SQLiteStatement::getColumnBlobAsVector):
3029         * platform/sql/SQLiteStatement.h:
3030
3031         * WebCore.exp.in:
3032
3033 2014-02-07  Frédéric Wang  <fred.wang@free.fr>
3034
3035         childShouldCreateRenderer should return false for the mspace element
3036         https://bugs.webkit.org/show_bug.cgi?id=128325
3037
3038         Reviewed by Chris Fleizach.
3039
3040         The mspace element can not have children so this makes its
3041         childShouldCreateRenderer always return false.
3042
3043         Test: mathml/presentation/mspace-children.html
3044
3045         * mathml/MathMLTextElement.cpp:
3046         (WebCore::MathMLTextElement::childShouldCreateRenderer):
3047
3048 2014-02-07  Javier Fernandez  <jfernandez@igalia.com>
3049
3050         [CSS Grid Layout] Rename grid-definition-{columns|rows} to match the new syntax
3051         https://bugs.webkit.org/show_bug.cgi?id=127989
3052
3053         Reviewed by Andreas Kling.
3054
3055         In the latest WD, grid-definition-{columns|rows} were renamed to grid-template-{columns|rows}.
3056
3057         * css/CSSComputedStyleDeclaration.cpp:
3058         (WebCore::isLayoutDependent):
3059         (WebCore::ComputedStyleExtractor::propertyValue):
3060         * css/CSSParser.cpp:
3061         (WebCore::CSSParser::parseValue):
3062         * css/CSSPropertyNames.in:
3063         * css/StyleResolver.cpp:
3064         (WebCore::StyleResolver::applyProperty):
3065
3066 2014-02-07  Andreas Kling  <akling@apple.com>
3067
3068         CTTE: DocumentThreadableLoader always has a Document.
3069         <https://webkit.org/b/128364>
3070
3071         DocumentThreadableLoader always has an "owner" Document, so store
3072         that as a reference instead of a pointer. Removed some unnecessary
3073         assertions exposed by this change.
3074
3075         Reviewed by Antti Koivisto.
3076
3077         * loader/DocumentThreadableLoader.cpp:
3078         (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
3079         (WebCore::DocumentThreadableLoader::create):
3080         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
3081         (WebCore::DocumentThreadableLoader::didReceiveResponse):
3082         (WebCore::DocumentThreadableLoader::didReceiveData):
3083         (WebCore::DocumentThreadableLoader::didFinishLoading):
3084         (WebCore::DocumentThreadableLoader::didFail):
3085         (WebCore::DocumentThreadableLoader::preflightFailure):
3086         (WebCore::DocumentThreadableLoader::loadRequest):
3087         (WebCore::DocumentThreadableLoader::securityOrigin):
3088         * loader/DocumentThreadableLoader.h:
3089         * loader/ThreadableLoader.cpp:
3090         (WebCore::ThreadableLoader::create):
3091         (WebCore::ThreadableLoader::loadResourceSynchronously):
3092         * loader/WorkerThreadableLoader.cpp:
3093         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
3094
3095 2014-02-07  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3096
3097         Vector-effect updates require a re-layout
3098         https://bugs.webkit.org/show_bug.cgi?id=127553
3099
3100         Reviewed by Andreas Kling.
3101
3102         As noted in the stale SVGRenderStyle::diff() comment, now that layout() observes vector-effect
3103         we need to trigger a re-layout on attribute changes.
3104
3105         Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152570&view=revision
3106
3107         Tests: svg/custom/non-scaling-stroke-update-expected.svg
3108                svg/custom/non-scaling-stroke-update.svg
3109
3110         * rendering/style/SVGRenderStyle.cpp:
3111         (WebCore::SVGRenderStyle::diff):
3112
3113 2014-02-07  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>
3114
3115         Renaming isTableElement() to isRenderedTable() as per the FIXME comment
3116         https://bugs.webkit.org/show_bug.cgi?id=127769
3117
3118         Reviewed by Andreas Kling.
3119
3120         Rename method and use IsTable() instead of local type checking.
3121
3122         * dom/Position.cpp:
3123         (WebCore::Position::parentAnchoredEquivalent):
3124         (WebCore::Position::upstream):
3125         (WebCore::Position::downstream):
3126         (WebCore::Position::isCandidate):
3127         * dom/PositionIterator.cpp:
3128         (WebCore::PositionIterator::isCandidate):
3129         * editing/CompositeEditCommand.cpp:
3130         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
3131         (WebCore::CompositeEditCommand::moveParagraphWithClones):
3132         * editing/FrameSelection.cpp:
3133         (WebCore::caretRendersInsideNode):
3134         * editing/VisibleUnits.cpp:
3135         (WebCore::startOfParagraph):
3136         (WebCore::endOfParagraph):
3137         * editing/htmlediting.cpp:
3138         (WebCore::firstInSpecialElement):
3139         (WebCore::lastInSpecialElement):
3140         (WebCore::isRenderedTable):
3141         * editing/htmlediting.h:
3142         * rendering/RenderBox.cpp:
3143         (WebCore::RenderBox::localCaretRect):
3144
3145 2014-02-06  Brady Eidson  <beidson@apple.com>
3146
3147         IDB: Remove the entirely unnecessary "Value Key" concept
3148         https://bugs.webkit.org/show_bug.cgi?id=128360
3149
3150         Reviewed by Dan Bernstein.
3151
3152         No new tests (No change in behavior)
3153
3154         All cursor operations were set up to pass a value key parameter around, but it was:
3155         1 - Entirely unused
3156         2 - The same thing that the primary key is supposed to be
3157
3158         * Modules/indexeddb/IDBCallbacks.h:
3159
3160         * Modules/indexeddb/IDBCursorBackend.cpp:
3161         (WebCore::IDBCursorBackend::updateCursorData):
3162         (WebCore::IDBCursorBackend::clear):
3163         * Modules/indexeddb/IDBCursorBackend.h:
3164
3165         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
3166         (WebCore::CursorAdvanceOperation::perform):
3167         (WebCore::CursorIterationOperation::perform):
3168
3169         * Modules/indexeddb/IDBRequest.cpp:
3170         (WebCore::IDBRequest::onSuccess):
3171         * Modules/indexeddb/IDBRequest.h:
3172
3173         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
3174         (WebCore::OpenCursorOperation::perform):
3175
3176         * Modules/indexeddb/IDBServerConnection.h:
3177         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
3178         (WebCore::IDBServerConnectionLevelDB::openCursor):
3179         (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
3180         (WebCore::IDBServerConnectionLevelDB::cursorIterate):
3181         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
3182
3183 2014-02-06  Jeremy Jones  <jeremyj@apple.com>
3184
3185         Add support for AVKit fullscreen to WebKit2
3186         https://bugs.webkit.org/show_bug.cgi?id=128143
3187
3188         Reviewed by Simon Fraser.
3189
3190         Rename overloaded functions to prevent ambiguous template parameter
3191         compile error in generated code.
3192
3193         Rename overloaded exitFullscreen to exitFullscreenWithCompletionHandler.
3194         Rename overloaded enterFullscreen to enterFullscreenWithCompletionHandler.
3195
3196         * WebCore.exp.in:
3197         * WebCore.xcodeproj/project.pbxproj:
3198         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
3199         (-[WebVideoFullscreenController exitFullscreen]):
3200         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
3201         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3202         (WebVideoFullscreenInterfaceAVKit::enterFullscreenWithCompletionHandler):
3203         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
3204         (WebVideoFullscreenInterfaceAVKit::exitFullscreenWithCompletionHandler):
3205         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
3206         * platform/ios/WebVideoFullscreenModelMediaElement.h:
3207
3208 2014-02-06  Jeffrey Pfau  <jpfau@apple.com>
3209
3210         loadSubframe can return null in SubframeLoader::loadOrRedirectSubframe
3211         https://bugs.webkit.org/show_bug.cgi?id=128344
3212
3213         Reviewed by Ryosuke Niwa.
3214
3215         * loader/SubframeLoader.cpp:
3216         (WebCore::SubframeLoader::loadOrRedirectSubframe):
3217
3218 2014-02-06  Andreas Kling  <akling@apple.com>
3219
3220         Use child iterator in HTMLDetailsElement::findMainSummary().
3221         <https://webkit.org/b/128335>
3222
3223         Reviewed by Antti Koivisto.
3224
3225         * html/HTMLDetailsElement.h:
3226         * html/HTMLDetailsElement.cpp:
3227         (WebCore::HTMLDetailsElement::findMainSummary):
3228
3229 2014-02-06  Antti Koivisto  <antti@apple.com>
3230
3231         Add missing &.
3232
3233         * css/StyleInvalidationAnalysis.cpp:
3234         (WebCore::shouldDirtyAllStyle):
3235
3236 2014-02-06  Antti Koivisto  <antti@apple.com>
3237
3238         Check selectors exactly when invalidating style
3239         https://bugs.webkit.org/show_bug.cgi?id=128321
3240
3241         Reviewed by Andreas Kling.
3242         
3243         Selectors are now really fast to match with the JIT. Take advantage of this by invalidating
3244         the document style exactly when a new stylesheet arrives (instead of using heuristics).
3245         
3246         This reduces need for large style recalculations in some common cases.
3247
3248         * css/ElementRuleCollector.cpp:
3249         (WebCore::ElementRuleCollector::clearMatchedRules):
3250         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
3251         * css/ElementRuleCollector.h:
3252         (WebCore::ElementRuleCollector::hasMatchedRules):
3253         * css/RuleSet.h:
3254         (WebCore::RuleSet::hasShadowPseudoElementRules):
3255         * css/SelectorChecker.cpp:
3256         (WebCore::SelectorChecker::matchRecursively):
3257         * css/SelectorChecker.h:
3258         
3259             Add new mode where all pseudo elements match so we can invalidate their element.
3260
3261         * css/StyleInvalidationAnalysis.cpp:
3262         (WebCore::shouldDirtyAllStyle):
3263         (WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
3264         (WebCore::invalidateStyleRecursively):
3265         (WebCore::StyleInvalidationAnalysis::invalidateStyle):
3266         
3267             Switch to real selector checker.
3268
3269         * css/StyleInvalidationAnalysis.h:
3270         * css/StyleResolver.cpp:
3271         (WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
3272         * css/StyleResolver.h:
3273         (WebCore::StyleResolver::mediaQueryEvaluator):
3274         * dom/DocumentStyleSheetCollection.cpp:
3275         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
3276
3277 2014-02-06  Gavin Barraclough  <barraclough@apple.com>
3278
3279         Remove ChildProcess::m_activeTasks
3280         https://bugs.webkit.org/show_bug.cgi?id=128342
3281
3282         Reviewed by Anders Carlson.
3283
3284         Currently we funnel a number of different user activities
3285         to a single UserActivity object, which requires a call down
3286         from WebCore to WebKit2. Split these out so we can track
3287         them separately.
3288
3289         * page/ChromeClient.h:
3290             - removed [inc|dec]rementActivePageCount
3291         * page/PageThrottler.cpp:
3292         (WebCore::PageThrottler::PageThrottler):
3293             - incrementActivePageCount -> beginActivity
3294         (WebCore::PageThrottler::~PageThrottler):
3295             - decrementActivePageCount -> endActivity
3296         (WebCore::PageThrottler::throttlePage):
3297             - decrementActivePageCount -> endActivity
3298         (WebCore::PageThrottler::unthrottlePage):
3299             - incrementActivePageCount -> beginActivity
3300         * page/PageThrottler.h:
3301             - Added m_pageActivity.
3302
3303 2014-02-06  Commit Queue  <commit-queue@webkit.org>
3304
3305         Unreviewed, rolling out r163558.
3306         http://trac.webkit.org/changeset/163558
3307         https://bugs.webkit.org/show_bug.cgi?id=128350
3308
3309         Breaks scrolling on certain websites (Requested by bfulgham on
3310         #webkit).
3311
3312         * page/EventHandler.cpp:
3313         (WebCore::EventHandler::handleWheelEvent):
3314         * page/WheelEventDeltaTracker.h:
3315
3316 2014-02-06  Chris Fleizach  <cfleizach@apple.com>
3317
3318         AX: Crash in WebCore::AXObjectCache::computedObjectAttributeCache
3319         https://bugs.webkit.org/show_bug.cgi?id=128310
3320
3321         Reviewed by Alexey Proskuryakov.
3322
3323         Be more careful about using axObjectCache() directly since it can return null.
3324         I audited the usage cases of this method and ensured the ptr was not null in cases
3325         where I thought we might get hit by this.
3326
3327         * accessibility/AccessibilityNodeObject.cpp:
3328         (WebCore::AccessibilityNodeObject::parentObject):
3329         (WebCore::AccessibilityNodeObject::menuForMenuButton):
3330         (WebCore::AccessibilityNodeObject::menuButtonForMenu):
3331         * accessibility/AccessibilityObject.cpp:
3332         (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
3333         (WebCore::AccessibilityObject::findMatchingObjects):
3334         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
3335         (WebCore::AccessibilityObject::axObjectCache):
3336         (WebCore::AccessibilityObject::notifyIfIgnoredValueChanged):
3337         (WebCore::AccessibilityObject::accessibilityIsIgnored):
3338         * accessibility/AccessibilityRenderObject.cpp:
3339         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
3340         (WebCore::AccessibilityRenderObject::parentObject):
3341         (WebCore::AccessibilityRenderObject::anchorElement):
3342         (WebCore::AccessibilityRenderObject::isTabItemSelected):
3343         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
3344         (WebCore::AccessibilityRenderObject::nodeIsTextControl):
3345         (WebCore::AccessibilityRenderObject::activeDescendant):
3346         (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
3347         (WebCore::AccessibilityRenderObject::observableObject):
3348         (WebCore::AccessibilityRenderObject::textChanged):
3349         * accessibility/AccessibilityScrollView.cpp:
3350         (WebCore::AccessibilityScrollView::addChildScrollbar):
3351         (WebCore::AccessibilityScrollView::webAreaObject):
3352         (WebCore::AccessibilityScrollView::parentObject):
3353         (WebCore::AccessibilityScrollView::parentObjectIfExists):
3354
3355 2014-02-06  Zoltan Horvath  <zoltan@webkit.org>
3356
3357         [CSS Shapes] Rounded Insets Let Content Overlap Shape
3358         https://bugs.webkit.org/show_bug.cgi?id=127852
3359
3360         Reviewed by Bem Jones-Bey.
3361
3362         Using LengthSize to FloatSize conversion from LengthSize.h lead to miscalculated
3363         inset border radius, when the border radius was defined by percentages. This patch
3364         fixes the behavior and removes the incorrect conversion.
3365
3366         Test: fast/shapes/shape-outside-floats/shape-outside-rounded-inset.html
3367
3368         * css/LengthFunctions.cpp:
3369         (WebCore::floatSizeForLengthSize): Add new helper function for LengthSize to FloatSize conversion.
3370         * css/LengthFunctions.h:
3371         * platform/LengthSize.h: Remove floatSize conversion.
3372         * rendering/shapes/Shape.cpp:
3373         (WebCore::Shape::createShape): Use new helper function to calculate the right with for the inset border radius.
3374
3375 2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
3376
3377         Regenerate JSTestObj now that ScriptArguments moved. Generator knows what to do.
3378
3379         Rubber-stamped by Zalan Bujtas.
3380
3381         * bindings/scripts/test/JS/JSTestObj.cpp:
3382         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
3383
3384 2014-02-04  Jeffrey Pfau  <jpfau@apple.com>
3385
3386         Make adoption agency use the task queue
3387         https://bugs.webkit.org/show_bug.cgi?id=109445
3388
3389         Reviewed by Ryosuke Niwa.
3390
3391         Tests: fast/parser/adoption-agency-crash-01.html
3392                fast/parser/adoption-agency-crash-02.html
3393                fast/parser/adoption-agency-crash-03.html
3394
3395         * html/parser/HTMLConstructionSite.cpp:
3396         (WebCore::insert):
3397         (WebCore::executeInsertTask):
3398         (WebCore::executeReparentTask):
3399         (WebCore::executeInsertAlreadyParsedChildTask):
3400         (WebCore::executeTakeAllChildrenTask):
3401         (WebCore::executeTask):
3402         (WebCore::HTMLConstructionSite::attachLater):
3403         (WebCore::HTMLConstructionSite::executeQueuedTasks):
3404         (WebCore::HTMLConstructionSite::insertTextNode):
3405         (WebCore::HTMLConstructionSite::reparent):
3406         (WebCore::HTMLConstructionSite::insertAlreadyParsedChild):
3407         (WebCore::HTMLConstructionSite::takeAllChildren):
3408         (WebCore::HTMLConstructionSite::fosterParent):
3409         * html/parser/HTMLConstructionSite.h:
3410         (WebCore::HTMLConstructionSiteTask::HTMLConstructionSiteTask):
3411         (WebCore::HTMLConstructionSiteTask::oldParent):
3412         * html/parser/HTMLTreeBuilder.cpp:
3413         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
3414
3415 2014-02-06  Mark Hahnenberg  <mhahnenberg@apple.com>
3416
3417         Heap::writeBarrier shouldn't be static
3418         https://bugs.webkit.org/show_bug.cgi?id=127807
3419
3420         Reviewed by Geoffrey Garen.
3421
3422         Currently it looks up the Heap in which to fire the write barrier by using 
3423         the cell passed to it. Almost every call site already has a reference to the 
3424         VM or the Heap itself. It seems wasteful to look it up all over again.
3425
3426         * bindings/js/JSEventListener.cpp:
3427         (WebCore::JSEventListener::JSEventListener):
3428         * bindings/js/JSEventListener.h:
3429         (WebCore::JSEventListener::jsFunction):
3430
3431 2014-02-06  Jaehun Lim  <ljaehun.lim@samsung.com>
3432
3433         Unreviewed, fix build error on 64bit debug build
3434
3435         Apply static_cast<long long> to int64_t variable when '%lli' is used.
3436
3437         * Modules/indexeddb/IDBDatabaseBackend.cpp:
3438         (WebCore::IDBDatabaseBackend::clearObjectStore):
3439         * Modules/indexeddb/IDBTransaction.cpp:
3440         (WebCore::IDBTransaction::setActive):
3441
3442 2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
3443
3444         Web Inspector: Add Console support to JSContext Inspection
3445         https://bugs.webkit.org/show_bug.cgi?id=127941
3446
3447         Reviewed by Geoffrey Garen.
3448
3449           - Move InspectorConsoleAgent and dependencies to JavaScriptCore
3450             and into the Inspector namespace.
3451           - Update Console Message enum types to enum classes and update
3452             all users to the new, simpler names.
3453           - Since we are updating addConsoleMessage callsites anyways, add
3454             ASCIILiteral where appropriate.
3455           - Add WebConsoleAgent base of Page/Worker ConsoleAgent to implement
3456             what could not be pushed into JavaScriptCore.
3457
3458         * CMakeLists.txt: