[iOS] Fix COMPILE_ASSERT by updating struct SameSizeAsStyleRareInheritedData
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-01-10  David Kilzer  <ddkilzer@apple.com>
2
3         [iOS] Fix COMPILE_ASSERT by updating struct SameSizeAsStyleRareInheritedData
4
5         * rendering/style/StyleRareInheritedData.cpp:
6
7 2014-01-10  David Kilzer  <ddkilzer@apple.com>
8
9         [iOS] Fix build of SubframeLoader.cpp
10
11         * loader/SubframeLoader.cpp:
12         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
13         (WebCore::SubframeLoader::loadPlugin):
14         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
15
16 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
17
18         Fix Mac after r161747. One part of that is iOS specific.
19
20         Unreviewed build fix.
21
22         * bindings/js/GCController.cpp:
23         (WebCore::GCController::releaseExecutableMemory):
24
25 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
26
27         [iOS] Fix GCController::releaseExecutableMemory
28         https://bugs.webkit.org/show_bug.cgi?id=126805
29
30         Reviewed by Sam Weinig and Mark Lam.
31
32         VM::dynamicGlobalObject has since been replaced by VMEntryScope.
33         Update to check entryScope instead of the dynamicGlobalObject.
34         Also, make this non-iOS only.
35
36         * bindings/js/GCController.h:
37         * bindings/js/GCController.cpp:
38         (WebCore::GCController::releaseExecutableMemory):
39
40 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
41
42         Fix HTMLMediaElement.o for iOS. Unreviewed build fix.
43
44         There is now local variable mediaElement. Just call the
45         functions since they are methods on this class.
46
47         Fix RequireUserGestureToShowPlaybackTargetPickerRestriction typos.
48
49         * html/HTMLMediaElement.cpp:
50         (WebCore::HTMLMediaElement::parseAttribute):
51
52 2014-01-10  Anders Carlsson  <andersca@apple.com>
53
54         Move progress tracking functions from FrameLoaderClient to a new ProgressTrackerClient
55         https://bugs.webkit.org/show_bug.cgi?id=126801
56
57         Reviewed by Sam Weinig.
58
59         * GNUmakefile.list.am:
60         * WebCore.vcxproj/WebCore.vcxproj:
61         * WebCore.vcxproj/WebCore.vcxproj.filters:
62         * WebCore.xcodeproj/project.pbxproj:
63         * loader/EmptyClients.cpp:
64         (WebCore::fillWithEmptyClients):
65         * loader/EmptyClients.h:
66         * loader/FrameLoaderClient.h:
67         * loader/ProgressTracker.cpp:
68         (WebCore::ProgressTracker::ProgressTracker):
69         (WebCore::ProgressTracker::~ProgressTracker):
70         (WebCore::ProgressTracker::progressStarted):
71         (WebCore::ProgressTracker::progressCompleted):
72         (WebCore::ProgressTracker::finalProgressComplete):
73         (WebCore::ProgressTracker::incrementProgress):
74         * loader/ProgressTracker.h:
75         * loader/ProgressTrackerClient.h: Added.
76         (WebCore::ProgressTrackerClient::~ProgressTrackerClient):
77         (WebCore::ProgressTrackerClient::progressTrackerDestroyed):
78         (WebCore::ProgressTrackerClient::willChangeEstimatedProgress):
79         (WebCore::ProgressTrackerClient::didChangeEstimatedProgress):
80         * page/Page.cpp:
81         (WebCore::Page::Page):
82         (WebCore::Page::PageClients::PageClients):
83         * page/Page.h:
84
85 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
86
87         Fix RenderObject.o for iOS. Unreviewed build fix.
88
89         r156285 renamed firstChild() to firstChildSlow(), so update
90         occurances in IOS_TEXT_AUTOSIZING code. Also account for a
91         RenderObject::style reference / pointer change.
92
93         * rendering/RenderObject.cpp:
94         (WebCore::RenderObject::traverseNext):
95         (WebCore::includeNonFixedHeight):
96
97 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
98
99         Fix MediaPlayerPrivateMediaSourceAVFObjC.o for iOS. Unreviewed build fix.
100
101         Import CALayer, which Mac must have been getting some other way.
102
103         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
104
105 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
106
107         Fix TileGrid.o for iOS. Unreviewed build fix.
108
109         Explicitly use namespace std in std::pair.
110
111         * platform/ios/TileGrid.mm:
112         (WebCore::isFartherAway):
113         (WebCore::TileGrid::dropDistantTiles):
114
115 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
116
117         Fix RenderImage.o for iOS. Unreviewed build fix.
118
119         inlineBoxWrapper() returns an InlineElementBox type, which is an InlineBox but
120         without including InlineElementBox.h, iOS didn't know what an InlineElementBox was!
121
122         * rendering/RenderImage.cpp:
123
124 2014-01-10  David Kilzer  <ddkilzer@apple.com>
125
126         [iOS] Fix macros in Scrollbar::supportsUpdateOnSecondaryThread()
127
128         Fixes the following build error:
129
130             WebCore/platform/Scrollbar.cpp:552:22: error: '__MAC_OS_X_VERSION_MIN_REQUIRED' is not defined, evaluates to 0 [-Werror,-Wundef]
131             #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000 && ENABLE(ASYNC_SCROLLING)
132                                  ^
133
134         * platform/Scrollbar.cpp:
135         (WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
136
137 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
138
139         Fix RenderFileUploadControl.o for iOS. Unreviewed build fix.
140
141         WebCore::theme() returns a reference now, not a pointer.
142
143         * rendering/RenderFileUploadControl.cpp:
144         (WebCore::RenderFileUploadControl::paintObject):
145
146 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
147
148         Fix HTMLPlugInImageElement.o for iOS. Unreviewed build fix.
149
150         Forgot to upstream YouTubeEmbedShadowElement.*. Do so and
151         add the files to the Xcode project so they build.
152
153         * WebCore.xcodeproj/project.pbxproj:
154         * html/shadow/YouTubeEmbedShadowElement.cpp: Added.
155         (WebCore::YouTubeEmbedShadowElement::create):
156         (WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement):
157         (WebCore::YouTubeEmbedShadowElement::pluginElement):
158         (WebCore::YouTubeEmbedShadowElement::shadowPseudoId):
159         * html/shadow/YouTubeEmbedShadowElement.h: Added.
160
161 2014-01-10  David Kilzer  <ddkilzer@apple.com>
162
163         [iOS] Update EditorIOS.mm to switch from pointers to references
164
165         * editing/ios/EditorIOS.mm:
166         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
167         (WebCore::Editor::insertParagraphSeparatorInQuotedContent):
168         (WebCore::styleForSelectionStart):
169         (WebCore::Editor::selectionInWebArchiveFormat):
170         (WebCore::Editor::writeImageToPasteboard):
171         (WebCore::Editor::WebContentReader::readWebArchive):
172         (WebCore::Editor::WebContentReader::readRTFD):
173         (WebCore::Editor::WebContentReader::readRTF):
174         (WebCore::uniqueURLWithRelativePart):
175         (WebCore::Editor::WebContentReader::readPlainText):
176         (WebCore::Editor::webContentFromPasteboard):
177         (WebCore::Editor::createFragmentAndAddResources):
178         (WebCore::Editor::createFragmentForImageResourceAndAddResource):
179
180 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
181
182         Web Inspector: Push InspectorAgent down into JSC, give JSC an InspectorController
183         https://bugs.webkit.org/show_bug.cgi?id=126763
184
185         Reviewed by Timothy Hatcher.
186
187         No new tests, no observable change in functionality.
188
189         * CMakeLists.txt:
190         * ForwardingHeaders/inspector/agent/InspectorAgent.h: Added.
191         * GNUmakefile.list.am:
192         * WebCore.vcxproj/WebCore.vcxproj:
193         * WebCore.vcxproj/WebCore.vcxproj.filters:
194         * WebCore.xcodeproj/project.pbxproj:
195         * inspector/InspectorAllInOne.cpp:
196         InspectorAgent moved to JavaScriptCore. Include forwarding header.
197
198         * inspector/PageConsoleAgent.cpp:
199         (WebCore::PageConsoleAgent::PageConsoleAgent):
200         (WebCore::PageConsoleAgent::~PageConsoleAgent):
201         * inspector/PageConsoleAgent.h:
202         (WebCore::PageConsoleAgent::create):
203         * inspector/InspectorApplicationCacheAgent.cpp:
204         * inspector/InspectorApplicationCacheAgent.h:
205         InspectorAgent was not used by these files, remove it.
206
207         * inspector/CommandLineAPIHost.cpp:
208         * inspector/CommandLineAPIHost.h:
209         (WebCore::CommandLineAPIHost::init):
210         * inspector/InspectorInstrumentation.cpp:
211         * inspector/InstrumentingAgents.h:
212         (WebCore::InstrumentingAgents::inspectorAgent):
213         (WebCore::InstrumentingAgents::setInspectorAgent):
214         Switch to Inspector::InspectorAgent where applicable.
215
216         * inspector/InspectorController.cpp:
217         (WebCore::InspectorController::InspectorController):
218         * inspector/InspectorController.h:
219         Manually add InspectorAgent to the InstrumentingAgents. It is one
220         of the agents that is always available in InstrumentingAgents.
221
222 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
223
224        Add TextAutoSizing.* for iOS, and fix DeviceOrientationController creation.
225
226         * WebCore.xcodeproj/project.pbxproj:
227         * dom/Document.cpp:
228         (WebCore::Document::Document):
229         * rendering/TextAutoSizing.cpp: Added.
230         (WebCore::cloneRenderStyleWithState):
231         (WebCore::TextAutoSizingKey::TextAutoSizingKey):
232         (WebCore::TextAutoSizingKey::~TextAutoSizingKey):
233         (WebCore::TextAutoSizingKey::operator=):
234         (WebCore::TextAutoSizingKey::ref):
235         (WebCore::TextAutoSizingKey::deref):
236         (WebCore::TextAutoSizingValue::numNodes):
237         (WebCore::TextAutoSizingValue::addNode):
238         (WebCore::TextAutoSizingValue::adjustNodeSizes):
239         (WebCore::TextAutoSizingValue::reset):
240         * rendering/TextAutoSizing.h: Added.
241         (WebCore::TextAutoSizingKey::doc):
242         (WebCore::TextAutoSizingKey::style):
243         (WebCore::TextAutoSizingKey::isValidDoc):
244         (WebCore::TextAutoSizingKey::isValidStyle):
245         (WebCore::TextAutoSizingKey::deletedKeyDoc):
246         (WebCore::TextAutoSizingKey::deletedKeyStyle):
247         (WebCore::operator==):
248         (WebCore::TextAutoSizingHash::hash):
249         (WebCore::TextAutoSizingHash::equal):
250         (WebCore::TextAutoSizingValue::create):
251         (WebCore::TextAutoSizingValue::TextAutoSizingValue):
252
253 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
254
255         Fix GraphicsLayerCA.o for iOS. Unreviewed build fix.
256
257         Use of systemMemoryLevel was missing include of SystemMemory.h.
258
259         * platform/graphics/ca/GraphicsLayerCA.cpp:
260
261 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
262
263         Fix iOS build.
264
265         * bindings/objc/DOM.mm:
266         (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
267         * bindings/objc/DOMExtensions.h:
268         * platform/DragImage.h:
269
270 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
271
272         Fix iOS build.
273         
274         Generated DOMTouch* and DOMGesture* files need to be in the project.
275         Exclude them on Mac via EXCLUDED_SOURCE_FILE_NAMES_macosx.
276         
277         Use TARGET_OS_IPHONE instead of TARGET_OS_EMBEDDED in DOMPrivate.h
278
279         * Configurations/WebCore.xcconfig:
280         * WebCore.xcodeproj/project.pbxproj:
281         * bindings/objc/DOMPrivate.h:
282
283 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
284
285         Fix RenderThemeIOS.o for iOS. Unreviewed build fix.
286
287         Typo referring to generated name. Should be "iOS" not "IOS".
288
289         * rendering/RenderThemeIOS.mm:
290         (WebCore::RenderThemeIOS::mediaControlsScript):
291
292 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
293
294         Fix WebAccessibilityObjectWrapperIOS.o for iOS. Unreviewed build fix.
295
296         The upstreamed WebAccessibilityObjectWrapperIOS.mm was out of date, e.g.
297         it was using GSFonts. Just upstream a newer version of the file. Also
298         explicitly namespace qualify std::pair.
299
300         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
301         (AXAttributeStringSetStyle):
302
303 2014-01-10  Jinwoo Song  <jinwoo7.song@samsung.com>
304
305         Remove willRespondToTouchEvents() which was used by chromium port
306         https://bugs.webkit.org/show_bug.cgi?id=126739
307
308         Reviewed by Alexey Proskuryakov.
309
310         willRespondToTouchEvents() was added to check if a node listens to touch events in r126945.
311         However, it is not used anywhere after chromium port is removed.
312
313         * dom/Node.cpp:
314         * dom/Node.h:
315
316 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
317
318         Fix SystemVersionMac.o for iOS. Unreviewed build fix.
319
320         Add missing expected function. Maybe we can avoid including
321         this file entirely on iOS, there was already a FIXME.
322
323         * platform/mac/SystemVersionMac.mm:
324         (WebCore::systemMarketingVersion):
325
326 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
327
328         Fix JSDOMWindowBase.o for iOS. Unreviewed build fix.
329
330         Add missing iOS method declarations.
331
332         * bindings/js/JSDOMWindowBase.h:
333
334 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
335
336         Fix InputType.o for iOS. Unreviewed build fix.
337
338         The RuntimeEnabledFeatures function pointer type should have a
339         const qualifier, because the implementations are all const.
340
341         * html/InputType.cpp:
342
343 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
344
345         Fix MediaPlayerPrivateIOS.o for iOS. Unreviewed build fix.
346
347         Add missing MediaPlayerProxy Objective C methods and forward declarations.
348
349         * platform/graphics/mac/MediaPlayerProxy.h:
350
351 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
352
353         Fix FrameSelection.o for iOS. Unreviewed build fix.
354
355         r160966 renamed rendererIsEditable to hasEditableStyle.
356
357         * editing/FrameSelection.cpp:
358         (WebCore::FrameSelection::setSelectionFromNone):
359
360 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
361
362         Fix DragData.o for iOS. Unreviewed build fix.
363
364         String m_pasteboardName is unused on iOS, so ifdef it out.
365
366         * platform/DragData.h:
367
368 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
369
370         Fix FrameIOS.o for iOS. Unreviewed build fix.
371
372         Remove stale include to file that no longer exists. It was not needed.
373
374         * page/ios/FrameIOS.mm:
375
376 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
377
378         Fix MonthInputType.o for iOS. Unreviewed build fix.
379
380         When ENABLE_INPUT_MULTIPLE_FIELDS_UI was removed in r150876,
381         the wrong class name lingered. Fix it to be the base class.
382
383         * html/TimeInputType.cpp:
384         (WebCore::TimeInputType::TimeInputType):
385
386 2014-01-10  Andy Estes  <aestes@apple.com>
387
388         [iOS] Build fix: make sure WTF_PLATFORM_IOS is defined when preprocessing
389
390         * DerivedSources.make:
391         * bindings/scripts/preprocessor.pm:
392         (applyPreprocessor):
393
394 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
395
396         Use TARGET_OS_IPHONE in this API file, and #if TARGET_OS_MAC
397         for a non-iOS function.
398
399         * bindings/objc/DOMExtensions.h:
400
401 2014-01-10  David Kilzer  <ddkilzer@apple.com>
402
403         Clean up architectures in xcconfig files
404         <http://webkit.org/b/126794>
405
406         Reviewed by Andy Estes.
407
408         * Configurations/Base.xcconfig:
409         * Configurations/WebCore.xcconfig: Remove armv6.
410         * DerivedSources.make: Remove armv6, armv7f. Sort.
411         - Add new arch.
412
413 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
414
415         Fix iOS build
416
417         * Configurations/WebCore.xcconfig:
418         * css/DeprecatedStyleBuilder.cpp:
419         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
420
421 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
422
423         Fix iOS build.
424         
425         * html/DateTimeLocalInputType.h:
426         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
427         * loader/ios/DiskImageCacheIOS.h:
428
429 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
430
431         iOS build fix: add StyleRareInheritedData::compositionFillColor
432
433         * rendering/style/RenderStyle.h:
434         * rendering/style/StyleRareInheritedData.cpp:
435         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
436         (WebCore::StyleRareInheritedData::operator==):
437         * rendering/style/StyleRareInheritedData.h:
438
439 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
440
441         Fix MonthInputType.o for iOS. Unreviewed build fix.
442
443         When ENABLE_INPUT_MULTIPLE_FIELDS_UI was removed in r150876, the
444         BaseMonthInputType typedef was removed. However a use of it lingered.
445         Changing to match the base class name.
446
447         * html/MonthInputType.h:
448         (WebCore::MonthInputType::MonthInputType):
449
450 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
451
452         Fix RenderButton.o for iOS. Unreviewed build fix.
453
454         Missing prototype in header for override of the layout method.
455
456         * rendering/RenderButton.h:
457
458 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
459
460         A couple of iOS build fixes.
461
462         * accessibility/ios/AXObjectCacheIOS.mm:
463         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
464         * html/canvas/CanvasRenderingContext2D.cpp:
465         (WebCore::CanvasRenderingContext2D::drawImage):
466
467 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
468
469         Fix PlatformScreenIOS.mm for iOS. Unreviewed build fix.
470
471         PlatformScreen.h removed screenVerticalDPI and screenHorizontalDPI in r132419,
472         so remove the stale implementations on iOS. Also, add a notImplemented version
473         of screenColorProfile, which matches Mac and is unused in WebCore for this port.
474
475         * platform/ios/PlatformScreenIOS.mm:
476         (WebCore::screenColorProfile):
477
478 2014-01-10  Anders Carlsson  <andersca@apple.com>
479
480         CTTE FrameTree
481         https://bugs.webkit.org/show_bug.cgi?id=126795
482
483         Reviewed by Tim Horton.
484
485         * page/Frame.cpp:
486         (WebCore::Frame::Frame):
487         * page/FrameTree.cpp:
488         (WebCore::FrameTree::transferChild):
489         (WebCore::FrameTree::appendChild):
490         (WebCore::FrameTree::actuallyAppendChild):
491         (WebCore::FrameTree::uniqueChildName):
492         (WebCore::FrameTree::scopedChild):
493         (WebCore::FrameTree::scopedChildCount):
494         (WebCore::FrameTree::child):
495         (WebCore::FrameTree::find):
496         (WebCore::FrameTree::isDescendantOf):
497         (WebCore::FrameTree::traverseNext):
498         (WebCore::FrameTree::traverseNextWithWrap):
499         (WebCore::FrameTree::traversePreviousWithWrap):
500         (WebCore::FrameTree::deepLastChild):
501         (WebCore::FrameTree::top):
502         * page/FrameTree.h:
503         (WebCore::FrameTree::FrameTree):
504
505 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
506
507         Fix iOS build.
508
509         * loader/ResourceLoader.h:
510
511 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
512
513         Fix iOS build.
514
515         * platform/graphics/ImageSource.h:
516         (WebCore::ImageSource::acceleratedImageDecodingEnabled):
517         (WebCore::ImageSource::setAcceleratedImageDecodingEnabled):
518
519 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
520
521         Unreviewed EFL build fix after r161678.
522
523         static_cast a size_t to unsigned long for %lu format string.
524
525         * page/Console.cpp:
526         (WebCore::internalAddMessage):
527
528 2014-01-10  Benjamin Poulain  <bpoulain@apple.com>
529
530         Remove the BlackBerry port from trunk
531         https://bugs.webkit.org/show_bug.cgi?id=126715
532
533         Reviewed by Anders Carlsson.
534
535         * html/canvas/WebGLRenderingContext.cpp:
536         (WebCore::WebGLRenderingContext::readPixels):
537         * platform/graphics/ImageBuffer.cpp:
538         * platform/graphics/ImageBufferData.h:
539         * platform/graphics/IntPoint.h:
540         * platform/graphics/IntRect.h:
541         * platform/graphics/IntSize.h:
542         * platform/graphics/MediaPlayer.cpp:
543         * platform/graphics/NativeImagePtr.h:
544         * platform/graphics/OpenGLESShims.h:
545         * platform/graphics/Path.cpp:
546         (WebCore::Path::addPathForRoundedRect):
547         * platform/graphics/Path.h:
548         * platform/graphics/PlatformLayer.h:
549         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
550         * platform/graphics/filters/CustomFilterValidatedProgram.h:
551         * platform/graphics/filters/FilterOperation.h:
552         * platform/graphics/gpu/DrawingBuffer.cpp:
553         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
554         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
555         (WebCore::Extensions3DOpenGLES::getGraphicsResetStatusARB):
556         * platform/graphics/opengl/Extensions3DOpenGLES.h:
557         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
558         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
559         (WebCore::GraphicsContext3D::prepareTexture):
560         (WebCore::GraphicsContext3D::bindFramebuffer):
561         (WebCore::GraphicsContext3D::compileShader):
562         (WebCore::GraphicsContext3D::copyTexImage2D):
563         (WebCore::GraphicsContext3D::copyTexSubImage2D):
564         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
565         (WebCore::GraphicsContext3D::readPixels):
566         (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
567         (WebCore::GraphicsContext3D::reshapeFBOs):
568         * platform/network/NetworkStateNotifier.h:
569         * platform/network/ResourceHandle.h:
570         * platform/network/ResourceHandleInternal.h:
571         * platform/network/ResourceRequestBase.cpp:
572
573 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
574
575         Fix CharsetData.cpp build for iOS
576         https://bugs.webkit.org/show_bug.cgi?id=126792
577
578         Reviewed by Mark Rowe.
579
580         CharsetData.cpp should have an empty CharsetTable list for iOS.
581         Achieve this with an iOS-specific encodings.txt file.
582
583         * DerivedSources.make:
584         * WebCore.xcodeproj/project.pbxproj:
585         * platform/text/mac/ios-encodings.txt: Added.
586
587 2014-01-10  Anders Carlsson  <andersca@apple.com>
588
589         CTTE in NavigationScheduler
590         https://bugs.webkit.org/show_bug.cgi?id=126788
591
592         Reviewed by Tim Horton.
593
594         * inspector/InspectorInstrumentation.cpp:
595         (WebCore::InspectorInstrumentation::frameScheduledNavigationImpl):
596         (WebCore::InspectorInstrumentation::frameClearedScheduledNavigationImpl):
597         * inspector/InspectorInstrumentation.h:
598         (WebCore::InspectorInstrumentation::frameScheduledNavigation):
599         (WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):
600         * inspector/InspectorPageAgent.cpp:
601         (WebCore::InspectorPageAgent::frameScheduledNavigation):
602         (WebCore::InspectorPageAgent::frameClearedScheduledNavigation):
603         * inspector/InspectorPageAgent.h:
604         * loader/NavigationScheduler.cpp:
605         (WebCore::ScheduledNavigation::shouldStartTimer):
606         (WebCore::ScheduledNavigation::didStartTimer):
607         (WebCore::ScheduledNavigation::didStopTimer):
608         (WebCore::NavigationScheduler::NavigationScheduler):
609         (WebCore::NavigationScheduler::clear):
610         (WebCore::NavigationScheduler::shouldScheduleNavigation):
611         (WebCore::NavigationScheduler::scheduleRedirect):
612         (WebCore::NavigationScheduler::mustLockBackForwardList):
613         (WebCore::NavigationScheduler::scheduleLocationChange):
614         (WebCore::NavigationScheduler::scheduleFormSubmission):
615         (WebCore::NavigationScheduler::scheduleRefresh):
616         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
617         (WebCore::NavigationScheduler::timerFired):
618         (WebCore::NavigationScheduler::schedule):
619         (WebCore::NavigationScheduler::startTimer):
620         (WebCore::NavigationScheduler::cancel):
621         * loader/NavigationScheduler.h:
622         * page/Frame.cpp:
623         (WebCore::Frame::Frame):
624
625 2014-01-10  Myles C. Maxfield  <mmaxfield@apple.com>
626
627         CSS word-spacing property does not obey percentages
628         https://bugs.webkit.org/show_bug.cgi?id=126674
629
630         Reviewed by Simon Fraser.
631
632         One change between CSS2.1 and CSS3 is that the word-spacing CSS property can
633         take percentages (of the width of the space character) in CSS3. In order to
634         implement this, the datatype must be changed from a float to a Length, which
635         can hold percentage values. Then, during layout, we can query the width of
636         the space character and update the Font's word-spacing value appropriately.
637         However, the RenderStyle still holds on to the Length (as a rare inherited
638         value).
639
640         Tests: fast/css3-text/css3-word-spacing-percentage/word-spacing-change-font.html
641                fast/css3-text/css3-word-spacing-percentage/word-spacing-percentage-parse.html
642                fast/css3-text/css3-word-spacing-percentage/word-spacing-percentage.html
643
644         * css/CSSComputedStyleDeclaration.cpp:
645         (WebCore::ComputedStyleExtractor::propertyValue): Use Font's computed value instead
646         of style's Length value.
647         * css/CSSParser.cpp:
648         (WebCore::CSSParser::parseValue): word-spacing and letter-spacing no longer are
649         parsed the same way.
650         * css/DeprecatedStyleBuilder.cpp:
651         (WebCore::ApplyPropertyWordSpacing::applyValue): Construct a length from a given
652         CSSValue and set the style's word spacing with it.
653         (WebCore::ApplyPropertyWordSpacing::createHandler):
654         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Use ApplyPropertyWordSpacing.
655         * page/animation/CSSPropertyAnimation.cpp:
656         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
657         * rendering/RenderBlockLineLayout.cpp:
658         (WebCore::setLogicalWidthForTextRun): Use Font's computed value instead
659         of style's Length value.
660         * rendering/RenderText.cpp:
661         (WebCore::RenderText::computePreferredLogicalWidths): Ditto.
662         * rendering/SimpleLineLayout.cpp:
663         (WebCore::SimpleLineLayout::canUseFor): Opt-out of the SimpleLineLayout
664         if either the percentage or the length is nonzero.
665         * rendering/line/BreakingContextInlineHeaders.h:
666         (WebCore::BreakingContext::handleText): Use Font's computed value instead
667         of style's Length value.
668         * rendering/style/RenderStyle.cpp:
669         (WebCore::RenderStyle::wordSpacing):
670         (WebCore::RenderStyle::setWordSpacing): Consult the Font's space with to compute
671         percentage values, but hold on to the original Length.
672         * rendering/style/RenderStyle.h:
673         * rendering/style/StyleRareInheritedData.cpp:
674         * rendering/style/StyleRareInheritedData.h: Hold on to the specified Length
675
676 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
677
678         Fix the iOS build.
679
680         * platform/audio/mac/MediaSessionManagerMac.cpp:
681
682 2014-01-10  Simon Fraser  <simon.fraser@apple.com>
683
684         iOS doesn't have <OpenGL/gl.h>; fix iOS build.
685
686         * platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
687
688 2014-01-10  Andy Estes  <aestes@apple.com>
689
690         [iOS] Build Fix: Properly add $SDKROOT/usr/local/include/ to the search path when building PublicDOMInterfaces.h
691
692         * bindings/scripts/CodeGeneratorObjC.pm:
693         (ReadPublicInterfaces):
694
695 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
696
697         Web Inspector: Remove unimplemented or static ScriptDebugServer features
698         https://bugs.webkit.org/show_bug.cgi?id=126784
699
700         Reviewed by Timothy Hatcher.
701
702         These features are unimplemented in the backend, and unused by the
703         current frontend. Most deal with features that were supported by v8
704         and are as yet unimplemented by JSC. If we decide to add such features
705         we can reimplement without conforming to an old implementation.
706
707         * bindings/js/ScriptDebugServer.cpp:
708         * bindings/js/ScriptDebugServer.h:
709         * bindings/js/ScriptProfiler.h:
710         * inspector/InspectorDebuggerAgent.cpp:
711         (WebCore::InspectorDebuggerAgent::disable):
712         * inspector/InspectorDebuggerAgent.h:
713         * inspector/InspectorPageAgent.cpp:
714         (WebCore::InspectorPageAgent::reload):
715         (WebCore::InspectorPageAgent::frameNavigated):
716         * inspector/InspectorPageAgent.h:
717         * inspector/InspectorProfilerAgent.cpp:
718         * inspector/InspectorProfilerAgent.h:
719         * inspector/PageDebuggerAgent.cpp:
720         (WebCore::PageDebuggerAgent::didClearMainFrameWindowObject):
721         * inspector/protocol/Page.json:
722         * inspector/protocol/Profiler.json:
723
724 2014-01-10  David Kilzer  <ddkilzer@apple.com>
725
726         [iOS] Remove unused variable from TileGrid::dropTilesBetweenRects()
727
728         Fixes the following build error:
729
730             WebCore/platform/ios/TileGrid.mm:88:23: error: unused variable 'end' [-Werror,-Wunused-variable]
731                 TileMap::iterator end = m_tiles.end();
732                                   ^
733
734         * platform/ios/TileGrid.mm:
735         (WebCore::TileGrid::dropTilesBetweenRects): Remove unused
736         variable now that the for loop uses an auto iterator.
737
738 2014-01-10  Dean Jackson  <dino@apple.com>
739
740         Implement OES texture half float linear
741         https://bugs.webkit.org/show_bug.cgi?id=125060
742
743         Reviewed by Brent Fulgham.
744
745         Test: fast/canvas/webgl/oes-texture-half-float-linear.html
746
747         * CMakeLists.txt: Add new files.
748         * DerivedSources.cpp: Ditto.
749         * DerivedSources.make: Generate new file from IDL.
750         * GNUmakefile.list.am: Add new files.
751         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
752         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
753         * WebCore.xcodeproj/project.pbxproj: New files for OESTextureHalfFloatLinear.
754
755         * bindings/js/JSWebGLRenderingContextCustom.cpp:
756         (WebCore::toJS): Map from extension name to native object.
757
758         * html/canvas/OESTextureHalfFloatLinear.cpp: Added. New files. These are boiler-plate.
759         * html/canvas/OESTextureHalfFloatLinear.h: Added.
760         * html/canvas/OESTextureHalfFloatLinear.idl: Added.
761
762         * html/canvas/WebGLExtension.h: Add new enum for the new extension.
763
764         * html/canvas/WebGLRenderingContext.cpp:
765         (WebCore::WebGLRenderingContext::getExtension): Create the extension object if the
766         context is asked for one.
767         (WebCore::WebGLRenderingContext::getSupportedExtensions): Add the new extension to the
768         list of supported extensions. Actually remember to do it this time :)
769         (WebCore::WebGLRenderingContext::checkTextureCompleteness): Need to check for the half-float
770         extension as well, and update the log message.
771         * html/canvas/WebGLRenderingContext.h: New extension object.
772
773         * html/canvas/WebGLTexture.cpp:
774         (WebCore::WebGLTexture::WebGLTexture):
775         (WebCore::WebGLTexture::needToUseBlackTexture): Check for half-float type.
776         (WebCore::WebGLTexture::update): Mark a texture as half-float if necessary.
777         * html/canvas/WebGLTexture.h:
778
779         * platform/graphics/Extensions3D.h: Add a comment about the new extension.
780         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
781         (WebCore::Extensions3DOpenGL::supportsExtension): This extension is available
782         when GL_ARB_texture_float is supported, so add the name to the translation.
783
784 2014-01-10  Brent Fulgham  <bfulgham@apple.com>
785
786         [WebGL] Correct uniform input validation for texture sampler uniform
787         https://bugs.webkit.org/show_bug.cgi?id=126775
788
789         Reviewed by Dean Jackson.
790
791         Added fast/canvas/webgl/uniform-samplers-test.html
792
793         * html/canvas/WebGLRenderingContext.cpp:
794         (WebCore::WebGLRenderingContext::uniform1iv): Access Int32Array data properly.
795
796 2014-01-10  Manuel Rego Casasnovas  <rego@igalia.com>
797
798         [GTK] Unreviewed build fix after r161644.
799
800         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
801         (WebCore::MediaStreamAudioSourceNode::setFormat):
802
803 2014-01-10  Anders Carlsson  <andersca@apple.com>
804
805         Remove an unused FrameLoader function
806         https://bugs.webkit.org/show_bug.cgi?id=126785
807
808         Reviewed by Beth Dakin.
809
810         * WebCore.exp.in:
811         * loader/FrameLoader.cpp:
812         (WebCore::FrameLoader::setState):
813         * loader/FrameLoader.h:
814
815 2014-01-10  Benjamin Poulain  <bpoulain@apple.com>
816
817         Remove the BlackBerry port from trunk
818         https://bugs.webkit.org/show_bug.cgi?id=126715
819
820         Reviewed by Anders Carlsson.
821
822         * platform/MIMETypeRegistry.cpp:
823         (WebCore::initializeSupportedImageMIMETypesForEncoding):
824         * platform/PlatformKeyboardEvent.h:
825         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
826         * platform/PlatformMouseEvent.h:
827         * platform/PlatformTouchEvent.h:
828         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
829         * platform/PlatformTouchPoint.h:
830         * platform/ScrollAnimatorNone.cpp:
831         (WebCore::ScrollAnimator::create):
832         * platform/URL.cpp:
833         (WebCore::URL::parse):
834         (WebCore::portAllowed):
835         * platform/Widget.h:
836         * platform/graphics/ANGLEWebKitBridge.h:
837         * platform/graphics/DisplayRefreshMonitor.cpp:
838         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
839         * platform/graphics/DisplayRefreshMonitor.h:
840         * platform/graphics/FloatPoint.h:
841         * platform/graphics/FloatRect.h:
842         * platform/graphics/FloatSize.h:
843         * platform/graphics/FontCache.h:
844         * platform/graphics/FontPlatformData.h:
845         * platform/graphics/GlyphBuffer.h:
846         * platform/graphics/Gradient.cpp:
847         * platform/graphics/Gradient.h:
848         * platform/graphics/GraphicsContext.h:
849         * platform/graphics/GraphicsContext3D.h:
850
851 2014-01-10  Timothy Hatcher  <timothy@apple.com>
852
853         Clean up and fix some issues with stdout formatting of console messages.
854
855         * Fix URLs not printing line numbers unless column number is > 0.
856         * Change "CONSOLEAPI" to "CONSOLE" for the source.
857         * Clean up how console.trace outputs and print URL, line and column for each frame.
858         * Print "(unknown)" for anonymous and native code call frames.
859
860         https://bugs.webkit.org/show_bug.cgi?id=126767
861
862         Reviewed by Joseph Pecoraro.
863
864         * page/Console.cpp:
865         (WebCore::internalAddMessage):
866         * page/PageConsole.cpp:
867         (WebCore::PageConsole::printSourceURLAndPosition):
868         (WebCore::PageConsole::printMessageSourceAndLevelPrefix):
869         * page/PageConsole.h:
870
871 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
872
873         [iOS] Fill in missing WebCoreThread function pointers
874         https://bugs.webkit.org/show_bug.cgi?id=126776
875
876         Reviewed by Timothy Hatcher.
877
878         * platform/ios/wak/WebCoreThreadSystemInterface.cpp:
879         (InitWebCoreThreadSystemInterface):
880
881 2014-01-10  Yongjun Zhang  <yongjun_zhang@apple.com>
882
883         Clear unparented tiled layers on memory pressure.
884         https://bugs.webkit.org/show_bug.cgi?id=126737
885
886         Reviewed by Simon Fraser.
887
888         TileController hold unparented tiles for a short period of time (1 -3 sec); we should clear these unparented
889         tiles immediately if we are under memory pressure.
890         
891         The patch does 3 things to improve the behavior:
892         1) When the system free memory is low (<35%), reduce the tiling threshold.  This could reduce
893         the peak memory usage when system is under low memory since we will convert more web layers into
894         tiled backing.
895         2) Under memory pressure, immediately clear all unparented tiles.
896         3) Add a cap (16 tiles) to limit the total number of unparented tiles in TileController's.
897
898         * WebCore.exp.in:
899         * WebCore.xcodeproj/project.pbxproj: Add a new class TileControllerMemoryHandler.
900         * platform/graphics/ca/GraphicsLayerCA.cpp:
901         (WebCore::GraphicsLayerCA::requiresTiledLayer):  Use a smaller tiling threshold if the system free memory is low.
902         * platform/graphics/ca/mac/TileController.h:
903         (WebCore::TileController::numberOfUnparentedTiles):
904         * platform/graphics/ca/mac/TileController.mm:
905         (WebCore::TileController::startedNewCohort):
906         (WebCore::TileController::removeUnparentedTilesNow): Remove all unparentd tiles.
907         * platform/ios/MemoryPressureHandlerIOS.mm:
908         * platform/ios/TileControllerMemoryHandlerIOS.cpp: Added.
909         (WebCore::TileControllerMemoryHandler::removeTileController):
910         (WebCore::TileControllerMemoryHandler::totalUnparentedTiledLayers):
911         (WebCore::TileControllerMemoryHandler::tileControllerGainUnparentedTiles):
912         (WebCore::TileControllerMemoryHandler::trimUnparentedTilesToTarget): Trims the number of unparented tiles until
913             it reaches the target.
914         (WebCore::tileControllerMemoryHandler):
915         * platform/ios/TileControllerMemoryHandlerIOS.h: Added.
916         (WebCore::TileControllerMemoryHandler::TileControllerMemoryHandler):
917
918 2014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
919
920         [CSS Blending] Log blending as a layer creation reason in the WI
921         https://bugs.webkit.org/show_bug.cgi?id=126159
922
923         Reviewed by Timothy Hatcher.
924
925         * inspector/InspectorLayerTreeAgent.cpp:
926         (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
927         * inspector/protocol/LayerTree.json:
928
929 2014-01-10  Andy Estes  <aestes@apple.com>
930
931         Fix some iOS build errors during bindings generation.
932
933         * bindings/objc/PublicDOMInterfaces.h: Included
934         WebKitAdditions/PublicDOMInterfacesIOS.h and change
935         -[DOMRGBColor color] to return a CGColorRef on iOS.
936
937 2014-01-10  Timothy Hatcher  <timothy@apple.com>
938
939         Prevent some resources from showing up in Web Inspector as years in duration.
940
941         No WebKit port passed a monotonic time to InspectorInstrumentation::didFinishLoading -- except Chromium.
942
943         https://bugs.webkit.org/show_bug.cgi?id=126760
944
945         Reviewed by Joseph Pecoraro.
946
947         * inspector/InspectorInstrumentation.cpp:
948         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
949         Revert part of r102961 to use finishTime as-is and not expect a monotonic time.
950
951 2014-01-10  Dirk Schulze  <krit@webkit.org>
952
953         Make clipping path from basic-shapes relative to <box> value
954         https://bugs.webkit.org/show_bug.cgi?id=126206
955
956         Reviewed by Simon Fraser.
957
958         Tests: css3/masking/clip-path-circle-border-box.html
959                css3/masking/clip-path-circle-bounding-box.html
960                css3/masking/clip-path-circle-content-box.html
961                css3/masking/clip-path-circle-margin-box.html
962                css3/masking/clip-path-circle-padding-box.html
963
964         * rendering/RenderLayer.cpp:
965         (WebCore::RenderLayer::setupClipPath): Add switch to differ between boxes
966             and use different reference boxes to size the clipping path.
967
968 2014-01-10  Youenn Fablet  <youennf@gmail.com>
969
970
971         Correctly set XHR loadend attributes (loaded and total).
972         https://bugs.webkit.org/show_bug.cgi?id=120828
973
974         Reviewed by Alexey Proskuryakov.
975         
976         Added correct initialization of lengthComputable, loaded and total attributes 
977         to XHR ProgressEvent events (load, loadstart, loadend, abort, error and timeout).
978
979         XMLHttpRequestProgressEventThrottle and XMLHttpRequestUpload now keep persistent knowledge 
980         of m_loaded and m_total values with this patch.
981         
982         Code refactoring to handle event dispatching in case of error in a single manner.
983         XMLHttpRequestProgressEventThrottle::dispatchProgressEvent is renamed as dispatchThrottledProgressEvent
984         XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadend is replaced by dispatchProgressEvent(const AtomicString&)
985         
986         Fixed assertion issues over bug 120828 patch
987
988         Tests: http/tests/xmlhttprequest/loadstart-event-init.html
989                http/tests/xmlhttprequest/onabort-progressevent-attributes.html
990                http/tests/xmlhttprequest/onload-progressevent-attributes.html
991                http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html
992                http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html
993
994         * xml/XMLHttpRequest.cpp:
995         (WebCore::XMLHttpRequest::callReadyStateChangeListener): changed readystatechange event from ProgressEvent to Event (not cancellable, not bubblable) to better match the spec 
996         (WebCore::XMLHttpRequest::createRequest):
997         (WebCore::XMLHttpRequest::abort): code refactoring to handle error event dispatching in a single way
998         (WebCore::XMLHttpRequest::networkError): code refactoring to handle error event dispatching in a single way
999         (WebCore::XMLHttpRequest::abortError): code refactoring to handle error event dispatching in a single way
1000         (WebCore::XMLHttpRequest::didSendData):
1001         (WebCore::XMLHttpRequest::didReceiveData):
1002         (WebCore::XMLHttpRequest::dispatchErrorEvents): dispatch progress events in case of error
1003         (WebCore::XMLHttpRequest::didTimeout): code refactoring to handle error event dispatching in a single way
1004         * xml/XMLHttpRequest.h:
1005         * 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...) 
1006         (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
1007         (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. 
1008         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): used to send any ProgressEvent event that is not be throttled
1009         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): after the call, no progress event is throttled anymore
1010         (WebCore::XMLHttpRequestProgressEventThrottle::fired): after the call, no progress event is throttled anymore
1011         (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
1012         (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
1013         * 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
1014         * xml/XMLHttpRequestUpload.cpp:
1015         (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
1016         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
1017         * xml/XMLHttpRequestUpload.h: introduced m_loaded, m_total and m_lengthComputable, similarly to XMLHttpRequestProgressEventThrottle
1018
1019 2014-01-10  Bear Travis  <betravis@adobe.com>
1020
1021         [CSS Shapes] Change parseBasicShape to return a CSSPrimitiveValue
1022         https://bugs.webkit.org/show_bug.cgi?id=126713
1023
1024         Reviewed by Dirk Schulze.
1025
1026         Avoid the duplicated code wrapping the CSSBasicShape in a CSSPrimitiveValue
1027         by having parseBasicShape return a CSSPrimitiveValue reference.
1028
1029         Refactoring, no new tests.
1030
1031         * css/CSSParser.cpp:
1032         (WebCore::CSSParser::parseShapeProperty):
1033         (WebCore::CSSParser::parseClipPath):
1034         (WebCore::CSSParser::parseBasicShape):
1035         * css/CSSParser.h:
1036
1037 2014-01-10  Piotr Grad  <p.grad@samsung.com>
1038
1039         Possible crash in ApplicationCache::removeResource.
1040         https://bugs.webkit.org/show_bug.cgi?id=126695
1041
1042         Reviewed by Alexey Proskuryakov.
1043
1044         No new tests.
1045
1046         Iterator variable was used after it was removed.
1047
1048         * loader/appcache/ApplicationCache.cpp:
1049         (WebCore::ApplicationCache::removeResource):
1050
1051 2014-01-10  Daniel Bates  <dabates@apple.com>
1052
1053         Another build fix for the Production Mac build following <http://trac.webkit.org/changeset/161638>
1054         (https://bugs.webkit.org/show_bug.cgi?id=126698)
1055
1056         Move the logic for appending the port-specific IDL files {Touch, TouchEvent, TouchList}.idl to the
1057         list of binding IDLs (BINDING_IDLS) before the definition of variables DOM_CLASSES and JS_DOM_HEADERS
1058         so that we generate the DOM and JS bindings for these IDLs.
1059
1060         * DerivedSources.make:
1061
1062 2014-01-10  Anders Carlsson  <andersca@apple.com>
1063
1064         Remove supportMultipleWindows setting
1065         https://bugs.webkit.org/show_bug.cgi?id=126772
1066
1067         Reviewed by Beth Dakin.
1068
1069         This setting was added in https://bugs.webkit.org/show_bug.cgi?id=99716 for the Chromium port
1070         and is unused by everyone else so get rid of it.
1071
1072         * loader/FrameLoader.cpp:
1073         (WebCore::createWindow):
1074         * page/ContextMenuController.cpp:
1075         (WebCore::openNewWindow):
1076         * page/Settings.in:
1077
1078 2014-01-10  Benjamin Poulain  <bpoulain@apple.com>
1079
1080         Remove the BlackBerry port from trunk
1081         https://bugs.webkit.org/show_bug.cgi?id=126715
1082
1083         Reviewed by Anders Carlsson.
1084
1085         * dom/TouchEvent.cpp:
1086         (WebCore::TouchEvent::TouchEvent):
1087         (WebCore::TouchEvent::initTouchEvent):
1088         * dom/TouchEvent.h:
1089         * dom/ViewportArguments.cpp:
1090         * dom/ViewportArguments.h:
1091         * history/HistoryItem.h:
1092         * loader/PingLoader.cpp:
1093         (WebCore::PingLoader::loadImage):
1094         (WebCore::PingLoader::sendPing):
1095         (WebCore::PingLoader::sendViolationReport):
1096         * loader/appcache/ApplicationCacheGroup.cpp:
1097         (WebCore::ApplicationCacheGroup::createResourceHandle):
1098         * loader/cache/CachedResource.cpp:
1099         (WebCore::CachedResource::load):
1100         * loader/icon/IconLoader.cpp:
1101         (WebCore::IconLoader::startLoading):
1102         * page/NavigatorBase.cpp:
1103         * page/Settings.cpp:
1104         * page/scrolling/ScrollingCoordinator.cpp:
1105         (WebCore::ScrollingCoordinator::create):
1106         * platform/Cursor.cpp:
1107         * platform/Cursor.h:
1108         (WebCore::Cursor::Cursor):
1109         * platform/DragData.h:
1110         * platform/DragImage.h:
1111         * plugins/PluginDatabase.cpp:
1112         (WebCore::PluginDatabase::defaultPluginDirectories):
1113         (WebCore::PluginDatabase::isPreferredPluginDirectory):
1114         * rendering/RenderLayerBacking.cpp:
1115         (WebCore::RenderLayerBacking::paintsIntoWindow):
1116         * rendering/RenderObject.cpp:
1117         (WebCore::RenderObject::shouldRespectImageOrientation):
1118         * testing/Internals.cpp:
1119         (WebCore::Internals::getCurrentCursorInfo):
1120         * workers/DefaultSharedWorkerRepository.cpp:
1121         (WebCore::SharedWorkerScriptLoader::load):
1122         * workers/Worker.cpp:
1123         (WebCore::Worker::create):
1124         * workers/WorkerGlobalScope.cpp:
1125         (WebCore::WorkerGlobalScope::importScripts):
1126         * workers/WorkerScriptLoader.cpp:
1127         (WebCore::WorkerScriptLoader::createResourceRequest):
1128         * workers/WorkerScriptLoader.h:
1129         * xml/XMLHttpRequest.cpp:
1130         (WebCore::XMLHttpRequest::createRequest):
1131
1132 2014-01-10  Benjamin Poulain  <bpoulain@apple.com>
1133
1134         Remove the BlackBerry port from trunk
1135         https://bugs.webkit.org/show_bug.cgi?id=126715
1136
1137         Reviewed by Anders Carlsson.
1138
1139         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
1140         (WebCore::initProtocolHandlerWhitelist):
1141         * UseJSC.cmake:
1142         * bindings/generic/RuntimeEnabledFeatures.cpp:
1143         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
1144         * bindings/js/GCController.cpp:
1145         (WebCore::GCController::GCController):
1146         (WebCore::GCController::garbageCollectSoon):
1147         * bindings/js/GCController.h:
1148
1149 2014-01-10  Daniel Bates  <dabates@apple.com>
1150
1151         Fix the WebCore, WebKit build targets following <http://trac.webkit.org/changeset/161638>
1152         (https://bugs.webkit.org/show_bug.cgi?id=126698)
1153
1154         Tell Xcode that the supported platforms for all WebKit targets are iOS and OS X.
1155
1156         * Configurations/Base.xcconfig:
1157
1158 2014-01-09  Andy Estes  <aestes@apple.com>
1159
1160         [iOS] Upstream iOS changes to MigrateHeaders.make
1161         https://bugs.webkit.org/show_bug.cgi?id=126731
1162
1163         Reviewed by David Kilzer.
1164
1165         * WebCore.xcodeproj/project.pbxproj: Mark an iOS-specific header at
1166         Private that will later be migrated by WebKit.
1167
1168 2014-01-10  Daniel Bates  <dabates@apple.com>
1169
1170         Fix the Production Mac build following <http://trac.webkit.org/changeset/161638>
1171         (https://bugs.webkit.org/show_bug.cgi?id=126698)
1172
1173         Substitute JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production_ for JAVASCRIPTCORE_PRIVATE_HEADERS_Production_.
1174
1175         * Configurations/WebCore.xcconfig:
1176
1177 2014-01-10  Anders Carlsson  <andersca@apple.com>
1178
1179         Add a missing include.
1180
1181         * Modules/webdatabase/DatabaseManager.h:
1182
1183 2014-01-10  Anders Carlsson  <andersca@apple.com>
1184
1185         Use STL threading primitives in DatabaseDetails and DatabaseManager
1186         https://bugs.webkit.org/show_bug.cgi?id=126759
1187
1188         Reviewed by Geoffrey Garen.
1189
1190         * Modules/webdatabase/DatabaseDetails.h:
1191         (WebCore::DatabaseDetails::DatabaseDetails):
1192         (WebCore::DatabaseDetails::threadID):
1193         * Modules/webdatabase/DatabaseManager.cpp:
1194         (WebCore::DatabaseManager::existingDatabaseContextFor):
1195         (WebCore::DatabaseManager::registerDatabaseContext):
1196         (WebCore::DatabaseManager::unregisterDatabaseContext):
1197         (WebCore::DatabaseManager::didConstructDatabaseContext):
1198         (WebCore::DatabaseManager::didDestructDatabaseContext):
1199         (WebCore::DatabaseManager::addProposedDatabase):
1200         (WebCore::DatabaseManager::removeProposedDatabase):
1201         (WebCore::DatabaseManager::fullPathForDatabase):
1202         (WebCore::DatabaseManager::detailsForNameAndOrigin):
1203         * Modules/webdatabase/DatabaseManager.h:
1204
1205 2014-01-10  Commit Queue  <commit-queue@webkit.org>
1206
1207         Unreviewed, rolling out r161629.
1208         http://trac.webkit.org/changeset/161629
1209         https://bugs.webkit.org/show_bug.cgi?id=126762
1210
1211         Fails svg/custom/conditional-processing-2.html (Requested by
1212         ap on #webkit).
1213
1214         * svg/SVGSwitchElement.cpp:
1215         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
1216         * svg/SVGTests.cpp:
1217         (WebCore::SVGTests::hasExtension):
1218         (WebCore::SVGTests::isValid):
1219
1220 2014-01-10  ChangSeok Oh  <changseok.oh@collabora.com>
1221
1222         Unreviewed build fix since r161589.
1223
1224         The changeset causes a compile failure with --no-svg.
1225
1226         * platform/graphics/FontFastPath.cpp:
1227         (WebCore::Font::drawGlyphBuffer):
1228
1229 2014-01-10  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
1230
1231         [WebGL] Removing unnecessary pointer checks
1232         https://bugs.webkit.org/show_bug.cgi?id=124046
1233
1234         Reviewed by Brent Fulgham.
1235
1236         We do not need to check for a null array three times in
1237         the same call. Let's just do it once!
1238
1239         No new tests. Covered by existing ones.
1240
1241         * html/canvas/WebGLBuffer.cpp:
1242         (WebCore::WebGLBuffer::associateBufferData):
1243
1244 2014-01-10  Daniel Bates  <dabates@apple.com>
1245
1246         Speculative build fix for Windows following <http://trac.webkit.org/changeset/161638>
1247         (https://bugs.webkit.org/show_bug.cgi?id=126698)
1248
1249         Reviewed by David Kilzer.
1250
1251         * bindings/scripts/preprocessor.pm:
1252         (applyPreprocessor):
1253
1254 2014-01-10  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
1255
1256         [WebGL] Wrong condition order in the if statement
1257         https://bugs.webkit.org/show_bug.cgi?id=125000
1258
1259         Reviewed by Brent Fulgham.
1260
1261         We should only pay the cost of string comparison once. The
1262         current logic requires a string comparison every time we
1263         pass through the function. Instead, by reordering the statements
1264         we can short-circuit through the boolean test after the initial
1265         setup is complete.
1266
1267         No new tests. No behaviour changes.
1268
1269         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
1270         (WebCore::Extensions3DOpenGLES::supportsExtension):
1271
1272 2014-01-10  Anders Carlsson  <andersca@apple.com>
1273
1274         CTTE in AudioContext::AutoLocker
1275         https://bugs.webkit.org/show_bug.cgi?id=126758
1276
1277         Reviewed by Antti Koivisto.
1278
1279         * Modules/webaudio/AudioBasicInspectorNode.cpp:
1280         (WebCore::AudioBasicInspectorNode::connect):
1281         (WebCore::AudioBasicInspectorNode::disconnect):
1282         * Modules/webaudio/AudioBufferSourceNode.cpp:
1283         (WebCore::AudioBufferSourceNode::setBuffer):
1284         * Modules/webaudio/AudioContext.cpp:
1285         (WebCore::AudioContext::refNode):
1286         (WebCore::AudioContext::deleteMarkedNodes):
1287         (WebCore::AudioContext::removeMarkedSummingJunction):
1288         * Modules/webaudio/AudioContext.h:
1289         (WebCore::AudioContext::AutoLocker::AutoLocker):
1290         (WebCore::AudioContext::AutoLocker::~AutoLocker):
1291         * Modules/webaudio/AudioNode.cpp:
1292         (WebCore::AudioNode::connect):
1293         (WebCore::AudioNode::disconnect):
1294         (WebCore::AudioNode::setChannelCount):
1295         (WebCore::AudioNode::setChannelCountMode):
1296         (WebCore::AudioNode::setChannelInterpretation):
1297         (WebCore::AudioNode::enableOutputsIfNecessary):
1298         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
1299         (WebCore::MediaElementAudioSourceNode::setFormat):
1300         * Modules/webaudio/WaveShaperNode.cpp:
1301         (WebCore::WaveShaperNode::setOversample):
1302
1303 2014-01-10  Antti Koivisto  <antti@apple.com>
1304
1305         Use element iterators more
1306         https://bugs.webkit.org/show_bug.cgi?id=126756
1307
1308         Reviewed by Anders Carlsson.
1309
1310         * dom/VisitedLinkState.cpp:
1311         (WebCore::VisitedLinkState::invalidateStyleForAllLinks):
1312         (WebCore::VisitedLinkState::invalidateStyleForLink):
1313         * html/HTMLMeterElement.cpp:
1314         (WebCore::HTMLMeterElement::renderMeter):
1315         * html/HTMLProgressElement.cpp:
1316         (WebCore::HTMLProgressElement::renderProgress):
1317         * html/shadow/ContentDistributor.cpp:
1318         (WebCore::ContentDistributor::ensureInsertionPointList):
1319         * style/StyleResolveTree.cpp:
1320
1321 2014-01-10  Daniel Bates  <dabates@apple.com>
1322
1323         Attempt to fix the iOS build after <http://trac.webkit.org/changeset/161589>
1324         (https://bugs.webkit.org/show_bug.cgi?id=126654)
1325
1326         * platform/audio/ios/AudioSessionIOS.mm: Import header PassOwnPtr.h so that we can use adoptPtr().
1327
1328 2014-01-10  Daniel Bates  <dabates@apple.com>
1329
1330         Attempt to fix the build after <http://trac.webkit.org/changeset/161638>
1331         (https://bugs.webkit.org/show_bug.cgi?id=126698)
1332
1333         Substitute tab characters for space characters.
1334
1335         * DerivedSources.make:
1336
1337 2014-01-10  Anders Carlsson  <andersca@apple.com>
1338
1339         DOMWindow::showModalDialog should use std::function
1340         https://bugs.webkit.org/show_bug.cgi?id=126753
1341
1342         Reviewed by Antti Koivisto.
1343
1344         * bindings/js/JSDOMWindowCustom.cpp:
1345         (WebCore::DialogHandler::dialogCreated):
1346         (WebCore::JSDOMWindow::showModalDialog):
1347         * page/DOMWindow.cpp:
1348         (WebCore::DOMWindow::createWindow):
1349         (WebCore::DOMWindow::showModalDialog):
1350         * page/DOMWindow.h:
1351
1352 2014-01-10  Daniel Bates  <dabates@apple.com>
1353
1354         [iOS] Upstream WebCore and Tools miscellaneous changes
1355         https://bugs.webkit.org/show_bug.cgi?id=126698
1356
1357         Reviewed by David Kilzer.
1358
1359         * Configurations/Base.xcconfig:
1360         * Configurations/WebCore.xcconfig:
1361         * Configurations/WebCoreTestSupport.xcconfig:
1362         * Configurations/iOS.xcconfig: Added.
1363         * DerivedSources.make:
1364         * English.lproj/Localizable.strings:
1365         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp: Copied from Source/WebCore/editing/TextAffinity.h.
1366         (WebCore::stringForPlaybackTargetAvailability):
1367         (WebCore::WebKitPlaybackTargetAvailabilityEvent::WebKitPlaybackTargetAvailabilityEvent):
1368         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h: Added.
1369         (WebCore::WebKitPlaybackTargetAvailabilityEventInit::WebKitPlaybackTargetAvailabilityEventInit):
1370         (WebCore::WebKitPlaybackTargetAvailabilityEvent::~WebKitPlaybackTargetAvailabilityEvent):
1371         (WebCore::WebKitPlaybackTargetAvailabilityEvent::create):
1372         (WebCore::WebKitPlaybackTargetAvailabilityEvent::availability):
1373         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl: Copied from Source/WebCore/editing/DeleteButton.h.
1374         * Modules/geolocation/Geolocation.cpp:
1375         (WebCore::Geolocation::Geolocation):
1376         (WebCore::Geolocation::canSuspend):
1377         (WebCore::Geolocation::suspend):
1378         (WebCore::Geolocation::resume):
1379         (WebCore::Geolocation::resumeTimerFired):
1380         (WebCore::Geolocation::resetAllGeolocationPermission):
1381         (WebCore::Geolocation::stop):
1382         (WebCore::Geolocation::setIsAllowed):
1383         (WebCore::Geolocation::positionChanged):
1384         (WebCore::Geolocation::setError):
1385         * Modules/geolocation/Geolocation.h:
1386         * Modules/geolocation/NavigatorGeolocation.cpp:
1387         (WebCore::NavigatorGeolocation::resetAllGeolocationPermission):
1388         * Modules/geolocation/NavigatorGeolocation.h:
1389         * Modules/speech/SpeechSynthesis.cpp:
1390         (WebCore::SpeechSynthesis::SpeechSynthesis):
1391         (WebCore::SpeechSynthesis::speak):
1392         * Modules/speech/SpeechSynthesis.h:
1393         (WebCore::SpeechSynthesis::userGestureRequiredForSpeechStart):
1394         (WebCore::SpeechSynthesis::removeBehaviorRestriction):
1395         * Modules/webaudio/AudioContext.cpp:
1396         * Modules/webaudio/AudioContext.h:
1397         * Modules/webaudio/AudioScheduledSourceNode.cpp:
1398         * Modules/webdatabase/Database.cpp:
1399         * Modules/webdatabase/DatabaseBackendBase.cpp:
1400         (WebCore::DatabaseBackendBase::performOpenAndVerify):
1401         (WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded):
1402         * Modules/webdatabase/DatabaseContext.cpp:
1403         (WebCore::DatabaseContext::DatabaseContext):
1404         (WebCore::DatabaseContext::databaseThread):
1405         (WebCore::DatabaseContext::setPaused):
1406         * Modules/webdatabase/DatabaseContext.h:
1407         * Modules/webdatabase/DatabaseManagerClient.h:
1408         * Modules/webdatabase/DatabaseTask.cpp:
1409         (WebCore::DatabaseTask::performTask):
1410         (WebCore::Database::DatabaseTransactionTask::shouldPerformWhilePaused):
1411         * Modules/webdatabase/DatabaseTask.h:
1412         * Modules/webdatabase/DatabaseThread.cpp:
1413         (WebCore::DatabaseThread::DatabaseThread):
1414         (WebCore::DatabaseThread::requestTermination):
1415         (WebCore::DatabaseUnpauseTask::create):
1416         (WebCore::DatabaseUnpauseTask::shouldPerformWhilePaused):
1417         (WebCore::DatabaseUnpauseTask::DatabaseUnpauseTask):
1418         (WebCore::DatabaseUnpauseTask::doPerformTask):
1419         (WebCore::DatabaseUnpauseTask::debugTaskName):
1420         (WebCore::DatabaseThread::setPaused):
1421         (WebCore::DatabaseThread::handlePausedQueue):
1422         (WebCore::DatabaseThread::databaseThread):
1423         * Modules/webdatabase/DatabaseThread.h:
1424         * Modules/webdatabase/DatabaseTracker.cpp:
1425         (WebCore::DatabaseTracker::setQuota):
1426         (WebCore::DatabaseTracker::deleteOrigin):
1427         (WebCore::DatabaseTracker::deleteDatabase):
1428         (WebCore::DatabaseTracker::deleteDatabaseFile):
1429         (WebCore::DatabaseTracker::removeDeletedOpenedDatabases):
1430         (WebCore::isZeroByteFile):
1431         (WebCore::DatabaseTracker::deleteDatabaseFileIfEmpty):
1432         (WebCore::DatabaseTracker::openDatabaseMutex):
1433         (WebCore::DatabaseTracker::emptyDatabaseFilesRemovalTaskWillBeScheduled):
1434         (WebCore::DatabaseTracker::emptyDatabaseFilesRemovalTaskDidFinish):
1435         (WebCore::DatabaseTracker::setDatabasesPaused):
1436         * Modules/webdatabase/DatabaseTracker.h:
1437         * Modules/webdatabase/SQLTransactionBackend.cpp:
1438         (WebCore::SQLTransactionBackend::shouldPerformWhilePaused):
1439         * Modules/webdatabase/SQLTransactionBackend.h:
1440         * Resources/DictationPhraseWithAlternativesDot.png: Added.
1441         * Resources/DictationPhraseWithAlternativesDot@2x.png: Added.
1442         * Resources/SpellingDot.png: Added.
1443         * Resources/SpellingDot@2x.png: Added.
1444         * Resources/decrementArrow.tiff: Added.
1445         * Resources/hScrollControl_left.png: Added.
1446         * Resources/hScrollControl_middle.png: Added.
1447         * Resources/hScrollControl_right.png: Added.
1448         * Resources/incrementArrow.tiff: Added.
1449         * Resources/markedLeft.png: Added.
1450         * Resources/markedMiddle.png: Added.
1451         * Resources/markedRight.png: Added.
1452         * Resources/vScrollControl_bottom.png: Added.
1453         * Resources/vScrollControl_middle.png: Added.
1454         * Resources/vScrollControl_top.png: Added.
1455         * WebCore.xcodeproj/project.pbxproj:
1456         * bindings/js/GCController.cpp:
1457         (WebCore::GCController::garbageCollectNow):
1458         (WebCore::GCController::releaseExecutableMemory):
1459         * bindings/js/GCController.h:
1460         * bindings/js/JSCallbackData.h:
1461         (WebCore::JSCallbackData::~JSCallbackData):
1462         * bindings/js/JSDOMWindowBase.cpp:
1463         (WebCore::JSDOMWindowBase::supportsProfiling):
1464         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
1465         (WebCore::JSDOMWindowBase::commonVM):
1466         (WebCore::JSDOMWindowBase::commonVMExists):
1467         (WebCore::JSDOMWindowBase::commonVMInternal):
1468         * bindings/js/JSDOMWindowCustom.cpp:
1469         (WebCore::JSDOMWindow::touch):
1470         (WebCore::JSDOMWindow::touchList):
1471         * bindings/js/JSDeviceOrientationEventCustom.cpp:
1472         (WebCore::JSDeviceOrientationEvent::webkitCompassHeading):
1473         (WebCore::JSDeviceOrientationEvent::webkitCompassAccuracy):
1474         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
1475         * bindings/js/JSMainThreadExecState.h:
1476         * bindings/js/JSTouchCustom.cpp:
1477         * bindings/js/JSTouchListCustom.cpp:
1478         * bindings/js/PageScriptDebugServer.cpp:
1479         (WebCore::PageScriptDebugServer::didContinue):
1480         * bindings/js/ScriptController.cpp:
1481         (WebCore::ScriptController::initializeThreading):
1482         * bindings/js/ScriptDebugServer.cpp:
1483         (WebCore::ScriptDebugServer::handlePause):
1484         * bindings/js/ios/TouchConstructors.cpp: Added.
1485         * bindings/objc/DOM.mm:
1486         (WebCore::wkQuadFromFloatQuad):
1487         (WebCore::kit):
1488         (WebCore::min4):
1489         (WebCore::max4):
1490         (WebCore::emptyQuad):
1491         (-[WKQuadObject initWithQuad:]):
1492         (-[WKQuadObject quad]):
1493         (-[WKQuadObject boundingBox]):
1494         (-[DOMNode boundingBox]):
1495         (-[DOMNode absoluteQuad]):
1496         (-[DOMNode absoluteQuadAndInsideFixedPosition:]):
1497         (-[DOMNode boundingBoxUsingTransforms]):
1498         (-[DOMNode lineBoxQuads]):
1499         (-[DOMNode _linkElement]):
1500         (-[DOMNode hrefURL]):
1501         (-[DOMNode hrefTarget]):
1502         (-[DOMNode hrefFrame]):
1503         (-[DOMNode hrefLabel]):
1504         (-[DOMNode hrefTitle]):
1505         (-[DOMNode boundingFrame]):
1506         (-[DOMNode innerFrameQuad]):
1507         (-[DOMNode computedFontSize]):
1508         (-[DOMNode nextFocusNode]):
1509         (-[DOMNode previousFocusNode]):
1510         (-[DOMRange boundingBox]):
1511         (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
1512         (-[DOMElement _font]):
1513         (-[DOMHTMLLinkElement _mediaQueryMatchesForOrientation:]):
1514         (-[DOMHTMLLinkElement _mediaQueryMatches]):
1515         * bindings/objc/DOMEvents.h:
1516         * bindings/objc/DOMEvents.mm:
1517         (kitClass):
1518         * bindings/objc/DOMExtensions.h:
1519         * bindings/objc/DOMHTML.mm:
1520         (-[DOMHTMLElement scrollYOffset]):
1521         (-[DOMHTMLElement setScrollXOffset:scrollYOffset:]):
1522         (-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
1523         (-[DOMHTMLElement absolutePosition::::]):
1524         (-[DOMHTMLInputElement _autocapitalizeType]):
1525         (-[DOMHTMLTextAreaElement _autocapitalizeType]):
1526         (-[DOMHTMLInputElement setValueWithChangeEvent:]):
1527         (-[DOMHTMLInputElement setValueAsNumberWithChangeEvent:]):
1528         * bindings/objc/DOMInternal.h:
1529         * bindings/objc/DOMInternal.mm:
1530         (wrapperCacheLock):
1531         (getDOMWrapper):
1532         (addDOMWrapper):
1533         (removeDOMWrapper):
1534         * bindings/objc/DOMPrivate.h:
1535         * bindings/objc/DOMUIKitExtensions.h: Added.
1536         * bindings/objc/DOMUIKitExtensions.mm: Added.
1537         * bindings/objc/PublicDOMInterfaces.h:
1538         * bindings/scripts/CodeGeneratorJS.pm:
1539         (GenerateHeaderContentHeader):
1540         (GenerateImplementationContentHeader):
1541         (GenerateHeader):
1542         (GenerateImplementation):
1543         (GenerateCallbackImplementation):
1544         * bindings/scripts/CodeGeneratorObjC.pm:
1545         (ReadPublicInterfaces):
1546         (GetClassName):
1547         (IsCoreFoundationType):
1548         (GetObjCType):
1549         (AddIncludesForType):
1550         (GenerateHeader):
1551         (GenerateImplementation):
1552         (WriteData):
1553         * bindings/scripts/IDLAttributes.txt:
1554         * bindings/scripts/preprocessor.pm:
1555         (applyPreprocessor):
1556         * bridge/objc/objc_class.mm:
1557         (JSC::Bindings::ObjcClass::fieldNamed):
1558         * bridge/objc/objc_instance.mm:
1559         * config.h:
1560         * dom/Document.cpp:
1561         (WebCore::Document::addAutoSizingNode):
1562         * dom/Document.h:
1563         * dom/Document.idl:
1564         * dom/ios/TouchEvents.cpp: Added.
1565         * editing/ApplyStyleCommand.cpp:
1566         (WebCore::ApplyStyleCommand::applyBlockStyle):
1567         * editing/CompositeEditCommand.cpp:
1568         (WebCore::EditCommandComposition::unapply):
1569         (WebCore::CompositeEditCommand::apply):
1570         (WebCore::CompositeEditCommand::inputText):
1571         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
1572         (WebCore::CompositeEditCommand::moveParagraphs):
1573         * editing/CompositeEditCommand.h:
1574         * editing/DeleteButton.h:
1575         * editing/DeleteButtonController.cpp:
1576         (WebCore::DeleteButtonController::enable):
1577         (WebCore::DeleteButtonController::disable):
1578         * editing/DeleteSelectionCommand.cpp:
1579         (WebCore::DeleteSelectionCommand::doApply):
1580         * editing/DeleteSelectionCommand.h:
1581         * editing/EditAction.h:
1582         * editing/EditCommand.h:
1583         (WebCore::EditCommand::isInsertTextCommand):
1584         * editing/EditingStyle.cpp:
1585         * editing/Editor.cpp:
1586         (WebCore::ClearTextCommand::ClearTextCommand):
1587         (WebCore::ClearTextCommand::editingAction):
1588         (WebCore::ClearTextCommand::CreateAndApply):
1589         (WebCore::Editor::handleTextEvent):
1590         (WebCore::Editor::clearText):
1591         (WebCore::Editor::insertDictationPhrases):
1592         (WebCore::Editor::setDictationPhrasesAsChildOfElement):
1593         (WebCore::Editor::confirmMarkedText):
1594         (WebCore::Editor::setTextAsChildOfElement):
1595         (WebCore::Editor::notifyComponentsOnChangedSelection):
1596         (WebCore::Editor::ensureLastEditCommandHasCurrentSelectionIfOpenForMoreTyping):
1597         (WebCore::Editor::copy):
1598         (WebCore::Editor::setBaseWritingDirection):
1599         (WebCore::Editor::setComposition):
1600         (WebCore::Editor::showSpellingGuessPanel):
1601         (WebCore::Editor::markMisspellingsAfterTypingToWord):
1602         (WebCore::Editor::markMisspellingsOrBadGrammar):
1603         (WebCore::Editor::changeBackToReplacedString):
1604         (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
1605         (WebCore::Editor::setIgnoreCompositionSelectionChange):
1606         (WebCore::Editor::changeSelectionAfterCommand):
1607         (WebCore::Editor::shouldChangeSelection):
1608         (WebCore::Editor::respondToChangedSelection):
1609         (WebCore::Editor::resolveTextCheckingTypeMask):
1610         * editing/Editor.h:
1611         * editing/EditorCommand.cpp:
1612         (WebCore::executeClearText):
1613         (WebCore::enabledCopy):
1614         (WebCore::enabledCut):
1615         (WebCore::enabledClearText):
1616         (WebCore::createCommandMap):
1617         * editing/FrameSelection.cpp:
1618         (WebCore::FrameSelection::FrameSelection):
1619         (WebCore::FrameSelection::setSelection):
1620         (WebCore::FrameSelection::modifyExtendingRight):
1621         (WebCore::FrameSelection::modifyExtendingForward):
1622         (WebCore::FrameSelection::modifyMovingRight):
1623         (WebCore::FrameSelection::modifyMovingForward):
1624         (WebCore::FrameSelection::modifyExtendingLeft):
1625         (WebCore::FrameSelection::modifyExtendingBackward):
1626         (WebCore::FrameSelection::modifyMovingLeft):
1627         (WebCore::FrameSelection::modifyMovingBackward):
1628         (WebCore::FrameSelection::setSelectedRange):
1629         (WebCore::FrameSelection::focusedOrActiveStateChanged):
1630         (WebCore::FrameSelection::updateAppearance):
1631         (WebCore::FrameSelection::shouldDeleteSelection):
1632         (WebCore::FrameSelection::revealSelection):
1633         (WebCore::FrameSelection::setSelectionFromNone):
1634         (WebCore::FrameSelection::shouldChangeSelection):
1635         (WebCore::FrameSelection::expandSelectionToElementContainingCaretSelection):
1636         (WebCore::FrameSelection::elementRangeContainingCaretSelection):
1637         (WebCore::FrameSelection::expandSelectionToWordContainingCaretSelection):
1638         (WebCore::FrameSelection::wordRangeContainingCaretSelection):
1639         (WebCore::FrameSelection::expandSelectionToStartOfWordContainingCaretSelection):
1640         (WebCore::FrameSelection::characterInRelationToCaretSelection):
1641         (WebCore::FrameSelection::characterBeforeCaretSelection):
1642         (WebCore::FrameSelection::characterAfterCaretSelection):
1643         (WebCore::FrameSelection::wordOffsetInRange):
1644         (WebCore::FrameSelection::spaceFollowsWordInRange):
1645         (WebCore::FrameSelection::selectionAtDocumentStart):
1646         (WebCore::FrameSelection::selectionAtSentenceStart):
1647         (WebCore::FrameSelection::selectionAtWordStart):
1648         (WebCore::FrameSelection::rangeByMovingCurrentSelection):
1649         (WebCore::FrameSelection::rangeByExtendingCurrentSelection):
1650         (WebCore::FrameSelection::selectRangeOnElement):
1651         (WebCore::FrameSelection::wordSelectionContainingCaretSelection):
1652         (WebCore::FrameSelection::actualSelectionAtSentenceStart):
1653         (WebCore::FrameSelection::rangeByAlteringCurrentSelection):
1654         (WebCore::FrameSelection::clearCurrentSelection):
1655         (WebCore::FrameSelection::setCaretBlinks):
1656         (WebCore::FrameSelection::setCaretColor):
1657         * editing/FrameSelection.h:
1658         (WebCore::FrameSelection::suppressCloseTyping):
1659         (WebCore::FrameSelection::restoreCloseTyping):
1660         (WebCore::FrameSelection::setUpdateAppearanceEnabled):
1661         (WebCore::FrameSelection::suppressScrolling):
1662         (WebCore::FrameSelection::restoreScrolling):
1663         * editing/InsertIntoTextNodeCommand.cpp:
1664         (WebCore::InsertIntoTextNodeCommand::doReapply):
1665         * editing/InsertIntoTextNodeCommand.h:
1666         * editing/InsertTextCommand.h:
1667         * editing/ReplaceSelectionCommand.cpp:
1668         (WebCore::ReplaceSelectionCommand::doApply):
1669         * editing/TextAffinity.h:
1670         * editing/TextCheckingHelper.cpp:
1671         * editing/TextGranularity.h:
1672         * editing/TextIterator.cpp:
1673         (WebCore::isRendererReplacedElement):
1674         * editing/TypingCommand.cpp:
1675         (WebCore::TypingCommand::ensureLastEditCommandHasCurrentSelectionIfOpenForMoreTyping):
1676         (WebCore::TypingCommand::markMisspellingsAfterTyping):
1677         (WebCore::TypingCommand::deleteKeyPressed):
1678         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1679         (WebCore::FriendlyEditCommand::setEndingSelection):
1680         (WebCore::TypingCommand::setEndingSelectionOnLastInsertCommand):
1681         * editing/TypingCommand.h:
1682         * editing/VisiblePosition.h:
1683         (WebCore::operator<):
1684         (WebCore::operator>):
1685         (WebCore::operator<=):
1686         (WebCore::operator>=):
1687         * editing/VisibleSelection.cpp:
1688         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
1689         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
1690         * editing/VisibleUnits.cpp:
1691         (WebCore::previousBoundary):
1692         (WebCore::nextBoundary):
1693         (WebCore::startOfDocument):
1694         (WebCore::endOfDocument):
1695         (WebCore::directionIsDownstream):
1696         (WebCore::atBoundaryOfGranularity):
1697         (WebCore::withinTextUnitOfGranularity):
1698         (WebCore::nextCharacterBoundaryInDirection):
1699         (WebCore::nextWordBoundaryInDirection):
1700         (WebCore::nextSentenceBoundaryInDirection):
1701         (WebCore::nextLineBoundaryInDirection):
1702         (WebCore::nextParagraphBoundaryInDirection):
1703         (WebCore::nextDocumentBoundaryInDirection):
1704         (WebCore::positionOfNextBoundaryOfGranularity):
1705         (WebCore::enclosingTextUnitOfGranularity):
1706         (WebCore::distanceBetweenPositions):
1707         (WebCore::wordRangeFromPosition):
1708         (WebCore::closestWordBoundaryForPosition):
1709         * editing/VisibleUnits.h:
1710         * editing/ios/DictationCommandIOS.cpp: Added.
1711         * editing/ios/DictationCommandIOS.h: Added.
1712         (WebCore::DictationCommandIOS::create):
1713         (WebCore::DictationCommandIOS::editingAction):
1714         * editing/mac/FrameSelectionMac.mm:
1715         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
1716         * fileapi/AsyncFileStream.cpp:
1717         * generate-export-file: Added.
1718         * inspector/InspectorCounters.h:
1719         * inspector/InspectorFrontendHost.h:
1720         * make-export-file-generator:
1721         * plugins/PluginPackage.h:
1722         * plugins/PluginViewBase.h:
1723         (WebCore::PluginViewBase::willProvidePluginLayer):
1724         (WebCore::PluginViewBase::attachPluginLayer):
1725         (WebCore::PluginViewBase::detachPluginLayer):
1726         * style/StyleResolveForDocument.cpp:
1727         (WebCore::Style::resolveForDocument):
1728         * style/StyleResolveTree.cpp:
1729         (WebCore::Style::elementImplicitVisibility):
1730         * testing/Internals.cpp:
1731         (WebCore::Internals::getCurrentCursorInfo):
1732         (WebCore::Internals::isSelectPopupVisible):
1733         * workers/WorkerThread.cpp:
1734         (WebCore::WorkerThread::workerThread):
1735
1736 2014-01-10  Daniel Bates  <dabates@apple.com>
1737
1738         Fix the iOS build after <http://trac.webkit.org/changeset/161589>
1739         (https://bugs.webkit.org/show_bug.cgi?id=126654)
1740
1741         * platform/graphics/ios/MediaPlayerPrivateIOS.h:
1742         (WebCore::MediaPlayerPrivateIOS::engineDescription): Adding missing return keyword.
1743
1744 2014-01-10  Andrei Bucur  <abucur@adobe.com>
1745
1746         [CSS Regions] Remove unused CSSParser::parseFlowThread
1747         https://bugs.webkit.org/show_bug.cgi?id=126749
1748
1749         Reviewed by Antti Koivisto.
1750
1751         There are two versions of CSSParser::parseFlowThread. Remove the unused one:
1752         bool parseFlowThread(const String& flowName);
1753
1754         Tests: No tests, code cleanup.
1755
1756         * css/CSSParser.cpp:
1757         * css/CSSParser.h:
1758
1759 2014-01-10  Alex Christensen  <achristensen@webkit.org>
1760
1761         [WinCairo] Build fix after r161589.
1762         https://bugs.webkit.org/show_bug.cgi?id=126747
1763
1764         Reviewed by Anders Carlsson.
1765
1766         * platform/network/ResourceHandle.cpp:
1767         Include NotImplemented.h for all platforms.
1768
1769 2014-01-10  Anders Carlsson  <andersca@apple.com>
1770
1771         Convert some for loops over to range-based for
1772         https://bugs.webkit.org/show_bug.cgi?id=126752
1773
1774         Reviewed by Antti Koivisto.
1775
1776         * inspector/InspectorApplicationCacheAgent.cpp:
1777         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
1778         * loader/appcache/ApplicationCache.cpp:
1779         (WebCore::ApplicationCache::clearStorageID):
1780         * loader/appcache/ApplicationCacheGroup.cpp:
1781         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1782         (WebCore::ApplicationCacheGroup::clearStorageID):
1783         * loader/appcache/ApplicationCacheHost.cpp:
1784         (WebCore::ApplicationCacheHost::fillResourceList):
1785         * loader/appcache/ApplicationCacheResource.cpp:
1786         (WebCore::ApplicationCacheResource::estimatedSizeInStorage):
1787         * loader/appcache/ApplicationCacheStorage.cpp:
1788         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
1789         * loader/archive/ArchiveFactory.cpp:
1790         (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
1791         * page/animation/AnimationController.cpp:
1792         (WebCore::AnimationControllerPrivate::styleAvailable):
1793         (WebCore::AnimationControllerPrivate::startTimeResponse):
1794
1795 2014-01-10  Anders Carlsson  <andersca@apple.com>
1796
1797         Tighten up two functions in the inspector code
1798         https://bugs.webkit.org/show_bug.cgi?id=126751
1799
1800         Reviewed by Antti Koivisto.
1801
1802         * inspector/InspectorInstrumentation.cpp:
1803         (WebCore::InspectorInstrumentation::frameStartedLoadingImpl):
1804         (WebCore::InspectorInstrumentation::frameStoppedLoadingImpl):
1805         * inspector/InspectorInstrumentation.h:
1806         (WebCore::InspectorInstrumentation::frameStartedLoading):
1807         (WebCore::InspectorInstrumentation::frameStoppedLoading):
1808         * inspector/InspectorPageAgent.cpp:
1809         (WebCore::InspectorPageAgent::frameStartedLoading):
1810         (WebCore::InspectorPageAgent::frameStoppedLoading):
1811         * inspector/InspectorPageAgent.h:
1812
1813 2014-01-10  Antti Koivisto  <antti@apple.com>
1814
1815         Crash when mutating SVG text with transform
1816         https://bugs.webkit.org/show_bug.cgi?id=126744
1817
1818         Reviewed by Dirk Schulze.
1819
1820         Test: svg/custom/mutation-text-transform-crash.html
1821         
1822         Text-transform property triggers subtreeTextDidChange when an SVG text renderer is
1823         being added to the render tree. The function assumes the child is already fully in the tree
1824         but in this case we are still in middle of adding it.
1825
1826         * rendering/svg/RenderSVGText.cpp:
1827         (WebCore::RenderSVGText::subtreeTextDidChange):
1828         
1829             Bail out if the changed RenderSVGInlineText can't be found from m_layoutAttributes.
1830             This means that subtreeChildWasAdded hasn't been invoked yet for it and there is nothing
1831             to update. The required updates will happen in subtreeChildWasAdded.
1832
1833 2014-01-10  Frédéric Wang  <fred.wang@free.fr>
1834
1835         [SVG] Accept HTML and MathML namespaces as valid requiredExtensions
1836         https://bugs.webkit.org/show_bug.cgi?id=88188
1837
1838         Reviewed by Dirk Schulze.
1839
1840         When HTML and MathML are used as foreign objects of an SVG image, it is
1841         important for Web authors to be able to specify a fallback content for
1842         SVG-only readers or browsers without MathML support. We rely on the
1843         requiredExtensions for that purpose and we use the XHTML/MathML
1844         namespaces as suggested in SVG Tiny 1.2 and implemented in Gecko.
1845
1846         Tests: svg/custom/conditional-processing-1.svg
1847                svg/custom/conditional-processing-2.html
1848                svg/dom/SVGTests.html
1849
1850         * svg/SVGSwitchElement.cpp: Remove an incorrect FIXME comment and replace it with a reference to bug 74749.
1851         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
1852         * svg/SVGTests.cpp: Check if the list of required extensions contains only the XHTML/MathML namespaces.
1853         (WebCore::SVGTests::hasExtension):
1854         (WebCore::SVGTests::isValid):
1855
1856 2014-01-10  Mihai Tica  <mitica@adobe.com>
1857
1858         Add support for blendmode to Core Animation layer.
1859         Patch by Rik Cabanier, Dean Jackson and Mihai Tica.
1860
1861         https://bugs.webkit.org/show_bug.cgi?id=99200
1862
1863         Reviewed by Dirk Schulze.
1864
1865         Tests: css3/compositing/blend-mode-layers.html
1866                css3/compositing/blend-mode-overflow.html
1867                css3/compositing/blend-mode-reflection.html
1868                css3/compositing/blend-mode-should-not-have-compositing-layer.html
1869                css3/compositing/blend-mode-simple.html
1870
1871         * WebCore.exp.in: export PlatformCALayer::setBlendMode for WebKit::PlatformCALayerRemote
1872         * WebCore.xcodeproj/project.pbxproj: Add PlatformCAFiltersMac.h
1873         * platform/graphics/GraphicsLayer.cpp: add blendMode member
1874         (WebCore::GraphicsLayer::GraphicsLayer):
1875         * platform/graphics/GraphicsLayer.h:
1876         (WebCore::GraphicsLayer::blendMode):
1877         (WebCore::GraphicsLayer::setBlendMode):
1878         * platform/graphics/ca/GraphicsLayerCA.cpp:
1879         (WebCore::GraphicsLayerCA::setBlendMode):
1880         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): add call to updateBlendMode()
1881         (WebCore::GraphicsLayerCA::updateBlendMode):
1882         * platform/graphics/ca/GraphicsLayerCA.h:
1883         * platform/graphics/ca/PlatformCAFilters.h:
1884         * platform/graphics/ca/PlatformCALayer.h:
1885         * platform/graphics/ca/mac/PlatformCAFiltersMac.h: Added.
1886         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
1887         (PlatformCAFilters::setBlendingFiltersOnLayer): set a compositing CAFilter on CALayer
1888         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1889         (PlatformCALayer::setBlendMode): call to PlatformCAFilters::setBlendingFiltersOnLayer
1890         * rendering/RenderLayerBacking.cpp:
1891         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1892         (WebCore::RenderLayerBacking::updateBlendMode):
1893         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1894         (WebCore::RenderLayerBacking::setBlendMode):
1895         * rendering/RenderLayerBacking.h:
1896         * rendering/RenderLayerCompositor.cpp:
1897         (WebCore::CompositingState::CompositingState): add m_subtreeHasBlending member
1898         (WebCore::RenderLayerCompositor::computeCompositingRequirements): promote layer if subtree has blending
1899         (WebCore::RenderLayerCompositor::reasonsForCompositing):
1900         (WebCore::RenderLayerCompositor::logReasonsForCompositing): log blending reason
1901         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): add blending reason
1902         * rendering/RenderLayerCompositor.h:
1903
1904 2014-01-10  Andrei Bucur  <abucur@adobe.com>
1905
1906         [CSS Regions] Implement visual overflow computation for inline elements
1907         https://bugs.webkit.org/show_bug.cgi?id=125291
1908
1909         Reviewed by David Hyatt.
1910
1911         The patch implements visual overflow computation for inline elements per region. The algorithm
1912         uses the container region of each root line box to determine the lines in a region generated by
1913         a RenderInline. The overflow of a RenderInline inside a region is the smallest rectangle that fits
1914         all the line boxes belonging to that region.
1915
1916         The patch also correctly flips for writing mode the overflow of a renderer before clipping with it.
1917
1918         Tests: fast/regions/overflow-in-variable-width-regions-inline-bt.html
1919                fast/regions/overflow-in-variable-width-regions-inline-continuation.html
1920                fast/regions/overflow-in-variable-width-regions-inline-lr.html
1921                fast/regions/overflow-in-variable-width-regions-inline-rl.html
1922                fast/regions/overflow-in-variable-width-regions-inline.html
1923
1924         * rendering/RenderFlowThread.cpp:
1925         (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
1926         * rendering/RenderInline.cpp:
1927         (WebCore::RenderInline::updateAlwaysCreateLineBoxes): Always create line boxes for RenderInline
1928         (WebCore::RenderInline::linesVisualOverflowBoundingBoxInRegion):
1929         * rendering/RenderInline.h:
1930         * rendering/RenderLayer.cpp:
1931         (WebCore::RenderLayer::calculateClipRects):
1932         * rendering/RenderRegion.cpp:
1933         (WebCore::RenderRegion::visualOverflowRectForBox):
1934         (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
1935         * rendering/RenderRegion.h:
1936
1937 2014-01-09  Jer Noble  <jer.noble@apple.com>
1938
1939         [Mac] .mp3 media document controls missing their background
1940         https://bugs.webkit.org/show_bug.cgi?id=126683
1941
1942         Reviewed by Eric Carlson.
1943
1944         Test: media/media-document-audio-controls-visible.html
1945
1946         <video> elements in a media document are created with an intrinsic size of 300x1,
1947         with the expectation that either the size will be updated if the media has a video
1948         track, or the controls will visibly overflow if the media is audio-only. Since the
1949         shadow root is a flex-box, the panel was being collapsed to 1px high, so give the panel
1950         a minimum height to prevent that. Also, disable "fading out" the controls in a
1951         media document for an audio-only file by adding a "no-video" class to the panel
1952         and adding a media document-only rule to force the controls to always be visible.
1953
1954         * Modules/mediacontrols/mediaControlsApple.css:
1955         (video:-webkit-full-page-media::-webkit-media-controls-panel.no-video):
1956         (audio::-webkit-media-controls-panel):
1957         * Modules/mediacontrols/mediaControlsApple.js:
1958         (Controller): Call updateHasVideo().
1959         (Controller.prototype.addVideoListeners): Add video track listeners.
1960         (Controller.prototype.removeVideoListeners): Remove same.
1961         (Controller.prototype.updateHasVideo): Add a 'no-video' class to the panel if
1962             the video element has no video tracks.
1963
1964 2014-01-09  Anders Carlsson  <andersca@apple.com>
1965
1966         Clean up ProgressTracker a little
1967         https://bugs.webkit.org/show_bug.cgi?id=126738
1968
1969         Reviewed by Dan Bernstein.
1970
1971         Use Frame& where the frame can never be null, avoid an extra hash lookup and
1972         switch the m_progressItems map over to std::unique_ptr.
1973
1974         * inspector/InspectorInstrumentation.h:
1975         (WebCore::InspectorInstrumentation::frameStartedLoading):
1976         * loader/FrameLoader.cpp:
1977         (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
1978         (WebCore::FrameLoader::FrameProgressTracker::progressStarted):
1979         (WebCore::FrameLoader::FrameProgressTracker::progressCompleted):
1980         * loader/ProgressTracker.cpp:
1981         (WebCore::ProgressTracker::progressStarted):
1982         (WebCore::ProgressTracker::progressCompleted):
1983         (WebCore::ProgressTracker::incrementProgress):
1984         * loader/ProgressTracker.h:
1985         * loader/ResourceLoadNotifier.cpp:
1986         (WebCore::ResourceLoadNotifier::didReceiveData):
1987
1988 2014-01-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1989
1990         Fix a build break on EFL debug build
1991         https://bugs.webkit.org/show_bug.cgi?id=126735
1992
1993         Reviewed by Anders Carlsson.
1994
1995         No new tests, just build fix.
1996
1997         * platform/ThreadTimers.cpp:
1998         (WebCore::ThreadTimers::sharedTimerFiredInternal):  Add parentheses.
1999
2000 2014-01-09  Anders Carlsson  <andersca@apple.com>
2001
2002         Remove unused FrameLoader member functions
2003         https://bugs.webkit.org/show_bug.cgi?id=126734
2004
2005         Reviewed by Andreas Kling.
2006
2007         * loader/FrameLoader.cpp:
2008         * loader/FrameLoader.h:
2009
2010 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
2011
2012         Unreviewed Windows build fix for r161563.
2013
2014         Remove stale forward declaration causing namespace ambiguity
2015         later on in a Windows AllInOne file that picked it up. Also
2016         remove a few stale functions that are not used and accidentally
2017         got added back in when the file changed names.
2018
2019         * bindings/js/ScriptGlobalObject.h:
2020
2021 2014-01-09  Dean Jackson  <dino@apple.com>
2022
2023         [WebGL] Expose texture_float_linear and texture_half_float to getSupportedExtensions
2024         https://bugs.webkit.org/show_bug.cgi?id=126732
2025
2026         Reviewed by Tim Horton.
2027
2028         When I added support for these two extensions, I forgot to add their
2029         names to the list in getSupportedExtensions.
2030
2031         Covered by the Khronos test: conformance/extensions/get-extension.html
2032
2033         * html/canvas/WebGLRenderingContext.cpp:
2034         (WebCore::WebGLRenderingContext::getSupportedExtensions): Add OES_texture_float_linear
2035         and OES_texture_half_float if the WebGL context supports them.
2036
2037 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
2038
2039         Revert r161611, incorrect fix, will fix better.
2040
2041         * bindings/js/ScriptGlobalObject.h:
2042
2043 2014-01-09  Jer Noble  <jer.noble@apple.com>
2044
2045         [Mac] Scrubbing performance of HD content with software decoding is poor.
2046         https://bugs.webkit.org/show_bug.cgi?id=126705
2047
2048         Reviewed by Eric Carlson.
2049
2050         Instead of issuing a new seek before the previous one completes, wait until that seek's
2051         completion handler is called, and then issue the new seek. This has the added benefit of
2052         coalescing multiple incoming seeks so that only the last one is acted upon.
2053
2054         Save the parameters passed into seekToTime and bind them together in a std::function
2055         to be replayed once the in-flight seek completes. To handle the case where a completion
2056         handler fires after the media player is destroyed, add a weakPtrFactory and pass a
2057         WeakPtr into the completion handler.
2058         
2059         Clean up some ivars which are no longer necessary: remove m_seekCount and m_seekTime.
2060
2061         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2062         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Initialize the
2063             WeakPtrFactory.
2064         (WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance):
2065         (WebCore::MediaPlayerPrivateAVFoundation::seeking): m_seekTime -> m_seeking.
2066         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
2067         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2068         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2069         (WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr):
2070         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2071         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
2072         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
2073         (WebCore::MediaPlayerPrivateAVFoundationObjC::finishSeek):
2074
2075 2014-01-08  Jer Noble  <jer.noble@apple.com>
2076
2077         [MSE][Mac] Report the intrinsic size of the media element
2078         https://bugs.webkit.org/show_bug.cgi?id=125156
2079
2080         Reviewed by Eric Carlson.
2081
2082         * WebCore.xcodeproj/project.pbxproj:
2083         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2084         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2085         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize): Pass to MediaSourcePrivateAVFObjC.
2086         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::sizeChanged): Added; Pass to MediaPlayer.
2087         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
2088         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
2089         (WebCore::MediaSourcePrivateAVFObjC::naturalSize): Return the union of the naturalSizes of all active buffers.
2090         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
2091         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2092         (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset): Notify the media player that the size changed.
2093         (WebCore::SourceBufferPrivateAVFObjC::naturalSize): Return the size of the selected video track.
2094         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h:
2095         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm: Renamed from Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.cpp.
2096         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::assetTrack): Made const.
2097         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::naturalSize): Return the size of the AVAssetTrack.
2098
2099 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
2100
2101         Unreviewed Windows build fix for r161563.
2102
2103         Remove stale forward declaration causing namespace ambiguity
2104         later on in a Windows AllInOne file that picked it up.
2105
2106         * bindings/js/ScriptGlobalObject.h:
2107
2108 2014-01-09  Simon Fraser  <simon.fraser@apple.com>
2109
2110         Enable async scrolling for iOS
2111         https://bugs.webkit.org/show_bug.cgi?id=126730
2112
2113         Reviewed by Tim Horton.
2114
2115         Turn on ENABLE_ASYNC_SCROLLING for iOS.
2116         
2117         Disable rubber-banding and scrollbar-related Mac code for PLATFORM(IOS),
2118         provide stubs for scrolling nodes and scrolling state nodes, and an
2119         iOS scrolling tree, and scrolling coordinator.
2120         
2121         Move crollingCoordinator::create() into the platform implementation file.
2122
2123         * page/scrolling/ScrollingCoordinator.cpp:
2124         (WebCore::ScrollingCoordinator::create):
2125         * page/scrolling/ScrollingStateScrollingNode.cpp:
2126         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
2127         (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
2128         * page/scrolling/ScrollingStateScrollingNode.h:
2129         * page/scrolling/ScrollingTree.h:
2130         (WebCore::ScrollingTree::isScrollingTreeIOS):
2131         * page/scrolling/ThreadedScrollingTree.h:
2132         * page/scrolling/ios/ScrollingCoordinatorIOS.h: Copied from Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.h.
2133         * page/scrolling/ios/ScrollingCoordinatorIOS.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm.
2134         (WebCore::ScrollingCoordinator::create):
2135         (WebCore::ScrollingCoordinatorIOS::ScrollingCoordinatorIOS):
2136         (WebCore::ScrollingCoordinatorIOS::~ScrollingCoordinatorIOS):
2137         (WebCore::ScrollingCoordinatorIOS::pageDestroyed):
2138         (WebCore::ScrollingCoordinatorIOS::commitTreeStateIfNeeded):
2139         (WebCore::ScrollingCoordinatorIOS::scheduleTreeStateCommit):
2140         (WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired):
2141         (WebCore::ScrollingCoordinatorIOS::commitTreeState):
2142         (WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode):
2143         * page/scrolling/ios/ScrollingTreeIOS.cpp: Added.
2144         (WebCore::ScrollingTreeIOS::create):
2145         (WebCore::ScrollingTreeIOS::ScrollingTreeIOS):
2146         (WebCore::ScrollingTreeIOS::~ScrollingTreeIOS):
2147         (WebCore::derefScrollingCoordinator):
2148         (WebCore::ScrollingTreeIOS::invalidate):
2149         (WebCore::ScrollingTreeIOS::commitNewTreeState):
2150         (WebCore::ScrollingTreeIOS::updateMainFrameScrollPosition):
2151         (WebCore::ScrollingTreeIOS::createNode):
2152         * page/scrolling/ios/ScrollingTreeIOS.h: Copied from Source/WebCore/page/scrolling/ThreadedScrollingTree.h.
2153         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h: Added.
2154         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm: Added.
2155         (WebCore::ScrollingTreeScrollingNodeIOS::create):
2156         (WebCore::ScrollingTreeScrollingNodeIOS::ScrollingTreeScrollingNodeIOS):
2157         (WebCore::ScrollingTreeScrollingNodeIOS::~ScrollingTreeScrollingNodeIOS):
2158         (WebCore::ScrollingTreeScrollingNodeIOS::updateBeforeChildren):
2159         (WebCore::ScrollingTreeScrollingNodeIOS::updateAfterChildren):
2160         (WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
2161         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
2162         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
2163         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
2164         (WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
2165         (WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
2166         (WebCore::ScrollingTreeScrollingNodeIOS::scrollBy):
2167         (WebCore::ScrollingTreeScrollingNodeIOS::scrollByWithoutContentEdgeConstraints):
2168         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2169         (WebCore::ScrollingCoordinator::create):
2170         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
2171         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
2172
2173 2014-01-09  Myles C. Maxfield  <mmaxfield@apple.com>
2174
2175         text-decoration-skip: ink does not work with line wraps
2176         https://bugs.webkit.org/show_bug.cgi?id=126729
2177
2178         Reviewed by Simon Fraser.
2179
2180         InlineTextBox's m_start and m_length fields are offsets into the renderer's string,
2181         not the generated TextRun. Because of this distinction, when multiple InlineTextBoxes
2182         were constructed for the same element, all the subsequent elements would use incorrect
2183         indices and therefore not have skipping decorations.
2184
2185         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-multiline.html
2186
2187         * platform/graphics/Font.h:
2188         * platform/graphics/mac/FontMac.mm:
2189         (WebCore::Font::dashesForIntersectionsWithRect):
2190         * rendering/InlineTextBox.cpp:
2191         (WebCore::drawSkipInkUnderline):
2192         (WebCore::InlineTextBox::paintDecoration):
2193         * rendering/TextPainter.cpp:
2194         (WebCore::TextPainter::dashesForIntersectionsWithRect):
2195         * rendering/TextPainter.h:
2196
2197 2014-01-09  Benjamin Poulain  <bpoulain@apple.com>
2198
2199         Remove remaining blackberry files I could find in WebCore
2200         https://bugs.webkit.org/show_bug.cgi?id=126715
2201
2202         Reviewed by Anders Carlsson.
2203
2204         * PlatformBlackBerry.cmake: Removed.
2205         * Resources/blackberry: Removed.
2206         * css/mediaControlsBlackBerry.css: Removed.
2207         * css/mediaControlsBlackBerryFullscreen.css: Removed.
2208         * css/themeBlackBerry.css: Removed.
2209         * editing/blackberry: Removed.
2210         * history/blackberry: Removed.
2211         * html/shadow/MediaControlsBlackBerry.cpp: Removed.
2212         * html/shadow/MediaControlsBlackBerry.h: Removed.
2213         * page/blackberry: Removed.
2214         * page/scrolling/blackberry: Removed.
2215         * plugins/blackberry: Removed.
2216
2217 2014-01-09  Brent Fulgham  <bfulgham@apple.com>
2218
2219         [WebGL] Return filtered results for getProgramParameter for ACTIVE_ATTRIBUTES and ACTIVE_UNIFORMS
2220         https://bugs.webkit.org/show_bug.cgi?id=126718
2221         <rdar://problem/15202048>
2222
2223         Reviewed by Dean Jackson.
2224
2225         Covered by webgl/conformance/ogles/GL/biuDepthRange/biuDepthRange_001_to_002.html and
2226         webgl/conformance/ogles/GL/gl_FragCoord/gl_FragCoord_001_to_003.html.
2227
2228         * html/canvas/WebGLRenderingContext.cpp:
2229         (WebCore::WebGLRenderingContext::getActiveAttrib): Added loging.
2230         (WebCore::WebGLRenderingContext::getActiveUniform): Added logging.
2231         (WebCore::WebGLRenderingContext::getAttribLocation): Drive-by-fix. Return
2232         -1 on link failure (an invalid location) rather than 0 (a valid
2233         location) when link fails.
2234         (WebCore::WebGLRenderingContext::getProgramParameter): Use new
2235         method to return filtered count.
2236         (WebCore::WebGLRenderingContext::getUniformLocation): Use nullptr
2237         rather than returning 0.
2238         * platform/graphics/GraphicsContext3D.h:
2239         (WebCore::GraphicsContext3D::ActiveShaderSymbolCounts::ActiveShaderSymbolCounts):
2240         (WebCore::GraphicsContext3D::ActiveShaderSymbolCounts::countForType):
2241         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2242         (WebCore::GraphicsContext3D::precisionsMatch): Drive-by-fix. Don't
2243         copy giant objects to read a single value.
2244         (WebCore::GraphicsContext3D::compileShader): Release filtered count
2245         when we change shader source code.
2246         (WebCore::GraphicsContext3D::getActiveAttribImpl): Renamed from getActiveAttrib.
2247         (WebCore::GraphicsContext3D::getActiveAttrib): Maps filtered indices to
2248         real OpenGL indices.
2249         (WebCore::GraphicsContext3D::getActiveUniformImpl): Renamed from getActiveUniform.
2250         (WebCore::GraphicsContext3D::getActiveUniform): Maps filtered indices to
2251         real OpenGL indices.
2252         (WebCore::GraphicsContext3D::originalSymbolName): Use C++11 loop.
2253         (WebCore::GraphicsContext3D::getAttribLocation): Added logging.
2254         (WebCore::GraphicsContext3D::getNonBuiltinActiveSymbolCount): Added.
2255         (WebCore::GraphicsContext3D::getShaderiv): Const correctness.
2256         (WebCore::GraphicsContext3D::getShaderInfoLog): Ditto.
2257         (WebCore::GraphicsContext3D::getShaderSource): Ditto.
2258
2259 2014-01-09  Zoltan Horvath  <zoltan@webkit.org>
2260
2261         [CSS Shapes] First line gets incorrectly adjusted in shape-inside due to rounding
2262         https://bugs.webkit.org/show_bug.cgi?id=126601
2263
2264         Reviewed by Bem Jones-Bey.
2265
2266         In order to get consistent results of the first fit position of the content in shapes,
2267         firstIncludedIntervalLogicalTop should take a FloatSize rather than LayoutSize for
2268         minLogicalIntervalSize, because LayoutSize clamps the float value to int, when subpixel-layout
2269         is disabled, thus firstIncludedIntervalLogicalTop could end up calculating with an unprecize
2270         value. This change modifies firstIncludedIntervalLogicalTop to take FloatSize consistently.
2271
2272         Test: fast/shapes/shape-inside/shape-inside-polygon-rounded-first-fit.html
2273
2274         * rendering/shapes/BoxShape.cpp:
2275         (WebCore::BoxShape::firstIncludedIntervalLogicalTop):
2276         * rendering/shapes/BoxShape.h:
2277         * rendering/shapes/PolygonShape.cpp:
2278         (WebCore::PolygonShape::firstIncludedIntervalLogicalTop):
2279         * rendering/shapes/PolygonShape.h:
2280         * rendering/shapes/RasterShape.cpp:
2281         (WebCore::RasterShape::firstIncludedIntervalLogicalTop):
2282         * rendering/shapes/RasterShape.h:
2283         * rendering/shapes/RectangleShape.cpp:
2284         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
2285         * rendering/shapes/RectangleShape.h:
2286         * rendering/shapes/Shape.h:
2287         * rendering/shapes/ShapeInsideInfo.cpp:
2288         (WebCore::ShapeInsideInfo::adjustLogicalLineTop):
2289         (WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat):
2290
2291 2014-01-09  Andy Estes  <aestes@apple.com>
2292
2293         [iOS] Upstream WAK
2294         https://bugs.webkit.org/show_bug.cgi?id=126724
2295
2296         Reviewed by David Kilzer.
2297
2298         * Configurations/WebCore.xcconfig: Excluded new iOS-specific Private
2299         headers on the Mac build.
2300         * WebCore.xcodeproj/project.pbxproj: Added new files to the project.
2301         * platform/ios/wak/WAKAppKitStubs.h: Added.
2302         * platform/ios/wak/WAKAppKitStubs.m: Added.
2303         * platform/ios/wak/WAKClipView.h: Added.
2304         * platform/ios/wak/WAKClipView.m: Added.
2305         * platform/ios/wak/WAKResponder.h: Added.
2306         * platform/ios/wak/WAKResponder.m: Added.
2307         * platform/ios/wak/WAKScrollView.h: Added.
2308         * platform/ios/wak/WAKScrollView.mm: Added.
2309         * platform/ios/wak/WAKView.h: Added.
2310         * platform/ios/wak/WAKView.mm: Added.
2311         * platform/ios/wak/WAKViewPrivate.h: Added.
2312         * platform/ios/wak/WAKWindow.h: Added.
2313         * platform/ios/wak/WAKWindow.mm: Added.
2314         * platform/ios/wak/WKContentObservation.cpp: Added.
2315         * platform/ios/wak/WKContentObservation.h: Added.
2316         * platform/ios/wak/WKGraphics.h: Added.
2317         * platform/ios/wak/WKGraphics.mm: Added.
2318         * platform/ios/wak/WKTypes.h: Added.
2319         * platform/ios/wak/WKUtilities.c: Added.
2320         * platform/ios/wak/WKUtilities.h: Added.
2321         * platform/ios/wak/WKView.h: Added.
2322         * platform/ios/wak/WKView.mm: Added.
2323         * platform/ios/wak/WKViewPrivate.h: Added.
2324         * platform/ios/wak/WebCoreThread.h: Added.
2325         * platform/ios/wak/WebCoreThread.mm: Added.
2326         * platform/ios/wak/WebCoreThreadInternal.h: Added.
2327         * platform/ios/wak/WebCoreThreadMessage.h: Added.
2328         * platform/ios/wak/WebCoreThreadRun.cpp: Added.
2329         * platform/ios/wak/WebCoreThreadRun.h: Added.
2330         * platform/ios/wak/WebCoreThreadSafe.h: Added.
2331         * platform/ios/wak/WebCoreThreadSystemInterface.cpp: Added.
2332         * platform/ios/wak/WebCoreThreadSystemInterface.h: Added.
2333
2334 2014-01-09  Daniel Bates  <dabates@apple.com>
2335
2336         Another attempt to fix the Windows build following <http://trac.webkit.org/changeset/161589>
2337         (https://bugs.webkit.org/show_bug.cgi?id=126654)
2338
2339         * platform/network/cf/ResourceRequest.h: Always declare ResourceRequest::updateFromDelegatePreservingOldHTTPBody()
2340         instead of only declaring it when building without CFNetwork.
2341
2342 2014-01-09  Daniel Bates  <dabates@apple.com>
2343
2344         Attempt to fix the Windows build following <http://trac.webkit.org/changeset/161589>
2345         (https://bugs.webkit.org/show_bug.cgi?id=126654)
2346
2347         For some reason, the Windows build is unhappy that NeverDestroyed<FontCache> calls the private constructor
2348         FontCache::FontCache() despite being a friend class of FontCache. Use DEFINE_STATIC_LOCAL instead of
2349         NeverDestroyed<> for now. I'll look to investigate this issue offline.
2350
2351         * platform/graphics/FontCache.cpp:
2352         (WebCore::fontCache):
2353         * platform/graphics/FontCache.h:
2354
2355 2014-01-09  Benjamin Poulain  <bpoulain@apple.com>
2356
2357         Remove blackberry from WebCore/platform
2358         https://bugs.webkit.org/show_bug.cgi?id=126715
2359
2360         Reviewed by Anders Carlsson.
2361
2362         * platform/blackberry: Removed.
2363         * platform/graphics/blackberry: Removed.
2364         * platform/graphics/filters/blackberry: Removed.
2365         * platform/image-decoders/blackberry: Removed.
2366         * platform/mediastream/blackberry: Removed.
2367         * platform/network/blackberry: Removed.
2368         * platform/text/blackberry: Removed.
2369
2370 2014-01-09  Alexey Proskuryakov  <ap@apple.com>
2371
2372         Fix a copy-paste mistake in an include guard.
2373
2374         Rubber-stamped by Sam Weinig.
2375
2376         * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h:
2377
2378 2014-01-09  Anders Carlsson  <andersca@apple.com>
2379
2380         History::StateObjectType should be a strong enum
2381         https://bugs.webkit.org/show_bug.cgi?id=126725
2382
2383         Reviewed by Beth Dakin.
2384
2385         * bindings/js/JSHistoryCustom.cpp:
2386         (WebCore::JSHistory::pushState):
2387         (WebCore::JSHistory::replaceState):
2388         * loader/HistoryController.cpp:
2389         (WebCore::HistoryController::pushState):
2390         * page/History.cpp:
2391         (WebCore::History::stateObjectAdded):
2392         * page/History.h:
2393
2394 2014-01-09  Daniel Bates  <dabates@apple.com>
2395
2396         Attempt to fix the Mountain Lion Release (32-bit) build following <http://trac.webkit.org/changeset/161589>
2397         (https://bugs.webkit.org/show_bug.cgi?id=126654)
2398
2399         * platform/ios/WebEvent.h:
2400         * platform/ios/WebEvent.mm:
2401
2402 2014-01-09  Daniel Bates  <dabates@apple.com>
2403
2404         [iOS] Upstream WebCore/platform changes
2405         https://bugs.webkit.org/show_bug.cgi?id=126654
2406
2407         Rubber-stamped by David Kilzer.
2408
2409         * WebCore.exp.in:
2410         * WebCore.xcodeproj/project.pbxproj:
2411         * platform/ContentFilter.h:
2412         * platform/DragData.h:
2413         * platform/FileChooser.cpp:
2414         (WebCore::FileChooser::chooseMediaFiles):
2415         * platform/FileChooser.h:
2416         * platform/FileSystem.cpp:
2417         (WebCore::setMetadataURL):
2418         * platform/FileSystem.h:
2419         * platform/KillRingNone.cpp:
2420         * platform/LocalizedStrings.cpp:
2421         (WebCore::fileButtonChooseMediaFileLabel):
2422         (WebCore::fileButtonChooseMultipleMediaFilesLabel):
2423         (WebCore::fileButtonNoMediaFileSelectedLabel):
2424         (WebCore::fileButtonNoMediaFilesSelectedLabel):
2425         * platform/LocalizedStrings.h:
2426         * platform/Logging.h:
2427         * platform/MIMETypeRegistry.cpp:
2428         (WebCore::initializeSupportedImageMIMETypes):
2429         (WebCore::initializeSupportedNonImageMimeTypes):
2430         (WebCore::initializeUnsupportedTextMIMETypes):
2431         * platform/MemoryPressureHandler.cpp:
2432         (WebCore::MemoryPressureHandler::MemoryPressureHandler):
2433         * platform/MemoryPressureHandler.h:
2434         * platform/PlatformKeyboardEvent.h:
2435         (WebCore::PlatformKeyboardEvent::event):
2436         * platform/PlatformMouseEvent.h:
2437         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2438         * platform/PlatformScreen.h:
2439         * platform/RuntimeApplicationChecks.cpp:
2440         (WebCore::mainBundleIsEqualTo):
2441         * platform/RuntimeApplicationChecksIOS.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
2442         * platform/RuntimeApplicationChecksIOS.mm: Added.
2443         * platform/ScrollAnimator.cpp:
2444         (WebCore::ScrollAnimator::handleTouchEvent):
2445         * platform/ScrollAnimator.h:
2446         * platform/ScrollTypes.h:
2447         * platform/ScrollView.cpp:
2448         (WebCore::ScrollView::unscaledVisibleContentSize):
2449         (WebCore::ScrollView::visibleContentRect):
2450         * platform/ScrollView.h:
2451         (WebCore::ScrollView::actualScrollX):
2452         (WebCore::ScrollView::actualScrollY):
2453         * platform/ScrollableArea.cpp:
2454         (WebCore::ScrollableArea::handleTouchEvent):
2455         (WebCore::ScrollableArea::isPinnedInBothDirections):
2456         (WebCore::ScrollableArea::isPinnedHorizontallyInDirection):
2457         (WebCore::ScrollableArea::isPinnedVerticallyInDirection):
2458         * platform/ScrollableArea.h:
2459         (WebCore::ScrollableArea::isTouchScrollable):
2460         (WebCore::ScrollableArea::isOverflowScroll):
2461         (WebCore::ScrollableArea::didStartScroll):
2462         (WebCore::ScrollableArea::didEndScroll):
2463         (WebCore::ScrollableArea::didUpdateScroll):
2464         (WebCore::ScrollableArea::setIsUserScroll):
2465         (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMinimumPosition):
2466         (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMaximumPosition):
2467         (WebCore::ScrollableArea::isVerticalScrollerPinnedToMinimumPosition):
2468         (WebCore::ScrollableArea::isVerticalScrollerPinnedToMaximumPosition):
2469         * platform/Scrollbar.cpp:
2470         * platform/Scrollbar.h:
2471         * platform/SharedBuffer.cpp:
2472         (WebCore::SharedBuffer::SharedBuffer):
2473         (WebCore::SharedBuffer::createPurgeableBuffer):
2474         (WebCore::SharedBuffer::data):
2475         * platform/SharedBuffer.h:
2476         (WebCore::SharedBuffer::shouldUsePurgeableMemory):
2477         * platform/SuddenTermination.h:
2478         * platform/Supplementable.h:
2479         (WebCore::Supplementable::provideSupplement):
2480         (WebCore::Supplementable::removeSupplement):
2481         (WebCore::Supplementable::requireSupplement):
2482         * platform/SystemMemory.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
2483         * platform/ThreadCheck.h:
2484         * platform/ThreadGlobalData.cpp:
2485         (WebCore::ThreadGlobalData::ThreadGlobalData):
2486         (WebCore::ThreadGlobalData::destroy):
2487         (WebCore::ThreadGlobalData::setWebCoreThreadData):
2488         (WebCore::threadGlobalData):
2489         * platform/ThreadGlobalData.h:
2490         * platform/ThreadTimers.cpp:
2491         (WebCore::ThreadTimers::ThreadTimers):
2492         (WebCore::ThreadTimers::sharedTimerFiredInternal):
2493         * platform/Timer.cpp:
2494         (WebCore::TimerBase::start):
2495         (WebCore::TimerBase::stop):
2496         (WebCore::TimerBase::setNextFireTime):
2497         * platform/Timer.h:
2498         (WebCore::TimerBase::isActive):
2499         * platform/URL.cpp:
2500         (WebCore::enableURLSchemeCanonicalization):
2501         (WebCore::equal):
2502         (WebCore::URL::parse):
2503         * platform/URL.h:
2504         * platform/Widget.h:
2505         * platform/audio/ios/AudioDestinationIOS.cpp:
2506         * platform/audio/ios/AudioDestinationIOS.h:
2507         * platform/audio/ios/AudioFileReaderIOS.cpp: Copied from Source/WebCore/platform/audio/mac/AudioFileReaderMac.cpp.
2508         (WebCore::createAudioBufferList):
2509         (WebCore::destroyAudioBufferList):
2510         (WebCore::AudioFileReader::AudioFileReader):
2511         (WebCore::AudioFileReader::~AudioFileReader):
2512         (WebCore::AudioFileReader::readProc):
2513         (WebCore::AudioFileReader::getSizeProc):
2514         (WebCore::AudioFileReader::createBus):
2515         (WebCore::createBusFromAudioFile):
2516         (WebCore::createBusFromInMemoryAudioFile):
2517         * platform/audio/ios/AudioFileReaderIOS.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
2518         (WebCore::AudioFileReader::data):
2519         (WebCore::AudioFileReader::dataSize):
2520         * platform/audio/ios/AudioSessionIOS.mm:
2521         (SOFT_LINK_POINTER):
2522         (-[WebAudioSessionHelper initWithCallback:WebCore::]):
2523         (-[WebAudioSessionHelper dealloc]):
2524         (-[WebAudioSessionHelper interruption:]):
2525         (WebCore::AudioSession::setCategory):
2526         * platform/audio/mac/AudioDestinationMac.cpp:
2527         * platform/audio/mac/AudioFileReaderMac.cpp:
2528         (WebCore::AudioFileReader::AudioFileReader):
2529         (WebCore::createBusFromAudioFile):
2530         (WebCore::createBusFromInMemoryAudioFile):
2531         * platform/audio/mac/AudioSessionMac.cpp:
2532         * platform/audio/mac/MediaSessionManagerMac.cpp:
2533         (MediaSessionManager::updateSessionState):
2534         * platform/cf/SharedBufferCF.cpp:
2535         (WebCore::SharedBuffer::SharedBuffer):
2536         * platform/cf/URLCF.cpp:
2537         * platform/cocoa/KeyEventCocoa.mm:
2538         (WebCore::windowsKeyCodeForCharCode):
2539         * platform/graphics/BitmapImage.cpp:
2540         (WebCore::BitmapImage::BitmapImage):
2541         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
2542         (WebCore::BitmapImage::cacheFrame):
2543         (WebCore::BitmapImage::cacheFrameInfo):
2544         (WebCore::BitmapImage::updateSize):
2545         (WebCore::BitmapImage::originalSize):
2546         (WebCore::BitmapImage::originalSizeRespectingOrientation):
2547         (WebCore::BitmapImage::dataChanged):
2548         (WebCore::BitmapImage::ensureFrameInfoIsCached):
2549         (WebCore::BitmapImage::frameAtIndex):
2550         (WebCore::BitmapImage::frameIsCompleteAtIndex):
2551         (WebCore::BitmapImage::frameDurationAtIndex):
2552         (WebCore::BitmapImage::frameHasAlphaAtIndex):
2553         (WebCore::BitmapImage::frameOrientationAtIndex):
2554         (WebCore::BitmapImage::startAnimation):
2555         (WebCore::BitmapImage::internalAdvanceAnimation):
2556         * platform/graphics/BitmapImage.h:
2557         (WebCore::FrameData::FrameData):
2558         * platform/graphics/Color.cpp:
2559         (WebCore::Color::isDark):
2560         * platform/graphics/Color.h:
2561         * platform/graphics/DisplayRefreshMonitor.h:
2562         * platform/graphics/FloatPoint.h:
2563         * platform/graphics/FloatRect.h:
2564         * platform/graphics/FloatSize.h:
2565         * platform/graphics/Font.cpp:
2566         (WebCore::Font::drawText):
2567         (WebCore::Font::width):
2568         * platform/graphics/Font.h:
2569         * platform/graphics/FontCache.cpp:
2570         (initFontCacheLockOnce):
2571         (FontLocker::FontLocker):
2572         (FontLocker::~FontLocker):
2573         (WebCore::fontCache):
2574         (WebCore::FontCache::getCachedFontPlatformData):
2575         (WebCore::FontCache::getCachedFontData):
2576         (WebCore::FontCache::releaseFontData):
2577         (WebCore::FontCache::purgeInactiveFontDataIfNeeded):
2578         (WebCore::FontCache::purgeInactiveFontData):
2579         * platform/graphics/FontCache.h:
2580         * platform/graphics/FontFastPath.cpp:
2581         (WebCore::Font::drawSimpleText):
2582         (WebCore::Font::drawGlyphBuffer):
2583         * platform/graphics/FontGlyphs.h:
2584         * platform/graphics/FontPlatformData.cpp:
2585         (WebCore::FontPlatformData::FontPlatformData):
2586         * platform/graphics/FontPlatformData.h:
2587         (WebCore::FontPlatformData::font):
2588         (WebCore::FontPlatformData::roundsGlyphAdvances):
2589         (WebCore::FontPlatformData::hash):
2590         (WebCore::FontPlatformData::hashTableDeletedFontValue):
2591         * platform/graphics/GlyphPageTreeNode.cpp:
2592         (WebCore::GlyphPageTreeNode::initializePage):
2593         * platform/graphics/GraphicsContext.cpp:
2594         (WebCore::GraphicsContext::GraphicsContext):
2595         (WebCore::GraphicsContext::drawRaisedEllipse):
2596         (WebCore::GraphicsContext::drawText):
2597         (WebCore::GraphicsContext::drawBidiText):
2598         (WebCore::GraphicsContext::clipRoundedRect):
2599         (WebCore::GraphicsContext::emojiDrawingEnabled):
2600         (WebCore::GraphicsContext::setEmojiDrawingEnabled):
2601         * platform/graphics/GraphicsContext.h:
2602         (WebCore::GraphicsContextState::GraphicsContextState):
2603         * platform/graphics/GraphicsContext3D.h:
2604         * platform/graphics/GraphicsLayer.cpp:
2605         (WebCore::GraphicsLayer::willBeDestroyed):
2606         * platform/graphics/GraphicsLayer.h:
2607         (WebCore::GraphicsLayer::contentsLayerForMedia):
2608         (WebCore::GraphicsLayer::pixelAlignmentOffset):
2609         (WebCore::GraphicsLayer::hasFlattenedPerspectiveTransform):
2610         * platform/graphics/Icon.h:
2611         * platform/graphics/Image.cpp:
2612         (WebCore::Image::drawTiled):
2613         * platform/graphics/ImageSource.h:
2614         (WebCore::ImageSource::isSubsampled):
2615         * platform/graphics/IntPoint.h:
2616         * platform/graphics/IntRect.h:
2617         * platform/graphics/IntSize.h:
2618         * platform/graphics/MediaPlayer.cpp:
2619         (WebCore::installedMediaEngines):
2620         (WebCore::MediaPlayer::isCurrentPlaybackTargetWireless):
2621         (WebCore::MediaPlayer::showPlaybackTargetPicker):
2622         (WebCore::MediaPlayer::hasWirelessPlaybackTargets):
2623         (WebCore::MediaPlayer::wirelessVideoPlaybackDisabled):
2624         (WebCore::MediaPlayer::setWirelessVideoPlaybackDisabled):
2625         (WebCore::MediaPlayer::setHasPlaybackTargetAvailabilityListeners):
2626         (WebCore::MediaPlayer::currentPlaybackTargetIsWirelessChanged):
2627         (WebCore::MediaPlayer::playbackTargetAvailabilityChanged):
2628         (WebCore::MediaPlayer::attributeChanged):
2629         (WebCore::MediaPlayer::readyForPlayback):
2630         (WebCore::MediaPlayer::volumeChanged):
2631         * platform/graphics/MediaPlayer.h:
2632         (WebCore::MediaPlayerClient::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
2633         (WebCore::MediaPlayerClient::mediaPlayerPlaybackTargetAvailabilityChanged):
2634         * platform/graphics/MediaPlayerPrivate.h:
2635         (WebCore::MediaPlayerPrivateInterface::volume):
2636         (WebCore::MediaPlayerPrivateInterface::isCurrentPlaybackTargetWireless):
2637         (WebCore::MediaPlayerPrivateInterface::showPlaybackTargetPicker):
2638         (WebCore::MediaPlayerPrivateInterface::hasWirelessPlaybackTargets):
2639         (WebCore::MediaPlayerPrivateInterface::wirelessVideoPlaybackDisabled):
2640         (WebCore::MediaPlayerPrivateInterface::setWirelessVideoPlaybackDisabled):
2641         (WebCore::MediaPlayerPrivateInterface::setHasPlaybackTargetAvailabilityListeners):
2642         (WebCore::MediaPlayerPrivateInterface::attributeChanged):
2643         (WebCore::MediaPlayerPrivateInterface::readyForPlayback):
2644         * platform/graphics/SimpleFontData.cpp:
2645         (WebCore::SimpleFontData::SimpleFontData):
2646         * platform/graphics/SimpleFontData.h:
2647         * platform/graphics/StringTruncator.cpp:
2648         (WebCore::centerTruncateToBuffer):
2649         (WebCore::rightTruncateToBuffer):
2650         (WebCore::rightClipToCharacterBuffer):
2651         (WebCore::rightClipToWordBuffer):
2652         (WebCore::leftTruncateToBuffer):
2653         (WebCore::truncateString):
2654         (WebCore::StringTruncator::centerTruncate):
2655         (WebCore::StringTruncator::rightTruncate):
2656         (WebCore::StringTruncator::leftTruncate):
2657         (WebCore::StringTruncator::rightClipToCharacter):
2658         (WebCore::StringTruncator::rightClipToWord):
2659         * platform/graphics/StringTruncator.h:
2660         * platform/graphics/TextTrackRepresentation.cpp:
2661         * platform/graphics/WidthIterator.h:
2662         (WebCore::WidthIterator::supportsTypesettingFeatures):
2663         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
2664         (WebCore::AVTrackPrivateAVFObjCImpl::label):
2665         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2666         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded):
2667         (WebCore::wkAVAssetResolvedURL):
2668         * platform/graphics/blackberry/FontBlackBerry.cpp:
2669         (WebCore::Font::drawComplexText):
2670         * platform/graphics/ca/GraphicsLayerCA.cpp:
2671         (WebCore::supportsAcceleratedFilterAnimations):
2672         (WebCore::GraphicsLayerCA::setContentsToImage):
2673         (WebCore::GraphicsLayerCA::contentsLayerForMedia):
2674         (WebCore::GraphicsLayerCA::computeVisibleRect):
2675         (WebCore::GraphicsLayerCA::updateGeometry):
2676         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
2677         (WebCore::GraphicsLayerCA::updateContentsRects):
2678         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
2679         (WebCore::GraphicsLayerCA::setupContentsLayer):
2680         (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread):
2681         (WebCore::GraphicsLayerCA::computePixelAlignment):
2682         * platform/graphics/ca/GraphicsLayerCA.h:
2683         * platform/graphics/ca/PlatformCAFilters.h:
2684         * platform/graphics/ca/PlatformCALayer.h:
2685         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
2686         (WebCore::currentRunLoop):
2687         (WebCore::LayerFlushScheduler::schedule):
2688         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2689         (-[WebAnimationDelegate animationDidStart:]):
2690         (PlatformCALayerMac::setContentsScale):
2691         (PlatformCALayer::isWebLayer):
2692         (PlatformCALayer::setBoundsOnMainThread):
2693         (PlatformCALayer::setPositionOnMainThread):
2694         (PlatformCALayer::setAnchorPointOnMainThread):
2695         (PlatformCALayer::setTileSize):
2696         * platform/graphics/ca/mac/TileController.mm:
2697         (WebCore::TileController::platformCALayerPaintContents):
2698         (WebCore::TileController::removeAllTiles):
2699         (WebCore::TileController::removeAllSecondaryTiles):
2700         (WebCore::TileController::removeTilesInCohort):
2701         (WebCore::TileController::revalidateTiles):
2702         (WebCore::TileController::createTileLayer):
2703         * platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
2704         (WebCore::Font::drawComplexText):
2705         * platform/graphics/cg/BitmapImageCG.cpp:
2706         (WebCore::FrameData::clear):
2707         (WebCore::BitmapImage::BitmapImage):
2708         (WebCore::BitmapImage::checkForSolidColor):
2709         (WebCore::BitmapImage::draw):
2710         (WebCore::BitmapImage::copyUnscaledFrameAtIndex):
2711         * platform/graphics/cg/ColorCG.cpp:
2712         (WebCore::createCGColorWithDeviceWhite):
2713         (WebCore::createCGColorWithDeviceRGBA):
2714         (WebCore::Color::Color):
2715         * platform/graphics/cg/FloatPointCG.cpp:
2716         * platform/graphics/cg/FloatRectCG.cpp:
2717         * platform/graphics/cg/FloatSizeCG.cpp:
2718         * platform/graphics/cg/GradientCG.cpp:
2719         * platform/graphics/cg/GraphicsContextCG.cpp:
2720         (WebCore::sRGBColorSpaceRef):
2721         (WebCore::setStrokeAndFillColor):
2722         (WebCore::GraphicsContext::platformInit):
2723         * platform/graphics/cg/ImageBufferCG.cpp:
2724         (WebCore::createIOSurface):
2725         (WebCore::ImageBuffer::ImageBuffer):
2726         (WebCore::ImageBuffer::draw):
2727         (WebCore::jpegUTI):
2728         (WebCore::utiFromMIMEType):
2729         * platform/graphics/cg/ImageBufferDataCG.cpp:
2730         (WebCore::ImageBufferData::getData):
2731         (WebCore::ImageBufferData::putData):
2732         * platform/graphics/cg/ImageBufferDataCG.h:
2733         * platform/graphics/cg/ImageCG.cpp:
2734         (WebCore::drawPatternCallback):
2735         (WebCore::Image::drawPattern):
2736         * platform/graphics/cg/ImageSourceCG.cpp:
2737         (WebCore::ImageSource::ImageSource):
2738         (WebCore::imageSourceOptions):
2739         (WebCore::ImageSource::imageSourceOptions):
2740         (WebCore::ImageSource::frameSizeAtIndex):
2741         (WebCore::ImageSource::originalSize):
2742         (WebCore::ImageSource::createFrameAtIndex):
2743         * platform/graphics/cg/ImageSourceCGMac.mm:
2744         * platform/graphics/cg/IntPointCG.cpp:
2745         * platform/graphics/cg/IntRectCG.cpp:
2746         * platform/graphics/cg/IntSizeCG.cpp:
2747         * platform/graphics/cg/PDFDocumentImage.cpp:
2748         * platform/graphics/cg/PathCG.cpp:
2749         * platform/graphics/cg/PatternCG.cpp:
2750         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2751         (WebCore::FontPlatformData::FontPlatformData):
2752         (WebCore::FontPlatformData::~FontPlatformData):
2753         (WebCore::FontPlatformData::platformDataInit):
2754         (WebCore::FontPlatformData::platformDataAssign):
2755         (WebCore::FontPlatformData::platformIsEqual):
2756         (WebCore::FontPlatformData::setFont):
2757         (WebCore::FontPlatformData::allowsLigatures):
2758         (WebCore::FontPlatformData::ctFont):
2759         * platform/graphics/ios/DisplayRefreshMonitorIOS.mm: Added.
2760         (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
2761         (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
2762         (WebCore::DisplayRefreshMonitor::displayLinkFired):
2763         * platform/graphics/ios/FontCacheIOS.mm: Added.
2764         * platform/graphics/ios/FontServicesIOS.h: Added.
2765         * platform/graphics/ios/FontServicesIOS.mm: Added.
2766         (WebCore::FontServicesIOS::FontServicesIOS):
2767         * platform/graphics/ios/GraphicsContext3DIOS.h: Added.
2768         * platform/graphics/ios/IconIOS.mm: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.cpp.
2769         * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: Copied from Source/WebCore/platform/graphics/cg/ImageBufferDataCG.h.
2770         (WebCore::InbandTextTrackPrivateAVFIOS::create):
2771         (WebCore::InbandTextTrackPrivateAVFIOS::internalID):
2772         * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.mm: Copied from Source/WebCore/platform/graphics/mac/IntRectMac.mm.
2773         (WebCore::InbandTextTrackPrivateAVFIOS::InbandTextTrackPrivateAVFIOS):
2774         (WebCore::InbandTextTrackPrivateAVFIOS::~InbandTextTrackPrivateAVFIOS):
2775         (WebCore::InbandTextTrackPrivateAVFIOS::kind):
2776         * platform/graphics/ios/MediaPlayerPrivateIOS.h: Added.
2777         * platform/graphics/ios/MediaPlayerPrivateIOS.mm: Added.
2778         * platform/graphics/ios/SimpleFontDataIOS.mm: Added.
2779         (WebCore::fontFamilyShouldNotBeUsedForArabic):
2780         (WebCore::fontHasVerticalGlyphs):
2781         (WebCore::SimpleFontData::platformInit):
2782         (WebCore::SimpleFontData::platformCharWidthInit):
2783         (WebCore::SimpleFontData::platformCreateScaledFontData):
2784         (WebCore::SimpleFontData::containsCharacters):
2785         (WebCore::SimpleFontData::determinePitch):
2786         (WebCore::SimpleFontData::platformWidthForGlyph):
2787         * platform/graphics/ios/TextTrackRepresentationIOS.h: Copied from Source/WebCore/platform/graphics/TextTrackRepresentation.cpp.
2788         * platform/graphics/ios/TextTrackRepresentationIOS.mm: Added.
2789         * platform/graphics/mac/ColorMac.h:
2790         * platform/graphics/mac/ComplexTextController.cpp:
2791         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2792         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2793         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
2794         * platform/graphics/mac/FloatPointMac.mm:
2795         * platform/graphics/mac/FloatRectMac.mm:
2796         * platform/graphics/mac/FloatSizeMac.mm:
2797         * platform/graphics/mac/FontCacheMac.mm:
2798         * platform/graphics/mac/FontComplexTextMac.cpp:
2799         (WebCore::Font::drawComplexText):
2800         (WebCore::Font::fontDataForCombiningCharacterSequence):
2801         * platform/graphics/mac/FontCustomPlatformData.cpp:
2802         * platform/graphics/mac/FontMac.mm:
2803         (WebCore::showLetterpressedGlyphsWithAdvances):
2804         (WebCore::Font::drawGlyphs):
2805         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2806         (WebCore::GlyphPage::fill):
2807         * platform/graphics/mac/GraphicsContext3DMac.mm:
2808         (WebCore::GraphicsContext3D::GraphicsContext3D):
2809         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2810         (WebCore::GraphicsContext3D::setRenderbufferStorageFromDrawable):
2811         (WebCore::GraphicsContext3D::makeContextCurrent):
2812         (WebCore::GraphicsContext3D::endPaint):
2813         * platform/graphics/mac/GraphicsContextMac.mm:
2814         (WebCore::GraphicsContext::drawFocusRing):
2815         (WebCore::createDotPattern):
2816         (WebCore::GraphicsContext::drawLineForDocumentMarker):
2817         * platform/graphics/mac/IconMac.mm:
2818         * platform/graphics/mac/ImageMac.mm:
2819         (WebCore::BitmapImage::invalidatePlatformData):
2820         * platform/graphics/mac/IntPointMac.mm:
2821         * platform/graphics/mac/IntRectMac.mm:
2822         * platform/graphics/mac/IntSizeMac.mm:
2823         * platform/graphics/mac/MediaPlayerProxy.h:
2824         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2825         * platform/graphics/mac/SimpleFontDataMac.mm:
2826         * platform/graphics/mac/WebGLLayer.h:
2827         * platform/graphics/mac/WebGLLayer.mm:
2828         (-[WebGLLayer copyImageSnapshotWithColorSpace:]):
2829         (-[WebGLLayer display]):
2830         * platform/graphics/mac/WebLayer.mm:
2831         (WebCore::drawLayerContents):
2832         (-[WebSimpleLayer display]):
2833         (-[WebSimpleLayer drawInContext:]):
2834         * platform/graphics/mac/WebTiledLayer.mm:
2835         (+[WebTiledLayer shouldDrawOnMainThread]):
2836         (-[WebTiledLayer display]):
2837         (-[WebTiledLayer drawInContext:]):
2838         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2839         (WebCore::Extensions3DOpenGL::blitFramebuffer):
2840         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
2841         (WebCore::Extensions3DOpenGL::supportsExtension):
2842         (WebCore::Extensions3DOpenGL::drawBuffersEXT):
2843         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2844         (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
2845         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2846         (WebCore::GraphicsContext3D::reshapeFBOs):
2847         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
2848         (WebCore::GraphicsContext3D::renderbufferStorage):
2849         (WebCore::GraphicsContext3D::getIntegerv):
2850         (WebCore::GraphicsContext3D::texImage2D):
2851         (WebCore::GraphicsContext3D::depthRange):
2852         (WebCore::GraphicsContext3D::clearDepth):
2853         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2854         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2855         * platform/graphics/transforms/TransformationMatrix.cpp:
2856         (WebCore::TransformationMatrix::multiply):
2857         * platform/graphics/win/FontWin.cpp:
2858         (WebCore::Font::drawComplexText):
2859         * platform/graphics/wince/FontWinCE.cpp:
2860         (WebCore::Font::drawComplexText):
2861         * platform/ios/ContentFilterIOS.mm: Copied from Source/WebCore/platform/ContentFilter.h.
2862         * platform/ios/DeviceMotionClientIOS.h: Added.
2863         (WebCore::DeviceMotionClientIOS::create):
2864         * platform/ios/DeviceMotionClientIOS.mm: Added.
2865         * platform/ios/DeviceOrientationClientIOS.h: Added.
2866         (WebCore::DeviceOrientationClientIOS::create):
2867         * platform/ios/DeviceOrientationClientIOS.mm: Added.
2868         * platform/ios/KeyEventIOS.mm:
2869         * platform/ios/MIMETypeRegistryIOS.mm: Copied from Source/WebCore/platform/network/mac/CredentialStorageMac.mm.
2870         * platform/ios/MemoryPressureHandlerIOS.mm: Added.
2871         * platform/ios/PasteboardIOS.mm:
2872         (WebCore::Pasteboard::write):
2873         (WebCore::Pasteboard::resourceMIMEType):
2874         (WebCore::Pasteboard::writePlainText):
2875         (WebCore::Pasteboard::read):
2876         (WebCore::supportedImageTypes):
2877         (WebCore::Pasteboard::supportedPasteboardTypes):
2878         (WebCore::Pasteboard::hasData):
2879         (WebCore::Pasteboard::readString):
2880         * platform/ios/PlatformEventFactoryIOS.h: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
2881         * platform/ios/PlatformEventFactoryIOS.mm: Added.
2882         * platform/ios/PlatformPasteboardIOS.mm:
2883         (WebCore::PlatformPasteboard::write):
2884         * platform/ios/PlatformScreenIOS.mm: Added.
2885         * platform/ios/PlatformSpeechSynthesizerIOS.mm: Added.
2886         * platform/ios/SSLKeyGeneratorIOS.cpp: Added.
2887         * platform/ios/ScrollAnimatorIOS.h: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
2888         * platform/ios/ScrollAnimatorIOS.mm: Added.
2889         * platform/ios/ScrollViewIOS.mm: Added.
2890         * platform/ios/ScrollbarThemeIOS.h: Added.
2891         * platform/ios/ScrollbarThemeIOS.mm: Added.
2892         * platform/ios/SelectionRect.cpp: Added.
2893         * platform/ios/SelectionRect.h: Added.
2894         * platform/ios/SoundIOS.mm: Copied from Source/WebCore/platform/text/mac/CharsetData.h.
2895         * platform/ios/SystemMemoryIOS.cpp: Added.
2896         * platform/ios/ThemeIOS.h: Copied from Source/WebCore/platform/KillRingNone.cpp.
2897         * platform/ios/ThemeIOS.mm: Copied from Source/WebCore/platform/KillRingNone.cpp.
2898         * platform/ios/TileCache.h: Added.
2899         (WebCore::TileCache::isSpeculativeTileCreationEnabled):
2900         * platform/ios/TileCache.mm: Added.
2901         * platform/ios/TileGrid.h: Added.
2902         * platform/ios/TileGrid.mm: Added.
2903         * platform/ios/TileGridTile.h: Copied from Source/WebCore/platform/ContentFilter.h.
2904         * platform/ios/TileGridTile.mm: Added.
2905         * platform/ios/TileLayer.h: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
2906         * platform/ios/TileLayer.mm: Added.
2907         * platform/ios/TileLayerPool.mm: Added.
2908         * platform/ios/WebCoreMotionManager.h: Copied from Source/WebCore/platform/KillRingNone.cpp.
2909         * platform/ios/WebCoreMotionManager.mm: Added.
2910         * platform/ios/WebCoreSystemInterfaceIOS.h: Added.
2911         * platform/ios/WebCoreSystemInterfaceIOS.mm: Added.
2912         * platform/ios/WebEvent.h: Added.
2913         * platform/ios/WebEvent.mm: Added.
2914         * platform/ios/WidgetIOS.mm: Added.
2915         * platform/mac/DisplaySleepDisabler.cpp:
2916         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
2917         (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
2918         * platform/mac/DisplaySleepDisabler.h:
2919         * platform/mac/FileSystemMac.mm:
2920         * platform/mac/KillRingMac.mm:
2921         * platform/mac/MemoryPressureHandlerMac.mm:
2922         (WebCore::MemoryPressureHandler::install):
2923         (WebCore::MemoryPressureHandler::releaseMemory):
2924         * platform/mac/PlatformClockCM.mm:
2925         (PlatformClockCM::PlatformClockCM):
2926         * platform/mac/SoftLinking.h:
2927         * platform/mac/SystemVersionMac.mm:
2928         * platform/mac/WebCoreFullScreenPlaceholderView.h:
2929         * platform/mac/WebCoreFullScreenPlaceholderView.mm:
2930         * platform/mac/WebCoreFullScreenWarningView.h:
2931         * platform/mac/WebCoreFullScreenWarningView.mm:
2932         * platform/mac/WebCoreFullScreenWindow.h:
2933         * platform/mac/WebCoreFullScreenWindow.mm:
2934         * platform/mac/WebCoreNSCellExtras.h:
2935         * platform/mac/WebCoreNSCellExtras.m:
2936         * platform/mac/WebCoreSystemInterface.h:
2937         * platform/mac/WebFontCache.mm:
2938         (+[WebFontCache fontWithFamily:traits:size:]):
2939         * platform/network/BlobRegistry.cpp:
2940         * platform/network/BlobRegistryImpl.cpp:
2941         * platform/network/Credential.h:
2942         * platform/network/CredentialStorage.cpp:
2943         (WebCore::CredentialStorage::set):
2944         (WebCore::CredentialStorage::clearCredentials):
2945         * platform/network/CredentialStorage.h:
2946         * platform/network/NetworkStateNotifier.h:
2947         * platform/network/ResourceHandle.cpp:
2948         (WebCore::builtinResourceHandleConstructorMap):
2949         (WebCore::ResourceHandle::continueWillSendRequest):
2950         (WebCore::ResourceHandle::continueDidReceiveResponse):
2951         (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
2952         (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
2953         * platform/network/ResourceRequestBase.cpp:
2954         (WebCore::ResourceRequestBase::setDefaultAllowCookies):
2955         (WebCore::ResourceRequestBase::defaultAllowCookies):
2956         * platform/network/ResourceRequestBase.h:
2957         (WebCore::ResourceRequestBase::ResourceRequestBase):
2958         * platform/network/cf/CredentialStorageCFNet.cpp:
2959         (WebCore::CredentialStorage::saveToPersistentStorage):
2960         * platform/network/cf/DNSCFNet.cpp:
2961         * platform/network/cf/ProxyServerCFNet.cpp:
2962         * platform/network/cf/ResourceRequest.h:
2963         (WebCore::ResourceRequest::ResourceRequest):
2964         (WebCore::ResourceRequest::setMainResourceRequest):
2965         (WebCore::ResourceRequest::isMainResourceRequest):
2966         * platform/network/cf/ResourceRequestCFNet.cpp:
2967         (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody):
2968         (WebCore::ResourceRequest::doUpdateResourceRequest):
2969         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
2970         (WebCore::initializeHTTPConnectionSettingsOnStartup):
2971         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2972         (WebCore::SocketStreamHandle::reportErrorToClient):
2973         * platform/network/ios/NetworkStateNotifierIOS.cpp: Copied from Source/WebCore/platform/KillRingNone.cpp.
2974         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2975         (WebCore::NetworkStateNotifier::setIsOnLine):
2976         * platform/network/ios/QuickLook.h: Added.
2977         * platform/network/ios/QuickLook.mm: Added.
2978         * platform/network/ios/ResourceHandleIOS.mm: Added.
2979         * platform/network/ios/WebCoreURLResponseIOS.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
2980         * platform/network/ios/WebCoreURLResponseIOS.mm: Added.
2981         * platform/network/mac/AuthenticationMac.mm:
2982         (WebCore::mac):
2983         * platform/network/mac/CredentialStorageMac.mm:
2984         (WebCore::CredentialStorage::saveToPersistentStorage):
2985         * platform/network/mac/ResourceErrorMac.mm:
2986         (dictionaryThatCanCode):
2987         (-[WebCustomNSURLError encodeWithCoder:]):
2988         (NSErrorFromCFError):
2989         (WebCore::ResourceError::nsError):
2990         * platform/network/mac/ResourceHandleMac.mm:
2991         (WebCore::synchronousWillSendRequestEnabled):
2992         (WebCore::ResourceHandle::createNSURLConnection):
2993         (WebCore::ResourceHandle::start):
2994         (WebCore::ResourceHandle::schedule):
2995         (WebCore::ResourceHandle::unschedule):
2996         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2997         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2998         * platform/network/mac/ResourceRequestMac.mm:
2999         (WebCore::ResourceRequest::ResourceRequest):
3000         (WebCore::ResourceRequest::updateNSURLRequest):
3001         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
3002         (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks):
3003         * platform/network/mac/UTIUtilities.mm:
3004         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
3005         (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]):
3006         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
3007         (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
3008         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
3009         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
3010         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
3011         * platform/sql/SQLiteDatabase.h:
3012         (WebCore::SQLiteDatabase::sqlite3Handle):
3013         * platform/sql/SQLiteFileSystem.cpp:
3014         (WebCore::SQLiteFileSystem::truncateDatabaseFile):
3015         * platform/sql/SQLiteFileSystem.h:
3016         * platform/sql/SQLiteTransaction.cpp:
3017         (WebCore::SQLiteTransaction::begin):
3018         (WebCore::SQLiteTransaction::commit):
3019         (WebCore::SQLiteTransaction::rollback):
3020         (WebCore::SQLiteTransaction::stop):
3021         * platform/sql/ios/SQLiteDatabaseTracker.cpp: Added.
3022         * platform/sql/ios/SQLiteDatabaseTracker.h: Copied from Source/WebCore/platform/MemoryPressureHandler.cpp.
3023         * platform/sql/ios/SQLiteDatabaseTrackerClient.h: Copied from Source/WebCore/platform/KillRingNone.cpp.
3024         * platform/text/PlatformLocale.cpp:
3025         * platform/text/PlatformLocale.h:
3026         * platform/text/TextBreakIteratorICU.cpp:
3027         (WebCore::cursorMovementIterator):
3028         * platform/text/TextCodecICU.cpp:
3029         (WebCore::TextCodecICU::registerEncodingNames):
3030         (WebCore::TextCodecICU::registerCodecs):
3031         * platform/text/TextEncodingRegistry.cpp:
3032         (WebCore::extendTextCodecMaps):
3033         * platform/text/cf/HyphenationCF.cpp:
3034         (WebCore::canHyphenate):
3035         * platform/text/ios/LocalizedDateCache.h: Copied from Source/WebCore/platform/MemoryPressureHandler.h.
3036         * platform/text/ios/LocalizedDateCache.mm: Added.
3037         * platform/text/mac/CharsetData.h:
3038         * platform/text/mac/LocaleMac.h:
3039         * platform/text/mac/LocaleMac.mm:
3040         (WebCore::LocaleMac::formatDateTime):
3041         (WebCore::LocaleMac::maximumWidthForDateType):
3042         * platform/text/mac/TextBoundaries.mm:
3043         (WebCore::isSkipCharacter):
3044         (WebCore::isWhitespaceCharacter):
3045         (WebCore::isWordDelimitingCharacter):
3046         (WebCore::isSymbolCharacter):
3047         (WebCore::isAmbiguousBoundaryCharacter):
3048         (WebCore::tokenizerForString):
3049         (WebCore::findSimpleWordBoundary):
3050         (WebCore::findComplexWordBoundary):
3051         (WebCore::findWordBoundary):
3052         (WebCore::findNextWordFromIndex):
3053         * platform/text/mac/TextCodecMac.cpp:
3054         * platform/text/mac/TextCodecMac.h:
3055
3056 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
3057
3058         Web Inspector: Consolidate developerExtrasEnabled to just InspectorEnvironment
3059         https://bugs.webkit.org/show_bug.cgi?id=126717
3060
3061         Reviewed by Timothy Hatcher.
3062
3063         They all route to InspectorEnvironment::developerExtrasEnabled, so make
3064         InspectorEnvironment available to all agents through InstrumentingAgents
3065         and use that where needed.
3066
3067         * inspector/InspectorAgent.cpp:
3068         (WebCore::InspectorAgent::InspectorAgent):
3069         * inspector/InspectorAgent.h:
3070         (WebCore::InspectorAgent::create):
3071         * inspector/InspectorConsoleAgent.cpp:
3072         (WebCore::InspectorConsoleAgent::addMessageToConsole):
3073         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
3074         (WebCore::InspectorConsoleAgent::didReceiveResponse):
3075         (WebCore::InspectorConsoleAgent::didFailLoading):
3076         (WebCore::InspectorConsoleAgent::addConsoleMessage):
3077         * inspector/InspectorConsoleAgent.h:
3078         * inspector/InspectorController.cpp:
3079         (WebCore::InspectorController::InspectorController):
3080         (WebCore::InspectorController::enabled):
3081         * inspector/InspectorInstrumentation.cpp:
3082         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
3083         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3084         (WebCore::InspectorInstrumentation::frameDocumentUpdatedImpl):
3085         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
3086         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
3087         * inspector/InstrumentingAgents.cpp:
3088         (WebCore::InstrumentingAgents::InstrumentingAgents):
3089         * inspector/InstrumentingAgents.h:
3090         (WebCore::InstrumentingAgents::create):
3091         (WebCore::InstrumentingAgents::inspectorEnvironment):
3092         * inspector/PageConsoleAgent.cpp:
3093         * inspector/PageConsoleAgent.h:
3094         * inspector/WorkerConsoleAgent.cpp:
3095         * inspector/WorkerConsoleAgent.h:
3096         * inspector/WorkerInspectorController.cpp:
3097         (WebCore::WorkerInspectorController::WorkerInspectorController):
3098
3099 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
3100
3101         Web Inspector: Remove Unnecessary InspectorAgent parameters
3102         https://bugs.webkit.org/show_bug.cgi?id=126712
3103
3104         Reviewed by Timothy Hatcher.
3105
3106         * inspector/InspectorController.cpp:
3107         (WebCore::InspectorController::InspectorController):
3108         * inspector/InspectorDOMDebuggerAgent.cpp:
3109         (WebCore::InspectorDOMDebuggerAgent::create):
3110         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
3111         * inspector/InspectorDOMDebuggerAgent.h:
3112         * inspector/InspectorPageAgent.cpp:
3113         (WebCore::InspectorPageAgent::create):
3114         (WebCore::InspectorPageAgent::InspectorPageAgent):
3115         * inspector/InspectorPageAgent.h:
3116
3117 2014-01-09  Antti Koivisto  <antti@apple.com>
3118
3119         Remove an accidentally left-behind static_cast.
3120
3121         * dom/ElementDescendantIterator.h:
3122         (WebCore::ElementDescendantIteratorAdapter<ElementType>::beginAt):
3123
3124 2014-01-09  Antti Koivisto  <antti@apple.com>
3125
3126         Replace ElementIteratorAdapter find() with beginAt()
3127         https://bugs.webkit.org/show_bug.cgi?id=126714
3128
3129         Reviewed by Andreas Kling.
3130
3131         ElementIteratorAdapter find() would return iterator for the argument element if it was
3132         of correct type and in the right subtree. This is not really what you would expect from find()
3133         so replace it with a simple beginAt() iterator construction function.
3134
3135         * dom/DocumentOrderedMap.cpp:
3136         (WebCore::DocumentOrderedMap::getAllElementsById):
3137         * dom/ElementChildIterator.h:
3138         (WebCore::ElementChildIteratorAdapter<ElementType>::beginAt):
3139         (WebCore::ElementChildConstIteratorAdapter<ElementType>::beginAt):
3140         * dom/ElementDescendantIterator.h:
3141         (WebCore::ElementDescendantIteratorAdapter<ElementType>::beginAt):
3142         (WebCore::ElementDescendantConstIteratorAdapter<ElementType>::beginAt):
3143         * html/HTMLFormElement.cpp:
3144         (WebCore::HTMLFormElement::formElementIndex):
3145         * html/HTMLTableRowsCollection.cpp:
3146         (WebCore::HTMLTableRowsCollection::rowAfter):
3147
3148 2014-01-09  Brian Burg  <bburg@apple.com>
3149
3150         REGRESSION (r160152): Selection drag snapshot doesn't appear or has the wrong content on Retina
3151         https://bugs.webkit.org/show_bug.cgi?id=125375
3152
3153         Reviewed by Darin Adler.
3154
3155         Move scaling of drag images by the device scale factor out of DragClient
3156         and into WebCore. This removes several redundant copies and scaling operations.
3157
3158         Fix scaling bugs that were cancelled out by over-allocating the backing store.
3159
3160         * page/DragController.cpp:
3161         (WebCore::DragController::startDrag): Scale the drag image for a link
3162         according to the device scale factor before giving it to the OS.
3163
3164         (WebCore::DragController::doImageDrag): Scale the drag image for an image
3165         according to the device scale factor before giving it to the OS.
3166
3167         * page/FrameSnapshotting.cpp:
3168         (WebCore::snapshotFrameRect): Don't pre-scale or clip the snapshot. The
3169         ImageBuffer does this already.
3170
3171         * platform/DragImage.cpp:
3172         (WebCore::createDragImageFromSnapshot): Don't scale the backing store
3173         when copying an ImageBuffer into an Image.
3174
3175         * platform/graphics/cg/ImageBufferCG.cpp:
3176         (WebCore::ImageBuffer::copyImage): Draw the image in user-space coordinates,
3177         not in backing-store coordinates. Remove unnecessary assertions. Crop the
3178         buffer before drawing the image into it.
3179
3180 2014-01-09  Myles C. Maxfield  <mmaxfield@apple.com>
3181
3182         Narrow underlines are too tall
3183         https://bugs.webkit.org/show_bug.cgi?id=126708
3184
3185         Reviewed by Simon Fraser.
3186
3187         I made a typo in r158392 and used was settings the line rect's
3188         height equal to its width. No one noticed because of the subsequent
3189         if statement.
3190
3191         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-tall-underlines.html
3192
3193         * platform/graphics/cg/GraphicsContextCG.cpp:
3194         (WebCore::computeLineBoundsAndAntialiasingModeForText):
3195
3196 2014-01-09  Antti Koivisto  <antti@apple.com>
3197
3198         DocumentOrderedMap should use iterator
3199         https://bugs.webkit.org/show_bug.cgi?id=126696
3200
3201         Reviewed by Andreas Kling.
3202
3203         * dom/DocumentOrderedMap.cpp:
3204         (WebCore::keyMatchesId):
3205         (WebCore::keyMatchesName):
3206         (WebCore::keyMatchesMapName):
3207         (WebCore::keyMatchesLowercasedMapName):
3208         (WebCore::keyMatchesLowercasedUsemap):
3209         (WebCore::keyMatchesLabelForAttribute):
3210         (WebCore::keyMatchesWindowNamedItem):
3211         (WebCore::keyMatchesDocumentNamedItem):
3212         
3213             Switch to Element references.
3214
3215         (WebCore::DocumentOrderedMap::add):
3216         (WebCore::DocumentOrderedMap::remove):
3217         (WebCore::DocumentOrderedMap::get):
3218         (WebCore::DocumentOrderedMap::getAllElementsById):
3219         
3220              Use element iterator instead of ElementTraversal.
3221
3222         * dom/DocumentOrderedMap.h:
3223
3224 2014-01-09  Beth Dakin  <bdakin@apple.com>
3225
3226         Margin tiles are not repainted when background color changes
3227         https://bugs.webkit.org/show_bug.cgi?id=126541
3228         -and corresponding-
3229         <rdar://problem/15578131>
3230
3231         Reviewed by Simon Fraser.
3232
3233         This patch adds an optional parameter to GraphicsLayer::setNeedsDisplayInRect, 
3234         RenderLayerBacking::setContentsNeedDisplay(), and 
3235         RenderLayer::setBackingNeedsRepaint() that is used to determine whether or not to 
3236         clip the invalidation rect to the size of the layer. Then whenever the margin 
3237         needs to be repainted, we can call setNeedsDisplayInRect() with a rect that 
3238         includes the margin, and also indicate that it should not be clipped.
3239
3240         GraphicsLayer now takes an optional parameter which is an enum called 
3241         ShouldClipToLayer.
3242         * WebCore.exp.in:
3243         * platform/graphics/GraphicsLayer.h:
3244         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
3245         (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
3246         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
3247         * platform/graphics/ca/GraphicsLayerCA.cpp:
3248         (WebCore::GraphicsLayerCA::setNeedsDisplayInRect):
3249         * platform/graphics/ca/GraphicsLayerCA.h:
3250         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3251         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
3252         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3253         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3254         (WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):
3255         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
3256
3257         Make TileController::bounds() a virtual function, and declare it on TiledBacking 
3258         so that we can call it from RenderLayerBacking.
3259         * platform/graphics/TiledBacking.h:
3260         * platform/graphics/ca/mac/TileController.h:
3261
3262         RenderLayer also now takes an optional parameter which is an enum called 
3263         ShouldClipToLayer.
3264         * rendering/RenderLayer.cpp:
3265         (WebCore::RenderLayer::calculateClipRects):
3266         * rendering/RenderLayer.h:
3267
3268         If the margin needs to be repainted, call GraphicsLayer::setNeedsDisplayInRect 
3269         with a big enough rect and a ShouldClipToLayer value of DoNotClipToLayer.
3270         * rendering/RenderLayerBacking.cpp:
3271         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
3272         * rendering/RenderLayerBacking.h:
3273
3274         Whenever all of the root contents need to be repainted the margin will also need 
3275         to be repainted, so call setBackingNeedsRepaint() with the new parameter 
3276         indicating the the invalidation should NOT be clipped to the layer size.
3277         * rendering/RenderView.cpp:
3278         (WebCore::RenderView::repaintRootContents):
3279
3280 2014-01-09  Bear Travis  <betravis@adobe.com>
3281
3282         [CSS Shapes] Factor the ReferenceBox type out of BasicShapes
3283         https://bugs.webkit.org/show_bug.cgi?id=126648
3284
3285         Reviewed by Dirk Schulze.
3286
3287         Moving ReferenceBox out of BasicShapes and into RenderStyleConstants
3288         as the LayoutBox enum. Most of the changes are removing the BasicShape
3289         namespace.
3290
3291         Refactoring, no new tests.
3292
3293         * css/BasicShapeFunctions.cpp:
3294         (WebCore::valueForBox):
3295         (WebCore::boxForValue):
3296         (WebCore::valueForBasicShape):
3297         (WebCore::basicShapeForValue):
3298         * css/BasicShapeFunctions.h:
3299         * css/CSSBasicShapes.cpp:
3300         (WebCore::CSSBasicShapeRectangle::cssText):
3301         (WebCore::CSSBasicShapeRectangle::equals):
3302         (WebCore::CSSBasicShapeCircle::cssText):
3303         (WebCore::CSSBasicShapeCircle::equals):
3304         (WebCore::CSSDeprecatedBasicShapeCircle::cssText):
3305         (WebCore::CSSDeprecatedBasicShapeCircle::equals):
3306         (WebCore::CSSBasicShapeEllipse::cssText):
3307         (WebCore::CSSBasicShapeEllipse::equals):
3308         (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
3309         (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
3310         (WebCore::CSSBasicShapePolygon::cssText):
3311         (WebCore::CSSBasicShapePolygon::equals):
3312         (WebCore::CSSBasicShapeInsetRectangle::cssText):
3313         (WebCore::CSSBasicShapeInsetRectangle::equals):
3314         (WebCore::CSSBasicShapeInset::cssText):
3315         * css/CSSBasicShapes.h:
3316         (WebCore::CSSBasicShape::layoutBox):
3317         (WebCore::CSSBasicShape::setLayoutBox):
3318         * css/CSSComputedStyleDeclaration.cpp:
3319         (WebCore::ComputedStyleExtractor::propertyValue):
3320         * css/CSSParser.cpp:
3321         (WebCore::CSSParser::parseShapeProperty):
3322         * css/DeprecatedStyleBuilder.cpp:
3323         (WebCore::ApplyPropertyClipPath::applyValue):
3324         (WebCore::ApplyPropertyShape::applyValue):
3325         * rendering/ClipPathOperation.h:
3326         (WebCore::ShapeClipPathOperation::setReferenceBox):
3327         (WebCore::ShapeClipPathOperation::referenceBox):
3328         (WebCore::ShapeClipPathOperation::ShapeClipPathOperation):
3329         (WebCore::BoxClipPathOperation::create):
3330         (WebCore::BoxClipPathOperation::referenceBox):
3331         (WebCore::BoxClipPathOperation::BoxClipPathOperation):
3332         * rendering/shapes/Shape.cpp:
3333         (WebCore::Shape::createLayoutBoxShape):
3334         * rendering/shapes/Shape.h:
3335         * rendering/shapes/ShapeInfo.cpp:
3336         (WebCore::ShapeInfo<RenderType>::computedShape):
3337         * rendering/shapes/ShapeInfo.h:
3338         (WebCore::ShapeInfo::setShapeSize):
3339         (WebCore::ShapeInfo::logicalTopOffset):
3340         (WebCore::ShapeInfo::logicalLeftOffset):
3341         * rendering/shapes/ShapeInsideInfo.h:
3342         * rendering/shapes/ShapeOutsideInfo.h:
3343         * rendering/style/BasicShapes.cpp:
3344         (WebCore::BasicShape::canBlend):
3345         (WebCore::BasicShape::referenceBoxSize):
3346         * rendering/style/BasicShapes.h:
3347         (WebCore::BasicShape::layoutBox):
3348         (WebCore::BasicShape::setLayoutBox):
3349         (WebCore::BasicShape::BasicShape):
3350         * rendering/style/RenderStyleConstants.h:
3351         * rendering/style/ShapeValue.h:
3352         (WebCore::ShapeValue::createLayoutBoxValue):
3353         (WebCore::ShapeValue::layoutBox):
3354         (WebCore::ShapeValue::ShapeValue):
3355
3356 2014-01-09  Tim Horton  <timothy_horton@apple.com>
3357
3358         PDFDocumentImage can be very slow to do the initial paint
3359         https://bugs.webkit.org/show_bug.cgi?id=126633
3360         <rdar://problem/15770980>
3361
3362         Reviewed by Simon Fraser.
3363
3364         * platform/graphics/cg/PDFDocumentImage.cpp:
3365         (WebCore::PDFDocumentImage::PDFDocumentImage):
3366         (WebCore::PDFDocumentImage::size):
3367         (WebCore::transformContextForPainting):
3368         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
3369         (WebCore::applyRotationForPainting):
3370         (WebCore::PDFDocumentImage::drawPDFPage):
3371         * platform/graphics/cg/PDFDocumentImage.h:
3372         * platform/graphics/mac/PDFDocumentImageMac.mm:
3373         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
3374         Store rotation from the PDF in degrees, since it can
3375         only be 0, 90, 180, or 270, and don't do any trig to
3376         perform the rotation, to avoid introducing minor rounding
3377         issues in the size.
3378
3379         Once we're going to paint, if the difference between the
3380         computed scale for each axis is due only to integer rounding
3381         of the image size, use the same scale for both axes, to avoid
3382         a CG slow-path which occurs whenever the scale is nonuniform.
3383
3384 2014-01-09  Antti Koivisto  <antti@apple.com>
3385
3386         Disconnect child frames iteratively
3387         https://bugs.webkit.org/show_bug.cgi?id=126700
3388
3389         Reviewed by Andreas Kling.
3390
3391         Use descendant iterator instead of recursion for traversal.
3392
3393         * dom/ContainerNode.cpp:
3394         (WebCore::willRemoveChild):
3395         (WebCore::willRemoveChildren):
3396         (WebCore::ContainerNode::disconnectDescendantFrames):
3397         * dom/ContainerNodeAlgorithms.cpp:
3398         (WebCore::assertConnectedSubrameCountIsConsistent):
3399         (WebCore::collectFrameOwners):
3400         (WebCore::disconnectSubframes):
3401         
3402             Get rid of the strange ChildFrameDisconnector class in favor of a function.
3403
3404         * dom/ContainerNodeAlgorithms.h:
3405         (WebCore::disconnectSubframesIfNeeded):
3406
3407 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
3408
3409         Unreviewed Windows build fix for r161563.
3410
3411         Remove reference to removed file.
3412
3413         * bindings/js/JSBindingsAllInOne.cpp:
3414
3415 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
3416
3417         Web Inspector: Move InjectedScript classes into JavaScriptCore
3418         https://bugs.webkit.org/show_bug.cgi?id=126598
3419
3420         Part 6: Put it all together. Make WebCore use the JavaScriptCore InjectedScript files.
3421
3422         Reviewed by Timothy Hatcher.
3423
3424         * CMakeLists.txt:
3425         * DerivedSources.cpp:
3426         * DerivedSources.make:
3427         * GNUmakefile.list.am:
3428         * UseJSC.cmake:
3429         * WebCore.vcxproj/WebCore.vcxproj:
3430         * WebCore.vcxproj/WebCore.vcxproj.filters:
3431         * WebCore.xcodeproj/project.pbxproj:
3432         Remove old InjectedScript files.
3433
3434         * ForwardingHeaders/inspector/InjectedScript.h: Added.
3435         * ForwardingHeaders/inspector/InjectedScriptBase.h: Added.
3436         * ForwardingHeaders/inspector/InjectedScriptHost.h: Added.
3437         * ForwardingHeaders/inspector/InjectedScriptManager.h: Added.
3438         * ForwardingHeaders/inspector/InjectedScriptModule.h: Added.
3439         * ForwardingHeaders/inspector/InspectorEnvironment.h: Added.
3440         Expose headers to WebCore.
3441
3442         * inspector/InspectorController.h:
3443         * inspector/InspectorController.cpp:
3444         (WebCore::InspectorController::InspectorController):
3445         (WebCore::InspectorController::developerExtrasEnabled):
3446         (WebCore::InspectorController::canAccessInspectedScriptState):
3447         (WebCore::InspectorController::functionCallHandler):
3448         (WebCore::InspectorController::evaluateHandler):
3449         (WebCore::InspectorController::willCallInjectedScriptFunction):
3450         (WebCore::InspectorController::didCallInjectedScriptFunction):
3451         * inspector/WorkerInspectorController.h:
3452         * inspector/WorkerInspectorController.cpp:
3453         (WebCore::WorkerInspectorController::WorkerInspectorController):
3454         (WebCore::WorkerInspectorController::functionCallHandler):
3455         (WebCore::WorkerInspectorController::evaluateHandler):
3456         (WebCore::WorkerInspectorController::willCallInjectedScriptFunction):
3457         (WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
3458         Make both InspectorControllers in WebCore be InspectorEnvironments.
3459
3460         * bindings/js/JSMainThreadExecState.h:
3461         * bindings/js/JSMainThreadExecState.cpp: