8aa1a16141d90669ee84721d647ae65db058086c
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-01-13  Brent Fulgham  <bfulgham@apple.com>
2
3         [WebGL] Crash due to forceLostContext
4         https://bugs.webkit.org/show_bug.cgi?id=126947
5
6         Reviewed by Dean Jackson.
7
8         Covered by webgl/conformance/textures/origin-clean-conformance.html.
9
10         * html/canvas/WebGLRenderingContext.cpp:
11         (WebCore::WebGLRenderingContext::isContextLost): Make const.
12         (WebCore::WebGLRenderingContext::platformLayer): Don't attempt to use
13         a lost context.
14         * html/canvas/WebGLRenderingContext.h: isContextLost should be const.
15
16 2014-01-13  Martin Robinson  <mrobinson@igalia.com>
17
18         [GTK][CMake] WebCorePlatform build can sometimes fail due to missing generated headers
19         https://bugs.webkit.org/show_bug.cgi?id=126911
20
21         Reviewed by Daniel Bates.
22
23         * PlatformGTK.cmake: Add an explicit dependency from WebCorePlatform to WebCore.
24
25 2014-01-13  Benjamin Poulain  <benjamin@webkit.org>
26
27         Use the Selector Code Generator for resolving style
28         https://bugs.webkit.org/show_bug.cgi?id=126199
29
30         Reviewed by Ryosuke Niwa.
31
32         * css/ElementRuleCollector.cpp:
33         (WebCore::ElementRuleCollector::ruleMatches):
34         * css/RuleSet.h:
35
36 2014-01-13  Benjamin Poulain  <benjamin@webkit.org>
37
38         Update the SelectorQuery code using compiled selector after r161196
39         https://bugs.webkit.org/show_bug.cgi?id=126860
40
41         Reviewed by Andreas Kling.
42
43         Update tree traversal code to the current traversal functions.
44
45         * dom/SelectorQuery.cpp:
46         (WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker):
47         (WebCore::SelectorDataList::executeCompiledSelectorCheckerWithContext):
48
49 2014-01-13  Simon Fraser  <simon.fraser@apple.com>
50
51         Various iOS WebKit1 build fixes.
52
53         * WebCore.xcodeproj/project.pbxproj: iOS WebKit1 needs various
54         headers to be Private.
55
56 2014-01-13  Andreas Kling  <akling@apple.com>
57
58         Map RootInlineBox to containing region via bit+hashmap.
59         <https://webkit.org/b/126917>
60
61         The vas majority of RootInlineBox objects don't have a containing
62         RenderRegion, so let's store that in a bit+hashmap configuration
63         instead of having a dedicated pointer member for it.
64
65         148 kB progression on Membuster3.
66
67         Reviewed by Antti Koivisto.
68
69         * rendering/InlineFlowBox.h:
70         (WebCore::InlineFlowBox::InlineFlowBox):
71         * rendering/RootInlineBox.cpp:
72         (WebCore::RootInlineBox::RootInlineBox):
73
74             Added m_hasContainingRegion bit.
75
76         (WebCore::containingRegionMap):
77
78             Global map between RootInlineBox and RenderRegion.
79
80         (WebCore::RootInlineBox::~RootInlineBox):
81
82             Remove self from aforementioned global map if needed.
83
84         (WebCore::RootInlineBox::paint):
85
86             Tweak a condition to avoid double hash lookup.
87
88         * rendering/RootInlineBox.h:
89         (WebCore::RootInlineBox::containingRegion):
90         (WebCore::RootInlineBox::clearContainingRegion):
91         (WebCore::RootInlineBox::setContainingRegion):
92
93             Store the containing region in a bit+hashmap.
94
95 2014-01-13  Brent Fulgham  <bfulgham@apple.com>
96
97         [WebGL] Invalid range checking in WebGLRenderingContext::validateTexFuncLevel
98         https://bugs.webkit.org/show_bug.cgi?id=126925
99
100         Reviewed by Dean Jackson.
101
102         Added fast/canvas/webgl/webgl-compressed-texture-size-limit.html.
103
104         * html/canvas/WebGLRenderingContext.cpp:
105         (WebCore::WebGLRenderingContext::validateTexFuncLevel): Avoid off-by-one error
106
107 2014-01-13  Daniel Bates  <dabates@apple.com>
108
109         Add uint8_t specialization for WebCore::writeLittleEndian()
110         https://bugs.webkit.org/show_bug.cgi?id=126924
111
112         Reviewed by Darin Adler.
113
114         Specialize WebCore::writeLittleEndian() for datatype uint8_t so as to avoid
115         a compiler warning when right shifting a uint8_t by 8 because the result of
116         such a computation is undefined.
117
118         * bindings/js/SerializedScriptValue.cpp:
119         (WebCore::writeLittleEndian<uint8_t>): Added.
120
121 2014-01-13  Daniel Bates  <dabates@apple.com>
122
123         r161638 broke the Windows build
124         https://bugs.webkit.org/show_bug.cgi?id=126916
125
126         * DerivedSources.make:
127
128 2014-01-13  Eric Carlson  <eric.carlson@apple.com>
129
130         Allow MediaSessionManager to restrict media playback
131         https://bugs.webkit.org/show_bug.cgi?id=126780
132
133         Reviewed by Jer Noble.
134
135         Test: media/video-concurrent-playback.html
136
137         * WebCore.exp.in: Export functions needed by Internals.
138
139         Add HTMLMediaSession.
140         * WebCore.xcodeproj/project.pbxproj:
141         * CMakeLists.txt:
142         * GNUmakefile.list.am:
143         * WebCore.vcxproj/WebCore.vcxproj:
144         * WebCore.vcxproj/WebCore.vcxproj.filters:
145         * WebCore.xcodeproj/project.pbxproj:
146
147         Add a media session object to manage HTMLMediaElement restrictions.
148         * html/HTMLMediaSession.cpp: Added.
149         * html/HTMLMediaSession.h: Added.
150
151         Move media restriction management to a MediaSession.
152         * html/HTMLMediaElement.cpp:
153         (WebCore::HTMLMediaElement::HTMLMediaElement): Use the media session to manage restrictions.
154         (WebCore::HTMLMediaElement::parseAttribute): Ditto.
155         (WebCore::HTMLMediaElement::insertedInto): Ditto.
156         (WebCore::HTMLMediaElement::parseAttribute): Ditto.
157         (WebCore::HTMLMediaElement::loadInternal): Ditto.
158         (WebCore::HTMLMediaElement::loadResource): Ditto.
159         (WebCore::HTMLMediaElement::setReadyState): Ditto.
160         (WebCore::HTMLMediaElement::autoplay): Ditto.
161         (WebCore::HTMLMediaElement::play): Ditto.
162         (WebCore::HTMLMediaElement::pause): Ditto
163         (WebCore::HTMLMediaElement::pauseInternal): Ditto
164         (WebCore::HTMLMediaElement::suspend): Ditto
165         (WebCore::HTMLMediaElement::resume): Ditto.
166         (WebCore::HTMLMediaElement::updatePlayState): Tell media session playback is about to start.
167         (WebCore::HTMLMediaElement::deliverNotification): Ditto.
168         (WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Ditto.
169         (WebCore::HTMLMediaElement::mediaPlayerIsFullscreenPermitted): Ditto.
170         (WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Ditto.
171         (WebCore::HTMLMediaElement::pausePlayback): New, allows the media session to pause playback.
172         * html/HTMLMediaElement.h:
173
174         * html/HTMLVideoElement.cpp:
175         (WebCore::HTMLVideoElement::webkitEnterFullscreen): Use the media session to manage restrictions.
176
177         * platform/audio/MediaSession.cpp:
178         (WebCore::MediaSession::beginInterruption): Add logging.
179         (WebCore::MediaSession::endInterruption): Ditto.
180         (WebCore::MediaSession::pauseSession): New, allows the session manager to pause playback.
181         * platform/audio/MediaSession.h:
182
183         Add per-media type restrictions.
184         * platform/audio/MediaSessionManager.cpp:
185         (WebCore::MediaSessionManager::MediaSessionManager): Initialize restrictions.
186         (WebCore::MediaSessionManager::addRestriction): New.
187         (WebCore::MediaSessionManager::removeRestriction): New.
188         (WebCore::MediaSessionManager::restrictions): New.
189         (WebCore::MediaSessionManager::sessionWillBeginPlayback): New. If only one session if the same
190             type is allowed to play, pause all others.
191         * platform/audio/MediaSessionManager.h:
192
193         * platform/audio/ios/MediaSessionManagerIOS.h: Added.
194         * platform/audio/ios/MediaSessionManagerIOS.mm: Added.
195         (WebCore::MediaSessionManager::sharedManager):
196         (WebCore::m_objcObserver):
197         (-[WebAVAudioSessionHelper initWithCallback:]):
198         (-[WebAVAudioSessionHelper dealloc]):
199         (-[WebAVAudioSessionHelper interruption:]):
200
201         * platform/audio/mac/AudioDestinationMac.h: Add pausePlayback.
202
203         Allow tests to set media session restrictions.
204         * testing/Internals.cpp:
205         * testing/Internals.h:
206         * testing/Internals.idl:
207
208 2014-01-13  Alexey Proskuryakov  <ap@apple.com>
209
210         Fix the build more.
211
212         * xml/XMLHttpRequestProgressEventThrottle.cpp:
213         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
214
215 2014-01-13  Alexey Proskuryakov  <ap@apple.com>
216
217         Fix the build.
218
219         * xml/XMLHttpRequestProgressEventThrottle.cpp:
220         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
221
222 2014-01-13  Simon Fraser  <simon.fraser@apple.com>
223
224         Fix copy of SystemMemory.h in iOS WebKit build.
225         
226         Move SystemMemory.h from platform/SystemMemory.h to platform/ios/SystemMemory.h.
227         Add it to the project file.
228         Make it a Private header.
229         Add PLATFORM(IOS) #idfefs around its contents.
230
231         * WebCore.xcodeproj/project.pbxproj:
232         * platform/ios/SystemMemory.h: Renamed from Source/WebCore/platform/SystemMemory.h.
233
234 2014-01-13  Youenn Fablet  <youennf@gmail.com>
235
236         Dispatch a progress event before dispatching abort, error or timeout event
237         https://bugs.webkit.org/show_bug.cgi?id=126575
238
239         Reviewed by Alexey Proskuryakov.
240
241         Added sending of progress event after readystatechange event (switching to DONE state) in case of abort, error or timeout. 
242         Fixed assertions in XMLHttpRequestProgressEventThrottle and XMLHttpRequestUpload.
243
244         * xml/XMLHttpRequest.cpp:
245         (WebCore::XMLHttpRequest::dispatchErrorEvents): added sending of progress event before the specific error event
246         * xml/XMLHttpRequestProgressEventThrottle.cpp:
247         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): fixed assertion
248         * xml/XMLHttpRequestUpload.cpp:
249         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent): fixed assertion
250
251 2014-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>
252
253         [SOUP] Add SoupNetworkSession class to wrap a SoupSession
254         https://bugs.webkit.org/show_bug.cgi?id=126813
255
256         Reviewed by Gustavo Noronha Silva.
257
258         Add SoupNetworkSession class that wraps a SoupSession and move all
259         the code related to the SoupSession from ResourceHandle to
260         SoupNetworkSession, including the static methods to get the
261         default session and create testing and private sessions.
262
263         * GNUmakefile.list.am: Add new files to compilation.
264         * PlatformEfl.cmake: Ditto.
265         * PlatformGTK.cmake: Ditto.
266         * platform/network/NetworkStorageSession.h: Use SoupNetworkSession
267         instead of SoupSession.
268         * platform/network/ResourceHandle.h:
269         * platform/network/soup/CookieJarSoup.cpp:
270         (WebCore::cookieJarForSession): Use SoupNetworkSession to get the
271         SoupSession.
272         * platform/network/soup/DNSSoup.cpp:
273         (WebCore::DNSResolveQueue::platformResolve): Ditto.
274         * platform/network/soup/NetworkStorageSessionSoup.cpp:
275         (WebCore::NetworkStorageSession::NetworkStorageSession): Use
276         SoupNetworkSession instead of SoupSession.
277         (WebCore::NetworkStorageSession::~NetworkStorageSession):
278         (WebCore::NetworkStorageSession::defaultStorageSession): Create a
279         NetworkStorageSession with a NULL SoupNetworkSession which means
280         that the default SoupNetworkSession will be used.
281         (WebCore::NetworkStorageSession::createPrivateBrowsingSession):
282         Call SoupNetworkSession::createPrivateBrowsingSession() to create
283         the private session.
284         (WebCore::NetworkStorageSession::switchToNewTestingSession): Call
285         SoupNetworkSession::createTestingSession() to create the testing
286         session.
287         (WebCore::NetworkStorageSession::soupNetworkSession): Return the
288         SoupNetworkSession or the default one.
289         (WebCore::NetworkStorageSession::setSoupNetworkSession): Set a new
290         SoupNetworkSession.
291         * platform/network/soup/ResourceHandleSoup.cpp:
292         (WebCore::sessionFromContext): Use SoupNetworkSession to get the
293         SoupSession.
294         (WebCore::ResourceHandleInternal::soupSession): Simply call
295         sessionFromContext(), since ensureSessionIsInitialized() is no
296         longer needed, because the SoupSession are now initialized in the
297         SoupNetworkSession constructor.
298         (WebCore::ResourceHandle::didStartRequest): Function to notify the
299         ResourceHandle that current request has just started for web timing.
300         * platform/network/soup/SoupNetworkSession.cpp: Added.
301         (WebCore::soupLogPrinter): Logger callback.
302         (WebCore::SoupNetworkSession::defaultSession): Return a reference
303         to the default SoupNetworkSession.
304         (WebCore::SoupNetworkSession::createPrivateBrowsingSession):
305         Create a new private session.
306         (WebCore::SoupNetworkSession::createTestingSession): Create a new
307         testing session.
308         (WebCore::SoupNetworkSession::createForSoupSession): Create a new
309         SoupNetworkSession for the given SoupSession.
310         (WebCore::authenticateCallback): Callback emitted by the
311         SoupSession when the request needs authentication.
312         (WebCore::requestStartedCallback): Callback emitted by the
313         SoupSession when as request has just started.
314         (WebCore::SoupNetworkSession::SoupNetworkSession):
315         (WebCore::SoupNetworkSession::~SoupNetworkSession):
316         (WebCore::SoupNetworkSession::setupLogger): Helper private
317         function to setup the logger.
318         (WebCore::SoupNetworkSession::setCookieJar): Set a new CookieJar
319         in the session replacing the existing one.
320         (WebCore::SoupNetworkSession::cookieJar): Return the current
321         CookieJar of the session.
322         (WebCore::SoupNetworkSession::setCache): Set a disk cache.
323         (WebCore::SoupNetworkSession::cache): Return the current disk cache.
324         (WebCore::SoupNetworkSession::setSSLPolicy): Set the SSL policy.
325         (WebCore::SoupNetworkSession::sslPolicy): Get the current SSL policy.
326         (WebCore::SoupNetworkSession::setHTTPProxy): Set the HTTP proxy.
327         (WebCore::SoupNetworkSession::httpProxy): Get the current HTTP proxy.
328         (WebCore::SoupNetworkSession::setupHTTPProxyFromEnvironment): Set
329         the HTTP proxy using the environment variables.
330         (WebCore::buildAcceptLanguages): Helper function build the accept
331         language string in the format expected by soup (RFC 2616).
332         (WebCore::SoupNetworkSession::setAcceptLanguages): Set the accept
333         language for the given list of languages.
334         * platform/network/soup/SoupNetworkSession.h: Added.
335         (WebCore::SoupNetworkSession::soupSession): Return the SoupSession.
336
337 2014-01-13  Brent Fulgham  <bfulgham@apple.com>
338
339         [WebGL] Error messages should use source code labels, not internal mangled symbols.
340         https://bugs.webkit.org/show_bug.cgi?id=126832
341
342         Reviewed by Dean Jackson.
343
344         Revised fast/canvas/webgl/glsl-conformance.html.
345
346         * platform/graphics/ANGLEWebKitBridge.cpp:
347         (WebCore::getSymbolInfo): Correct missing 'break'.
348         (WebCore::ANGLEWebKitBridge::compileShaderSource): Call 'getSymbolInfo'
349         for SH_VARYINGS.
350         * platform/graphics/GraphicsContext3D.h: Add new declarations.
351         * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Add case
352         for SHADER_SYMBOL_TYPE_VARYING. This is a no-op to match existing
353         behavior.
354         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
355         (WebCore::GraphicsContext3D::compileShader): Demangle log output.
356         (WebCore::GraphicsContext3D::mappedSymbolName): Added.
357         (WebCore::GraphicsContext3D::getUnmangledInfoLog): Added.
358         (WebCore::GraphicsContext3D::getProgramInfoLog): Demangle log output.
359         (WebCore::GraphicsContext3D::getShaderInfoLog): Demangle log output.
360
361 2014-01-13  David Kilzer  <ddkilzer@apple.com>
362
363         [iOS] Include RenderElement.h to fix BaseChooserOnlyDateAndTimeInputType.cpp
364
365         Fixes the following build failure:
366
367             Undefined symbols for architecture x86_64:
368               "__ZNK7WebCore13ContainerNode8rendererEv", referenced from:
369                   __ZN7WebCore35BaseChooserOnlyDateAndTimeInputType22handleDOMActivateEventEPNS_5EventE in BaseChooserOnlyDateAndTimeInputType.o
370
371         * html/BaseChooserOnlyDateAndTimeInputType.cpp: Include
372         RenderElement.h.
373
374 2014-01-13  Andy Estes  <aestes@apple.com>
375
376         [iOS] Build Fix: copy iOS-specific generated headers
377
378         * Configurations/WebCore.xcconfig: Excluded DOMTouch* and DOMGesture* headers on Mac.
379         * WebCore.xcodeproj/project.pbxproj:
380
381 2014-01-13  Zalan Bujtas  <zalan@apple.com>
382
383         Enable SUBPIXEL_LAYOUT on Mac
384         <https://webkit.org/b/126283>
385
386         Reviewed by Simon Fraser.
387
388         * Configurations/FeatureDefines.xcconfig:
389
390 2014-01-13  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
391
392         REGRESSION(r161715): Use of uninitialized value $ENV{"PLATFORM_NAME"}
393         https://bugs.webkit.org/show_bug.cgi?id=126873
394
395         Reviewed by Csaba Osztrogonác.
396
397         * bindings/scripts/CodeGeneratorObjC.pm:
398         * bindings/scripts/preprocessor.pm:
399         (applyPreprocessor):
400
401 2014-01-13  Andreas Kling  <akling@apple.com>
402
403         CTTE: Autoscroll renderer is always a RenderBox.
404         <https://webkit.org/b/126884>
405
406         Reviewed by Antti Koivisto.
407
408         * page/EventHandler.h:
409         * page/EventHandler.cpp:
410         (WebCore::EventHandler::autoscrollRenderer):
411
412             Make autoscrollRenderer() return a RenderBox*.
413
414         * rendering/RenderObject.cpp:
415         (WebCore::RenderObject::willBeDestroyed):
416         * rendering/RenderBox.cpp:
417         (WebCore::RenderBox::willBeDestroyed):
418
419             Only check if the autoscroll renderer is being torn down
420             in RenderBox::willBeDestroyed() since it's not relevant for
421             other renderer types.
422
423 2014-01-13  László Langó  <llango.u-szeged@partner.samsung.com>
424
425         Text should be constructable.
426         https://bugs.webkit.org/show_bug.cgi?id=115640
427
428         Reviewed by Csaba Osztrogonác.
429
430         http://dom.spec.whatwg.org/#interface-text
431         Make Text constructable so that one can do "new Text('abc')"
432         instead of "document.createTexte('abc')".
433
434         Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/cdd5a914daf3862379a5ce4596149bd690d0fa08
435
436         Test: fast/dom/Text/text-constructor.html
437
438         * dom/Text.cpp:
439         (WebCore::Text::create):
440         * dom/Text.h:
441         * dom/Text.idl:
442
443 2014-01-13  Zan Dobersek  <zdobersek@igalia.com>
444
445         Avoid unnecessary copies of AccessibilityObject::AccessibilityChildrenVector
446         https://bugs.webkit.org/show_bug.cgi?id=126876
447
448         Reviewed by Andreas Kling.
449
450         AccessibilityObject::children() returns a reference to the Vector of that AccessibilityObject's children.
451         The majority of callsites stores the return value in a temporary value instead of a reference, causing
452         a copy each time. A reference to the return value should be used instead.
453
454         * accessibility/AXObjectCache.cpp:
455         (WebCore::AXObjectCache::focusedImageMapUIElement):
456         * accessibility/AccessibilityARIAGrid.cpp:
457         (WebCore::AccessibilityARIAGrid::addRowDescendant):
458         * accessibility/AccessibilityARIAGridCell.cpp:
459         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
460         (WebCore::AccessibilityARIAGridCell::columnIndexRange):
461         * accessibility/AccessibilityARIAGridRow.cpp:
462         (WebCore::AccessibilityARIAGridRow::headerObject):
463         * accessibility/AccessibilityListBox.cpp:
464         (WebCore::AccessibilityListBox::setSelectedChildren):
465         * accessibility/AccessibilityListBox.h:
466         * accessibility/AccessibilityNodeObject.cpp:
467         (WebCore::AccessibilityNodeObject::insertChild):
468         (WebCore::AccessibilityNodeObject::selectedRadioButton):
469         (WebCore::AccessibilityNodeObject::selectedTabItem):
470         * accessibility/AccessibilityObject.cpp:
471         (WebCore::appendChildrenToArray):
472         (WebCore::AccessibilityObject::ariaTreeRows):
473         (WebCore::AccessibilityObject::ariaTreeItemContent):
474         (WebCore::AccessibilityObject::ariaTreeItemDisclosedRows):
475         * accessibility/AccessibilityRenderObject.cpp:
476         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
477         (WebCore::AccessibilityRenderObject::addRemoteSVGChildren):
478         (WebCore::AccessibilityRenderObject::addHiddenChildren):
479         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
480         (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
481         (WebCore::AccessibilityRenderObject::tabChildren):
482         (WebCore::AccessibilityRenderObject::mathRadicandObject):
483         (WebCore::AccessibilityRenderObject::mathRootIndexObject):
484         (WebCore::AccessibilityRenderObject::mathNumeratorObject):
485         (WebCore::AccessibilityRenderObject::mathDenominatorObject):
486         (WebCore::AccessibilityRenderObject::mathUnderObject):
487         (WebCore::AccessibilityRenderObject::mathOverObject):
488         (WebCore::AccessibilityRenderObject::mathBaseObject):
489         (WebCore::AccessibilityRenderObject::mathSubscriptObject):
490         (WebCore::AccessibilityRenderObject::mathSuperscriptObject):
491         * accessibility/AccessibilityTable.cpp:
492         (WebCore::AccessibilityTable::cellForColumnAndRow):
493         * accessibility/AccessibilityTableColumn.cpp:
494         (WebCore::AccessibilityTableColumn::headerObject):
495         * accessibility/AccessibilityTableRow.cpp:
496         (WebCore::AccessibilityTableRow::headerObject):
497         * accessibility/atk/AXObjectCacheAtk.cpp:
498         (WebCore::getListObject):
499         (WebCore::notifyChildrenSelectionChange):
500         * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
501         (webkitAccessibleHypertextGetLink):
502         (webkitAccessibleHypertextGetNLinks):
503         * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
504         (listObjectForSelection):
505         (optionFromList):
506         (webkitAccessibleSelectionSelectAllSelection):
507         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
508         (getNChildrenForTable):
509         (getChildForTable):
510         (webkitAccessibleRefChild):
511         (getIndexInParentForCellInRow):
512         (getInterfaceMaskFromObject):
513         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
514         (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
515         (-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
516         (-[WebAccessibilityObjectWrapper containsUnnaturallySegmentedChildren]):
517         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
518         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
519
520 2014-01-13  László Langó  <llango.u-szeged@partner.samsung.com>
521
522         Comment should be consructable.
523         https://bugs.webkit.org/show_bug.cgi?id=115642
524
525         Reviewed by Andreas Kling.
526
527         http://dom.spec.whatwg.org/#comment
528         This allows us to do `new Comment('abc')` instead of `document.createComment('abc')`.
529
530         Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/06e4a37f6b11348606de5405edac1ada97499d2a%5E%21
531
532         Test: fast/dom/Comment/comment-constructor.html
533
534         * dom/Comment.cpp:
535         (WebCore::Comment::create):
536         * dom/Comment.h:
537         * dom/Comment.idl:
538
539 2014-01-13  Commit Queue  <commit-queue@webkit.org>
540
541         Unreviewed, rolling out r161808.
542         http://trac.webkit.org/changeset/161808
543         https://bugs.webkit.org/show_bug.cgi?id=126874
544
545         This patch make several files to be always regenerated on
546         every make (Requested by KaL on #webkit).
547
548         * GNUmakefile.am:
549         * bindings/gobject/GNUmakefile.am:
550
551 2014-01-12  Commit Queue  <commit-queue@webkit.org>
552
553         Unreviewed, rolling out r161843.
554         http://trac.webkit.org/changeset/161843
555         https://bugs.webkit.org/show_bug.cgi?id=126871
556
557         Caused CSS custom filter tests to assert (Requested by smfr on
558         #webkit).
559
560         * platform/graphics/ANGLEWebKitBridge.cpp:
561         (WebCore::getSymbolInfo):
562         (WebCore::ANGLEWebKitBridge::compileShaderSource):
563         * platform/graphics/GraphicsContext3D.h:
564         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
565         (WebCore::GraphicsContext3D::compileShader):
566         (WebCore::GraphicsContext3D::getProgramInfoLog):
567         (WebCore::GraphicsContext3D::getShaderInfoLog):
568
569 2014-01-12  Commit Queue  <commit-queue@webkit.org>
570
571         Unreviewed, rolling out r161840.
572         http://trac.webkit.org/changeset/161840
573         https://bugs.webkit.org/show_bug.cgi?id=126870
574
575         Caused jsscore and layout test failures (Requested by smfr on
576         #webkit).
577
578         * bindings/objc/WebScriptObject.mm:
579         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
580         * editing/CompositeEditCommand.cpp:
581         (WebCore::containsOnlyWhitespace):
582         * editing/TypingCommand.cpp:
583         (WebCore::TypingCommand::insertText):
584         * editing/VisibleUnits.cpp:
585         (WebCore::startOfParagraph):
586         (WebCore::endOfParagraph):
587         * html/parser/HTMLParserIdioms.cpp:
588         (WebCore::stripLeadingAndTrailingHTMLSpaces):
589         (WebCore::parseHTMLNonNegativeInteger):
590         * inspector/ContentSearchUtils.cpp:
591         (WebCore::ContentSearchUtils::createSearchRegexSource):
592         * inspector/InspectorStyleSheet.cpp:
593         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
594         * inspector/InspectorStyleTextEditor.cpp:
595         (WebCore::InspectorStyleTextEditor::insertProperty):
596         (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
597         * platform/Length.cpp:
598         (WebCore::newCoordsArray):
599         * platform/LinkHash.cpp:
600         (WebCore::visitedLinkHash):
601         * platform/graphics/Color.cpp:
602         (WebCore::Color::parseHexColor):
603         (WebCore::Color::Color):
604         * platform/graphics/TextRun.h:
605         (WebCore::TextRun::TextRun):
606         * platform/text/TextEncodingRegistry.cpp:
607         (WebCore::atomicCanonicalTextEncodingName):
608         * rendering/RenderBlock.cpp:
609         (WebCore::RenderBlock::constructTextRun):
610         * rendering/RenderCombineText.cpp:
611         (WebCore::RenderCombineText::width):
612         * svg/SVGFontElement.cpp:
613         (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
614         * xml/XPathFunctions.cpp:
615         (WebCore::XPath::FunId::evaluate):
616         * xml/XPathNodeSet.h:
617
618 2014-01-12  Jinwoo Song  <jinwoo7.song@samsung.com>
619
620         Fix build warnings by unused parameter
621         https://bugs.webkit.org/show_bug.cgi?id=126867
622
623         Reviewed by Gyuyoung Kim.
624
625         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: 
626         (WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion): Remove unused parameter 'operation'.
627
628 2014-01-12  Brent Fulgham  <bfulgham@apple.com>
629
630         Unreviewed build fix for WinCairo.
631
632         * WebCore.vcxproj/WebCoreCairo.props: Add missing include path
633         to locate SelectorCompiler.h.
634
635 2014-01-12  Maciej Stachowiak  <mjs@apple.com>
636
637         Fix iOS build breakage from http://trac.webkit.org/changeset/161844
638         https://bugs.webkit.org/show_bug.cgi?id=126866
639
640         Reviewed by Simon Fraser.
641
642         * platform/text/TextBreakIteratorICU.cpp:
643         (WebCore::cursorMovementIterator): Use initializeIterator instead of createSharedIterator,
644         which does not exist.
645
646 2014-01-12  Darin Adler  <darin@apple.com>
647
648         Add PLATFORM(COCOA) and USE(FOUNDATION)
649         https://bugs.webkit.org/show_bug.cgi?id=126859
650
651         Reviewed by Anders Carlsson.
652
653         * config.h: Use PLATFORM(COCOA) instead of PLATFORM(MAC) || PLATFORM(IOS)
654         to set USE(FILE_LOCK). Would be nice to use OS(DARWIN), but that would be
655         a change in behavior that might be incorrect. Removed bogus comments in
656         the USE(NEW_THEME) setting code. Removed redundant code to set USE(CA),
657         which exactly duplicates code that already exists in Platform.h.
658
659 2014-01-12  Darin Adler  <darin@apple.com>
660
661         Add deprecatedCharacters as a synonym for characters and convert most call sites
662         https://bugs.webkit.org/show_bug.cgi?id=126858
663
664         Reviewed by Anders Carlsson.
665
666         * Modules/indexeddb/IDBKeyPath.cpp:
667         (WebCore::IDBKeyPathLexer::IDBKeyPathLexer):
668         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
669         (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
670         (WebCore::ThreadableWebSocketChannelClientWrapper::setExtensions):
671         * accessibility/AccessibilityObject.cpp:
672         (WebCore::AccessibilityObject::hasMisspelling):
673         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
674         (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
675         * bindings/js/SerializedScriptValue.cpp:
676         (WebCore::CloneSerializer::serialize):
677         (WebCore::CloneSerializer::write):
678         * dom/CharacterData.cpp:
679         (WebCore::CharacterData::parserAppendData):
680         * dom/Document.cpp:
681         (WebCore::Document::parseQualifiedName):
682         * editing/Editor.cpp:
683         (WebCore::Editor::misspelledWordAtCaretOrRange):
684         (WebCore::Editor::misspelledSelectionString):
685         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
686         * editing/TextCheckingHelper.cpp:
687         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
688         (WebCore::TextCheckingHelper::findFirstBadGrammar):
689         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
690         * editing/TextCheckingHelper.h:
691         (WebCore::TextCheckingParagraph::textDeprecatedCharacters):
692         * editing/TextIterator.cpp:
693         (WebCore::collapsedSpaceLength):
694         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
695         (WebCore::containsKanaLetters):
696         (WebCore::SearchBuffer::SearchBuffer):
697         * editing/TextIterator.h:
698         (WebCore::TextIterator::characters):
699         * editing/VisiblePosition.cpp:
700         (WebCore::VisiblePosition::characterAfter):
701         * editing/VisibleUnits.cpp:
702         (WebCore::wordBreakIteratorForMinOffsetBoundary):
703         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
704         (WebCore::visualWordPosition):
705         (WebCore::previousBoundary):
706         (WebCore::nextBoundary):
707         * fileapi/WebKitBlobBuilder.cpp:
708         (WebCore::BlobBuilder::append):
709         * html/FormDataList.cpp:
710         (WebCore::FormDataList::appendString):
711         * html/canvas/CanvasRenderingContext2D.cpp:
712         (WebCore::normalizeSpaces):
713         * html/parser/HTMLParserIdioms.cpp:
714         (WebCore::parseImagesWithScaleFromSrcsetAttribute):
715         * html/parser/HTMLTreeBuilder.cpp:
716         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
717         * loader/appcache/ManifestParser.cpp:
718         (WebCore::parseManifest):
719         * page/ContentSecurityPolicy.cpp:
720         (WebCore::isSourceListNone):
721         (WebCore::CSPSourceList::parse):
722         (WebCore::NonceDirective::parse):
723         (WebCore::MediaListDirective::parse):
724         (WebCore::CSPDirectiveList::parse):
725         (WebCore::CSPDirectiveList::parseReportURI):
726         (WebCore::CSPDirectiveList::parseReflectedXSS):
727         (WebCore::ContentSecurityPolicy::didReceiveHeader):
728         * page/PageSerializer.cpp:
729         (WebCore::PageSerializer::serializeFrame):
730         (WebCore::PageSerializer::serializeCSSStyleSheet):
731         * platform/Length.cpp:
732         (WebCore::newCoordsArray):
733         (WebCore::newLengthArray):
734         * platform/LinkHash.cpp:
735         (WebCore::visitedURL):
736         (WebCore::visitedLinkHash):
737         * platform/SharedBuffer.cpp:
738         (WebCore::utf8Buffer):
739         * platform/URL.cpp:
740         (WebCore::URL::port):
741         (WebCore::encodeHostnames):
742         * platform/graphics/StringTruncator.cpp:
743         (WebCore::centerTruncateToBuffer):
744         (WebCore::rightTruncateToBuffer):
745         (WebCore::rightClipToCharacterBuffer):
746         (WebCore::rightClipToWordBuffer):
747         (WebCore::leftTruncateToBuffer):
748         (WebCore::truncateString):
749         (WebCore::StringTruncator::width):
750         * platform/graphics/TextRun.h:
751         (WebCore::TextRun::TextRun):
752         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
753         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
754         * platform/network/FormDataBuilder.cpp:
755         (WebCore::FormDataBuilder::addFilenameToMultiPartHeader):
756         * platform/sql/SQLiteStatement.cpp:
757         (WebCore::SQLiteStatement::bindBlob):
758         (WebCore::SQLiteStatement::bindText):
759         * platform/text/DecodeEscapeSequences.h:
760         (WebCore::decodeEscapeSequences):
761         * platform/text/TextBreakIterator.cpp:
762         (WebCore::numGraphemeClusters):
763         (WebCore::numCharactersInGraphemeClusters):
764         * platform/text/TextBreakIteratorICU.cpp:
765         (WebCore::setUpIteratorWithRules):
766         * platform/text/TextCodecICU.cpp:
767         (WebCore::TextCodecICU::encode):
768         * rendering/RenderBlock.cpp:
769         (WebCore::RenderBlock::constructTextRun):
770         * rendering/RenderListMarker.cpp:
771         (WebCore::RenderListMarker::paint):
772         * rendering/RenderText.cpp:
773         (WebCore::maxWordFragmentWidth):
774         (WebCore::RenderText::computePreferredLogicalWidths):
775         (WebCore::RenderText::computeCanUseSimpleFontCodePath):
776         * rendering/RenderText.h:
777         (WebCore::RenderText::characters):
778         (WebCore::RenderText::deprecatedCharacters):
779         * rendering/line/BreakingContextInlineHeaders.h:
780         (WebCore::tryHyphenating):
781         * rendering/svg/SVGInlineTextBox.cpp:
782         (WebCore::SVGInlineTextBox::constructTextRun):
783         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
784         (WebCore::processRenderSVGInlineText):
785         * rendering/svg/SVGTextLayoutEngine.cpp:
786         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
787         * rendering/svg/SVGTextMetrics.cpp:
788         (WebCore::SVGTextMetrics::measureCharacterRange):
789         (WebCore::SVGTextMetrics::SVGTextMetrics):
790         * rendering/svg/SVGTextMetricsBuilder.cpp:
791         (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
792         * svg/SVGAngle.cpp:
793         (WebCore::SVGAngle::setValueAsString):
794         * svg/SVGAnimateMotionElement.cpp:
795         (WebCore::parsePoint):
796         * svg/SVGAnimationElement.cpp:
797         (WebCore::parseKeySplines):
798         * svg/SVGFitToViewBox.cpp:
799         (WebCore::SVGFitToViewBox::parseViewBox):
800         * svg/SVGFontData.cpp:
801         (WebCore::SVGFontData::applySVGGlyphSelection):
802         * svg/SVGGlyphMap.h:
803         (WebCore::SVGGlyphMap::addGlyph):
804         (WebCore::SVGGlyphMap::collectGlyphsForString):
805         * svg/SVGGlyphRefElement.cpp:
806         (WebCore::SVGGlyphRefElement::parseAttribute):
807         * svg/SVGLength.cpp:
808         (WebCore::SVGLength::setValueAsString):
809         * svg/SVGLengthList.cpp:
810         (WebCore::SVGLengthList::parse):
811         * svg/SVGNumberList.cpp:
812         (WebCore::SVGNumberList::parse):
813         * svg/SVGParserUtilities.cpp:
814         (WebCore::parseNumberFromString):
815         (WebCore::parseNumberOptionalNumber):
816         (WebCore::parseRect):
817         (WebCore::pointsListFromSVGData):
818         (WebCore::parseGlyphName):
819         (WebCore::parseKerningUnicodeString):
820         (WebCore::parseDelimitedString):
821         * svg/SVGPreserveAspectRatio.cpp:
822         (WebCore::SVGPreserveAspectRatio::parse):
823         * svg/SVGStringList.cpp:
824         (WebCore::SVGStringList::parse):
825         * svg/SVGTransformList.cpp:
826         (WebCore::SVGTransformList::parse):
827         * svg/SVGTransformable.cpp:
828         (WebCore::SVGTransformable::parseTransformType):
829         * svg/SVGViewSpec.cpp:
830         (WebCore::SVGViewSpec::parseViewSpec):
831         * svg/SVGZoomAndPan.h:
832         (WebCore::SVGZoomAndPan::parseAttribute):
833         * xml/XMLHttpRequest.cpp:
834         (WebCore::XMLHttpRequest::send):
835         * xml/XSLStyleSheetLibxslt.cpp:
836         (WebCore::XSLStyleSheet::parseString):
837         * xml/XSLTUnicodeSort.cpp:
838         (WebCore::xsltUnicodeSortFunction):
839         * xml/parser/XMLDocumentParserLibxml2.cpp:
840         (WebCore::XMLDocumentParser::doWrite):
841         (WebCore::parseAttributes):
842         Use deprecatedCharacters instead of characters.
843
844 2014-01-12  Darin Adler  <darin@apple.com>
845
846         Add type checking to isEqual methods
847         https://bugs.webkit.org/show_bug.cgi?id=126862
848
849         Reviewed by Anders Carlsson.
850
851         * page/ios/WebEventRegion.mm:
852         (-[WebEventRegion isEqual:]): Add type checking on the argument.
853         Add a FIXME about the lack of a hash method override. Formatted to match
854         the usual WebKit coding style.
855
856 2014-01-12  Anders Carlsson  <andersca@apple.com>
857
858         Try to fix the 32-bit build.
859
860         * platform/text/icu/UTextProviderLatin1.cpp:
861         (WebCore::uTextLatin1Clone):
862         (WebCore::uTextLatin1Extract):
863         (WebCore::uTextLatin1MapNativeIndexToUTF16):
864
865 2014-01-12  Anders Carlsson  <andersca@apple.com>
866
867         Remove all uses of AtomicallyInitializedStatic from WebCore
868         https://bugs.webkit.org/show_bug.cgi?id=126861
869
870         Reviewed by Darin Adler.
871
872         * Modules/indexeddb/IDBPendingTransactionMonitor.cpp:
873         (WebCore::transactions):
874         * fileapi/ThreadableBlobRegistry.cpp:
875         (WebCore::originMap):
876         * platform/text/TextEncodingRegistry.cpp:
877         (WebCore::encodingRegistryMutex):
878         (WebCore::newTextCodec):
879         (WebCore::atomicCanonicalTextEncodingName):
880         (WebCore::dumpTextEncodingNameMap):
881         * workers/DefaultSharedWorkerRepository.cpp:
882         (WebCore::DefaultSharedWorkerRepository::instance):
883
884 2014-01-12  Anders Carlsson  <andersca@apple.com>
885
886         Use an std::atomic<uint32_t> when computing IDBDatabase transaction IDs
887         https://bugs.webkit.org/show_bug.cgi?id=126853
888
889         Reviewed by Sam Weinig.
890
891         * Modules/indexeddb/IDBDatabase.cpp:
892         (WebCore::IDBDatabase::nextTransactionId):
893
894 2014-01-12  Sam Weinig  <sam@webkit.org>
895
896         TextBreakIterator's should support Latin-1 for all iterator types (Part 1)
897         https://bugs.webkit.org/show_bug.cgi?id=126856
898
899         Reviewed by Darin Adler.
900
901         - Do some initial cleanup before adding complete Latin-1 support.
902
903         * platform/text/TextBreakIterator.cpp:
904         Remove non-ICU acquireLineBreakIterator() implementation.
905
906         * platform/text/TextBreakIterator.h:
907         - Changes acquireLineBreakIterator() to take a StringView.
908
909         * platform/text/TextBreakIteratorICU.cpp:
910         - Refactor iterator initialization and setting of text on the iterator.
911         - Add support for using a Latin-1 provider (this is not currently used).
912
913         * platform/text/icu/UTextProviderLatin1.cpp:
914         * platform/text/icu/UTextProviderLatin1.h:
915         - Add back non-context aware Latin-1 provider (from r129662).
916         - Rename context aware provider.
917
918         * platform/text/icu/UTextProviderUTF16.cpp:
919         * platform/text/icu/UTextProviderUTF16.h:
920         - Rename context aware provider.
921
922 2014-01-12  Brent Fulgham  <bfulgham@apple.com>
923
924         [WebGL] Error messages should use source code labels, not internal mangled symbols.
925         https://bugs.webkit.org/show_bug.cgi?id=126832
926
927         Reviewed by Dean Jackson.
928
929         Revised fast/canvas/webgl/glsl-conformance.html.
930
931         * platform/graphics/ANGLEWebKitBridge.cpp:
932         (WebCore::getSymbolInfo): Correct missing 'break'.
933         (WebCore::ANGLEWebKitBridge::compileShaderSource): Call 'getSymbolInfo'
934         for SH_VARYINGS.
935         * platform/graphics/GraphicsContext3D.h: Add new declarations.
936         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
937         (WebCore::GraphicsContext3D::compileShader): Demangle log output.
938         (WebCore::GraphicsContext3D::mappedSymbolName): Added.
939         (WebCore::GraphicsContext3D::getUnmangledInfoLog): Added.
940         (WebCore::GraphicsContext3D::getProgramInfoLog): Demangle log output.
941         (WebCore::GraphicsContext3D::getShaderInfoLog): Demangle log output.
942
943 2014-01-12  Dan Bernstein  <mitz@apple.com>
944
945         Try to fix the Windows build after r161839.
946
947         * WebCore.vcxproj/WebCoreCommon.props:
948
949 2014-01-12  Darin Adler  <darin@apple.com>
950
951         Reduce use of String::characters
952         https://bugs.webkit.org/show_bug.cgi?id=126854
953
954         Reviewed by Sam Weinig.
955
956         * bindings/objc/WebScriptObject.mm:
957         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
958         Get rid of unneeded code to turn a WTF::String into an NSString, since that's
959         built into the WTF::String class.
960
961         * editing/CompositeEditCommand.cpp:
962         (WebCore::containsOnlyWhitespace): Use WTF::String's [] operator instead of
963         an explicit call to the characters function. Small performance cost.
964         * editing/TypingCommand.cpp:
965         (WebCore::TypingCommand::insertText): Ditto.
966
967         * editing/VisibleUnits.cpp:
968         (WebCore::startOfParagraph): Use reverseFind instead of writing our own loop.
969         (WebCore::endOfParagraph): Use find instead of writing our own loop.
970
971         * html/parser/HTMLParserIdioms.cpp:
972         (WebCore::stripLeadingAndTrailingHTMLSpaces): Use characters16 instead of
973         characters since we have already checked is8Bit.
974         (WebCore::parseHTMLNonNegativeInteger): Ditto. Replace the length check with
975         a check of isNull since a zero length string could be 8 bit, but it's not
976         safe to call is8Bit on a null WTF::String. (That should probably be fixed.)
977
978         * inspector/ContentSearchUtils.cpp:
979         (WebCore::ContentSearchUtils::createSearchRegexSource): Use StringBuilder
980         instead of String in code that builds up a string one character at a time.
981         The old way was ridiculously slow because it allocated a new string for every
982         character; the new way still isn't all that efficient, but it's better. Also
983         changed to use strchr instead of WTF::String::find for special characters.
984
985         * inspector/InspectorStyleSheet.cpp:
986         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Use WTF::String's
987         [] operator instead of an explicit call to the characters function.
988         * inspector/InspectorStyleTextEditor.cpp:
989         (WebCore::InspectorStyleTextEditor::insertProperty): Ditto.
990         (WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.
991         * platform/Length.cpp:
992         (WebCore::newCoordsArray): Ditto.
993
994         * platform/LinkHash.cpp:
995         (WebCore::visitedLinkHash): Use characters16 instead of characters since
996         we have already checked is8Bit. Replace the length check with a check of
997         isNull (as above in parseHTMLNonNegativeInteger).
998
999         * platform/graphics/Color.cpp:
1000         (WebCore::Color::parseHexColor): Use characters16 since we already checked is8Bit.
1001         (WebCore::Color::Color): Ditto.
1002
1003         * platform/graphics/TextRun.h:
1004         (WebCore::TextRun::TextRun): Use characters16 instead of characters since
1005         we have already checked is8Bit. Replace the length check with a check of
1006         isNull (as above in parseHTMLNonNegativeInteger).
1007
1008         * platform/text/TextEncodingRegistry.cpp:
1009         (WebCore::atomicCanonicalTextEncodingName): Use characters16 instead of
1010         characters since we already checked is8Bit. Also use isEmpty instead of !length.
1011
1012         * rendering/RenderBlock.cpp:
1013         (WebCore::RenderBlock::constructTextRun): Use characters16 instead of characters
1014         since we have already checked is8Bit. Replace the length check with a check of
1015         isNull (as above in parseHTMLNonNegativeInteger).
1016
1017         * rendering/RenderCombineText.cpp:
1018         (WebCore::RenderCombineText::width): Check for zero length instead of checking
1019         for null characters.
1020
1021         * svg/SVGFontElement.cpp:
1022         (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Rewrite ligatures
1023         for loop and give local variables a better name. Construct the substring with
1024         the substring function. Still a really inefficient approach -- allocating a new
1025         string for every character is absurdly expensive.
1026
1027         * xml/XPathFunctions.cpp:
1028         (WebCore::XPath::FunId::evaluate): Use String instead of StringBuilder. Still
1029         not all that efficient, but better than before. Use substring to construct the
1030         substring.
1031
1032         * xml/XPathNodeSet.h: Added begin and end functions so we can use a C++11 for
1033         loop with this class.
1034
1035 2014-01-12  Benjamin Poulain  <benjamin@webkit.org>
1036
1037         Use the Selector Code Generator for matching in SelectorQuery
1038         https://bugs.webkit.org/show_bug.cgi?id=126185
1039
1040         Reviewed by Ryosuke Niwa.
1041
1042         Compile selectors on demand and use the generated binary to perform
1043         element matching in SelectorQuery.
1044
1045         Tests: fast/selectors/querySelector-long-adjacent-backtracking.html
1046                fast/selectors/querySelector-long-child-backtracking.html
1047                fast/selectors/querySelector-mixed-child-adjacent-backtracking.html
1048                fast/selectors/querySelector-multiple-simple-child-backtracking.html
1049                fast/selectors/querySelector-simple-adjacent-backtracking.html
1050                fast/selectors/querySelector-simple-child-backtracking.html
1051
1052         * dom/SelectorQuery.cpp:
1053         (WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker):
1054         (WebCore::SelectorDataList::executeCompiledSelectorCheckerWithContext):
1055         (WebCore::SelectorDataList::execute):
1056         * dom/SelectorQuery.h:
1057
1058 2014-01-12  Anders Carlsson  <andersca@apple.com>
1059
1060         Simplify creation of XMLHttpRequestStaticData
1061         https://bugs.webkit.org/show_bug.cgi?id=126852
1062
1063         Reviewed by Sam Weinig.
1064
1065         Add a staticData() getter that does the initialization and get rid of the explicit
1066         calls to initializeXMLHttpRequestStaticData().
1067
1068         * xml/XMLHttpRequest.cpp:
1069         (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
1070         (WebCore::staticData):
1071         (WebCore::XMLHttpRequest::XMLHttpRequest):
1072         (WebCore::XMLHttpRequest::isAllowedHTTPHeader):
1073
1074 2014-01-12  Simon Fraser  <simon.fraser@apple.com>
1075
1076         Final WebCore link error: update a symbol in WebCoreSystemInterfaceIOS.mm.
1077
1078         * platform/ios/WebCoreSystemInterfaceIOS.mm:
1079
1080 2014-01-12  Anders Carlsson  <andersca@apple.com>
1081
1082         Use std::call_once instead of AtomicallyInitializedStatic in DatabaseBackendBase
1083         https://bugs.webkit.org/show_bug.cgi?id=126851
1084
1085         Reviewed by Sam Weinig.
1086
1087         * Modules/webdatabase/DatabaseBackendBase.cpp:
1088         (WebCore::guidMutex):
1089         (WebCore::guidToVersionMap):
1090         (WebCore::updateGuidVersionMap):
1091         (WebCore::guidToDatabaseMap):
1092         (WebCore::guidForOriginAndName):
1093         (WebCore::DatabaseBackendBase::DatabaseBackendBase):
1094         (WebCore::DatabaseBackendBase::closeDatabase):
1095         (WebCore::DatabaseBackendBase::performOpenAndVerify):
1096         (WebCore::DatabaseBackendBase::getCachedVersion):
1097         (WebCore::DatabaseBackendBase::setCachedVersion):
1098
1099 2014-01-12  Dan Bernstein  <mitz@apple.com>
1100
1101         Try to fix the Windows build after r161830.
1102
1103         * platform/network/NetworkStateNotifier.h:
1104
1105 2014-01-12  Simon Fraser  <simon.fraser@apple.com>
1106
1107         Don't build JSTouch* and JSGesture* files on Mac.
1108
1109         * Configurations/WebCore.xcconfig:
1110
1111 2014-01-12  Anders Carlsson  <andersca@apple.com>
1112
1113         Clean up NetworkStateNotifier class
1114         https://bugs.webkit.org/show_bug.cgi?id=126850
1115
1116         Reviewed by Andreas Kling.
1117
1118         Use std::call_once instead of AtomicallyInitializedStatic and a std::function
1119         instead of a custom function pointer typedef.
1120
1121         * platform/network/NetworkStateNotifier.cpp:
1122         (WebCore::networkStateNotifier):
1123         (WebCore::NetworkStateNotifier::addNetworkStateChangeListener):
1124         (WebCore::NetworkStateNotifier::notifyNetworkStateChange):
1125         * platform/network/NetworkStateNotifier.h:
1126
1127 2014-01-12  Simon Fraser  <simon.fraser@apple.com>
1128
1129         Add implementations of Frame::viewportArguments() and
1130         Frame::setViewportArguments().
1131
1132         * page/ios/FrameIOS.mm:
1133         (WebCore::Frame::viewportArguments):
1134         (WebCore::Frame::setViewportArguments):
1135
1136 2014-01-12  Simon Fraser  <simon.fraser@apple.com>
1137
1138         Add JSWebKitPlaybackTargetAvailabilityEvent.* to the project.
1139
1140         * WebCore.xcodeproj/project.pbxproj:
1141
1142 2014-01-12  Simon Fraser  <simon.fraser@apple.com>
1143
1144         Stub out some DragImage functions for iOS.
1145         
1146         * WebCore.xcodeproj/project.pbxproj:
1147         * platform/ios/DragImageIOS.mm: Added.
1148         (WebCore::dragImageSize):
1149         (WebCore::scaleDragImage):
1150         (WebCore::createDragImageFromImage):
1151
1152 2014-01-12  Simon Fraser  <simon.fraser@apple.com>
1153
1154         We need DragImage.cpp code even when ENABLE_DRAG_SUPPORT is
1155         not defined, because these are actually generic snapshotting
1156         functions.
1157
1158         * platform/DragImage.cpp:
1159
1160 2014-01-12  Simon Fraser  <simon.fraser@apple.com>
1161
1162         Fix linker errors: add DateTimeFormat.cpp to the project,
1163         and make DateInputType::DateInputType not inline.
1164
1165         * WebCore.xcodeproj/project.pbxproj:
1166         * html/DateInputType.cpp:
1167         (WebCore::DateInputType::DateInputType):
1168         * platform/DragImage.cpp:
1169
1170 2014-01-12  Simon Fraser  <simon.fraser@apple.com>
1171
1172         Fix a bunch of linker errors related to exported functions.
1173         I removed some iOS symbols from the .exp.in file; we may have
1174         to add some back.
1175
1176         * WebCore.exp.in:
1177
1178 2014-01-12  Simon Fraser  <simon.fraser@apple.com>
1179
1180         Add generated JSTouch* and JSGestureEvent.* files to the project.
1181
1182         * WebCore.xcodeproj/project.pbxproj:
1183
1184 2014-01-12  David Kilzer  <ddkilzer@apple.com>
1185
1186         Move implementation of AuthenticationChallenge::setAuthenticationClient() to source file for USE(CFNETWORK)
1187         <http://webkit.org/b/126848>
1188
1189         Reviewed by Simon Fraser.
1190
1191         * platform/network/cf/AuthenticationCF.cpp:
1192         (WebCore::AuthenticationChallenge::setAuthenticationClient):
1193         Move implementation to here...
1194         * platform/network/cf/AuthenticationChallenge.h: ...from here.
1195         Remove duplicate header definitions inside USE(CFNETWORK).
1196
1197 2014-01-12  Sam Weinig  <sam@webkit.org>
1198
1199         Fix windows.
1200
1201         * WebCore.vcxproj/WebCore.vcxproj:
1202
1203 2014-01-12  Anders Carlsson  <andersca@apple.com>
1204
1205         Replace more uses of AtomicallyInitializedStatic with std::call_once
1206         https://bugs.webkit.org/show_bug.cgi?id=126847
1207
1208         Reviewed by Sam Weinig.
1209
1210         * crypto/CryptoAlgorithmRegistry.cpp:
1211         (WebCore::CryptoAlgorithmRegistry::shared):
1212         (WebCore::registryMutex):
1213         (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
1214         (WebCore::CryptoAlgorithmRegistry::nameForIdentifier):
1215         (WebCore::CryptoAlgorithmRegistry::create):
1216         (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
1217         * crypto/CryptoAlgorithmRegistry.h:
1218         * inspector/WorkerDebuggerAgent.cpp:
1219         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
1220         (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
1221         (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
1222         * workers/WorkerThread.cpp:
1223         (WebCore::threadSetMutex):
1224         (WebCore::workerThreads):
1225         (WebCore::WorkerThread::workerThreadCount):
1226         (WebCore::WorkerThread::WorkerThread):
1227         (WebCore::WorkerThread::~WorkerThread):
1228         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
1229
1230 2014-01-11  Sam Weinig  <sam@webkit.org>
1231
1232         Split ICU UText providers out into their own files
1233         https://bugs.webkit.org/show_bug.cgi?id=126834
1234
1235         Reviewed by Anders Carlsson.
1236
1237         Moves the implementation of our custom UText providers out into
1238         their own files.
1239         - UTextProviderLatin1.h/cpp contains the Latin-1 provider.
1240         - UTextProviderUTF16.h/cpp contains the UTF-16 provider.
1241         - UTextProvider.h/cpp contains code common to all the providers.
1242
1243         * CMakeLists.txt:
1244         * GNUmakefile.list.am:
1245         * PlatformGTK.cmake:
1246         * WebCore.vcxproj/WebCoreCommon.props:
1247         * WebCore.vcxproj/copyForwardingHeaders.cmd:
1248         * WebCore.xcodeproj/project.pbxproj:
1249         * platform/text/TextAllInOne.cpp:
1250         * platform/text/TextBreakIteratorICU.cpp:
1251         (WebCore::setUpIterator):
1252         (WebCore::wordBreakIterator):
1253         (WebCore::acquireLineBreakIterator):
1254         (WebCore::sentenceBreakIterator):
1255         (WebCore::setUpIteratorWithRules):
1256         * platform/text/icu: Added.
1257         * platform/text/icu/UTextProvider.cpp: Added.
1258         (WebCore::fixPointer):
1259         (WebCore::uTextCloneImpl):
1260         * platform/text/icu/UTextProvider.h: Added.
1261         (WebCore::uTextProviderContext):
1262         (WebCore::uTextInitialize):
1263         (WebCore::uTextAccessPinIndex):
1264         (WebCore::uTextAccessInChunkOrOutOfRange):
1265         * platform/text/icu/UTextProviderLatin1.cpp: Added.
1266         * platform/text/icu/UTextProviderLatin1.h: Added.
1267         * platform/text/icu/UTextProviderUTF16.cpp: Added.
1268         * platform/text/icu/UTextProviderUTF16.h: Added.
1269
1270 2014-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1271
1272         Unreviewed. Fix make distcheck.
1273
1274         * GNUmakefile.list.am: Add missing files.
1275
1276 2014-01-12  Simon Fraser  <simon.fraser@apple.com>
1277
1278         Fix some CoreVideo linker errors on iOS by softlinking with more CoreVideo
1279         symbols.
1280
1281         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1282
1283 2014-01-12  Andreas Kling  <akling@apple.com>
1284
1285         REGRESSION(r160806): line-height is not applied when only present in :link style.
1286         <http://webkit.org/b/126839>
1287         <rdar://problem/15799899>
1288
1289         Reviewed by Antti Koivisto.
1290
1291         Test: fast/css/line-height-link-style.html
1292
1293         * css/StyleResolver.cpp:
1294         (WebCore::StyleResolver::CascadedProperties::Property::apply):
1295
1296             Use the CSSValue for SelectorChecker::MatchLink when applying
1297             style inside a link.
1298
1299 2014-01-12  David Kilzer  <ddkilzer@apple.com>
1300
1301         [iOS] Fix link errors for iOS: Part 3
1302
1303         * WebCore.exp.in:
1304         - Move some Mac-only symbols to Mac-only section.
1305         * WebCore.xcodeproj/project.pbxproj:
1306         - Add missing references to AuthenticationCF.cpp and
1307           CookieJarCFNet.cpp.
1308
1309 2014-01-11  Anders Carlsson  <andersca@apple.com>
1310
1311         Remove unsafe uses of AtomicallyInitializedStatic
1312         https://bugs.webkit.org/show_bug.cgi?id=126838
1313
1314         Reviewed by Andreas Kling.
1315
1316         AtomicStrings are per thread so any static initialization of them is potentially dangerous
1317         unless it's certain that they're only ever used from the same thread.
1318         
1319         This goes against using them with AtomicallyInitializedStatic, so just create AtomicStrings where needed.
1320         (This is highly unlikely to have any real negative performance impact since these two functions
1321         aren't called very frequently).
1322
1323         * loader/CrossOriginAccessControl.cpp:
1324         (WebCore::passesAccessControlCheck):
1325         * page/PerformanceResourceTiming.cpp:
1326         (WebCore::passesTimingAllowCheck):
1327
1328 2014-01-12  David Kilzer  <ddkilzer@apple.com>
1329
1330         [iOS] Fix link errors for iOS: Part 2
1331
1332         * WebCore.exp.in:
1333         - Move some Mac-only symbols to Mac-only section.
1334
1335 2014-01-12  David Kilzer  <ddkilzer@apple.com>
1336
1337         [iOS] First of many iOS fixes to WebCore.exp.in
1338
1339         * WebCore.exp.in:
1340         - Move some Mac-only symbols to Mac-only section.
1341         - Upstream some changes to iOS-only section.
1342
1343 2014-01-12  David Kilzer  <ddkilzer@apple.com>
1344
1345         [iOS] Don't link to Mac-only frameworks when building iOS
1346         <http://webkit.org/b/126841>
1347
1348         * Configurations/WebCore.xcconfig:
1349         (OTHER_LDFLAGS_iphonesimulator): Remove common frameworks that
1350         are already in the Xcode project.
1351         (OTHER_LDFLAGS_macosx): Add Mac-only frameworks removed from the
1352         Xcode project.
1353         * Configurations/WebCoreTestShim.xcconfig:
1354         (OTHER_LDFLAGS[sdk=macosx*]): Link to Carbon.framework for Mac
1355         since it was removed from the Xcode project.
1356         * WebCore.xcodeproj/project.pbxproj: Remove Mac-only frameworks.
1357
1358 2014-01-12  Tobias Mueller  <tobiasmue@gnome.org>
1359
1360         --disable-dependency-tracking causes build failure due to missing directories
1361         https://bugs.webkit.org/show_bug.cgi?id=94488
1362         
1363         Reviewed by Gustavo Noronha Silva.
1364
1365         Ensure output directory existing
1366         before generating DerivedSources. This allows for
1367         --disable-dependency-tracking to be run.
1368
1369         * GNUmakefile.am: Added new target DerivedSources/ANGLE which is a directory to be created
1370         * bindings/gobject/GNUmakefile.am: Added new target DerivedSources/webkitdom which is a directory to be created
1371
1372 2014-01-12  David Kilzer  <ddkilzer@apple.com>
1373
1374         [iOS] WebFontCache is Mac-only
1375
1376         * WebCore.exp.in: Move export to Mac-only section.
1377
1378 2014-01-12  David Kilzer  <ddkilzer@apple.com>
1379
1380         [iOS] Upstream WebEventRegion.{h|mm} to fix the build
1381
1382         * WebCore.xcodeproj/project.pbxproj: Add to project.
1383         * page/ios/WebEventRegion.h: Added.
1384         * page/ios/WebEventRegion.mm: Added.
1385         (-[WebEventRegion initWithPoints::::]):
1386         (-[WebEventRegion copyWithZone:]):
1387         (-[WebEventRegion description]):
1388         (-[WebEventRegion hitTest:]):
1389         (-[WebEventRegion isEqual:]):
1390         (-[WebEventRegion quad]):
1391
1392 2014-01-11  Anders Carlsson  <andersca@apple.com>
1393
1394         Use std::call_once instead of AtomicallyInitializedStatic when creating a HTTP header set
1395         https://bugs.webkit.org/show_bug.cgi?id=126837
1396
1397         Reviewed by Sam Weinig.
1398
1399         Use std::call_once when constructing the HTTPHeaderSet.
1400
1401         * loader/CrossOriginAccessControl.cpp:
1402         (WebCore::isOnAccessControlResponseHeaderWhitelist):
1403
1404 2014-01-11  David Kilzer  <ddkilzer@apple.com>
1405
1406         [iOS] Do not link to ApplicationServices.framework for iOS
1407         <http://webkit.org/b/126835>
1408
1409         Reviewed by Dan Bernstein.
1410
1411         * Configurations/WebCore.xcconfig:
1412         (OTHER_LDFLAGS_macosx): Add -framework ApplicationServices.
1413         * WebCore.xcodeproj/project.pbxproj: Remove reference to
1414         ApplicationServices.framework.
1415
1416 2014-01-11  David Kilzer  <ddkilzer@apple.com>
1417
1418         [iOS] Build fix for StyleResolver.cpp
1419
1420         * rendering/style/RenderStyle.h:
1421         (WebCore::RenderStyle::setCompositionFillColor): Added.
1422
1423 2014-01-11  David Kilzer  <ddkilzer@apple.com>
1424
1425         [iOS] Fix build of RenderLayerCompositor::registerAllViewportConstrainedLayers()
1426
1427         * rendering/RenderLayerCompositor.cpp:
1428         (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
1429         Fix use of std::make_unique<>() and add an adoptPtr() call.
1430
1431 2014-01-11  Alexey Proskuryakov  <ap@apple.com>
1432
1433         [Mac] [Windows] Stop scheduling network requests in WebCore
1434         https://bugs.webkit.org/show_bug.cgi?id=126789
1435         <rdar://problem/15114727>
1436
1437         Reviewed by Sam Weinig.
1438
1439         We'll just send all requests to CFNetwork now, along with associated priorities.
1440
1441         * WebCore.exp.in: WebKitSystemInterface functions are changing to support priorities
1442         for more than just pipelining.
1443         * loader/ResourceLoadScheduler.cpp:
1444         (WebCore::ResourceLoadScheduler::scheduleLoad):
1445         * platform/ios/WebCoreSystemInterfaceIOS.mm:
1446         * platform/mac/WebCoreSystemInterface.h:
1447         * platform/mac/WebCoreSystemInterface.mm:
1448         * platform/network/ResourceHandle.h: For syncronous requests, make it so that they
1449         don't count against HTTP connection limit, to avoid the possibility of hanging the process.
1450         * platform/network/cf/ResourceHandleCFNet.cpp:
1451         (WebCore::ResourceHandle::createCFURLConnection):
1452         (WebCore::ResourceHandle::start):
1453         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
1454         * platform/network/cf/ResourceRequestCFNet.cpp:
1455         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1456         (WebCore::ResourceRequest::doUpdateResourceRequest):
1457         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
1458         (WebCore::initializeHTTPConnectionSettingsOnStartup):
1459         * platform/network/cf/ResourceRequestCFNet.h:
1460         (WebCore::toPlatformRequestPriority):
1461         * platform/network/mac/ResourceHandleMac.mm:
1462         (WebCore::ResourceHandle::createNSURLConnection):
1463         (WebCore::ResourceHandle::start):
1464         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
1465         * platform/network/mac/ResourceRequestMac.mm:
1466         (WebCore::ResourceRequest::doUpdateResourceRequest):
1467         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1468
1469 2014-01-11  David Kilzer  <ddkilzer@apple.com>
1470
1471         [iOS] Fix build failure in WebCore::findEndWordBoundary()
1472
1473         Filed Bug 126830 for the proper fix:
1474         <http://webkit.org/b/126830>
1475
1476         * editing/VisibleUnits.cpp:
1477         (WebCore::endWordBoundary): Switch back to using
1478         WebCore::findWordBoundary() on iOS.
1479
1480         * platform/text/mac/TextBoundaries.mm:
1481         (WebCore::findEndWordBoundary): Add FIXME for iOS implementation
1482         that doesn't use NSAttributedString.
1483
1484 2014-01-11  Andy Estes  <aestes@apple.com>
1485
1486         [iOS] Move text autosizing code from RenderBlock to RenderBlockFlow
1487         https://bugs.webkit.org/show_bug.cgi?id=126829
1488
1489         Reviewed by Sam Weinig.
1490
1491         Some newly-upstreamed iOS text autosizing code needs to move to
1492         RenderBlockFlow in order to build.
1493
1494         * rendering/RenderBlock.cpp:
1495         (WebCore::RenderBlock::RenderBlock):
1496         * rendering/RenderBlock.h:
1497         * rendering/RenderBlockFlow.cpp:
1498         (WebCore::RenderBlockFlow::RenderBlockFlow):
1499         (WebCore::isVisibleRenderText):
1500         (WebCore::resizeTextPermitted):
1501         (WebCore::RenderBlockFlow::immediateLineCount):
1502         (WebCore::isNonBlocksOrNonFixedHeightListItems):
1503         (WebCore::oneLineTextMultiplier):
1504         (WebCore::textMultiplier):
1505         (WebCore::RenderBlockFlow::adjustComputedFontSizes):
1506         * rendering/RenderBlockFlow.h:
1507         (WebCore::RenderBlockFlow::resetComputedFontSize):
1508         * rendering/RenderObject.cpp:
1509         (WebCore::RenderObject::adjustComputedFontSizesOnBlocks):
1510         (WebCore::RenderObject::resetTextAutosizing):
1511
1512 2014-01-11  Daniel Bates  <dabates@apple.com>
1513
1514         [iOS] Fix the build
1515
1516         Only call CGContextFlush() when building for OS X < 10.9.
1517
1518         * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
1519         (WebCore::ImageBufferBackingStoreCache::deallocate):
1520
1521 2014-01-11  Anders Carlsson  <andersca@apple.com>
1522
1523         InspectorAgentRegistry should use std::unique_ptr
1524         https://bugs.webkit.org/show_bug.cgi?id=126826
1525
1526         Reviewed by Sam Weinig.
1527
1528         * inspector/InspectorApplicationCacheAgent.h:
1529         * inspector/InspectorCSSAgent.h:
1530         * inspector/InspectorCanvasAgent.h:
1531         * inspector/InspectorController.cpp:
1532         (WebCore::InspectorController::InspectorController):
1533         * inspector/InspectorDOMAgent.h:
1534         * inspector/InspectorDOMDebuggerAgent.cpp:
1535         * inspector/InspectorDOMDebuggerAgent.h:
1536         * inspector/InspectorDOMStorageAgent.h:
1537         * inspector/InspectorDatabaseAgent.h:
1538         * inspector/InspectorHeapProfilerAgent.cpp:
1539         * inspector/InspectorHeapProfilerAgent.h:
1540         * inspector/InspectorIndexedDBAgent.h:
1541         * inspector/InspectorInputAgent.h:
1542         * inspector/InspectorLayerTreeAgent.h:
1543         * inspector/InspectorMemoryAgent.cpp:
1544         * inspector/InspectorMemoryAgent.h:
1545         * inspector/InspectorPageAgent.cpp:
1546         * inspector/InspectorPageAgent.h:
1547         * inspector/InspectorProfilerAgent.cpp:
1548         (WebCore::InspectorProfilerAgent::create):
1549         * inspector/InspectorProfilerAgent.h:
1550         * inspector/InspectorResourceAgent.h:
1551         * inspector/InspectorTimelineAgent.h:
1552         * inspector/InspectorWorkerAgent.cpp:
1553         * inspector/InspectorWorkerAgent.h:
1554         * inspector/PageConsoleAgent.h:
1555         * inspector/PageDebuggerAgent.cpp:
1556         * inspector/PageDebuggerAgent.h:
1557         * inspector/PageRuntimeAgent.h:
1558         * inspector/WorkerConsoleAgent.h:
1559         * inspector/WorkerDebuggerAgent.cpp:
1560         * inspector/WorkerDebuggerAgent.h:
1561         * inspector/WorkerInspectorController.cpp:
1562         (WebCore::WorkerInspectorController::WorkerInspectorController):
1563         * inspector/WorkerRuntimeAgent.h:
1564
1565 2014-01-11  Sam Weinig  <sam@webkit.org>
1566
1567         Extract the FormatConverter class out of GraphicsContext3D.cpp and into its own file
1568         https://bugs.webkit.org/show_bug.cgi?id=126820
1569
1570         Reviewed by Anders Carlsson.
1571
1572         * CMakeLists.txt:
1573         * GNUmakefile.list.am:
1574         * WebCore.vcxproj/WebCore.vcxproj:
1575         * WebCore.vcxproj/WebCore.vcxproj.filters:
1576         * WebCore.xcodeproj/project.pbxproj:
1577         * platform/graphics/FormatConverter.cpp: Copied from Source/WebCore/platform/graphics/GraphicsContext3D.cpp.
1578         (WebCore::convertFloatToHalfFloat):
1579         (WebCore::FormatConverter::convert):
1580         * platform/graphics/FormatConverter.h: Copied from Source/WebCore/platform/graphics/GraphicsContext3D.cpp.
1581         (WebCore::FormatConverter::FormatConverter):
1582         (WebCore::FormatConverter::success):
1583         * platform/graphics/GraphicsContext3D.cpp:
1584         (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
1585         (WebCore::GraphicsContext3D::computeImageSizeInBytes):
1586         (WebCore::GraphicsContext3D::packImageData):
1587         (WebCore::GraphicsContext3D::extractImageData):
1588         (WebCore::GraphicsContext3D::extractTextureData):
1589         (WebCore::GraphicsContext3D::packPixels):
1590         * platform/graphics/GraphicsContext3D.h:
1591         (WebCore::GraphicsContext3D::hasAlpha):
1592         (WebCore::GraphicsContext3D::hasColor):
1593
1594 2014-01-11  Simon Fraser  <simon.fraser@apple.com>
1595
1596         Fix updateScrollingLayerWithClient() for iOS.
1597         
1598         * rendering/RenderLayerCompositor.cpp:
1599         (WebCore::updateScrollingLayerWithClient):
1600
1601 2014-01-11  Simon Fraser  <simon.fraser@apple.com>
1602
1603         Unfork GraphicsContext::drawNativeImage for iOS
1604         https://bugs.webkit.org/show_bug.cgi?id=126824
1605
1606         Reviewed by Dean Jackson.
1607
1608         GraphicsContext::drawNativeImage had a different signature for iOS,
1609         which required #ifdefs at all the call sites. Unfork by passing the "scale"
1610         parameter everywhere (it's only used on iOS).
1611
1612         * WebCore.exp.in:
1613         * html/canvas/CanvasRenderingContext2D.cpp:
1614         (WebCore::CanvasRenderingContext2D::drawImage):
1615         * platform/graphics/GraphicsContext.h:
1616         * platform/graphics/cg/BitmapImageCG.cpp:
1617         (WebCore::BitmapImage::draw):
1618         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1619         (WebCore::GraphicsContext3D::paintToCanvas):
1620         * platform/graphics/cg/GraphicsContextCG.cpp:
1621         (WebCore::GraphicsContext::platformInit):
1622         * platform/graphics/cg/ImageBufferCG.cpp:
1623         (WebCore::ImageBuffer::draw):
1624         * platform/graphics/ios/IconIOS.mm:
1625         (WebCore::Icon::paint):
1626
1627 2014-01-11  Simon Fraser  <simon.fraser@apple.com>
1628
1629         Work around USE(CFNETWORK) build failure on iOS.
1630
1631         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1632         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):
1633
1634 2014-01-11  Simon Fraser  <simon.fraser@apple.com>
1635
1636         Fix LegacyWebArchive.cpp:567:91: error: calling 'utf8' with incomplete return type 'WTF::CString'
1637         
1638         * loader/archive/cf/LegacyWebArchive.cpp:
1639
1640 2014-01-11  David Kilzer  <ddkilzer@apple.com>
1641
1642         [iOS] Fix the easy half of the build errors in RenderBlock.cpp
1643
1644         * rendering/RenderBlock.cpp:
1645         (WebCore::isNonBlocksOrNonFixedHeightListItems):
1646         (WebCore::oneLineTextMultiplier):
1647         (WebCore::textMultiplier):
1648         (WebCore::RenderBlock::adjustComputedFontSizes):
1649
1650 2014-01-11  Simon Fraser  <simon.fraser@apple.com>
1651
1652         Change touch-related headers to include WebKitAdditions headers,
1653         which have been renamed to have IOS suffixes.
1654
1655         * WebCore.xcodeproj/project.pbxproj:
1656         * bindings/js/ios/TouchConstructors.cpp:
1657         * dom/Touch.h:
1658         * dom/TouchEvent.h:
1659         * dom/TouchList.h:
1660         * dom/ios/TouchEvents.cpp:
1661
1662 2014-01-11  Anders Carlsson  <andersca@apple.com>
1663
1664         ScriptDebugServer should use a separate member function for its timer handler
1665         https://bugs.webkit.org/show_bug.cgi?id=126819
1666
1667         Reviewed by Sam Weinig.
1668
1669         It's weird to have subclasses override a timer handler and sometimes invoke 
1670         the timer handler directly so make it a separate member function instead.
1671
1672         * bindings/js/PageScriptDebugServer.cpp:
1673         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1674         * bindings/js/PageScriptDebugServer.h:
1675         * bindings/js/ScriptDebugServer.cpp:
1676         (WebCore::ScriptDebugServer::ScriptDebugServer):
1677         (WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
1678         * bindings/js/ScriptDebugServer.h:
1679         * bindings/js/WorkerScriptDebugServer.cpp:
1680         (WebCore::WorkerScriptDebugServer::addListener):
1681         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1682         * bindings/js/WorkerScriptDebugServer.h:
1683         * inspector/InspectorProfilerAgent.cpp:
1684         (WebCore::InspectorProfilerAgent::start):
1685
1686 2014-01-11  Anders Carlsson  <andersca@apple.com>
1687
1688         Simplify Timer and DeferrableOneShotTimer using std::function
1689         https://bugs.webkit.org/show_bug.cgi?id=126816
1690
1691         Reviewed by Sam Weinig.
1692
1693         * platform/Timer.h:
1694         (WebCore::Timer::Timer):
1695
1696 2014-01-11  Anders Carlsson  <andersca@apple.com>
1697
1698         CTTE Timer and DeferrableOneShotTimer
1699         https://bugs.webkit.org/show_bug.cgi?id=126814
1700
1701         Reviewed by Antti Koivisto.
1702
1703         Add new Timer and DeferrableOneShotTimer constructors whose member function pointers
1704         take a reference instead of a pointer.
1705         Also, convert a bunch of classes over to using these new constructors.
1706
1707         * Modules/encryptedmedia/MediaKeySession.cpp:
1708         (WebCore::MediaKeySession::keyRequestTimerFired):
1709         (WebCore::MediaKeySession::addKeyTimerFired):
1710         * Modules/encryptedmedia/MediaKeySession.h:
1711         * Modules/geolocation/Geolocation.cpp:
1712         (WebCore::Geolocation::GeoNotifier::timerFired):
1713         (WebCore::Geolocation::resumeTimerFired):
1714         * Modules/geolocation/Geolocation.h:
1715         * Modules/indexeddb/IDBTransactionBackend.cpp:
1716         (WebCore::IDBTransactionBackend::taskTimerFired):
1717         * Modules/indexeddb/IDBTransactionBackend.h:
1718         * Modules/mediasource/SourceBuffer.cpp:
1719         (WebCore::SourceBuffer::appendBufferTimerFired):
1720         * Modules/mediasource/SourceBuffer.h:
1721         * Modules/notifications/Notification.cpp:
1722         (WebCore::Notification::taskTimerFired):
1723         * Modules/notifications/Notification.h:
1724         * Modules/notifications/NotificationCenter.cpp:
1725         (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
1726         * Modules/notifications/NotificationCenter.h:
1727         * accessibility/AXObjectCache.cpp:
1728         (WebCore::AXObjectCache::notificationPostTimerFired):
1729         * accessibility/AXObjectCache.h:
1730         * css/CSSFontSelector.cpp:
1731         (WebCore::CSSFontSelector::beginLoadTimerFired):
1732         * css/CSSFontSelector.h:
1733         * css/CSSImageGeneratorValue.cpp:
1734         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::evictionTimerFired):
1735         * css/CSSImageGeneratorValue.h:
1736         * dom/Document.cpp:
1737         (WebCore::Document::visualUpdatesSuppressionTimerFired):
1738         (WebCore::Document::styleRecalcTimerFired):
1739         (WebCore::Document::optimizedStyleSheetUpdateTimerFired):
1740         (WebCore::Document::sharedObjectPoolClearTimerFired):
1741         (WebCore::Document::styleResolverThrowawayTimerFired):
1742         (WebCore::Document::updateFocusAppearanceTimerFired):
1743         (WebCore::Document::resetHiddenFocusElementTimer):
1744         (WebCore::Document::pendingTasksTimerFired):
1745         (WebCore::Document::fullScreenChangeDelayTimerFired):
1746         (WebCore::Document::loadEventDelayTimerFired):
1747         (WebCore::Document::didAssociateFormControlsTimerFired):
1748         * dom/Document.h:
1749         * dom/EventSender.h:
1750         (WebCore::EventSender::timerFired):
1751         * dom/GenericEventQueue.cpp:
1752         (WebCore::GenericEventQueue::timerFired):
1753         * dom/GenericEventQueue.h:
1754         * dom/ScriptRunner.cpp:
1755         (WebCore::ScriptRunner::timerFired):
1756         * dom/ScriptRunner.h:
1757         * dom/ScriptedAnimationController.cpp:
1758         (WebCore::ScriptedAnimationController::animationTimerFired):
1759         * dom/ScriptedAnimationController.h:
1760         * editing/AlternativeTextController.cpp:
1761         (WebCore::AlternativeTextController::timerFired):
1762         * editing/AlternativeTextController.h:
1763         * editing/FrameSelection.cpp:
1764         (WebCore::FrameSelection::caretBlinkTimerFired):
1765         * editing/FrameSelection.h:
1766         * html/HTMLMediaElement.cpp:
1767         (WebCore::HTMLMediaElement::parseAttribute):
1768         * html/HTMLMediaElement.h:
1769         * html/HTMLPlugInElement.cpp:
1770         (WebCore::HTMLPlugInElement::swapRendererTimerFired):
1771         * html/HTMLPlugInElement.h:
1772         * html/HTMLPlugInImageElement.cpp:
1773         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
1774         (WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired):
1775         * html/HTMLPlugInImageElement.h:
1776         * html/HTMLSourceElement.cpp:
1777         (WebCore::HTMLSourceElement::errorEventTimerFired):
1778         * html/HTMLSourceElement.h:
1779         * html/HTMLTrackElement.cpp:
1780         (WebCore::HTMLTrackElement::loadTimerFired):
1781         * html/HTMLTrackElement.h:
1782         * html/MediaController.cpp:
1783         (MediaController::asyncEventTimerFired):
1784         (MediaController::clearPositionTimerFired):
1785         (MediaController::timeupdateTimerFired):
1786         * html/MediaController.h:
1787         * html/MediaDocument.cpp:
1788         (WebCore::MediaDocument::replaceMediaElementTimerFired):
1789         * html/MediaDocument.h:
1790         * html/parser/HTMLParserScheduler.cpp:
1791         (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
1792         * html/parser/HTMLParserScheduler.h:
1793         * html/shadow/MediaControlElementTypes.cpp:
1794         (WebCore::MediaControlSeekButtonElement::seekTimerFired):
1795         * html/shadow/MediaControlElementTypes.h:
1796         * html/shadow/MediaControlElements.cpp:
1797         (WebCore::MediaControlPanelElement::transitionTimerFired):
1798         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
1799         * html/shadow/MediaControlElements.h:
1800         * html/shadow/MediaControls.cpp:
1801         (WebCore::MediaControls::hideFullscreenControlsTimerFired):
1802         * html/shadow/MediaControls.h:
1803         * html/track/LoadableTextTrack.cpp:
1804         (WebCore::LoadableTextTrack::loadTimerFired):
1805         * html/track/LoadableTextTrack.h:
1806         * inspector/InspectorCSSAgent.cpp:
1807         (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask):
1808         (WebCore::UpdateRegionLayoutTask::timerFired):
1809         (WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask):
1810         (WebCore::ChangeRegionOversetTask::timerFired):
1811         * inspector/InspectorDOMAgent.cpp:
1812         (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
1813         (WebCore::RevalidateStyleAttributeTask::timerFired):
1814         * inspector/InspectorFrontendClientLocal.cpp:
1815         (WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
1816         (WebCore::InspectorBackendDispatchTask::timerFired):
1817         * loader/DocumentLoader.cpp:
1818         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
1819         * loader/DocumentLoader.h:
1820         * loader/FrameLoader.cpp:
1821         (WebCore::FrameLoader::checkTimerFired):
1822         * loader/FrameLoader.h:
1823         * loader/ImageLoader.cpp:
1824         (WebCore::ImageLoader::timerFired):
1825         * loader/ImageLoader.h:
1826         * loader/LinkLoader.cpp:
1827         (WebCore::LinkLoader::linkLoadTimerFired):
1828         (WebCore::LinkLoader::linkLoadingErrorTimerFired):
1829         * loader/LinkLoader.h:
1830         * loader/NavigationScheduler.cpp:
1831         (WebCore::NavigationScheduler::timerFired):
1832         * loader/NavigationScheduler.h:
1833         * loader/PingLoader.cpp:
1834         (WebCore::PingLoader::PingLoader):
1835         * loader/PingLoader.h:
1836         (WebCore::PingLoader::timeoutTimerFired):
1837         * loader/ProgressTracker.cpp:
1838         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
1839         * loader/ProgressTracker.h:
1840         * loader/ResourceLoadScheduler.cpp:
1841         (WebCore::ResourceLoadScheduler::requestTimerFired):
1842         * loader/ResourceLoadScheduler.h:
1843         * loader/cache/CachedResource.cpp:
1844         (WebCore::CachedResource::decodedDataDeletionTimerFired):
1845         (WebCore::CachedResource::CachedResourceCallback::timerFired):
1846         * loader/cache/CachedResource.h:
1847         * loader/cache/CachedResourceLoader.cpp:
1848         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
1849         * loader/cache/CachedResourceLoader.h:
1850         * loader/icon/IconDatabase.cpp:
1851         (WebCore::IconDatabase::syncTimerFired):
1852         * loader/icon/IconDatabase.h:
1853         * page/AutoscrollController.cpp:
1854         (WebCore::AutoscrollController::autoscrollTimerFired):
1855         * page/AutoscrollController.h:
1856         * page/CaptionUserPreferences.cpp:
1857         (WebCore::CaptionUserPreferences::timerFired):
1858         * page/CaptionUserPreferences.h:
1859         * page/DeviceController.cpp:
1860         (WebCore::DeviceController::fireDeviceEvent):
1861         * page/DeviceController.h:
1862         * page/EventHandler.cpp:
1863         (WebCore::EventHandler::cursorUpdateTimerFired):
1864         (WebCore::EventHandler::autoHideCursorTimerFired):
1865         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
1866         (WebCore::EventHandler::hoverTimerFired):
1867         * page/EventHandler.h:
1868         * page/EventSource.cpp:
1869         (WebCore::EventSource::connectTimerFired):
1870         * page/EventSource.h:
1871         * page/FrameView.cpp:
1872         (WebCore::FrameView::deferredRepaintTimerFired):
1873         (WebCore::FrameView::layoutTimerFired):
1874         (WebCore::FrameView::postLayoutTimerFired):
1875         * page/FrameView.h:
1876         * page/PageThrottler.cpp:
1877         (WebCore::PageThrottler::throttleHysteresisTimerFired):
1878         * page/PageThrottler.h:
1879         * page/animation/AnimationController.cpp:
1880         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
1881         (WebCore::AnimationControllerPrivate::animationTimerFired):
1882         * page/animation/AnimationControllerPrivate.h:
1883         * platform/Scrollbar.cpp:
1884         (WebCore::Scrollbar::autoscrollTimerFired):
1885         * platform/Scrollbar.h:
1886         * platform/Timer.h:
1887         (WebCore::Timer::Timer):
1888         (WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer):
1889         * platform/graphics/BitmapImage.cpp:
1890         (WebCore::BitmapImage::advanceAnimation):
1891         * platform/graphics/BitmapImage.h:
1892         * platform/graphics/MediaPlayer.cpp:
1893         (WebCore::MediaPlayer::reloadTimerFired):
1894         * platform/graphics/MediaPlayer.h:
1895         * platform/graphics/ca/mac/LayerPool.h:
1896         * platform/graphics/ca/mac/LayerPool.mm:
1897         (WebCore::LayerPool::pruneTimerFired):
1898         * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
1899         (WebCore::ImageBufferBackingStoreCache::timerFired):
1900         * platform/graphics/cg/ImageBufferBackingStoreCache.h:
1901         * platform/graphics/cg/SubimageCacheWithTimer.cpp:
1902         (WebCore::SubimageCacheWithTimer::invalidateCacheTimerFired):
1903         * platform/graphics/cg/SubimageCacheWithTimer.h:
1904         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1905         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1906         (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
1907         * platform/mac/ScrollAnimatorMac.h:
1908         * platform/mac/ScrollAnimatorMac.mm:
1909         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
1910         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
1911         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
1912         * platform/mock/DeviceOrientationClientMock.cpp:
1913         (WebCore::DeviceOrientationClientMock::timerFired):
1914         * platform/mock/DeviceOrientationClientMock.h:
1915         * platform/network/NetworkStateNotifier.h:
1916         * platform/network/ResourceHandle.cpp:
1917         (WebCore::ResourceHandle::failureTimerFired):
1918         * platform/network/ResourceHandle.h:
1919         * platform/network/ResourceHandleInternal.h:
1920         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1921         * platform/network/mac/NetworkStateNotifierMac.cpp:
1922         (WebCore::NetworkStateNotifier::networkStateChangeTimerFired):
1923         * rendering/ImageQualityController.cpp:
1924         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
1925         * rendering/ImageQualityController.h:
1926         * rendering/RenderButton.cpp:
1927         (WebCore::RenderButton::timerFired):
1928         * rendering/RenderButton.h:
1929         * rendering/RenderLayerCompositor.cpp:
1930         (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
1931         (WebCore::RenderLayerCompositor::layerFlushTimerFired):
1932         (WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):
1933         * rendering/RenderLayerCompositor.h:
1934         * rendering/RenderMarquee.cpp:
1935         (WebCore::RenderMarquee::timerFired):
1936         * rendering/RenderMarquee.h:
1937         * rendering/RenderNamedFlowThread.cpp:
1938         (WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
1939         (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
1940         * rendering/RenderNamedFlowThread.h:
1941         * rendering/RenderProgress.cpp:
1942         (WebCore::RenderProgress::animationTimerFired):
1943         * rendering/RenderProgress.h:
1944
1945 2014-01-11  Simon Fraser  <simon.fraser@apple.com>
1946
1947         #ifdef out the contents of Touch* files for iOS.
1948         
1949         * dom/Touch.h:
1950         * dom/TouchEvent.h:
1951         * dom/TouchList.h:
1952
1953 2014-01-11  Simon Fraser  <simon.fraser@apple.com>
1954
1955         No need to include <ApplicationServices/ApplicationServices.h> in
1956         the header. Can use <CoreGraphics/CoreGraphics.h> in the .cpp file.
1957
1958         * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
1959         * platform/graphics/cg/ImageBufferBackingStoreCache.h:
1960
1961 2014-01-11  Simon Fraser  <simon.fraser@apple.com>
1962
1963         Fix DOM headers: TARGET_OS_EMBEDDED -> TARGET_OS_IPHONE
1964         and a drive-by cleanup of DOMUIKitExtensions.mm #includes.
1965
1966         * bindings/objc/DOMPrivate.h:
1967         * bindings/objc/DOMUIKitExtensions.h:
1968         * bindings/objc/DOMUIKitExtensions.mm:
1969
1970 2014-01-11  Simon Fraser  <simon.fraser@apple.com>
1971
1972         Fix use of GL_HALF_FLOAT_ARB on iOS.
1973
1974         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1975         (WebCore::GraphicsContext3D::texSubImage2D):
1976
1977 2014-01-11  Simon Fraser  <simon.fraser@apple.com>
1978
1979         Fix build of SourceBufferPrivateAVFObjC.mm on iOS.
1980
1981         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
1982
1983 2014-01-11  Simon Fraser  <simon.fraser@apple.com>
1984
1985         Fix use of nonexistent kCGColorSpaceSRGB on iOS.
1986
1987         * platform/graphics/cg/GraphicsContextCG.cpp:
1988         (WebCore::sRGBColorSpaceRef):
1989
1990 2014-01-11  Joseph Pecoraro  <pecoraro@apple.com>
1991
1992         Web Inspector: Some ScriptDebugServer Cleanup
1993         https://bugs.webkit.org/show_bug.cgi?id=126793
1994
1995         Reviewed by Timothy Hatcher.
1996
1997         * bindings/js/PageScriptDebugServer.cpp:
1998         (WebCore::PageScriptDebugServer::didContinue):
1999         (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
2000         Move the special iOS WebThread EventLoop nesting handling here.
2001
2002         * bindings/js/ScriptDebugServer.cpp:
2003         (WebCore::ScriptDebugServer::ScriptDebugServer):
2004         (WebCore::ScriptDebugServer::handlePause):
2005         * bindings/js/ScriptDebugServer.h:
2006         * inspector/InspectorDebuggerAgent.cpp:
2007         * inspector/InspectorDebuggerAgent.h:
2008         Remove unused headers and functions.
2009
2010 2014-01-11  David Kilzer  <ddkilzer@apple.com>
2011
2012         [iOS] Add USE(IOSURFACE_CANVAS_BACKING_STORE) to fix build
2013
2014         * platform/graphics/cg/ImageBufferCG.cpp:
2015         (WebCore::ImageBuffer::ImageBuffer): The 'width' and 'height'
2016         variables are only used by code protected by
2017         USE(IOSURFACE_CANVAS_BACKING_STORE).
2018
2019 2014-01-11  David Kilzer  <ddkilzer@apple.com>
2020
2021         [iOS] Multisampling is not available on iOS
2022
2023         * platform/graphics/mac/GraphicsContext3DMac.mm:
2024         (WebCore::GraphicsContext3D::GraphicsContext3D):
2025
2026 2014-01-10  David Kilzer  <ddkilzer@apple.com>
2027
2028         [iOS] Fix build for HTMLImageElement::willRespondToMouseClickEvents()
2029
2030         * html/HTMLImageElement.cpp:
2031         (WebCore::HTMLImageElement::willRespondToMouseClickEvents):
2032
2033 2014-01-10  Anders Carlsson  <andersca@apple.com>
2034
2035         Fix test crashes.
2036         
2037         * loader/ProgressTracker.cpp:
2038         (WebCore::ProgressTracker::~ProgressTracker):
2039         Comment out the call to progressTrackerDestroyed for now.
2040
2041 2014-01-10  David Kilzer  <ddkilzer@apple.com>
2042
2043         [iOS] Fix build for RenderEmbeddedObject::canHaveChildren()
2044
2045         * rendering/RenderEmbeddedObject.cpp:
2046         (WebCore::RenderEmbeddedObject::canHaveChildren):
2047
2048 2014-01-10  Anders Carlsson  <andersca@apple.com>
2049
2050         Tweak ProgressTrackerClient functions
2051         https://bugs.webkit.org/show_bug.cgi?id=126808
2052
2053         Reviewed by Sam Weinig.
2054
2055         Rename the three progress state related member functions since it's up to the various
2056         WebKit implementations to decide what to do - not everyone wants to post a notification.
2057         Also add an originating progress frame parameter since WebKit2 doesn't report progress for
2058         subframe navigation and we need to be able to keep track of that.
2059         
2060         Finally, tweak ProgressTracker::completeProgress to get rid of an unnecessary hash lookup.
2061
2062         * loader/EmptyClients.h:
2063         * loader/ProgressTracker.cpp:
2064         (WebCore::ProgressItem::ProgressItem):
2065         (WebCore::ProgressTracker::progressStarted):
2066         (WebCore::ProgressTracker::finalProgressComplete):
2067         (WebCore::ProgressTracker::incrementProgress):
2068         (WebCore::ProgressTracker::completeProgress):
2069         * loader/ProgressTrackerClient.h:
2070
2071 2014-01-10  David Kilzer  <ddkilzer@apple.com>
2072
2073         [iOS] Fix COMPILE_ASSERT by updating struct SameSizeAsStyleRareInheritedData
2074
2075         * rendering/style/StyleRareInheritedData.cpp:
2076
2077 2014-01-10  David Kilzer  <ddkilzer@apple.com>
2078
2079         [iOS] Fix build of SubframeLoader.cpp
2080
2081         * loader/SubframeLoader.cpp:
2082         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
2083         (WebCore::SubframeLoader::loadPlugin):
2084         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2085
2086 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2087
2088         Fix Mac after r161747. One part of that is iOS specific.
2089
2090         Unreviewed build fix.
2091
2092         * bindings/js/GCController.cpp:
2093         (WebCore::GCController::releaseExecutableMemory):
2094
2095 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2096
2097         [iOS] Fix GCController::releaseExecutableMemory
2098         https://bugs.webkit.org/show_bug.cgi?id=126805
2099
2100         Reviewed by Sam Weinig and Mark Lam.
2101
2102         VM::dynamicGlobalObject has since been replaced by VMEntryScope.
2103         Update to check entryScope instead of the dynamicGlobalObject.
2104         Also, make this non-iOS only.
2105
2106         * bindings/js/GCController.h:
2107         * bindings/js/GCController.cpp:
2108         (WebCore::GCController::releaseExecutableMemory):
2109
2110 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2111
2112         Fix HTMLMediaElement.o for iOS. Unreviewed build fix.
2113
2114         There is now local variable mediaElement. Just call the
2115         functions since they are methods on this class.
2116
2117         Fix RequireUserGestureToShowPlaybackTargetPickerRestriction typos.
2118
2119         * html/HTMLMediaElement.cpp:
2120         (WebCore::HTMLMediaElement::parseAttribute):
2121
2122 2014-01-10  Anders Carlsson  <andersca@apple.com>
2123
2124         Move progress tracking functions from FrameLoaderClient to a new ProgressTrackerClient
2125         https://bugs.webkit.org/show_bug.cgi?id=126801
2126
2127         Reviewed by Sam Weinig.
2128
2129         * GNUmakefile.list.am:
2130         * WebCore.vcxproj/WebCore.vcxproj:
2131         * WebCore.vcxproj/WebCore.vcxproj.filters:
2132         * WebCore.xcodeproj/project.pbxproj:
2133         * loader/EmptyClients.cpp:
2134         (WebCore::fillWithEmptyClients):
2135         * loader/EmptyClients.h:
2136         * loader/FrameLoaderClient.h:
2137         * loader/ProgressTracker.cpp:
2138         (WebCore::ProgressTracker::ProgressTracker):
2139         (WebCore::ProgressTracker::~ProgressTracker):
2140         (WebCore::ProgressTracker::progressStarted):
2141         (WebCore::ProgressTracker::progressCompleted):
2142         (WebCore::ProgressTracker::finalProgressComplete):
2143         (WebCore::ProgressTracker::incrementProgress):
2144         * loader/ProgressTracker.h:
2145         * loader/ProgressTrackerClient.h: Added.
2146         (WebCore::ProgressTrackerClient::~ProgressTrackerClient):
2147         (WebCore::ProgressTrackerClient::progressTrackerDestroyed):
2148         (WebCore::ProgressTrackerClient::willChangeEstimatedProgress):
2149         (WebCore::ProgressTrackerClient::didChangeEstimatedProgress):
2150         * page/Page.cpp:
2151         (WebCore::Page::Page):
2152         (WebCore::Page::PageClients::PageClients):
2153         * page/Page.h:
2154
2155 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2156
2157         Fix RenderObject.o for iOS. Unreviewed build fix.
2158
2159         r156285 renamed firstChild() to firstChildSlow(), so update
2160         occurances in IOS_TEXT_AUTOSIZING code. Also account for a
2161         RenderObject::style reference / pointer change.
2162
2163         * rendering/RenderObject.cpp:
2164         (WebCore::RenderObject::traverseNext):
2165         (WebCore::includeNonFixedHeight):
2166
2167 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2168
2169         Fix MediaPlayerPrivateMediaSourceAVFObjC.o for iOS. Unreviewed build fix.
2170
2171         Import CALayer, which Mac must have been getting some other way.
2172
2173         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2174
2175 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2176
2177         Fix TileGrid.o for iOS. Unreviewed build fix.
2178
2179         Explicitly use namespace std in std::pair.
2180
2181         * platform/ios/TileGrid.mm:
2182         (WebCore::isFartherAway):
2183         (WebCore::TileGrid::dropDistantTiles):
2184
2185 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2186
2187         Fix RenderImage.o for iOS. Unreviewed build fix.
2188
2189         inlineBoxWrapper() returns an InlineElementBox type, which is an InlineBox but
2190         without including InlineElementBox.h, iOS didn't know what an InlineElementBox was!
2191
2192         * rendering/RenderImage.cpp:
2193
2194 2014-01-10  David Kilzer  <ddkilzer@apple.com>
2195
2196         [iOS] Fix macros in Scrollbar::supportsUpdateOnSecondaryThread()
2197
2198         Fixes the following build error:
2199
2200             WebCore/platform/Scrollbar.cpp:552:22: error: '__MAC_OS_X_VERSION_MIN_REQUIRED' is not defined, evaluates to 0 [-Werror,-Wundef]
2201             #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000 && ENABLE(ASYNC_SCROLLING)
2202                                  ^
2203
2204         * platform/Scrollbar.cpp:
2205         (WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
2206
2207 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2208
2209         Fix RenderFileUploadControl.o for iOS. Unreviewed build fix.
2210
2211         WebCore::theme() returns a reference now, not a pointer.
2212
2213         * rendering/RenderFileUploadControl.cpp:
2214         (WebCore::RenderFileUploadControl::paintObject):
2215
2216 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2217
2218         Fix HTMLPlugInImageElement.o for iOS. Unreviewed build fix.
2219
2220         Forgot to upstream YouTubeEmbedShadowElement.*. Do so and
2221         add the files to the Xcode project so they build.
2222
2223         * WebCore.xcodeproj/project.pbxproj:
2224         * html/shadow/YouTubeEmbedShadowElement.cpp: Added.
2225         (WebCore::YouTubeEmbedShadowElement::create):
2226         (WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement):
2227         (WebCore::YouTubeEmbedShadowElement::pluginElement):
2228         (WebCore::YouTubeEmbedShadowElement::shadowPseudoId):
2229         * html/shadow/YouTubeEmbedShadowElement.h: Added.
2230
2231 2014-01-10  David Kilzer  <ddkilzer@apple.com>
2232
2233         [iOS] Update EditorIOS.mm to switch from pointers to references
2234
2235         * editing/ios/EditorIOS.mm:
2236         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
2237         (WebCore::Editor::insertParagraphSeparatorInQuotedContent):
2238         (WebCore::styleForSelectionStart):
2239         (WebCore::Editor::selectionInWebArchiveFormat):
2240         (WebCore::Editor::writeImageToPasteboard):
2241         (WebCore::Editor::WebContentReader::readWebArchive):
2242         (WebCore::Editor::WebContentReader::readRTFD):
2243         (WebCore::Editor::WebContentReader::readRTF):
2244         (WebCore::uniqueURLWithRelativePart):
2245         (WebCore::Editor::WebContentReader::readPlainText):
2246         (WebCore::Editor::webContentFromPasteboard):
2247         (WebCore::Editor::createFragmentAndAddResources):
2248         (WebCore::Editor::createFragmentForImageResourceAndAddResource):
2249
2250 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2251
2252         Web Inspector: Push InspectorAgent down into JSC, give JSC an InspectorController
2253         https://bugs.webkit.org/show_bug.cgi?id=126763
2254
2255         Reviewed by Timothy Hatcher.
2256
2257         No new tests, no observable change in functionality.
2258
2259         * CMakeLists.txt:
2260         * ForwardingHeaders/inspector/agent/InspectorAgent.h: Added.
2261         * GNUmakefile.list.am:
2262         * WebCore.vcxproj/WebCore.vcxproj:
2263         * WebCore.vcxproj/WebCore.vcxproj.filters:
2264         * WebCore.xcodeproj/project.pbxproj:
2265         * inspector/InspectorAllInOne.cpp:
2266         InspectorAgent moved to JavaScriptCore. Include forwarding header.
2267
2268         * inspector/PageConsoleAgent.cpp:
2269         (WebCore::PageConsoleAgent::PageConsoleAgent):
2270         (WebCore::PageConsoleAgent::~PageConsoleAgent):
2271         * inspector/PageConsoleAgent.h:
2272         (WebCore::PageConsoleAgent::create):
2273         * inspector/InspectorApplicationCacheAgent.cpp:
2274         * inspector/InspectorApplicationCacheAgent.h:
2275         InspectorAgent was not used by these files, remove it.
2276
2277         * inspector/CommandLineAPIHost.cpp:
2278         * inspector/CommandLineAPIHost.h:
2279         (WebCore::CommandLineAPIHost::init):
2280         * inspector/InspectorInstrumentation.cpp:
2281         * inspector/InstrumentingAgents.h:
2282         (WebCore::InstrumentingAgents::inspectorAgent):
2283         (WebCore::InstrumentingAgents::setInspectorAgent):
2284         Switch to Inspector::InspectorAgent where applicable.
2285
2286         * inspector/InspectorController.cpp:
2287         (WebCore::InspectorController::InspectorController):
2288         * inspector/InspectorController.h:
2289         Manually add InspectorAgent to the InstrumentingAgents. It is one
2290         of the agents that is always available in InstrumentingAgents.
2291
2292 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2293
2294        Add TextAutoSizing.* for iOS, and fix DeviceOrientationController creation.
2295
2296         * WebCore.xcodeproj/project.pbxproj:
2297         * dom/Document.cpp:
2298         (WebCore::Document::Document):
2299         * rendering/TextAutoSizing.cpp: Added.
2300         (WebCore::cloneRenderStyleWithState):
2301         (WebCore::TextAutoSizingKey::TextAutoSizingKey):
2302         (WebCore::TextAutoSizingKey::~TextAutoSizingKey):
2303         (WebCore::TextAutoSizingKey::operator=):
2304         (WebCore::TextAutoSizingKey::ref):
2305         (WebCore::TextAutoSizingKey::deref):
2306         (WebCore::TextAutoSizingValue::numNodes):
2307         (WebCore::TextAutoSizingValue::addNode):
2308         (WebCore::TextAutoSizingValue::adjustNodeSizes):
2309         (WebCore::TextAutoSizingValue::reset):
2310         * rendering/TextAutoSizing.h: Added.
2311         (WebCore::TextAutoSizingKey::doc):
2312         (WebCore::TextAutoSizingKey::style):
2313         (WebCore::TextAutoSizingKey::isValidDoc):
2314         (WebCore::TextAutoSizingKey::isValidStyle):
2315         (WebCore::TextAutoSizingKey::deletedKeyDoc):
2316         (WebCore::TextAutoSizingKey::deletedKeyStyle):
2317         (WebCore::operator==):
2318         (WebCore::TextAutoSizingHash::hash):
2319         (WebCore::TextAutoSizingHash::equal):
2320         (WebCore::TextAutoSizingValue::create):
2321         (WebCore::TextAutoSizingValue::TextAutoSizingValue):
2322
2323 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2324
2325         Fix GraphicsLayerCA.o for iOS. Unreviewed build fix.
2326
2327         Use of systemMemoryLevel was missing include of SystemMemory.h.
2328
2329         * platform/graphics/ca/GraphicsLayerCA.cpp:
2330
2331 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2332
2333         Fix iOS build.
2334
2335         * bindings/objc/DOM.mm:
2336         (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
2337         * bindings/objc/DOMExtensions.h:
2338         * platform/DragImage.h:
2339
2340 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2341
2342         Fix iOS build.
2343         
2344         Generated DOMTouch* and DOMGesture* files need to be in the project.
2345         Exclude them on Mac via EXCLUDED_SOURCE_FILE_NAMES_macosx.
2346         
2347         Use TARGET_OS_IPHONE instead of TARGET_OS_EMBEDDED in DOMPrivate.h
2348
2349         * Configurations/WebCore.xcconfig:
2350         * WebCore.xcodeproj/project.pbxproj:
2351         * bindings/objc/DOMPrivate.h:
2352
2353 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2354
2355         Fix RenderThemeIOS.o for iOS. Unreviewed build fix.
2356
2357         Typo referring to generated name. Should be "iOS" not "IOS".
2358
2359         * rendering/RenderThemeIOS.mm:
2360         (WebCore::RenderThemeIOS::mediaControlsScript):
2361
2362 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2363
2364         Fix WebAccessibilityObjectWrapperIOS.o for iOS. Unreviewed build fix.
2365
2366         The upstreamed WebAccessibilityObjectWrapperIOS.mm was out of date, e.g.
2367         it was using GSFonts. Just upstream a newer version of the file. Also
2368         explicitly namespace qualify std::pair.
2369
2370         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2371         (AXAttributeStringSetStyle):
2372
2373 2014-01-10  Jinwoo Song  <jinwoo7.song@samsung.com>
2374
2375         Remove willRespondToTouchEvents() which was used by chromium port
2376         https://bugs.webkit.org/show_bug.cgi?id=126739
2377
2378         Reviewed by Alexey Proskuryakov.
2379
2380         willRespondToTouchEvents() was added to check if a node listens to touch events in r126945.
2381         However, it is not used anywhere after chromium port is removed.
2382
2383         * dom/Node.cpp:
2384         * dom/Node.h:
2385
2386 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2387
2388         Fix SystemVersionMac.o for iOS. Unreviewed build fix.
2389
2390         Add missing expected function. Maybe we can avoid including
2391         this file entirely on iOS, there was already a FIXME.
2392
2393         * platform/mac/SystemVersionMac.mm:
2394         (WebCore::systemMarketingVersion):
2395
2396 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2397
2398         Fix JSDOMWindowBase.o for iOS. Unreviewed build fix.
2399
2400         Add missing iOS method declarations.
2401
2402         * bindings/js/JSDOMWindowBase.h:
2403
2404 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2405
2406         Fix InputType.o for iOS. Unreviewed build fix.
2407
2408         The RuntimeEnabledFeatures function pointer type should have a
2409         const qualifier, because the implementations are all const.
2410
2411         * html/InputType.cpp:
2412
2413 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2414
2415         Fix MediaPlayerPrivateIOS.o for iOS. Unreviewed build fix.
2416
2417         Add missing MediaPlayerProxy Objective C methods and forward declarations.
2418
2419         * platform/graphics/mac/MediaPlayerProxy.h:
2420
2421 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2422
2423         Fix FrameSelection.o for iOS. Unreviewed build fix.
2424
2425         r160966 renamed rendererIsEditable to hasEditableStyle.
2426
2427         * editing/FrameSelection.cpp:
2428         (WebCore::FrameSelection::setSelectionFromNone):
2429
2430 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2431
2432         Fix DragData.o for iOS. Unreviewed build fix.
2433
2434         String m_pasteboardName is unused on iOS, so ifdef it out.
2435
2436         * platform/DragData.h:
2437
2438 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2439
2440         Fix FrameIOS.o for iOS. Unreviewed build fix.
2441
2442         Remove stale include to file that no longer exists. It was not needed.
2443
2444         * page/ios/FrameIOS.mm:
2445
2446 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2447
2448         Fix MonthInputType.o for iOS. Unreviewed build fix.
2449
2450         When ENABLE_INPUT_MULTIPLE_FIELDS_UI was removed in r150876,
2451         the wrong class name lingered. Fix it to be the base class.
2452
2453         * html/TimeInputType.cpp:
2454         (WebCore::TimeInputType::TimeInputType):
2455
2456 2014-01-10  Andy Estes  <aestes@apple.com>
2457
2458         [iOS] Build fix: make sure WTF_PLATFORM_IOS is defined when preprocessing
2459
2460         * DerivedSources.make:
2461         * bindings/scripts/preprocessor.pm:
2462         (applyPreprocessor):
2463
2464 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2465
2466         Use TARGET_OS_IPHONE in this API file, and #if TARGET_OS_MAC
2467         for a non-iOS function.
2468
2469         * bindings/objc/DOMExtensions.h:
2470
2471 2014-01-10  David Kilzer  <ddkilzer@apple.com>
2472
2473         Clean up architectures in xcconfig files
2474         <http://webkit.org/b/126794>
2475
2476         Reviewed by Andy Estes.
2477
2478         * Configurations/Base.xcconfig:
2479         * Configurations/WebCore.xcconfig: Remove armv6.
2480         * DerivedSources.make: Remove armv6, armv7f. Sort.
2481         - Add new arch.
2482
2483 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2484
2485         Fix iOS build
2486
2487         * Configurations/WebCore.xcconfig:
2488         * css/DeprecatedStyleBuilder.cpp:
2489         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
2490
2491 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2492
2493         Fix iOS build.
2494         
2495         * html/DateTimeLocalInputType.h:
2496         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
2497         * loader/ios/DiskImageCacheIOS.h:
2498
2499 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2500
2501         iOS build fix: add StyleRareInheritedData::compositionFillColor
2502
2503         * rendering/style/RenderStyle.h:
2504         * rendering/style/StyleRareInheritedData.cpp:
2505         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2506         (WebCore::StyleRareInheritedData::operator==):
2507         * rendering/style/StyleRareInheritedData.h:
2508
2509 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2510
2511         Fix MonthInputType.o for iOS. Unreviewed build fix.
2512
2513         When ENABLE_INPUT_MULTIPLE_FIELDS_UI was removed in r150876, the
2514         BaseMonthInputType typedef was removed. However a use of it lingered.
2515         Changing to match the base class name.
2516
2517         * html/MonthInputType.h:
2518         (WebCore::MonthInputType::MonthInputType):
2519
2520 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2521
2522         Fix RenderButton.o for iOS. Unreviewed build fix.
2523
2524         Missing prototype in header for override of the layout method.
2525
2526         * rendering/RenderButton.h:
2527
2528 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2529
2530         A couple of iOS build fixes.
2531
2532         * accessibility/ios/AXObjectCacheIOS.mm:
2533         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2534         * html/canvas/CanvasRenderingContext2D.cpp:
2535         (WebCore::CanvasRenderingContext2D::drawImage):
2536
2537 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2538
2539         Fix PlatformScreenIOS.mm for iOS. Unreviewed build fix.
2540
2541         PlatformScreen.h removed screenVerticalDPI and screenHorizontalDPI in r132419,
2542         so remove the stale implementations on iOS. Also, add a notImplemented version
2543         of screenColorProfile, which matches Mac and is unused in WebCore for this port.
2544
2545         * platform/ios/PlatformScreenIOS.mm:
2546         (WebCore::screenColorProfile):
2547
2548 2014-01-10  Anders Carlsson  <andersca@apple.com>
2549
2550         CTTE FrameTree
2551         https://bugs.webkit.org/show_bug.cgi?id=126795
2552
2553         Reviewed by Tim Horton.
2554
2555         * page/Frame.cpp:
2556         (WebCore::Frame::Frame):
2557         * page/FrameTree.cpp:
2558         (WebCore::FrameTree::transferChild):
2559         (WebCore::FrameTree::appendChild):
2560         (WebCore::FrameTree::actuallyAppendChild):
2561         (WebCore::FrameTree::uniqueChildName):
2562         (WebCore::FrameTree::scopedChild):
2563         (WebCore::FrameTree::scopedChildCount):
2564         (WebCore::FrameTree::child):
2565         (WebCore::FrameTree::find):
2566         (WebCore::FrameTree::isDescendantOf):
2567         (WebCore::FrameTree::traverseNext):
2568         (WebCore::FrameTree::traverseNextWithWrap):
2569         (WebCore::FrameTree::traversePreviousWithWrap):
2570         (WebCore::FrameTree::deepLastChild):
2571         (WebCore::FrameTree::top):
2572         * page/FrameTree.h:
2573         (WebCore::FrameTree::FrameTree):
2574
2575 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2576
2577         Fix iOS build.
2578
2579         * loader/ResourceLoader.h:
2580
2581 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2582
2583         Fix iOS build.
2584
2585         * platform/graphics/ImageSource.h:
2586         (WebCore::ImageSource::acceleratedImageDecodingEnabled):
2587         (WebCore::ImageSource::setAcceleratedImageDecodingEnabled):
2588
2589 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2590
2591         Unreviewed EFL build fix after r161678.
2592
2593         static_cast a size_t to unsigned long for %lu format string.
2594
2595         * page/Console.cpp:
2596         (WebCore::internalAddMessage):
2597
2598 2014-01-10  Benjamin Poulain  <bpoulain@apple.com>
2599
2600         Remove the BlackBerry port from trunk
2601         https://bugs.webkit.org/show_bug.cgi?id=126715
2602
2603         Reviewed by Anders Carlsson.
2604
2605         * html/canvas/WebGLRenderingContext.cpp:
2606         (WebCore::WebGLRenderingContext::readPixels):
2607         * platform/graphics/ImageBuffer.cpp:
2608         * platform/graphics/ImageBufferData.h:
2609         * platform/graphics/IntPoint.h:
2610         * platform/graphics/IntRect.h:
2611         * platform/graphics/IntSize.h:
2612         * platform/graphics/MediaPlayer.cpp:
2613         * platform/graphics/NativeImagePtr.h:
2614         * platform/graphics/OpenGLESShims.h:
2615         * platform/graphics/Path.cpp:
2616         (WebCore::Path::addPathForRoundedRect):
2617         * platform/graphics/Path.h:
2618         * platform/graphics/PlatformLayer.h:
2619         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
2620         * platform/graphics/filters/CustomFilterValidatedProgram.h:
2621         * platform/graphics/filters/FilterOperation.h:
2622         * platform/graphics/gpu/DrawingBuffer.cpp:
2623         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2624         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
2625         (WebCore::Extensions3DOpenGLES::getGraphicsResetStatusARB):
2626         * platform/graphics/opengl/Extensions3DOpenGLES.h:
2627         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2628         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2629         (WebCore::GraphicsContext3D::prepareTexture):
2630         (WebCore::GraphicsContext3D::bindFramebuffer):
2631         (WebCore::GraphicsContext3D::compileShader):
2632         (WebCore::GraphicsContext3D::copyTexImage2D):
2633         (WebCore::GraphicsContext3D::copyTexSubImage2D):
2634         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2635         (WebCore::GraphicsContext3D::readPixels):
2636         (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
2637         (WebCore::GraphicsContext3D::reshapeFBOs):
2638         * platform/network/NetworkStateNotifier.h:
2639         * platform/network/ResourceHandle.h:
2640         * platform/network/ResourceHandleInternal.h:
2641         * platform/network/ResourceRequestBase.cpp:
2642
2643 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2644
2645         Fix CharsetData.cpp build for iOS
2646         https://bugs.webkit.org/show_bug.cgi?id=126792
2647
2648         Reviewed by Mark Rowe.
2649
2650         CharsetData.cpp should have an empty CharsetTable list for iOS.
2651         Achieve this with an iOS-specific encodings.txt file.
2652
2653         * DerivedSources.make:
2654         * WebCore.xcodeproj/project.pbxproj:
2655         * platform/text/mac/ios-encodings.txt: Added.
2656
2657 2014-01-10  Anders Carlsson  <andersca@apple.com>
2658
2659         CTTE in NavigationScheduler
2660         https://bugs.webkit.org/show_bug.cgi?id=126788
2661
2662         Reviewed by Tim Horton.
2663
2664         * inspector/InspectorInstrumentation.cpp:
2665         (WebCore::InspectorInstrumentation::frameScheduledNavigationImpl):
2666         (WebCore::InspectorInstrumentation::frameClearedScheduledNavigationImpl):
2667         * inspector/InspectorInstrumentation.h:
2668         (WebCore::InspectorInstrumentation::frameScheduledNavigation):
2669         (WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):
2670         * inspector/InspectorPageAgent.cpp:
2671         (WebCore::InspectorPageAgent::frameScheduledNavigation):
2672         (WebCore::InspectorPageAgent::frameClearedScheduledNavigation):
2673         * inspector/InspectorPageAgent.h:
2674         * loader/NavigationScheduler.cpp:
2675         (WebCore::ScheduledNavigation::shouldStartTimer):
2676         (WebCore::ScheduledNavigation::didStartTimer):
2677         (WebCore::ScheduledNavigation::didStopTimer):
2678         (WebCore::NavigationScheduler::NavigationScheduler):
2679         (WebCore::NavigationScheduler::clear):
2680         (WebCore::NavigationScheduler::shouldScheduleNavigation):
2681         (WebCore::NavigationScheduler::scheduleRedirect):
2682         (WebCore::NavigationScheduler::mustLockBackForwardList):
2683         (WebCore::NavigationScheduler::scheduleLocationChange):
2684         (WebCore::NavigationScheduler::scheduleFormSubmission):
2685         (WebCore::NavigationScheduler::scheduleRefresh):
2686         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
2687         (WebCore::NavigationScheduler::timerFired):
2688         (WebCore::NavigationScheduler::schedule):
2689         (WebCore::NavigationScheduler::startTimer):
2690         (WebCore::NavigationScheduler::cancel):
2691         * loader/NavigationScheduler.h:
2692         * page/Frame.cpp:
2693         (WebCore::Frame::Frame):
2694
2695 2014-01-10  Myles C. Maxfield  <mmaxfield@apple.com>
2696
2697         CSS word-spacing property does not obey percentages
2698         https://bugs.webkit.org/show_bug.cgi?id=126674
2699
2700         Reviewed by Simon Fraser.
2701
2702         One change between CSS2.1 and CSS3 is that the word-spacing CSS property can
2703         take percentages (of the width of the space character) in CSS3. In order to
2704         implement this, the datatype must be changed from a float to a Length, which
2705         can hold percentage values. Then, during layout, we can query the width of
2706         the space character and update the Font's word-spacing value appropriately.
2707         However, the RenderStyle still holds on to the Length (as a rare inherited
2708         value).
2709
2710         Tests: fast/css3-text/css3-word-spacing-percentage/word-spacing-change-font.html
2711                fast/css3-text/css3-word-spacing-percentage/word-spacing-percentage-parse.html
2712                fast/css3-text/css3-word-spacing-percentage/word-spacing-percentage.html
2713
2714         * css/CSSComputedStyleDeclaration.cpp:
2715         (WebCore::ComputedStyleExtractor::propertyValue): Use Font's computed value instead
2716         of style's Length value.
2717         * css/CSSParser.cpp:
2718         (WebCore::CSSParser::parseValue): word-spacing and letter-spacing no longer are
2719         parsed the same way.
2720         * css/DeprecatedStyleBuilder.cpp:
2721         (WebCore::ApplyPropertyWordSpacing::applyValue): Construct a length from a given
2722         CSSValue and set the style's word spacing with it.
2723         (WebCore::ApplyPropertyWordSpacing::createHandler):
2724         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Use ApplyPropertyWordSpacing.
2725         * page/animation/CSSPropertyAnimation.cpp:
2726         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
2727         * rendering/RenderBlockLineLayout.cpp:
2728         (WebCore::setLogicalWidthForTextRun): Use Font's computed value instead
2729         of style's Length value.
2730         * rendering/RenderText.cpp:
2731         (WebCore::RenderText::computePreferredLogicalWidths): Ditto.
2732         * rendering/SimpleLineLayout.cpp:
2733         (WebCore::SimpleLineLayout::canUseFor): Opt-out of the SimpleLineLayout
2734         if either the percentage or the length is nonzero.
2735         * rendering/line/BreakingContextInlineHeaders.h:
2736         (WebCore::BreakingContext::handleText): Use Font's computed value instead
2737         of style's Length value.
2738         * rendering/style/RenderStyle.cpp:
2739         (WebCore::RenderStyle::wordSpacing):
2740         (WebCore::RenderStyle::setWordSpacing): Consult the Font's space with to compute
2741         percentage values, but hold on to the original Length.
2742         * rendering/style/RenderStyle.h:
2743         * rendering/style/StyleRareInheritedData.cpp:
2744         * rendering/style/StyleRareInheritedData.h: Hold on to the specified Length
2745
2746 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2747
2748         Fix the iOS build.
2749
2750         * platform/audio/mac/MediaSessionManagerMac.cpp:
2751
2752 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
2753
2754         iOS doesn't have <OpenGL/gl.h>; fix iOS build.
2755
2756         * platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
2757
2758 2014-01-10  Andy Estes  <aestes@apple.com>
2759
2760         [iOS] Build Fix: Properly add $SDKROOT/usr/local/include/ to the search path when building PublicDOMInterfaces.h
2761
2762         * bindings/scripts/CodeGeneratorObjC.pm:
2763         (ReadPublicInterfaces):
2764
2765 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2766
2767         Web Inspector: Remove unimplemented or static ScriptDebugServer features
2768         https://bugs.webkit.org/show_bug.cgi?id=126784
2769
2770         Reviewed by Timothy Hatcher.
2771
2772         These features are unimplemented in the backend, and unused by the
2773         current frontend. Most deal with features that were supported by v8
2774         and are as yet unimplemented by JSC. If we decide to add such features
2775         we can reimplement without conforming to an old implementation.
2776
2777         * bindings/js/ScriptDebugServer.cpp:
2778         * bindings/js/ScriptDebugServer.h:
2779         * bindings/js/ScriptProfiler.h:
2780         * inspector/InspectorDebuggerAgent.cpp:
2781         (WebCore::InspectorDebuggerAgent::disable):
2782         * inspector/InspectorDebuggerAgent.h:
2783         * inspector/InspectorPageAgent.cpp:
2784         (WebCore::InspectorPageAgent::reload):
2785         (WebCore::InspectorPageAgent::frameNavigated):
2786         * inspector/InspectorPageAgent.h:
2787         * inspector/InspectorProfilerAgent.cpp:
2788         * inspector/InspectorProfilerAgent.h:
2789         * inspector/PageDebuggerAgent.cpp:
2790         (WebCore::PageDebuggerAgent::didClearMainFrameWindowObject):
2791         * inspector/protocol/Page.json:
2792         * inspector/protocol/Profiler.json:
2793
2794 2014-01-10  David Kilzer  <ddkilzer@apple.com>
2795
2796         [iOS] Remove unused variable from TileGrid::dropTilesBetweenRects()
2797
2798         Fixes the following build error:
2799
2800             WebCore/platform/ios/TileGrid.mm:88:23: error: unused variable 'end' [-Werror,-Wunused-variable]
2801                 TileMap::iterator end = m_tiles.end();
2802                                   ^
2803
2804         * platform/ios/TileGrid.mm:
2805         (WebCore::TileGrid::dropTilesBetweenRects): Remove unused
2806         variable now that the for loop uses an auto iterator.
2807
2808 2014-01-10  Dean Jackson  <dino@apple.com>
2809
2810         Implement OES texture half float linear
2811         https://bugs.webkit.org/show_bug.cgi?id=125060
2812
2813         Reviewed by Brent Fulgham.
2814
2815         Test: fast/canvas/webgl/oes-texture-half-float-linear.html
2816
2817         * CMakeLists.txt: Add new files.
2818         * DerivedSources.cpp: Ditto.
2819         * DerivedSources.make: Generate new file from IDL.
2820         * GNUmakefile.list.am: Add new files.
2821         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2822         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2823         * WebCore.xcodeproj/project.pbxproj: New files for OESTextureHalfFloatLinear.
2824
2825         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2826         (WebCore::toJS): Map from extension name to native object.
2827
2828         * html/canvas/OESTextureHalfFloatLinear.cpp: Added. New files. These are boiler-plate.
2829         * html/canvas/OESTextureHalfFloatLinear.h: Added.
2830         * html/canvas/OESTextureHalfFloatLinear.idl: Added.
2831
2832         * html/canvas/WebGLExtension.h: Add new enum for the new extension.
2833
2834         * html/canvas/WebGLRenderingContext.cpp:
2835         (WebCore::WebGLRenderingContext::getExtension): Create the extension object if the
2836         context is asked for one.
2837         (WebCore::WebGLRenderingContext::getSupportedExtensions): Add the new extension to the
2838         list of supported extensions. Actually remember to do it this time :)
2839         (WebCore::WebGLRenderingContext::checkTextureCompleteness): Need to check for the half-float
2840         extension as well, and update the log message.
2841         * html/canvas/WebGLRenderingContext.h: New extension object.
2842
2843         * html/canvas/WebGLTexture.cpp:
2844         (WebCore::WebGLTexture::WebGLTexture):
2845         (WebCore::WebGLTexture::needToUseBlackTexture): Check for half-float type.
2846         (WebCore::WebGLTexture::update): Mark a texture as half-float if necessary.
2847         * html/canvas/WebGLTexture.h:
2848
2849         * platform/graphics/Extensions3D.h: Add a comment about the new extension.
2850         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2851         (WebCore::Extensions3DOpenGL::supportsExtension): This extension is available
2852         when GL_ARB_texture_float is supported, so add the name to the translation.
2853
2854 2014-01-10  Brent Fulgham  <bfulgham@apple.com>
2855
2856         [WebGL] Correct uniform input validation for texture sampler uniform
2857         https://bugs.webkit.org/show_bug.cgi?id=126775
2858
2859         Reviewed by Dean Jackson.
2860
2861         Added fast/canvas/webgl/uniform-samplers-test.html
2862
2863         * html/canvas/WebGLRenderingContext.cpp:
2864         (WebCore::WebGLRenderingContext::uniform1iv): Access Int32Array data properly.
2865
2866 2014-01-10  Manuel Rego Casasnovas  <rego@igalia.com>
2867
2868         [GTK] Unreviewed build fix after r161644.
2869
2870         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
2871         (WebCore::MediaStreamAudioSourceNode::setFormat):
2872
2873 2014-01-10  Anders Carlsson  <andersca@apple.com>
2874
2875         Remove an unused FrameLoader function
2876         https://bugs.webkit.org/show_bug.cgi?id=126785
2877
2878         Reviewed by Beth Dakin.
2879
2880         * WebCore.exp.in:
2881         * loader/FrameLoader.cpp:
2882         (WebCore::FrameLoader::setState):
2883         * loader/FrameLoader.h:
2884
2885 2014-01-10  Benjamin Poulain  <bpoulain@apple.com>
2886
2887         Remove the BlackBerry port from trunk
2888         https://bugs.webkit.org/show_bug.cgi?id=126715
2889
2890         Reviewed by Anders Carlsson.
2891
2892         * platform/MIMETypeRegistry.cpp:
2893         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2894         * platform/PlatformKeyboardEvent.h:
2895         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2896         * platform/PlatformMouseEvent.h:
2897         * platform/PlatformTouchEvent.h:
2898         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2899         * platform/PlatformTouchPoint.h:
2900         * platform/ScrollAnimatorNone.cpp:
2901         (WebCore::ScrollAnimator::create):
2902         * platform/URL.cpp:
2903         (WebCore::URL::parse):
2904         (WebCore::portAllowed):
2905         * platform/Widget.h:
2906         * platform/graphics/ANGLEWebKitBridge.h:
2907         * platform/graphics/DisplayRefreshMonitor.cpp:
2908         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
2909         * platform/graphics/DisplayRefreshMonitor.h:
2910         * platform/graphics/FloatPoint.h:
2911         * platform/graphics/FloatRect.h:
2912         * platform/graphics/FloatSize.h:
2913         * platform/graphics/FontCache.h:
2914         * platform/graphics/FontPlatformData.h:
2915         * platform/graphics/GlyphBuffer.h:
2916         * platform/graphics/Gradient.cpp:
2917         * platform/graphics/Gradient.h:
2918         * platform/graphics/GraphicsContext.h:
2919         * platform/graphics/GraphicsContext3D.h:
2920
2921 2014-01-10  Timothy Hatcher  <timothy@apple.com>
2922
2923         Clean up and fix some issues with stdout formatting of console messages.
2924
2925         * Fix URLs not printing line numbers unless column number is > 0.
2926         * Change "CONSOLEAPI" to "CONSOLE" for the source.
2927         * Clean up how console.trace outputs and print URL, line and column for each frame.
2928         * Print "(unknown)" for anonymous and native code call frames.
2929
2930         https://bugs.webkit.org/show_bug.cgi?id=126767
2931
2932         Reviewed by Joseph Pecoraro.
2933
2934         * page/Console.cpp:
2935         (WebCore::internalAddMessage):
2936         * page/PageConsole.cpp:
2937         (WebCore::PageConsole::printSourceURLAndPosition):
2938         (WebCore::PageConsole::printMessageSourceAndLevelPrefix):
2939         * page/PageConsole.h:
2940
2941 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2942
2943         [iOS] Fill in missing WebCoreThread function pointers
2944         https://bugs.webkit.org/show_bug.cgi?id=126776
2945
2946         Reviewed by Timothy Hatcher.
2947
2948         * platform/ios/wak/WebCoreThreadSystemInterface.cpp:
2949         (InitWebCoreThreadSystemInterface):
2950
2951 2014-01-10  Yongjun Zhang  <yongjun_zhang@apple.com>
2952
2953         Clear unparented tiled layers on memory pressure.
2954         https://bugs.webkit.org/show_bug.cgi?id=126737
2955
2956         Reviewed by Simon Fraser.
2957
2958         TileController hold unparented tiles for a short period of time (1 -3 sec); we should clear these unparented
2959         tiles immediately if we are under memory pressure.
2960         
2961         The patch does 3 things to improve the behavior:
2962         1) When the system free memory is low (<35%), reduce the tiling threshold.  This could reduce
2963         the peak memory usage when system is under low memory since we will convert more web layers into
2964         tiled backing.
2965         2) Under memory pressure, immediately clear all unparented tiles.
2966         3) Add a cap (16 tiles) to limit the total number of unparented tiles in TileController's.
2967
2968         * WebCore.exp.in:
2969         * WebCore.xcodeproj/project.pbxproj: Add a new class TileControllerMemoryHandler.
2970         * platform/graphics/ca/GraphicsLayerCA.cpp:
2971         (WebCore::GraphicsLayerCA::requiresTiledLayer):  Use a smaller tiling threshold if the system free memory is low.
2972         * platform/graphics/ca/mac/TileController.h:
2973         (WebCore::TileController::numberOfUnparentedTiles):
2974         * platform/graphics/ca/mac/TileController.mm:
2975         (WebCore::TileController::startedNewCohort):
2976         (WebCore::TileController::removeUnparentedTilesNow): Remove all unparentd tiles.
2977         * platform/ios/MemoryPressureHandlerIOS.mm:
2978         * platform/ios/TileControllerMemoryHandlerIOS.cpp: Added.
2979         (WebCore::TileControllerMemoryHandler::removeTileController):
2980         (WebCore::TileControllerMemoryHandler::totalUnparentedTiledLayers):
2981         (WebCore::TileControllerMemoryHandler::tileControllerGainUnparentedTiles):
2982         (WebCore::TileControllerMemoryHandler::trimUnparentedTilesToTarget): Trims the number of unparented tiles until
2983             it reaches the target.
2984         (WebCore::tileControllerMemoryHandler):
2985         * platform/ios/TileControllerMemoryHandlerIOS.h: Added.
2986         (WebCore::TileControllerMemoryHandler::TileControllerMemoryHandler):
2987
2988 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
2989
2990         [CSS Blending] Log blending as a layer creation reason in the WI
2991         https://bugs.webkit.org/show_bug.cgi?id=126159
2992
2993         Reviewed by Timothy Hatcher.
2994
2995         * inspector/InspectorLayerTreeAgent.cpp:
2996         (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
2997         * inspector/protocol/LayerTree.json:
2998
2999 2014-01-10  Andy Estes  <aestes@apple.com>
3000
3001         Fix some iOS build errors during bindings generation.
3002
3003         * bindings/objc/PublicDOMInterfaces.h: Included
3004         WebKitAdditions/PublicDOMInterfacesIOS.h and change
3005         -[DOMRGBColor color] to return a CGColorRef on iOS.
3006
3007 2014-01-10  Timothy Hatcher  <timothy@apple.com>
3008
3009         Prevent some resources from showing up in Web Inspector as years in duration.
3010
3011         No WebKit port passed a monotonic time to InspectorInstrumentation::didFinishLoading -- except Chromium.
3012
3013         https://bugs.webkit.org/show_bug.cgi?id=126760
3014
3015         Reviewed by Joseph Pecoraro.
3016
3017         * inspector/InspectorInstrumentation.cpp:
3018         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
3019         Revert part of r102961 to use finishTime as-is and not expect a monotonic time.
3020
3021 2014-01-10  Dirk Schulze  <krit@webkit.org>
3022
3023         Make clipping path from basic-shapes relative to <box> value
3024         https://bugs.webkit.org/show_bug.cgi?id=126206
3025
3026         Reviewed by Simon Fraser.
3027
3028         Tests: css3/masking/clip-path-circle-border-box.html
3029                css3/masking/clip-path-circle-bounding-box.html
3030                css3/masking/clip-path-circle-content-box.html
3031                css3/masking/clip-path-circle-margin-box.html
3032                css3/masking/clip-path-circle-padding-box.html
3033
3034         * rendering/RenderLayer.cpp:
3035         (WebCore::RenderLayer::setupClipPath): Add switch to differ between boxes
3036             and use different reference boxes to size the clipping path.
3037
3038 2014-01-10  Youenn Fablet  <youennf@gmail.com>
3039
3040
3041         Correctly set XHR loadend attributes (loaded and total).
3042         https://bugs.webkit.org/show_bug.cgi?id=120828
3043
3044         Reviewed by Alexey Proskuryakov.
3045         
3046         Added correct initialization of lengthComputable, loaded and total attributes 
3047         to XHR ProgressEvent events (load, loadstart, loadend, abort, error and timeout).
3048
3049         XMLHttpRequestProgressEventThrottle and XMLHttpRequestUpload now keep persistent knowledge 
3050         of m_loaded and m_total values with this patch.
3051         
3052         Code refactoring to handle event dispatching in case of error in a single manner.
3053         XMLHttpRequestProgressEventThrottle::dispatchProgressEvent is renamed as dispatchThrottledProgressEvent
3054         XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadend is replaced by dispatchProgressEvent(const AtomicString&)
3055         
3056         Fixed assertion issues over bug 120828 patch
3057
3058         Tests: http/tests/xmlhttprequest/loadstart-event-init.html
3059                http/tests/xmlhttprequest/onabort-progressevent-attributes.html
3060                http/tests/xmlhttprequest/onload-progressevent-attributes.html
3061                http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html
3062                http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html
3063
3064         * xml/XMLHttpRequest.cpp:
3065         (WebCore::XMLHttpRequest::callReadyStateChangeListener): changed readystatechange event from ProgressEvent to Event (not cancellable, not bubblable) to better match the spec 
3066         (WebCore::XMLHttpRequest::createRequest):
3067         (WebCore::XMLHttpRequest::abort): code refactoring to handle error event dispatching in a single way
3068         (WebCore::XMLHttpRequest::networkError): code refactoring to handle error event dispatching in a single way
3069         (WebCore::XMLHttpRequest::abortError): code refactoring to handle error event dispatching in a single way
3070         (WebCore::XMLHttpRequest::didSendData):
3071         (WebCore::XMLHttpRequest::didReceiveData):
3072         (WebCore::XMLHttpRequest::dispatchErrorEvents): dispatch progress events in case of error
3073         (WebCore::XMLHttpRequest::didTimeout): code refactoring to handle error event dispatching in a single way
3074         * xml/XMLHttpRequest.h:
3075         * xml/XMLHttpRequestProgressEventThrottle.cpp: before the patch, the fact that a progress event is being throttled is stored indirectly (m_loaded or m_total not equal to zero). With the patch, this information is stored in m_hasThrottledProgressEvent. The m_loaded and m_total values are no longer set back to zero after a progress event is dispatched. This allows using these values to correctly initialize other ProgressEvent events (in particular loadend, abort, timeout...) 
3076         (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
3077         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent): always update the new m_loaded and m_total values. If progress event is not sent as part of the function call, store the fact that a progress event is being throttled through m_hasThrottledProgressEvent. 
3078         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): used to send any ProgressEvent event that is not be throttled
3079         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): after the call, no progress event is throttled anymore
3080         (WebCore::XMLHttpRequestProgressEventThrottle::fired): after the call, no progress event is throttled anymore
3081         (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
3082         (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
3083         * xml/XMLHttpRequestProgressEventThrottle.h: introduced m_hasThrottledProgressEvent which stores whether a progress event is being throttled and m_computableLength which is used to initialize ProgressEvent computableLength
3084         * xml/XMLHttpRequestUpload.cpp:
3085         (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
3086         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
3087         * xml/XMLHttpRequestUpload.h: introduced m_loaded, m_total and m_lengthComputable, similarly to XMLHttpRequestProgressEventThrottle
3088
3089 2014-01-10  Bear Travis  <betravis@adobe.com>
3090
3091         [CSS Shapes] Change parseBasicShape to return a CSSPrimitiveValue
3092         https://bugs.webkit.org/show_bug.cgi?id=126713
3093
3094         Reviewed by Dirk Schulze.
3095
3096         Avoid the duplicated code wrapping the CSSBasicShape in a CSSPrimitiveValue
3097         by having parseBasicShape return a CSSPrimitiveValue reference.
3098
3099         Refactoring, no new tests.
3100
3101         * css/CSSParser.cpp:
3102         (WebCore::CSSParser::parseShapeProperty):
3103         (WebCore::CSSParser::parseClipPath):
3104         (WebCore::CSSParser::parseBasicShape):
3105         * css/CSSParser.h:
3106
3107 2014-01-10  Piotr Grad  <p.grad@samsung.com>
3108
3109         Possible crash in ApplicationCache::removeResource.
3110         https://bugs.webkit.org/show_bug.cgi?id=126695
3111
3112         Reviewed by Alexey Proskuryakov.
3113
3114         No new tests.
3115
3116         Iterator variable was used after it was removed.
3117
3118         * loader/appcache/ApplicationCache.cpp:
3119         (WebCore::ApplicationCache::removeResource):
3120
3121 2014-01-10  Daniel Bates  <dabates@apple.com>
3122
3123         Another build fix for the Production Mac build following <http://trac.webkit.org/changeset/161638>
3124         (https://bugs.webkit.org/show_bug.cgi?id=126698)
3125
3126         Move the logic for appending the port-specific IDL files {Touch, TouchEvent, TouchList}.idl to the
3127         list of binding IDLs (BINDING_IDLS) before the definition of variables DOM_CLASSES and JS_DOM_HEADERS
3128         so that we generate the DOM and JS bindings for these IDLs.
3129
3130         * DerivedSources.make:
3131
3132 2014-01-10  Anders Carlsson  <andersca@apple.com>
3133
3134         Remove supportMultipleWindows setting
3135         https://bugs.webkit.org/show_bug.cgi?id=126772
3136
3137         Reviewed by Beth Dakin.
3138
3139         This setting was added in https://bugs.webkit.org/show_bug.cgi?id=99716 for the Chromium port
3140         and is unused by everyone else so get rid of it.
3141
3142         * loader/FrameLoader.cpp:
3143         (WebCore::createWindow):
3144         * page/ContextMenuController.cpp:
3145         (WebCore::openNewWindow):
3146         * page/Settings.in:
3147
3148 2014-01-10  Benjamin Poulain  <bpoulain@apple.com>
3149
3150         Remove the BlackBerry port from trunk
3151         https://bugs.webkit.org/show_bug.cgi?id=126715
3152
3153         Reviewed by Anders Carlsson.
3154
3155         * dom/TouchEvent.cpp:
3156         (WebCore::TouchEvent::TouchEvent):
3157         (WebCore::TouchEvent::initTouchEvent):
3158         * dom/TouchEvent.h:
3159         * dom/ViewportArguments.cpp:
3160         * dom/ViewportArguments.h:
3161         * history/HistoryItem.h:
3162         * loader/PingLoader.cpp:
3163         (WebCore::PingLoader::loadImage):
3164         (WebCore::PingLoader::sendPing):
3165         (WebCore::PingLoader::sendViolationReport):
3166         * loader/appcache/ApplicationCacheGroup.cpp:
3167         (WebCore::ApplicationCacheGroup::createResourceHandle):
3168         * loader/cache/CachedResource.cpp:
3169         (WebCore::CachedResource::load):
3170         * loader/icon/IconLoader.cpp:
3171         (WebCore::IconLoader::startLoading):
3172         * page/NavigatorBase.cpp:
3173         * page/Settings.cpp:
3174         * page/scrolling/ScrollingCoordinator.cpp:
3175         (WebCore::ScrollingCoordinator::create):
3176         * platform/Cursor.cpp:
3177         * platform/Cursor.h:
3178         (WebCore::Cursor::Cursor):
3179         * platform/DragData.h:
3180         * platform/DragImage.h:
3181         * plugins/PluginDatabase.cpp:
3182         (WebCore::PluginDatabase::defaultPluginDirectories):
3183         (WebCore::PluginDatabase::isPreferredPluginDirectory):
3184         * rendering/RenderLayerBacking.cpp:
3185         (WebCore::RenderLayerBacking::paintsIntoWindow):
3186         * rendering/RenderObject.cpp:
3187         (WebCore::RenderObject::shouldRespectImageOrientation):
3188         * testing/Internals.cpp:
3189         (WebCore::Internals::getCurrentCursorInfo):
3190         * workers/DefaultSharedWorkerRepository.cpp:
3191         (WebCore::SharedWorkerScriptLoader::load):
3192         * workers/Worker.cpp:
3193         (WebCore::Worker::create):
3194         * workers/WorkerGlobalScope.cpp:
3195         (WebCore::WorkerGlobalScope::importScripts):
3196         * workers/WorkerScriptLoader.cpp:
3197         (WebCore::WorkerScriptLoader::createResourceRequest):
3198         * workers/WorkerScriptLoader.h:
3199         * xml/XMLHttpRequest.cpp:
3200         (WebCore::XMLHttpRequest::createRequest):
3201
3202 2014-01-10  Benjamin Poulain  <bpoulain@apple.com>
3203
3204         Remove the BlackBerry port from trunk
3205         https://bugs.webkit.org/show_bug.cgi?id=126715
3206
3207         Reviewed by Anders Carlsson.
3208
3209         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
3210         (WebCore::initProtocolHandlerWhitelist):
3211         * UseJSC.cmake:
3212         * bindings/generic/RuntimeEnabledFeatures.cpp:
3213         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
3214         * bindings/js/GCController.cpp:
3215         (WebCore::GCController::GCController):
3216         (WebCore::GCController::garbageCollectSoon):
3217         * bindings/js/GCController.h:
3218
3219 2014-01-10  Daniel Bates  <dabates@apple.com>
3220
3221         Fix the WebCore, WebKit build targets following <http://trac.webkit.org/changeset/161638>
3222         (https://bugs.webkit.org/show_bug.cgi?id=126698)
3223
3224         Tell Xcode that the supported platforms for all WebKit targets are iOS and OS X.
3225
3226         * Configurations/Base.xcconfig:
3227
3228 2014-01-09  Andy Estes  <aestes@apple.com>
3229
3230         [iOS] Upstream iOS changes to MigrateHeaders.make
3231         https://bugs.webkit.org/show_bug.cgi?id=126731
3232
3233         Reviewed by David Kilzer.
3234
3235         * WebCore.xcodeproj/project.pbxproj: Mark an iOS-specific header at
3236         Private that will later be migrated by WebKit.
3237
3238 2014-01-10  Daniel Bates  <dabates@apple.com>
3239
3240         Fix the Production Mac build following <http://trac.webkit.org/changeset/161638>
3241         (https://bugs.webkit.org/show_bug.cgi?id=126698)
3242
3243         Substitute JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production_ for JAVASCRIPTCORE_PRIVATE_HEADERS_Production_.
3244
3245         * Configurations/WebCore.xcconfig:
3246
3247 2014-01-10  Anders Carlsson  <andersca@apple.com>
3248
3249         Add a missing include.
3250
3251         * Modules/webdatabase/DatabaseManager.h:
3252
3253 2014-01-10  Anders Carlsson  <andersca@apple.com>
3254
3255         Use STL threading primitives in DatabaseDetails and DatabaseManager
3256         https://bugs.webkit.org/show_bug.cgi?id=126759
3257
3258         Reviewed by Geoffrey Garen.
3259
3260         * Modules/webdatabase/DatabaseDetails.h:
3261         (WebCore::DatabaseDetails::DatabaseDetails):
3262         (WebCore::DatabaseDetails::threadID):
3263         * Modules/webdatabase/DatabaseManager.cpp:
3264         (WebCore::DatabaseManager::existingDatabaseContextFor):
3265         (WebCore::DatabaseManager::registerDatabaseContext):
3266         (WebCore::DatabaseManager::unregisterDatabaseContext):
3267         (WebCore::DatabaseManager::didConstructDatabaseContext):
3268         (WebCore::DatabaseManager::didDestructDatabaseContext):
3269         (WebCore::DatabaseManager::addProposedDatabase):
3270         (WebCore::DatabaseManager::removeProposedDatabase):
3271         (WebCore::DatabaseManager::fullPathForDatabase):
3272         (WebCore::DatabaseManager::detailsForNameAndOrigin):
3273         * Modules/webdatabase/DatabaseManager.h:
3274
3275 2014-01-10  Commit Queue  <commit-queue@webkit.org>
3276
3277         Unreviewed, rolling out r161629.
3278         http://trac.webkit.org/changeset/161629
3279         https://bugs.webkit.org/show_bug.cgi?id=126762
3280
3281         Fails svg/custom/conditional-processing-2.html (Requested by
3282         ap on #webkit).
3283
3284         * svg/SVGSwitchElement.cpp:
3285         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
3286         * svg/SVGTests.cpp:
3287         (WebCore::SVGTests::hasExtension):
3288         (WebCore::SVGTests::isValid):
3289
3290 2014-01-10  ChangSeok Oh  <changseok.oh@collabora.com>
3291
3292         Unreviewed build fix since r161589.
3293
3294         The changeset causes a compile failure with --no-svg.
3295
3296         * platform/graphics/FontFastPath.cpp:
3297         (WebCore::Font::drawGlyphBuffer):
3298
3299 2014-01-10  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
3300
3301         [WebGL] Removing unnecessary pointer checks
3302         https://bugs.webkit.org/show_bug.cgi?id=124046
3303
3304         Reviewed by Brent Fulgham.
3305
3306         We do not need to check for a null array three times in
3307         the same call. Let's just do it once!
3308
3309         No new tests. Covered by existing ones.
3310
3311         * html/canvas/WebGLBuffer.cpp:
3312         (WebCore::WebGLBuffer::associateBufferData):
3313
3314 2014-01-10  Daniel Bates  <dabates@apple.com>
3315
3316         Speculative build fix for Windows following <http://trac.webkit.org/changeset/161638>
3317         (https://bugs.webkit.org/show_bug.cgi?id=126698)
3318
3319         Reviewed by David Kilzer.
3320
3321         * bindings/scripts/preprocessor.pm:
3322         (applyPreprocessor):
3323
3324 2014-01-10  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
3325
3326         [WebGL] Wrong condition order in the if statement
3327         https://bugs.webkit.org/show_bug.cgi?id=125000
3328
3329         Reviewed by Brent Fulgham.
3330
3331         We should only pay the cost of string comparison once. The
3332         current logic requires a string comparison every time we
3333         pass through the function. Instead, by reordering the statements
3334         we can short-circuit through the boolean test after the initial
3335         setup is complete.
3336
3337         No new tests. No behaviour changes.
3338
3339         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
3340         (WebCore::Extensions3DOpenGLES::supportsExtension):
3341
3342 2014-01-10  Anders Carlsson  <andersca@apple.com>
3343
3344         CTTE in AudioContext::AutoLocker
3345         https://bugs.webkit.org/show_bug.cgi?id=126758
3346
3347         Reviewed by Antti Koivisto.
3348
3349         * Modules/webaudio/AudioBasicInspectorNode.cpp:
3350         (WebCore::AudioBasicInspectorNode::connect):
3351         (WebCore::AudioBasicInspectorNode::disconnect):
3352         * Modules/webaudio/AudioBufferSourceNode.cpp:
3353         (WebCore::AudioBufferSourceNode::setBuffer):
3354         * Modules/webaudio/AudioContext.cpp:
3355         (WebCore::AudioContext::refNode):
3356         (WebCore::AudioContext::deleteMarkedNodes):
3357         (WebCore::AudioContext::removeMarkedSummingJunction):
3358         * Modules/webaudio/AudioContext.h:
3359         (WebCore::AudioContext::AutoLocker::AutoLocker):
3360         (WebCore::AudioContext::AutoLocker::~AutoLocker):
3361         * Modules/webaudio/AudioNode.cpp:
3362         (WebCore::AudioNode::connect):
3363         (WebCore::AudioNode::disconnect):
3364         (WebCore::AudioNode::setChannelCount):
3365         (WebCore::AudioNode::setChannelCountMode):
3366         (WebCore::AudioNode::setChannelInterpretation):
3367         (WebCore::AudioNode::enableOutputsIfNecessary):
3368         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
3369         (WebCore::MediaElementAudioSourceNode::setFormat):
3370         * Modules/webaudio/WaveShaperNode.cpp:
3371         (WebCore::WaveShaperNode::setOversample):
3372
3373 2014-01-10  Antti Koivisto  <antti@apple.com>
3374
3375         Use element iterators more
3376         https://bugs.webkit.org/show_bug.cgi?id=126756
3377
3378         Reviewed by Anders Carlsson.
3379
3380         * dom/VisitedLinkState.cpp:
3381         (WebCore::VisitedLinkState::invalidateStyleForAllLinks):
3382         (WebCore::VisitedLinkState::invalidateStyleForLink):
3383         * html/HTMLMeterElement.cpp:
3384         (WebCore::HTMLMeterElement::renderMeter):
3385         * html/HTMLProgressElement.cpp:
3386         (WebCore::HTMLProgressElement::renderProgress):
3387         * html/shadow/ContentDistributor.cpp:
3388         (WebCore::ContentDistributor::ensureInsertionPointList):
3389         * style/StyleResolveTree.cpp:
3390
3391 2014-01-10  Daniel Bates  <dabates@apple.com>
3392
3393         Attempt to fix the iOS build after <http://trac.webkit.org/changeset/161589>
3394         (https://bugs.webkit.org/show_bug.cgi?id=126654)
3395
3396         * platform/audio/ios/AudioSessionIOS.mm: Import header PassOwnPtr.h so that we can use adoptPtr().
3397
3398 2014-01-10  Daniel Bates  <dabates@apple.com>
3399
3400         Attempt to fix the build after <http://trac.webkit.org/changeset/161638>
3401         (https://bugs.webkit.org/show_bug.cgi?id=126698)
3402
3403         Substitute tab characters for space characters.
3404
3405         * DerivedSources.make:
3406
3407 2014-01-10  Anders Carlsson  <andersca@apple.com>
3408
3409         DOMWindow::showModalDialog should use std::function
3410         https://bugs.webkit.org/show_bug.cgi?id=126753
3411
3412         Reviewed by Antti Koivisto.
3413
3414         * bindings/js/JSDOMWindowCustom.cpp:
3415         (WebCore::DialogHandler::dialogCreated):
3416         (WebCore::JSDOMWindow::showModalDialog):
3417         * page/DOMWindow.cpp:
3418         (WebCore::DOMWindow::createWindow):
3419         (WebCore::DOMWindow::showModalDialog):
3420         * page/DOMWindow.h:
3421
3422 2014-01-10  Daniel Bates  <dabates@apple.com>
3423
3424         [iOS] Upstream WebCore and Tools miscellaneous changes
3425         https://bugs.webkit.org/show_bug.cgi?id=126698
3426
3427         Reviewed by David Kilzer.
3428
3429         * Configurations/Base.xcconfig:
3430         * Configurations/WebCore.xcconfig:
3431         * Configurations/WebCoreTestSupport.xcconfig:
3432         * Configurations/iOS.xcconfig: Added.
3433         * DerivedSources.make:
3434         * English.lproj/Localizable.strings:
3435         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp: Copied from Source/WebCore/editing/TextAffinity.h.
3436         (WebCore::stringForPlaybackTargetAvailability):
3437         (WebCore::WebKitPlaybackTargetAvailabilityEvent::WebKitPlaybackTargetAvailabilityEvent):
3438         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h: Added.
3439         (WebCore::WebKitPlaybackTargetAvailabilityEventInit::WebKitPlaybackTargetAvailabilityEventInit):
3440         (WebCore::WebKitPlaybackTargetAvailabilityEvent::~WebKitPlaybackTargetAvailabilityEvent):
3441         (WebCore::WebKitPlaybackTargetAvailabilityEvent::create):
3442         (WebCore::WebKitPlaybackTargetAvailabilityEvent::availability):
3443         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl: Copied from Source/WebCore/editing/DeleteButton.h.
3444         * Modules/geolocation/Geolocation.cpp:
3445         (WebCore::Geolocation::Geolocation):
3446         (WebCore::Geolocation::canSuspend):
3447         (WebCore::Geolocation::suspend):
3448         (WebCore::Geolocation::resume):
3449         (WebCore::Geolocation::resumeTimerFired):
3450         (WebCore::Geolocation::resetAllGeolocationPermission):
3451         (WebCore::Geolocation::stop):
3452         (WebCore::Geolocation::setIsAllowed):
3453         (WebCore::Geolocation::positionChanged):
3454         (WebCore::Geolocation::setError):
3455         * Modules/geolocation/Geolocation.h:
3456         * Modules/geolocation/NavigatorGeolocation.cpp:
3457         (WebCore::NavigatorGeolocation::resetAllGeolocationPermission):
3458         * Modules/geolocation/NavigatorGeolocation.h:
3459         * Modules/speech/SpeechSynthesis.cpp:
3460         (WebCore::SpeechSynthesis::SpeechSynthesis):
3461         (WebCore::SpeechSynthesis::speak):
3462         * Modules/speech/SpeechSynthesis.h:
3463         (WebCore::SpeechSynthesis::userGestureRequiredForSpeechStart):
3464         (WebCore::SpeechSynthesis::removeBehaviorRestriction):
3465         * Modules/webaudio/AudioContext.cpp:
3466         * Modules/webaudio/AudioContext.h:
3467         * Modules/webaudio/AudioScheduledSourceNode.cpp:
3468         * Modules/webdatabase/Database.cpp:
3469         * Modules/webdatabase/DatabaseBackendBase.cpp:
3470         (WebCore::DatabaseBackendBase::performOpenAndVerify):
3471         (WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded):
3472         * Modules/webdatabase/DatabaseContext.cpp:
3473         (WebCore::DatabaseContext::DatabaseContext):
3474         (WebCore::DatabaseContext::databaseThread):
3475         (WebCore::DatabaseContext::setPaused):
3476         * Modules/webdatabase/DatabaseContext.h:
3477         * Modules/webdatabase/DatabaseManagerClient.h:
3478         * Modules/webdatabase/DatabaseTask.cpp:
3479         (WebCore::DatabaseTask::performTask):
3480         (WebCore::Database::DatabaseTransactionTask::shouldPerformWhilePaused):
3481         * Modules/webdatabase/DatabaseTask.h:
3482         * Modules/webdatabase/DatabaseThread.cpp:
3483         (WebCore::DatabaseThread::DatabaseThread):
3484         (WebCore::DatabaseThread::requestTermination):
3485         (WebCore::DatabaseUnpauseTask::create):
3486         (WebCore::DatabaseUnpauseTask::shouldPerformWhilePaused):
3487         (WebCore::DatabaseUnpauseTask::DatabaseUnpauseTask):
3488         (WebCore::DatabaseUnpauseTask::doPerformTask):
3489         (WebCore::DatabaseUnpauseTask::debugTaskName):
3490         (WebCore::DatabaseThread::setPaused):
3491         (WebCore::DatabaseThread::handlePausedQueue):
3492         (WebCore::DatabaseThread::databaseThread):
3493         * Modules/webdatabase/DatabaseThread.h:
3494         * Modules/webdatabase/DatabaseTracker.cpp:
3495         (WebCore::DatabaseTracker::setQuota):
3496         (WebCore::DatabaseTracker::deleteOrigin):
3497         (WebCore::DatabaseTracker::deleteDatabase):
3498         (WebCore::DatabaseTracker::deleteDatabaseFile):
3499         (WebCore::DatabaseTracker::removeDeletedOpenedDatabases):
3500         (WebCore::isZeroByteFile):
3501         (WebCore::DatabaseTracker::deleteDatabaseFileIfEmpty):
3502         (WebCore::DatabaseTracker::openDatabaseMutex):
3503         (WebCore::DatabaseTracker::emptyDatabaseFilesRemovalTaskWillBeScheduled):
3504         (WebCore::DatabaseTracker::emptyDatabaseFilesRemovalTaskDidFinish):
3505         (WebCore::DatabaseTracker::setDatabasesPaused):
3506         * Modules/webdatabase/DatabaseTracker.h:
3507         * Modules/webdatabase/SQLTransactionBackend.cpp:
3508         (WebCore::SQLTransactionBackend::shouldPerformWhilePaused):
3509         * Modules/webdatabase/SQLTransactionBackend.h:
3510         * Resources/DictationPhraseWithAlternativesDot.png: Added.
3511         * Resources/DictationPhraseWithAlternativesDot@2x.png: Added.
3512         * Resources/SpellingDot.png: Added.
3513         * Resources/SpellingDot@2x.png: Added.
3514         * Resources/decrementArrow.tiff: Added.
3515         * Resources/hScrollControl_left.png: Added.
3516         * Resources/hScrollControl_middle.png: Added.
3517         * Resources/hScrollControl_right.png: Added.
3518         * Resources/incrementArrow.tiff: Added.
3519         * Resources/markedLeft.png: Added.
3520         * Resources/markedMiddle.png: Added.
3521         * Resources/markedRight.png: Added.
3522         * Resources/vScrollControl_bottom.png: Added.
3523         * Resources/vScrollControl_middle.png: Added.
3524         * Resources/vScrollControl_top.png: Added.
3525         * WebCore.xcodeproj/project.pbxproj:
3526         * bindings/js/GCController.cpp:
3527         (WebCore::GCController::garbageCollectNow):
3528         (WebCore::GCController::releaseExecutableMemory):
3529         * bindings/js/GCController.h:
3530         * bindings/js/JSCallbackData.h:
3531         (WebCore::JSCallbackData::~JSCallbackData):
3532         * bindings/js/JSDOMWindowBase.cpp:
3533         (WebCore::JSDOMWindowBase::supportsProfiling):
3534         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
3535         (WebCore::JSDOMWindowBase::commonVM):
3536         (WebCore::JSDOMWindowBase::commonVMExists):
3537         (WebCore::JSDOMWindowBase::commonVMInternal):
3538         * bindings/js/JSDOMWindowCustom.cpp:
3539         (WebCore::JSDOMWindow::touch):
3540         (WebCore::JSDOMWindow::touchList):
3541         * bindings/js/JSDeviceOrientationEventCustom.cpp:
3542         (WebCore::JSDeviceOrientationEvent::webkitCompassHeading):
3543         (WebCore::JSDeviceOrientationEvent::webkitCompassAccuracy):
3544         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
3545         * bindings/js/JSMainThreadExecState.h:
3546         * bindings/js/JSTouchCustom.cpp:
3547         * bindings/js/JSTouchListCustom.cpp:
3548         * bindings/js/PageScriptDebugServer.cpp:
3549         (WebCore::PageScriptDebugServer::didContinue):
3550         * bindings/js/ScriptController.cpp:
3551         (WebCore::ScriptController::initializeThreading):
3552         * bindings/js/ScriptDebugServer.cpp:
3553         (WebCore::ScriptDebugServer::handlePause):
3554         * bindings/js/ios/TouchConstructors.cpp: Added.
3555         * bindings/objc/DOM.mm:
3556         (WebCore::wkQuadFromFloatQuad):
3557         (WebCore::kit):
3558         (WebCore::min4):
3559         (WebCore::max4):
3560         (WebCore::emptyQuad):
3561         (-[WKQuadObject initWithQuad:]):
3562         (-[WKQuadObject quad]):
3563         (-[WKQuadObject boundingBox]):
3564         (-[DOMNode boundingBox]):
3565         (-[DOMNode absoluteQuad]):
3566         (-[DOMNode absoluteQuadAndInsideFixedPosition:]):
3567         (-[DOMNode boundingBoxUsingTransforms]):
3568         (-[DOMNode lineBoxQuads]):
3569         (-[DOMNode _linkElement]):
3570         (-[DOMNode hrefURL]):
3571         (-[DOMNode hrefTarget]):
3572         (-[DOMNode hrefFrame]):
3573         (-[DOMNode hrefLabel]):
3574         (-[DOMNode hrefTitle]):
3575         (-[DOMNode boundingFrame]):
3576         (-[DOMNode innerFrameQuad]):
3577         (-[DOMNode computedFontSize]):
3578         (-[DOMNode nextFocusNode]):
3579         (-[DOMNode previousFocusNode]):
3580         (-[DOMRange boundingBox]):
3581         (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
3582         (-[DOMElement _font]):
3583         (-[DOMHTMLLinkElement _mediaQueryMatchesForOrientation:]):
3584         (-[DOMHTMLLinkElement _mediaQueryMatches]):
3585         * bindings/objc/DOMEvents.h:
3586         * bindings/objc/DOMEvents.mm:
3587         (kitClass):
3588         * bindings/objc/DOMExtensions.h:
3589         * bindings/objc/DOMHTML.mm:
3590         (-[DOMHTMLElement scrollYOffset]):
3591         (-[DOMHTMLElement setScrollXOffset:scrollYOffset:]):
3592         (-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
3593         (-[DOMHTMLElement absolutePosition::::]):
3594         (-[DOMHTMLInputElement _autocapitalizeType]):
3595         (-[DOMHTMLTextAreaElement _autocapitalizeType]):
3596         (-[DOMHTMLInputElement setValueWithChangeEvent:]):
3597         (-[DOMHTMLInputElement setValueAsNumberWithChangeEvent:]):
3598         * bindings/objc/DOMInternal.h:
3599         * bindings/objc/DOMInternal.mm:
3600         (wrapperCacheLock):
3601         (getDOMWrapper):
3602         (addDOMWrapper):
3603         (removeDOMWrapper):
3604         * bindings/objc/DOMPrivate.h:
3605         * bindings/objc/DOMUIKitExtensions.h: Added.
3606         * bindings/objc/DOMUIKitExtensions.mm: Added.
3607         * bindings/objc/PublicDOMInterfaces.h:
3608         * bindings/scripts/CodeGeneratorJS.pm:
3609         (GenerateHeaderContentHeader):
3610         (GenerateImplementationContentHeader):
3611         (GenerateHeader):
3612         (GenerateImplementation):
3613         (GenerateCallbackImplementation):
3614         * bindings/scripts/CodeGeneratorObjC.pm:
3615         (ReadPublicInterfaces):
3616         (GetClassName):
3617         (IsCoreFoundationType):
3618         (GetObjCType):
3619         (AddIncludesForType):
3620         (GenerateHeader):
3621         (GenerateImplementation):
3622         (WriteData):
3623         * bindings/scripts/IDLAttributes.txt:
3624         * bindings/scripts/preprocessor.pm:
3625         (applyPreprocessor):
3626         * bridge/objc/objc_class.mm:
3627         (JSC::Bindings::ObjcClass::fieldNamed):
3628         * bridge/objc/objc_instance.mm:
3629         * config.h:
3630         * dom/Document.cpp:
3631         (WebCore::Document::addAutoSizingNode):
3632         * dom/Document.h:
3633         * dom/Document.idl:
3634         * dom/ios/TouchEvents.cpp: Added.
3635         * editing/ApplyStyleCommand.cpp:
3636         (WebCore::ApplyStyleCommand::applyBlockStyle):
3637         * editing/CompositeEditCommand.cpp:
3638         (WebCore::EditCommandComposition::unapply):
3639         (WebCore::CompositeEditCommand::apply):
3640         (WebCore::CompositeEditCommand::inputText):
3641         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
3642         (WebCore::CompositeEditCommand::moveParagraphs):
3643         * editing/CompositeEditCommand.h:
3644         * editing/DeleteButton.h:
3645         * editing/DeleteButtonController.cpp:
3646         (WebCore::DeleteButtonController::enable):
3647         (WebCore::DeleteButtonController::disable):
3648         * editing/DeleteSelectionCommand.cpp:
3649         (WebCore::DeleteSelectionCommand::doApply):
3650         * editing/DeleteSelectionCommand.h:
3651         * editing/EditAction.h:
3652         * editing/EditCommand.h:
3653         (WebCore::EditCommand::isInsertTextCommand):
3654         * editing/EditingStyle.cpp:
3655         * editing/Editor.cpp:
3656         (WebCore::ClearTextCommand::ClearTextCommand):
3657         (WebCore::ClearTextCommand::editingAction):
3658         (WebCore::ClearTextCommand::CreateAndApply):
3659         (WebCore::Editor::handleTextEvent):
3660         (WebCore::Editor::clearText):
3661         (WebCore::Editor::insertDictationPhrases):
3662         (WebCore::Editor::setDictationPhrasesAsChildOfElement):
3663         (WebCore::Editor::confirmMarkedText):
3664         (WebCore::Editor::setTextAsChildOfElement):
3665         (WebCore::Editor::notifyComponentsOnChangedSelection):
3666         (WebCore::Editor::ensureLastEditCommandHasCurrentSelectionIfOpenForMoreTyping):
3667         (WebCore::Editor::copy):
3668         (WebCore::Editor::setBaseWritingDirection):
3669         (WebCore::Editor::setComposition):
3670         (WebCore::Editor::showSpellingGuessPanel):
3671         (WebCore::Editor::markMisspellingsAfterTypingToWord):
3672         (WebCore::Editor::markMisspellingsOrBadGrammar):
3673         (WebCore::Editor::changeBackToReplacedString):
3674         (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
3675         (WebCore::Editor::setIgnoreCompositionSelectionChange):
3676         (WebCore::Editor::changeSelectionAfterCommand):
3677         (WebCore::Editor::shouldChangeSelection):
3678         (WebCore::Editor::respondToChangedSelection):
3679         (WebCore::Editor::resolveTextCheckingTypeMask):
3680         * editing/Editor.h:
3681         * editing/EditorCommand.cpp:
3682         (WebCore::executeClearText):
3683         (WebCore::enabledCopy):
3684         (WebCore::enabledCut):
3685         (WebCore::enabledClearText):
3686         (WebCore::createCommandMap):
3687         * editing/FrameSelection.cpp:
3688         (WebCore::FrameSelection::FrameSelection):
3689         (WebCore::FrameSelection::setSelection):
3690         (WebCore::FrameSelection::modifyExtendingRight):
3691         (WebCore::FrameSelection::modifyExtendingForward):
3692         (WebCore::FrameSelection::modifyMovingRight):
3693         (WebCore::FrameSelection::modifyMovingForward):
3694         (WebCore::FrameSelection::modifyExtendingLeft):
3695         (WebCore::FrameSelection::modifyExtendingBackward):
3696         (WebCore::FrameSelection::modifyMovingLeft):
3697         (WebCore::FrameSelection::modifyMovingBackward):
3698         (WebCore::FrameSelection::setSelectedRange):
3699         (WebCore::FrameSelection::focusedOrActiveStateChanged):
3700         (WebCore::FrameSelection::updateAppearance):
3701         (WebCore::FrameSelection::shouldDeleteSelection):
3702         (WebCore::FrameSelection::revealSelection):
3703         (WebCore::FrameSelection::setSelectionFromNone):
3704         (WebCore::FrameSelection::shouldChangeSelection):
3705         (WebCore::FrameSelection::expandSelectionToElementContainingCaretSelection):
3706         (WebCore::FrameSelection::elementRangeContainingCaretSelection):
3707         (WebCore::FrameSelection::expandSelectionToWordContainingCaretSelection):
3708         (WebCore::FrameSelection::wordRangeContainingCaretSelection):
3709         (WebCore::FrameSelection::expandSelectionToStartOfWordContainingCaretSelection):
3710         (WebCore::FrameSelection::characterInRelationToCaretSelection):
3711         (WebCore::FrameSelection::characterBeforeCaretSelection):
3712         (WebCore::FrameSelection::characterAfterCaretSelection):
3713         (WebCore::FrameSelection::wordOffsetInRange):
3714         (WebCore::FrameSelection::spaceFollowsWordInRange):
3715         (WebCore::FrameSelection::selectionAtDocumentStart):
3716         (WebCore::FrameSelection::selectionAtSentenceStart):
3717         (WebCore::FrameSelection::selectionAtWordStart):
3718         (WebCore::FrameSelection::rangeByMovingCurrentSelection):
3719         (WebCore::FrameSelection::rangeByExtendingCurrentSelection):
3720         (WebCore::FrameSelection::selectRangeOnElement):
3721         (WebCore::FrameSelection::wordSelectionContainingCaretSelection):
3722         (WebCore::FrameSelection::actualSelectionAtSentenceStart):
3723         (WebCore::FrameSelection::rangeByAlteringCurrentSelection):
3724         (WebCore::FrameSelection::clearCurrentSelection):
3725         (WebCore::FrameSelection::setCaretBlinks):
3726         (WebCore::FrameSelection::setCaretColor):
3727         * editing/FrameSelection.h:
3728         (WebCore::FrameSelection::suppressCloseTyping):
3729         (WebCore::FrameSelection::restoreCloseTyping):
3730         (WebCore::FrameSelection::setUpdateAppearanceEnabled):
3731         (WebCore::FrameSelection::suppressScrolling):
3732         (WebCore::FrameSelection::restoreScrolling):
3733         * editing/InsertIntoTextNodeCommand.cpp:
3734         (WebCore::InsertIntoTextNodeCommand::doReapply):
3735         * editing/InsertIntoTextNodeCommand.h:
3736         * editing/InsertTextCommand.h:
3737         * editing/ReplaceSelectionCommand.cpp:
3738         (WebCore::ReplaceSelectionCommand::doApply):
3739         * editing/TextAffinity.h:
3740         * editing/TextCheckingHelper.cpp:
3741         * editing/TextGranularity.h:
3742         * editing/TextIterator.cpp:
3743         (WebCore::isRendererReplacedElement):
3744         * editing/TypingCommand.cpp:
3745         (WebCore::TypingCommand::ensureLastEditCommandHasCurrentSelectionIfOpenForMoreTyping):
3746         (WebCore::TypingCommand::markMisspellingsAfterTyping):
3747         (WebCore::TypingCommand::deleteKeyPressed):
3748         (WebCore::TypingCommand::forwardDeleteKeyPressed):
3749         (WebCore::FriendlyEditCommand::setEndingSelection):
3750         (WebCore::TypingCommand::setEndingSelectionOnLastInsertCommand):
3751         * editing/TypingCommand.h:
3752         * editing/VisiblePosition.h:
3753         (WebCore::operator<):
3754         (WebCore::operator>):
3755         (WebCore::operator<=):
3756         (WebCore::operator>=):
3757         * editing/VisibleSelection.cpp:
3758         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
3759         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
3760         * editing/VisibleUnits.cpp:
3761         (WebCore::previousBoundary):
3762         (WebCore::nextBoundary):
3763         (WebCore::startOfDocument):
3764         (WebCore::endOfDocument):
3765         (WebCore::directionIsDownstream):
3766         (WebCore::atBoundaryOfGranularity):
3767         (WebCore::withinTextUnitOfGranularity):
3768         (WebCore::nextCharacterBoundaryInDirection):
3769         (WebCore::nextWordBoundaryInDirection):
3770         (WebCore::nextSentenceBoundaryInDirection):
3771         (WebCore::nextLineBoundaryInDirection):
3772         (WebCore::nextParagraphBoundaryInDirection):
3773         (WebCore::nextDocumentBoundaryInDirection):
3774         (WebCore::positionOfNextBoundaryOfGranularity):
3775         (WebCore::enclosingTextUnitOfGranularity):
3776         (WebCore::distanceBetweenPositions):
3777         (WebCore::wordRangeFromPosition):
3778         (WebCore::closestWordBoundaryForPosition):
3779         * editing/VisibleUnits.h:
3780         * editing/ios/DictationCommandIOS.cpp: Added.
3781         * editing/ios/DictationCommandIOS.h: Added.
3782         (WebCore::DictationCommandIOS::create):
3783         (WebCore::DictationCommandIOS::editingAction):
3784         * editing/mac/FrameSelectionMac.mm:
3785         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
3786         * fileapi/AsyncFileStream.cpp:
3787         * generate-export-file: Added.
3788         * inspector/InspectorCounters.h:
3789         * inspector/InspectorFrontendHost.h:
3790         * make-export-file-generator:
3791         * plugins/PluginPackage.h:
3792         * plugins/PluginViewBase.h:
3793         (WebCore::PluginViewBase::willProvidePluginLayer):
3794         (WebCore::PluginViewBase::attachPluginLayer):
3795         (WebCore::PluginViewBase::detachPluginLayer):
3796         * style/StyleResolveForDocument.cpp:
3797         (WebCore::Style::resolveForDocument):
3798         * style/StyleResolveTree.cpp:
3799         (WebCore::Style::elementImplicitVisibility):
3800         * testing/Internals.cpp:
3801         (WebCore::Internals::getCurrentCursorInfo):
3802         (WebCore::Internals::isSelectPopupVisible):
3803         * workers/WorkerThread.cpp:
3804         (WebCore::WorkerThread::workerThread):
3805
3806 2014-01-10  Daniel Bates  <dabates@apple.com>
3807
3808         Fix the iOS build after <http://trac.webkit.org/changeset/161589>
3809         (https://bugs.webkit.org/show_bug.cgi?id=126654)
3810
3811         * platform/graphics/ios/MediaPlayerPrivateIOS.h:
3812         (WebCore::MediaPlayerPrivateIOS::engineDescription): Adding missing return keyword.
3813
3814 2014-01-10  Andrei Bucur  <abucur@adobe.com>
3815
3816         [CSS Regions] Remove unused CSSParser::parseFlowThread
3817         https://bugs.webkit.org/show_bug.cgi?id=126749
3818
3819         Reviewed by Antti Koivisto.
3820
3821         There are two versions of CSSParser::parseFlowThread. Remove the unused one:
3822         bool parseFlowThread(const String& flowName);
3823
3824         Tests: No tests, code cleanup.
3825
3826         * css/CSSParser.cpp:
3827         * css/CSSParser.h:
3828
3829 2014-01-10  Alex Christensen  <achristensen@webkit.org>
3830
3831         [WinCairo] Build fix after r161589.
3832         https://bugs.webkit.org/show_bug.cgi?id=126747
3833
3834         Reviewed by Anders Carlsson.
3835
3836         * platform/network/ResourceHandle.cpp:
3837         Include NotImplemented.h for all platforms.
3838
3839 2014-01-10  Anders Carlsson  <andersca@apple.com>
3840
3841         Convert some for loops over to range-based for
3842         https://bugs.webkit.org/show_bug.cgi?id=126752
3843
3844         Reviewed by Antti Koivisto.
3845
3846         * inspector/InspectorApplicationCacheAgent.cpp:
3847         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
3848         * loader/appcache/ApplicationCache.cpp:
3849         (WebCore::ApplicationCache::clearStorageID):
3850         * loader/appcache/ApplicationCacheGroup.cpp:
3851         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
3852         (WebCore::ApplicationCacheGroup::clearStorageID):
3853         * loader/appcache/ApplicationCacheHost.cpp:
3854         (WebCore::ApplicationCacheHost::fillResourceList):
3855         * loader/appcache/ApplicationCacheResource.cpp:
3856         (WebCore::ApplicationCacheResource::estimatedSizeInStorage):
3857         * loader/appcache/ApplicationCacheStorage.cpp:
3858         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
3859         * loader/archive/ArchiveFactory.cpp:
3860         (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
3861         * page/animation/AnimationController.cpp:
3862         (WebCore::AnimationControllerPrivate::styleAvailable):
3863         (WebCore::AnimationControllerPrivate::startTimeResponse):
3864
3865 2014-01-10  Anders Carlsson  <andersca@apple.com>
3866
3867         Tighten up two functions in the inspector code
3868         https://bugs.webkit.org/show_bug.cgi?id=126751
3869
3870         Reviewed by Antti Koivisto.
3871
3872         * inspector/InspectorInstrumentation.cpp:
3873         (WebCore::InspectorInstrumentation::frameStartedLoadingImpl):
3874         (WebCore::InspectorInstrumentation::frameStoppedLoadingImpl):
3875         * inspector/InspectorInstrumentation.h:
3876         (WebCore::InspectorInstrumentation::frameStartedLoading):
3877         (WebCore::InspectorInstrumentation::frameStoppedLoading):
3878         * inspector/InspectorPageAgent.cpp:
3879         (WebCore::InspectorPageAgent::frameStartedLoading):
3880         (WebCore::InspectorPageAgent::frameStoppedLoading):
3881         * inspector/InspectorPageAgent.h:
3882
3883 2014-01-10  Antti Koivisto  <antti@apple.com>
3884
3885         Crash when mutating SVG text with transform
3886         https://bugs.webkit.org/show_bug.cgi?id=126744
3887
3888         Reviewed by Dirk Schulze.
3889
3890         Test: svg/custom/mutation-text-transform-crash.html
3891         
3892         Text-transform property triggers subtreeTextDidChange when an SVG text renderer is
3893         being added to the render tree. The function assumes the child is already fully in the tree
3894         but in this case we are still in middle of adding it.
3895
3896         * rendering/svg/RenderSVGText.cpp:
3897         (WebCore::RenderSVGText::subtreeTextDidChange):
3898         
3899             Bail out if the changed RenderSVGInlineText can't be found from m_layoutAttributes.
3900             This means that subtreeChildWasAdded hasn't been invoked yet for it and there is nothing
3901             to update. The required updates will happen in subtreeChildWasAdded.
3902
3903 2014-01-10  Frédéric Wang  <fred.wang@free.fr>
3904
3905         [SVG] Accept HTML and MathML namespaces as valid requiredExtensions
3906         https://bugs.webkit.org/show_bug.cgi?id=88188
3907
3908         Reviewed by Dirk Schulze.
3909
3910         When HTML and MathML are used as foreign objects of an SVG image, it is
3911         important for Web authors to be able to specify a fallback content for
3912         SVG-only readers or browsers without MathML support. We rely on the
3913         requiredExtensions for that purpose and we use the XHTML/MathML
3914         namespaces as suggested in SVG Tiny 1.2 and implemented in Gecko.
3915
3916         Tests: svg/custom/conditional-processing-1.svg
3917                svg/custom/conditional-processing-2.html
3918                svg/dom/SVGTests.html
3919
3920         * svg/SVGSwitchElement.cpp: Remove an incorrect FIXME comment and replace it with a reference to bug 74749.
3921         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
3922         * svg/SVGTests.cpp: Check if the list of required extensions contains only the XHTML/MathML namespaces.
3923         (WebCore::SVGTests::hasExtension):
3924         (WebCore::SVGTests::isValid):
3925
3926 2014-01-10  Mihai Tica  <mitica@adobe.com>
3927
3928         Add support for blendmode to Core Animation layer.
3929         Patch by Rik Cabanier, Dean Jackson and Mihai Tica.
3930
3931         https://bugs.webkit.org/show_bug.cgi?id=99200
3932
3933         Reviewed by Dirk Schulze.
3934
3935         Tests: css3/compositing/blend-mode-layers.html
3936                css3/compositing/blend-mode-overflow.html
3937                css3/compositing/blend-mode-reflection.html
3938                css3/compositing/blend-mode-should-not-have-compositing-layer.html
3939                css3/compositing/blend-mode-simple.html
3940
3941         * WebCore.exp.in: export PlatformCALayer::setBlendMode for WebKit::PlatformCALayerRemote
3942         * WebCore.xcodeproj/project.pbxproj: Add PlatformCAFiltersMac.h
3943         * platform/graphics/GraphicsLayer.cpp: add blendMode member
3944         (WebCore::GraphicsLayer::GraphicsLayer):
3945         * platform/graphics/GraphicsLayer.h:
3946         (WebCore::GraphicsLayer::blendMode):
3947         (WebCore::GraphicsLayer::setBlendMode):
3948         * platform/graphics/ca/GraphicsLayerCA.cpp:
3949         (WebCore::GraphicsLayerCA::setBlendMode):
3950         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): add call to updateBlendMode()
3951         (WebCore::GraphicsLayerCA::updateBlendMode):
3952         * platform/graphics/ca/GraphicsLayerCA.h:
3953         * platform/graphics/ca/PlatformCAFilters.h:
3954         * platform/graphics/ca/PlatformCALayer.h:
3955         * platform/graphics/ca/mac/PlatformCAFiltersMac.h: Added.
3956         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
3957         (PlatformCAFilters::setBlendingFiltersOnLayer): set a compositing CAFilter on CALayer
3958         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3959         (PlatformCALayer::setBlendMode): call to PlatformCAFilters::setBlendingFiltersOnLayer
3960         * rendering/RenderLayerBacking.cpp:
3961         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
3962         (WebCore::RenderLayerBacking::updateBlendMode):
3963         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3964         (WebCore::RenderLayerBacking::setBlendMode):
3965         * rendering/RenderLayerBacking.h:
3966         * rendering/RenderLayerCompositor.cpp:
3967         (WebCore::CompositingState::CompositingState): add m_subtreeHasBlending member
3968         (WebCore::RenderLayerCompositor::computeCompositingRequirements): promote layer if subtree has blending
3969         (WebCore::RenderLayerCompositor::reasonsForCompositing):
3970         (WebCore::RenderLayerCompositor::logReasonsForCompositing): log blending reason
3971         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): add blending reason
3972         * rendering/RenderLayerCompositor.h:
3973
3974 2014-01-10  Andrei Bucur  <abucur@adobe.com>
3975
3976         [CSS Regions] Implement visual overflow computation for inline elements
3977         https://bugs.webkit.org/show_bug.cgi?id=125291
3978
3979         Reviewed by David Hyatt.
3980
3981         The patch implements visual overflow computation for inline elements per region. The algorithm
3982         uses the container region of each root line box to determine the lines in a region generated by
3983         a RenderInline. The overflow of a RenderInline inside a region is the smallest rectangle that fits
3984         all the line boxes belonging to that region.
3985
3986         The patch also correctly flips for writing mode the overflow of a renderer before clipping with it.
3987
3988         Tests: fast/regions/overflow-in-variable-width-regions-inline-bt.html
3989                fast/regions/overflow-in-variable-width-regions-inline-continuation.html
3990                fast/regions/overflow-in-variable-width-regions-inline-lr.html
3991                fast/regions/overflow-in-variable-width-regions-inline-rl.html
3992                fast/regions/overflow-in-variable-width-regions-inline.html
3993
3994         * rendering/RenderFlowThread.cpp:
3995         (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
3996         * rendering/RenderInline.cpp:
3997         (WebCore::RenderInline::updateAlwaysCreateLineBoxes): Always create line boxes for RenderInline
3998         (WebCore::RenderInline::linesVisualOverflowBoundingBoxInRegion):
3999         * rendering/RenderInline.h:
4000         * rendering/RenderLayer.cpp:
4001         (WebCore::RenderLayer::calculateClipRects):
4002         * rendering/RenderRegion.cpp:
4003         (WebCore::RenderRegion::visualOverflowRectForBox):
4004         (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
4005         * rendering/RenderRegion.h:
4006
4007 2014-01-09  Jer Noble  <jer.noble@apple.com>
4008
4009         [Mac] .mp3 media document controls missing their background
4010         https://bugs.webkit.org/show_bug.cgi?id=126683
4011
4012         Reviewed by Eric Carlson.
4013
4014         Test: media/media-document-audio-controls-visible.html
4015
4016         <video> elements in a media document are created with an intrinsic size of 300x1,
4017         with the expectation that either the size will be updated if the media has a video
4018         track, or the controls will visibly overflow if the media is audio-only. Since the
4019         shadow root is a flex-box, the panel was being collapsed to 1px high, so give the panel
4020         a minimum height to prevent that. Also, disable "fading out" the controls in a
4021         media document for an audio-only file by adding a "no-video" class to the panel
4022         and adding a media document-only rule to force the controls to always be visible.
4023
4024         * Modules/mediacontrols/mediaControlsApple.css:
4025         (video:-webkit-full-page-media::-webkit-media-controls-panel.no-video):
4026         (audio::-webkit-media-controls-panel):
4027         * Modules/mediacontrols/mediaControlsApple.js:
4028         (Controller): Call updateHasVideo().
4029         (Controller.prototype.addVideoListeners): Add video track listeners.
4030         (Controller.prototype.removeVideoListeners): Remove same.
4031         (Controller.prototype.updateHasVideo): Add a 'no-video' class to the panel if
4032             the video element has no video tracks.
4033
4034 2014-01-09  Anders Carlsson  <andersca@apple.com>
4035
4036         Clean up ProgressTracker a little
4037         https://bugs.webkit.org/show_bug.cgi?id=126738
4038
4039         Reviewed by Dan Bernstein.
4040
4041         Use Frame& where the frame can never be null, avoid an extra hash lookup and
4042         switch the m_progressItems map over to std::unique_ptr.
4043
4044         * inspector/InspectorInstrumentation.h:
4045         (WebCore::InspectorInstrumentation::frameStartedLoading):
4046         * loader/FrameLoader.cpp:
4047         (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
4048         (WebCore::FrameLoader::FrameProgressTracker::progressStarted):
4049         (WebCore::FrameLoader::FrameProgressTracker::progressCompleted):
4050         * loader/ProgressTracker.cpp:
4051         (WebCore::ProgressTracker::progressStarted):
4052         (WebCore::ProgressTracker::progressCompleted):
4053         (WebCore::ProgressTracker::incrementProgress):
4054         * loader/ProgressTracker.h:
4055         * loader/ResourceLoadNotifier.cpp:
4056         (WebCore::ResourceLoadNotifier::didReceiveData):
4057
4058 2014-01-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
4059
4060         Fix a build break on EFL debug build
4061         https://bugs.webkit.org/show_bug.cgi?id=126735
4062
4063         Reviewed by Anders Carlsson.
4064
4065         No new tests, just build fix.
4066
4067         * platform/ThreadTimers.cpp:
4068         (WebCore::ThreadTimers::sharedTimerFiredInternal):  Add parentheses.
4069
4070 2014-01-09  Anders Carlsson  <andersca@apple.com>
4071
4072         Remove unused FrameLoader member functions
4073         https://bugs.webkit.org/show_bug.cgi?id=126734
4074
4075         Reviewed by Andreas Kling.
4076
4077         * loader/FrameLoader.cpp:
4078         * loader/FrameLoader.h:
4079
4080 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
4081
4082         Unreviewed Windows build fix for r161563.
4083
4084         Remove stale forward declaration causing namespace ambiguity
4085         later on in a Windows AllInOne file that picked it up. Also
4086         remove a few stale functions that are not used and accidentally
4087         got added back in when the file changed names.
4088
4089         * bindings/js/ScriptGlobalObject.h:
4090
4091 2014-01-09  Dean Jackson  <dino@apple.com>
4092
4093         [WebGL] Expose texture_float_linear and texture_half_float to getSupportedExtensions
4094         https://bugs.webkit.org/show_bug.cgi?id=126732
4095
4096         Reviewed by Tim Horton.
4097
4098         When I added support for these two extensions, I forgot to add their
4099         names to the list in getSupportedExtensions.
4100
4101         Covered by the Khronos test: conformance/extensions/get-extension.html
4102
4103         * html/canvas/WebGLRenderingContext.cpp:
4104         (WebCore::WebGLRenderingContext::getSupportedExtensions): Add OES_texture_float_linear
4105         and OES_texture_half_float if the WebGL context supports them.
4106
4107 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
4108
4109         Revert r161611, incorrect fix, will fix better.
4110
4111         * bindings/js/ScriptGlobalObject.h:
4112
4113 2014-01-09  Jer Noble  <jer.noble@apple.com>
4114
4115         [Mac] Scrubbing performance of HD content with software decoding is poor.
4116         https://bugs.webkit.org/show_bug.cgi?id=126705
4117
4118         Reviewed by Eric Carlson.
4119
4120         Instead of issuing a new seek before the previous one completes, wait until that seek's
4121         completion handler is called, and then issue the new seek. This has the added benefit of
4122         coalescing multiple incoming seeks so that only the last one is acted upon.
4123
4124         Save the parameters passed into seekToTime and bind them together in a std::function
4125         to be replayed once the in-flight seek completes. To handle the case where a completion
4126         handler fires after the media player is destroyed, add a weakPtrFactory and pass a
4127         WeakPtr into the completion handler.