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