b76b26c0f2447dda7a5858e1e1b9d6a98745bbfc
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-05  Chris Fleizach  <cfleizach@apple.com>
2
3         AX: Make SVG Group containers accessible elements
4         https://bugs.webkit.org/show_bug.cgi?id=113939
5
6         Reviewed by Simon Fraser.
7
8         SVG group containers are currently not exposed in the AX tree. 
9         When an SVG element has a <title> child, that is not being used for the AX label.
10         When hit-testing, from Accessibility, SVG groups are never returned.
11
12         All these issues are fixed for Mac and iOS.
13         There are two tests because right now iOS skips all the top-level accessibility tests
14         due to fundamental architectural differences.
15
16         Tests: accessibility/svg-group-element-with-title.html
17                platform/iphone-simulator/accessibility/svg-group-element-with-title.html
18
19         * accessibility/AccessibilityNodeObject.cpp:
20         (WebCore::AccessibilityNodeObject::alternativeText):
21         (WebCore::AccessibilityNodeObject::accessibilityDescription):
22         * accessibility/AccessibilityRenderObject.cpp:
23         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
24         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
25         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
26         (-[WebAccessibilityObjectWrapper isSVGGroupElement]):
27         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
28         (-[WebAccessibilityObjectWrapper accessibilityClickPoint]):
29         * rendering/HitTestRequest.h:
30             Add a new option, AccessibilityHitTest, that will allow us to override normal behavior.
31         * rendering/svg/RenderSVGContainer.cpp:
32         (WebCore::RenderSVGContainer::nodeAtFloatPoint):
33            Allow a SVG group to be the node at a point, for accessibility hit tests.
34
35 2013-04-05  Chris Fleizach  <cfleizach@apple.com>
36
37         WebSpeech: event.elapsedTime is always 1364484608
38         https://bugs.webkit.org/show_bug.cgi?id=114045
39
40         Reviewed by Tim Horton.
41
42         We were calculating elapsed time incorrectly.
43
44         Test: platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time.html
45
46         * Modules/speech/SpeechSynthesis.cpp:
47         (WebCore::SpeechSynthesis::fireEvent):
48
49 2013-04-05  Chris Fleizach  <cfleizach@apple.com>
50
51         WebSpeech: crash at WebCore::SpeechSynthesis::speak
52         https://bugs.webkit.org/show_bug.cgi?id=113937
53
54         Reviewed by Tim Horton.
55
56         Protect against the case when invalid data is passed in.
57
58         Test: platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html
59
60         * Modules/speech/SpeechSynthesis.cpp:
61         (WebCore::SpeechSynthesis::speak):
62         * Modules/speech/SpeechSynthesisUtterance.cpp:
63         (WebCore::SpeechSynthesisUtterance::setVoice):
64
65 2013-04-05  Antti Koivisto  <antti@apple.com>
66
67         Throttle compositing layer flushes during page loading
68         https://bugs.webkit.org/show_bug.cgi?id=113786
69
70         Reviewed by Simon Fraser.
71         
72         Page content can change rapidly during page loading triggering excessive layer flushes and repainting. We should avoid this unnecessary work.
73         
74         This patch reduces layer flushes (and painting) during loading by 50-70% on many popular pages.
75
76         * loader/FrameLoader.cpp:
77         (WebCore::FrameLoader::loadProgressingStatusChanged):        
78         * loader/FrameLoader.h:
79         * loader/ProgressTracker.cpp:
80         (WebCore::ProgressTracker::ProgressTracker):
81         (WebCore::ProgressTracker::reset):
82         (WebCore::ProgressTracker::progressStarted):
83         (WebCore::ProgressTracker::finalProgressComplete):
84         (WebCore::ProgressTracker::isLoadProgressing):
85         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
86         * loader/ProgressTracker.h:
87         
88             Track if the document load is progressing. This is done with a heartbeat timer that checks every 100ms if we have received more than 1k of data.
89             If four heartbeats pass without progress then we consider the load stalled.
90
91         * page/FrameView.cpp:
92         (WebCore::FrameView::resetDeferredRepaintDelay):
93         
94             Disable throttling temporary on user interaction so the page stays as responsive as possible even during loading.
95
96         (WebCore::FrameView::updateLayerFlushThrottling):
97         
98             Enable throttling when the load is progressing, disable otherwise.
99
100         * page/FrameView.h:
101         * platform/graphics/GraphicsLayer.h:
102         (WebCore::GraphicsLayer::canThrottleLayerFlush):
103         * platform/graphics/ca/GraphicsLayerCA.cpp:
104         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
105         (WebCore::GraphicsLayerCA::canThrottleLayerFlush):
106         
107             Don't throttle if new tiles have been added by the tile controller. They may have stale content and need to be flushed immediately.
108
109         (WebCore::GraphicsLayerCA::noteLayerPropertyChanged):
110         
111             Set the new TilesAdded change flag.
112
113         * platform/graphics/ca/GraphicsLayerCA.h:
114         * rendering/RenderLayerBacking.cpp:
115         (WebCore::RenderLayerBacking::notifyFlushRequired):
116         * rendering/RenderLayerCompositor.cpp:
117         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
118         (WebCore::RenderLayerCompositor::notifyFlushRequired):
119         (WebCore::RenderLayerCompositor::scheduleLayerFlushNow):
120         
121             Factor the actual flush scheduling to private function.
122
123         (WebCore::RenderLayerCompositor::scheduleLayerFlush):
124         
125             Mark the compositor for flush and return without flushing if the flushes are currently being throttled.
126
127         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
128         
129             After a flush, start the throtting timer (currently 0.5s) coalescing the subsequent flushes.
130
131         (WebCore::RenderLayerCompositor::didChangeVisibleRect):
132         
133             Do immediately flush if needed.
134
135         (WebCore::RenderLayerCompositor::setLayerFlushThrottlingEnabled):
136         
137             Flush immediately if disabled.
138
139         (WebCore::RenderLayerCompositor::disableLayerFlushThrottlingTemporarilyForInteraction):
140         (WebCore::RenderLayerCompositor::isThrottlingLayerFlushes):
141         (WebCore::RenderLayerCompositor::startLayerFlushTimerIfNeeded):
142         (WebCore::RenderLayerCompositor::layerFlushTimerFired):
143         
144             Flush when the timer fires timer.
145
146         * rendering/RenderLayerCompositor.h:
147
148 2013-04-05  Benjamin Poulain  <benjamin@webkit.org>
149
150         Clean the chromium bits of WebCore's WebDatabase
151         https://bugs.webkit.org/show_bug.cgi?id=114010
152
153         Reviewed by Ryosuke Niwa.
154
155         * Modules/webdatabase/AbstractDatabaseServer.h:
156         * Modules/webdatabase/ChangeVersionWrapper.cpp:
157         (WebCore::ChangeVersionWrapper::performPreflight):
158         (WebCore::ChangeVersionWrapper::performPostflight):
159         * Modules/webdatabase/Database.cpp:
160         * Modules/webdatabase/Database.h:
161         (Database):
162         * Modules/webdatabase/DatabaseBackend.cpp:
163         (WebCore::DatabaseBackend::openAndVerifyVersion):
164         * Modules/webdatabase/DatabaseBackendBase.cpp:
165         (WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
166         (WebCore::DatabaseBackendBase::performOpenAndVerify):
167         (WebCore::DatabaseBackendBase::getActualVersionForTransaction):
168         (WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded):
169         * Modules/webdatabase/DatabaseBackendBase.h:
170         (DatabaseBackendBase):
171         * Modules/webdatabase/DatabaseBackendSync.cpp:
172         (WebCore::DatabaseBackendSync::openAndVerifyVersion):
173         * Modules/webdatabase/DatabaseContext.cpp:
174         (WebCore::DatabaseContext::databaseExceededQuota):
175         * Modules/webdatabase/DatabaseManager.cpp:
176         * Modules/webdatabase/DatabaseManager.h:
177         (DatabaseManager):
178         * Modules/webdatabase/DatabaseServer.cpp:
179         (WebCore::DatabaseServer::initialize):
180         (WebCore::DatabaseServer::setClient):
181         (WebCore::DatabaseServer::databaseDirectoryPath):
182         (WebCore::DatabaseServer::setDatabaseDirectoryPath):
183         (WebCore::DatabaseServer::openDatabase):
184         * Modules/webdatabase/DatabaseServer.h:
185         * Modules/webdatabase/DatabaseSync.cpp:
186         (WebCore::DatabaseSync::changeVersion):
187         * Modules/webdatabase/DatabaseTracker.cpp:
188         (WebCore::DatabaseTracker::canEstablishDatabase):
189         (WebCore::DatabaseTracker::retryCanEstablishDatabase):
190         * Modules/webdatabase/DatabaseTracker.h:
191         (WebCore):
192         (DatabaseTracker):
193         * Modules/webdatabase/SQLStatementBackend.cpp:
194         (WebCore::SQLStatementBackend::execute):
195         (WebCore::SQLStatementBackend::setDatabaseDeletedError):
196         (WebCore::SQLStatementBackend::setVersionMismatchedError):
197         (WebCore::SQLStatementBackend::setFailureDueToQuota):
198         * Modules/webdatabase/SQLStatementBackend.h:
199         (SQLStatementBackend):
200         * Modules/webdatabase/SQLTransaction.cpp:
201         (WebCore::SQLTransaction::deliverTransactionCallback):
202         (WebCore::SQLTransaction::deliverStatementCallback):
203         * Modules/webdatabase/SQLTransactionBackend.cpp:
204         (WebCore::SQLTransactionBackend::executeSQL):
205         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
206         (WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):
207         (WebCore::SQLTransactionBackend::nextStateForCurrentStatementError):
208         (WebCore::SQLTransactionBackend::postflightAndCommit):
209         (WebCore::SQLTransactionBackend::acquireOriginLock):
210         (WebCore::SQLTransactionBackend::releaseOriginLockIfNeeded):
211         * Modules/webdatabase/SQLTransactionBackend.h:
212         (SQLTransactionBackend):
213         * Modules/webdatabase/SQLTransactionBackendSync.cpp:
214         (WebCore::SQLTransactionBackendSync::begin):
215         (WebCore::SQLTransactionBackendSync::commit):
216
217 2013-04-05  Geoffrey Garen  <ggaren@apple.com>
218
219         Made USE(JSC) unconditional
220         https://bugs.webkit.org/show_bug.cgi?id=114058
221
222         Reviewed by Anders Carlsson.
223
224         * Modules/webdatabase/Database.cpp:
225         * bindings/ScriptControllerBase.cpp:
226         (WebCore::ScriptController::executeIfJavaScriptURL):
227         * bindings/js/JavaScriptCallFrame.cpp:
228         * bindings/js/JavaScriptCallFrame.h:
229         * bindings/scripts/InFilesCompiler.pm:
230         (generateHeadersHeader):
231         * css/MediaQueryListListener.cpp:
232         (WebCore::MediaQueryListListener::queryChanged):
233         * dom/ContainerNode.cpp:
234         (WebCore::dispatchChildRemovalEvents):
235         * dom/EventListener.h:
236         (EventListener):
237         (WebCore::EventListener::visitJSFunction):
238         * dom/EventTarget.h:
239         (EventTarget):
240         (WebCore):
241         (WebCore::EventTarget::visitJSEventListeners):
242         * dom/Node.cpp:
243         * dom/Node.h:
244         * dom/ScriptExecutionContext.cpp:
245         (WebCore):
246         (WebCore::ScriptExecutionContext::globalData):
247         * dom/ScriptExecutionContext.h:
248         (ScriptExecutionContext):
249         * html/HTMLCanvasElement.cpp:
250         (WebCore::HTMLCanvasElement::createImageBuffer):
251         * html/HTMLImageLoader.cpp:
252         (WebCore::HTMLImageLoader::notifyFinished):
253         * inspector/InjectedScriptHost.h:
254         (InjectedScriptHost):
255         (WebCore::InjectedScriptHost::evaluateReturnsEvalFunction):
256         * inspector/InspectorInstrumentation.cpp:
257         (WebCore):
258         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
259         * page/Frame.cpp:
260         * page/Settings.cpp:
261         (WebCore):
262         (WebCore::Settings::shouldRespectPriorityInCSSAttributeSetters):
263         * page/Settings.h:
264         (Settings):
265         * plugins/PluginView.cpp:
266         (WebCore::PluginView::start):
267         (WebCore::PluginView::stop):
268         (WebCore::PluginView::performRequest):
269         (WebCore::PluginView::npObject):
270         (WebCore):
271         (WebCore::PluginView::bindingInstance):
272         (WebCore::PluginView::privateBrowsingStateChanged):
273         * plugins/PluginView.h:
274         (PluginView):
275         * plugins/PluginViewBase.h:
276         (PluginViewBase):
277         (WebCore::PluginViewBase::scriptObject):
278         * plugins/PluginViewNone.cpp:
279         (WebCore):
280         (WebCore::PluginView::bindingInstance):
281         * plugins/qt/PluginViewQt.cpp:
282         (WebCore::PluginView::dispatchNPEvent):
283         (WebCore::PluginView::setNPWindowIfNeeded):
284         * xml/XMLHttpRequest.cpp:
285         (WebCore::XMLHttpRequest::dropProtection):
286
287 2013-04-05  Roger Fong  <roger_fong@apple.com>
288
289         More VS2010 solution makefile fixes.
290         <rdar://problem/13588964>
291
292         * WebCore.vcxproj/WebCore.make:
293
294 2013-04-05  Ed Bartosh  <bartosh@gmail.com>
295
296         [EFL] --no-tiled-backing-store build fails because of not used #if USE(ACCELERATED_COMPOSITING)
297         https://bugs.webkit.org/show_bug.cgi?id=113627
298
299         Reviewed by Simon Fraser.
300
301        Wrapped code with #if USE(ACCELERATED_COMPOSITING) to make it compilable
302        with --no-tiled-backing-store build option:
303         * page/animation/ImplicitAnimation.cpp:
304         (WebCore::ImplicitAnimation::animate):
305         * page/animation/KeyframeAnimation.cpp:
306         (WebCore::KeyframeAnimation::animate):
307         * platform/graphics/TextTrackRepresentation.cpp:
308         (NullTextTrackRepresentation):
309         * platform/graphics/TextTrackRepresentation.h:
310         (TextTrackRepresentation):
311         * testing/Internals.cpp:
312         (WebCore::Internals::resetToConsistentState):
313         (WebCore::Internals::setHeaderHeight):
314         (WebCore::Internals::setFooterHeight):
315
316 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
317
318         Remove the remaining Chromium files from WebCore
319         https://bugs.webkit.org/show_bug.cgi?id=114055
320
321         Reviewed by Benjamin Poulain.
322
323         Removed.
324
325         * Resources/pagepopups/chromium: Removed.
326         * Resources/pagepopups/chromium/calendarPickerChromium.css: Removed.
327         * Resources/pagepopups/chromium/pickerCommonChromium.css: Removed.
328         * html/shadow/MediaControlsChromium.cpp: Removed.
329         * html/shadow/MediaControlsChromium.h: Removed.
330         * html/shadow/MediaControlsChromiumAndroid.cpp: Removed.
331         * html/shadow/MediaControlsChromiumAndroid.h: Removed.
332
333 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
334
335         Remove Chromium code from WebCore/css
336         https://bugs.webkit.org/show_bug.cgi?id=114052
337
338         Reviewed by Benjamin Poulain.
339
340         Removed.
341
342         * css/mediaControlsChromium.css: Removed.
343         * css/mediaControlsChromiumAndroid.css: Removed.
344         * css/themeChromium.css: Removed.
345         * css/themeChromiumAndroid.css: Removed.
346         * css/themeChromiumLinux.css: Removed.
347         * css/themeChromiumSkia.css: Removed.
348
349 2013-04-05  Brendan Long  <self@brendanlong.com>
350
351         [GStreamer] Segfault when attempting to install missing plugins
352         https://bugs.webkit.org/show_bug.cgi?id=114046
353         
354         gst_install_plugins_async expects a null terminated list, but we weren't
355         adding a null terminator.
356
357         Reviewed by Philippe Normand.
358
359         No new tests since this just fixes a segfault.
360
361         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
362         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
363
364 2013-04-05  Benjamin Poulain  <benjamin@webkit.org>
365
366         Remove the chromium code for WebCore's indexeddb module
367         https://bugs.webkit.org/show_bug.cgi?id=114004
368
369         Reviewed by Ryosuke Niwa.
370
371         * Modules/indexeddb/IDBBackingStore.cpp:
372         (WebCore::IDBBackingStore::IDBBackingStore):
373         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
374         (WebCore::IDBDatabaseBackendImpl::openConnection):
375         (WebCore::IDBDatabaseBackendImpl::close):
376         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
377         * Modules/indexeddb/IDBTracing.h:
378
379 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
380
381         Cleanup after git svn left empty directories.
382
383         * loader/chromium: Removed.
384         * page/chromium: Removed.
385         * page/scrolling/chromium: Removed.
386         * plugins/chromium: Removed.
387
388 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
389
390         Actually delete platform/chromium.
391
392         * platform/chromium: Removed.
393
394 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
395
396         Remove Chromium code from WebCore/platform
397         https://bugs.webkit.org/show_bug.cgi?id=114014
398
399         Reviewed by Anders Carlsson.
400
401         Removed.
402
403         * platform/audio/chromium: Removed.
404         * platform/audio/chromium/AudioBusChromium.cpp: Removed.
405         * platform/audio/chromium/AudioDestinationChromium.cpp: Removed.
406         * platform/audio/chromium/AudioDestinationChromium.h: Removed.
407         * platform/audio/chromium/FFTFrameOpenMAXDLAndroid.cpp: Removed.
408         * platform/graphics/FontPlatformData.h:
409         * platform/graphics/chromium: Removed.
410         * platform/graphics/chromium/AnimationTranslationUtil.cpp: Removed.
411         * platform/graphics/chromium/AnimationTranslationUtil.h: Removed.
412         * platform/graphics/chromium/Canvas2DLayerBridge.cpp: Removed.
413         * platform/graphics/chromium/Canvas2DLayerBridge.h: Removed.
414         * platform/graphics/chromium/Canvas2DLayerManager.cpp: Removed.
415         * platform/graphics/chromium/Canvas2DLayerManager.h: Removed.
416         * platform/graphics/chromium/CrossProcessFontLoading.h: Removed.
417         * platform/graphics/chromium/CrossProcessFontLoading.mm: Removed.
418         * platform/graphics/chromium/DeferredImageDecoder.cpp: Removed.
419         * platform/graphics/chromium/DeferredImageDecoder.h: Removed.
420         * platform/graphics/chromium/DiscardablePixelRef.cpp: Removed.
421         * platform/graphics/chromium/DiscardablePixelRef.h: Removed.
422         * platform/graphics/chromium/DrawingBufferChromium.cpp: Removed.
423         * platform/graphics/chromium/Extensions3DChromium.h: Removed.
424         * platform/graphics/chromium/FontCacheAndroid.cpp: Removed.
425         * platform/graphics/chromium/FontCacheChromiumLinux.cpp: Removed.
426         * platform/graphics/chromium/FontCacheChromiumWin.cpp: Removed.
427         * platform/graphics/chromium/FontChromiumWin.cpp: Removed.
428         * platform/graphics/chromium/FontPlatformData.h: Removed.
429         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: Removed.
430         * platform/graphics/chromium/FontPlatformDataChromiumWin.h: Removed.
431         * platform/graphics/chromium/FontRenderStyle.h: Removed.
432         * platform/graphics/chromium/FontUtilsChromiumWin.cpp: Removed.
433         * platform/graphics/chromium/FontUtilsChromiumWin.h: Removed.
434         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: Removed.
435         * platform/graphics/chromium/GraphicsLayerChromium.cpp: Removed.
436         * platform/graphics/chromium/GraphicsLayerChromium.h: Removed.
437         * platform/graphics/chromium/IconChromium.cpp: Removed.
438         * platform/graphics/chromium/IconChromiumAndroid.cpp: Removed.
439         * platform/graphics/chromium/ImageBufferDataSkia.h: Removed.
440         * platform/graphics/chromium/ImageChromium.cpp: Removed.
441         * platform/graphics/chromium/ImageDecodingStore.cpp: Removed.
442         * platform/graphics/chromium/ImageDecodingStore.h: Removed.
443         * platform/graphics/chromium/ImageFrameGenerator.cpp: Removed.
444         * platform/graphics/chromium/ImageFrameGenerator.h: Removed.
445         * platform/graphics/chromium/LayerPainterChromium.h: Removed.
446         * platform/graphics/chromium/LazyDecodingPixelRef.cpp: Removed.
447         * platform/graphics/chromium/LazyDecodingPixelRef.h: Removed.
448         * platform/graphics/chromium/MediaPlayerPrivateChromium.cpp: Removed.
449         * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Removed.
450         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp: Removed.
451         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.h: Removed.
452         * platform/graphics/chromium/PlatformIcon.h: Removed.
453         * platform/graphics/chromium/ScaledImageFragment.cpp: Removed.
454         * platform/graphics/chromium/ScaledImageFragment.h: Removed.
455         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Removed.
456         * platform/graphics/chromium/SkSizeHash.h: Removed.
457         * platform/graphics/chromium/TextureUploader.h: Removed.
458         * platform/graphics/chromium/ThreadSafeDataTransport.cpp: Removed.
459         * platform/graphics/chromium/ThreadSafeDataTransport.h: Removed.
460         * platform/graphics/chromium/TransformSkMatrix44Conversions.cpp: Removed.
461         * platform/graphics/chromium/TransformSkMatrix44Conversions.h: Removed.
462         * platform/graphics/chromium/TransparencyWin.cpp: Removed.
463         * platform/graphics/chromium/TransparencyWin.h: Removed.
464         * platform/graphics/chromium/UniscribeHelper.cpp: Removed.
465         * platform/graphics/chromium/UniscribeHelper.h: Removed.
466         * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Removed.
467         * platform/graphics/chromium/UniscribeHelperTextRun.h: Removed.
468         * platform/graphics/chromium/VDMXParser.cpp: Removed.
469         * platform/graphics/chromium/VDMXParser.h: Removed.
470         * platform/graphics/gpu/DrawingBuffer.cpp:
471         (WebCore):
472         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
473         (WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):
474         * platform/mediastream/chromium: Removed.
475         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp: Removed.
476         * platform/mediastream/chromium/MediaStreamCenterChromium.h: Removed.
477         * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.cpp: Removed.
478         * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.h: Removed.
479         * platform/mediastream/chromium/RTCDataChannelHandlerChromium.cpp: Removed.
480         * platform/mediastream/chromium/RTCDataChannelHandlerChromium.h: Removed.
481         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: Removed.
482         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: Removed.
483         * platform/network/chromium: Removed.
484         * platform/network/chromium/AuthenticationChallenge.h: Removed.
485         * platform/network/chromium/AuthenticationChallengeChromium.cpp: Removed.
486         * platform/network/chromium/BlobRegistryProxy.cpp: Removed.
487         * platform/network/chromium/BlobRegistryProxy.h: Removed.
488         * platform/network/chromium/CookieJarChromium.cpp: Removed.
489         * platform/network/chromium/DNSChromium.cpp: Removed.
490         * platform/network/chromium/ResourceError.h: Removed.
491         * platform/network/chromium/ResourceHandle.cpp: Removed.
492         * platform/network/chromium/ResourceHandleInternal.h: Removed.
493         * platform/network/chromium/ResourceRequest.cpp: Removed.
494         * platform/network/chromium/ResourceRequest.h: Removed.
495         * platform/network/chromium/ResourceResponse.cpp: Removed.
496         * platform/network/chromium/ResourceResponse.h: Removed.
497         * platform/network/chromium/SocketStreamError.h: Removed.
498         * platform/network/chromium/SocketStreamHandle.cpp: Removed.
499         * platform/network/chromium/SocketStreamHandle.h: Removed.
500         * platform/network/chromium/SocketStreamHandleInternal.h: Removed.
501         * platform/sql/chromium: Removed.
502         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
503         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Removed.
504         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
505         * platform/text/chromium: Removed.
506         * platform/text/chromium/Hyphenation.cpp: Removed.
507         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: Removed.
508
509 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
510
511         Remove Chromium code from WebCore/workers
512         https://bugs.webkit.org/show_bug.cgi?id=114050
513
514         Reviewed by Anders Carlsson.
515
516         Removed.
517
518         * workers/WorkerLoaderProxy.h:
519         (WorkerLoaderProxy):
520         * workers/chromium: Removed.
521
522 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
523
524         Remove Chromium code from WebCore/storage
525         https://bugs.webkit.org/show_bug.cgi?id=114049
526
527         Reviewed by Anders Carlsson.
528
529         Removed.
530
531         * storage/StorageNamespace.cpp:
532         * storage/chromium: Removed.
533
534 2013-04-05  Seokju Kwon  <seokju.kwon@gmail.com>
535
536         [SOUP] Remove unnecessary explicit keyword in SocketStreamError.h
537         https://bugs.webkit.org/show_bug.cgi?id=113913
538
539         Reviewed by Martin Robinson.
540
541         No new tests, just removing an unnecessary code.
542
543         * platform/network/soup/SocketStreamError.h:
544         (WebCore::SocketStreamError::SocketStreamError):
545
546 2013-04-05  Zan Dobersek  <zdobersek@igalia.com>
547
548         Remove WTF_USE_GOOGLEURL-guarded code
549         https://bugs.webkit.org/show_bug.cgi?id=114028
550
551         Reviewed by Ryosuke Niwa.
552
553         The only remaining usage of the USE(GOOGLEURL) guards is in LinkHashChromium.cpp that will
554         get removed when purging the Source/WebCore/platform/chromium directory.
555
556         * config.h: Remove the define that was Chromium-specific.
557         * platform/KURL.cpp:
558         (WebCore):
559         (WebCore::KURL::reportMemoryUsage):
560         (WebCore::KURL::isSafeToSendToAnotherThread):
561         * platform/KURL.h:
562         (KURL):
563         * platform/KURLGoogle.cpp: Removed.
564         * platform/KURLGooglePrivate.h: Removed.
565
566 2013-04-05  Bem Jones-Bey  <bjonesbe@adobe.com>
567
568         [regression] Security: Heap-use-after-free in WebCore::RenderBlock::logicalRightOffsetForLine
569         https://bugs.webkit.org/show_bug.cgi?id=111594
570
571         Reviewed by David Hyatt.
572
573         Swapping the bases was causing any floats in the right base to be
574         lost, so change the code so that it no longer swaps the bases.
575
576         Test: fast/ruby/float-object-doesnt-crash.html
577
578         * rendering/RenderRubyRun.cpp:
579         (WebCore::RenderRubyRun::removeChild): Don't swap the bases anymore.
580
581 2013-04-05  Anders Carlsson  <andersca@apple.com>
582
583         Remove dead code
584         https://bugs.webkit.org/show_bug.cgi?id=114043
585
586         Reviewed by Beth Dakin.
587
588         * platform/PublicSuffix.h:
589
590 2013-04-05  Anders Carlsson  <andersca@apple.com>
591
592         Remove dead Chromium code from WebCore/workers
593         https://bugs.webkit.org/show_bug.cgi?id=114039
594
595         Reviewed by Antti Koivisto.
596
597         * workers/WorkerContext.cpp:
598         (WebCore::WorkerContext::importScripts):
599         * workers/WorkerLoaderProxy.h:
600         * workers/WorkerMessagingProxy.cpp:
601         (WebCore::WorkerContextProxy::create):
602         * workers/WorkerScriptLoader.cpp:
603         (WebCore::WorkerScriptLoader::WorkerScriptLoader):
604         (WebCore::WorkerScriptLoader::createResourceRequest):
605         * workers/WorkerScriptLoader.h:
606         * workers/WorkerThread.cpp:
607         (WebCore::WorkerThread::workerThread):
608         * workers/chromium/WorkerContextProxyChromium.cpp: Removed.
609         * workers/chromium/WorkerContextProxyChromium.h: Removed.
610
611 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
612
613         Remove Chromium code from WebCore/plugins
614         https://bugs.webkit.org/show_bug.cgi?id=114015
615
616         Reviewed by Andreas Kling.
617
618         Removed.
619
620         * plugins/chromium: Removed.
621         * plugins/chromium/PluginDataChromium.cpp: Removed.
622         * plugins/chromium/PluginDataChromium.h: Removed.
623         * plugins/chromium/PluginListBuilder.cpp: Removed.
624         * plugins/chromium/PluginListBuilder.h: Removed.
625
626 2013-04-05  Simon Fraser  <simon.fraser@apple.com>
627
628         ASSERTION FAILED: m_repaintRect == renderer()->clippedOverflowRectForRepaint(renderer()->containerForRepaint()) after r135816
629         https://bugs.webkit.org/show_bug.cgi?id=103432
630
631         Reviewed by Allan Sandfeld Jensen.
632         
633         Remove optimization added in r99752 that attempted to avoid clip rect
634         updates for table cells. As the assertions show, this optimization
635         is not always correct, so remove it. Bug 108272 tracks adding it back in.
636
637         * rendering/RenderLayer.cpp:
638         (WebCore::RenderLayer::RenderLayer):
639         (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Remove m_canSkipRepaintRectsUpdateOnScroll
640         check when updating clip rects.
641         * rendering/RenderLayer.h: Remove the m_canSkipRepaintRectsUpdateOnScroll bit.
642
643 2013-04-05  Bear Travis  <betravis@adobe.com>
644
645         [css exclusions] Dynamically removing shape-inside should cause relayout of child blocks' inline content
646         https://bugs.webkit.org/show_bug.cgi?id=111029
647
648         Reviewed by David Hyatt.
649
650         Preserve a removed ExclusionShapeInsideInfo for one additional layout pass
651         so that it can notify descendant inline content to relayout. This patch adds
652         a new 'needsRemoval' boolean to ExclusionShapeInsideInfo, which is set when
653         a style change removes but does not replace a shape-inside. When determining
654         whether a block needs to relayout inline children, ExclusionShapeInsideInfos with
655         the needsRemoval boolean set are included, but at other times (such as during
656         inline layout), they are ignored.
657
658         Added tests to the existing dynamic shape testfile
659         fast/exclusions/shape-inside/shape-inside-dynamic-nested.html
660
661         * rendering/ExclusionShapeInsideInfo.h:
662         (WebCore::ExclusionShapeInsideInfo::setNeedsRemoval): Get/Set the
663         needsRemoval boolean.
664         (WebCore::ExclusionShapeInsideInfo::needsRemoval): Ditto.
665         (ExclusionShapeInsideInfo):
666         (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo):
667         Initialize the needsRemoval boolean.
668         * rendering/LayoutState.cpp:
669         (WebCore::LayoutState::LayoutState): Propagate removed shape insides
670         for layout correctly. You only need to track one at a time, and a
671         removed shape inside should not take precedence over a set shape-inside.
672         * rendering/RenderBlock.cpp:
673         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
674         Set the ExclusionShapeInsideInfo needsRemoval boolean, rather than immediately
675         removing the info.
676         (WebCore::exclusionInfoRequiresRelayout): Account for the needsRemoval
677         boolean as another way of requiring relayout.
678         (WebCore::RenderBlock::updateRegionsAndExclusionsBeforeChildLayout):
679         Look up whether an ExclusionShapeInsideInfo has been removed.
680         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
681         Remove any ExclusionShapeInsides marked for removal after a layout pass.
682         (WebCore):
683         (WebCore::RenderBlock::layoutBlock): Call the new updateRegionsAndExclusions
684         Before/After methods.
685         * rendering/RenderBlock.h:
686         (WebCore::RenderBlock::exclusionShapeInsideInfo): Filter the result based
687         on whether it should include removed infos.
688         (RenderBlock):
689         * rendering/RenderBlockLineLayout.cpp:
690         (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Ditto.
691         * rendering/RenderDeprecatedFlexibleBox.cpp:
692         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): 
693         Same as RenderBlock::layoutBlock.
694         * rendering/RenderFlexibleBox.cpp:
695         (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
696         * rendering/RenderGrid.cpp:
697         (WebCore::RenderGrid::layoutBlock): Ditto.
698
699 2013-04-05  Mihai Maerean  <mmaerean@adobe.com>
700
701         [CSS Regions] Elements in a region should be assignable to a named flow
702         https://bugs.webkit.org/show_bug.cgi?id=74144
703
704         Reviewed by David Hyatt.
705
706         DOM children of a region must not be rendered as children of the region, but can be collected in flow threads.
707
708         NodeRenderingContext::parentRenderer now creates the parent render flow thread if it doesn't exist.
709
710         Element::moveToFlowThreadIsNeeded is a virtual method that is overriden in PseudoElement to return false and
711         in SVGElement so only svg root elements can directly be collected by a render flow thread.
712
713         RenderObject::canDOMChildrenHaveRenderParent exists to optimize the code so nodes inside regions (and maybe
714         other types of renderers in the future) can still have renderers if they need to be in a flow thread while the
715         rest of renderers that can't have children skip the new instructions.
716
717         Tests: fast/regions/flow-body-in-html.html . To test the duplicate bug #103685.
718                fast/regions/region-content-flown-into-region.html
719                fast/regions/universal-selector-children-to-the-same-region.html . To test the duplicate bug #103685.
720
721         * dom/Element.cpp:
722         (WebCore::Element::moveToFlowThreadIsNeeded):
723         * dom/Element.h:
724         * dom/NodeRenderingContext.cpp:
725         (WebCore::NodeRenderingContext::parentRenderer): the renderer that will be the parent for this node's renderer.
726         In the case of RenderFlowThreads, it may need to create it.
727         (WebCore::NodeRenderingContext::shouldCreateRenderer): In a region, only the children that need to be in a flow
728         thread should have a renderer.
729         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
730         (WebCore::NodeRenderingContext::moveToFlowThread):
731         * dom/NodeRenderingContext.h:
732         (NodeRenderingContext):
733         * dom/PseudoElement.h: pseudo-elements cannot be directly collected into a named flow.
734         * dom/Text.cpp:
735         (WebCore::Text::textRendererIsNeeded):
736         (WebCore::Text::updateTextRenderer): Because calling textRendererIsNeeded(NodeRenderingContext(...)) on a
737         non-const l-value NodeRenderingContext cannot be done on a temporary object on the stack.
738         * dom/Text.h:
739         * rendering/FlowThreadController.cpp:
740         (WebCore::FlowThreadController::isContentNodeRegisteredWithAnyNamedFlow):
741         * rendering/FlowThreadController.h:
742         * rendering/RenderObject.h:
743         (WebCore::RenderObject::canDOMChildrenHaveRenderParent): Even if this render object can't have render children,
744         the children in the DOM tree may have a render parent (that is different from this render object).
745         * rendering/RenderRegion.h:
746         * svg/SVGElement.cpp:
747         (WebCore::SVGElement::moveToFlowThreadIsNeeded): Allow only svg root elements to be directly collected by a
748         render flow thread.
749         * svg/SVGElement.h:
750         (SVGElement):
751
752 2013-04-05  Allan Sandfeld Jensen  <allan.jensen@digia.com>
753
754         Fix GCC with C++11 build
755         https://bugs.webkit.org/show_bug.cgi?id=111579
756
757         Reviewed by Anders Carlsson.
758
759         If the destructor is private, MemoryInstrumentation can not create an inherited class.
760
761         * css/PropertySetCSSStyleDeclaration.h:
762         (StyleRuleCSSStyleDeclaration):
763         * dom/ShadowRoot.h:
764         (ShadowRoot):
765         * loader/SubresourceLoader.h:
766         (SubresourceLoader):
767         * platform/Timer.h:
768
769 2013-03-28  Allan Sandfeld Jensen  <allan.jensen@digia.com>
770
771         [Qt] Create ShadowBlur on demand.
772         https://bugs.webkit.org/show_bug.cgi?id=113506
773
774         Reviewed by Noam Rosenthal.
775
776         This patch creates ShadowBlur objects on demand instead of keeping a single one alive for
777         each GraphicsContext. This matches what other platforms does and fixes the problem with 
778         an active shadowblur being affected by changing shadow settings on the GraphicsContext.
779
780         The method mustUseShadowBlur is moved from ShadowBlur to GraphcisContext, so that it can
781         be used to determine if a ShadowBlur object should even be generated.
782
783         * platform/graphics/GraphicsContext.cpp:
784         (WebCore::GraphicsContext::hasBlurredShadow):
785         (WebCore::GraphicsContext::mustUseShadowBlur):
786         * platform/graphics/GraphicsContext.h:
787         (GraphicsContext):
788         * platform/graphics/ShadowBlur.cpp:
789         (WebCore::ShadowBlur::ShadowBlur):
790         * platform/graphics/ShadowBlur.h:
791         * platform/graphics/cairo/FontCairo.cpp:
792         (WebCore::drawGlyphsShadow):
793         * platform/graphics/cg/GraphicsContextCG.cpp:
794         (WebCore::GraphicsContext::fillRect):
795         (WebCore::GraphicsContext::fillRoundedRect):
796         (WebCore::GraphicsContext::fillRectWithRoundedHole):
797         * platform/graphics/qt/FontQt.cpp:
798         (WebCore::drawQtGlyphRun):
799         * platform/graphics/qt/GraphicsContextQt.cpp:
800         (GraphicsContextPlatformPrivate):
801         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
802         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
803         (WebCore::GraphicsContext::restorePlatformState):
804         (WebCore::GraphicsContext::fillPath):
805         (WebCore::GraphicsContext::strokePath):
806         (WebCore::GraphicsContext::fillRect):
807         (WebCore::GraphicsContext::fillRoundedRect):
808         (WebCore::GraphicsContext::fillRectWithRoundedHole):
809         (WebCore::GraphicsContext::setPlatformShadow):
810         (WebCore::GraphicsContext::clearPlatformShadow):
811         * platform/graphics/qt/ImageQt.cpp:
812         (WebCore::BitmapImage::draw):
813         * platform/graphics/qt/StillImageQt.cpp:
814         (WebCore::StillImage::draw):
815
816 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
817
818         Remove Chromium code from WebCore/page
819         https://bugs.webkit.org/show_bug.cgi?id=114013
820
821         Reviewed by Anders Carlsson.
822
823         Removed.
824
825         * page/Console.cpp:
826         (WebCore::Console::time):
827         (WebCore::Console::timeEnd):
828         * page/EventHandler.cpp:
829         (WebCore::shouldGesturesTriggerActive):
830         (WebCore::EventHandler::handleMouseReleaseEvent):
831         (WebCore):
832         (WebCore::EventHandler::sendScrollEventToView):
833         * page/FeatureObserver.cpp:
834         (WebCore::FeatureObserver::updateMeasurements):
835         * page/FrameView.cpp:
836         (WebCore::FrameView::layout):
837         (WebCore::FrameView::useSlowRepaints):
838         * page/PageConsole.cpp:
839         * page/PageGroup.cpp:
840         (WebCore::PageGroup::isLinkVisited):
841         (WebCore::PageGroup::addVisitedLink):
842         * page/Settings.cpp:
843         (WebCore):
844         * page/android: Removed.
845         * page/chromium: Removed.
846         * page/chromium/ChromeClientChromium.h: Removed.
847         * page/chromium/DragControllerChromium.cpp: Removed.
848         * page/chromium/EventHandlerChromium.cpp: Removed.
849         * page/scrolling/ScrollingCoordinator.cpp:
850         (WebCore::ScrollingCoordinator::create):
851         (WebCore):
852         * page/scrolling/ScrollingCoordinator.h:
853         (ScrollingCoordinator):
854         * page/scrolling/ScrollingTree.cpp:
855         (WebCore):
856         * page/scrolling/ScrollingTree.h:
857         (ScrollingTree):
858         * page/scrolling/chromium: Removed.
859         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Removed.
860         * page/scrolling/chromium/ScrollingCoordinatorChromium.h: Removed.
861
862 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
863
864         Remove Chromium code from WebCore/rendering
865         https://bugs.webkit.org/show_bug.cgi?id=114017
866
867         Reviewed by Simon Fraser.
868
869         Removed.
870
871         * rendering/RenderBlockLineLayout.cpp:
872         (WebCore::setLogicalWidthForTextRun):
873         * rendering/RenderLayerBacking.cpp:
874         (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
875         (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
876         (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
877         * rendering/RenderLayerCompositor.cpp:
878         (WebCore::RenderLayerCompositor::paintContents):
879         (WebCore::shouldCompositeOverflowControls):
880         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
881         * rendering/RenderMediaControlsChromium.cpp: Removed.
882         * rendering/RenderMediaControlsChromium.h: Removed.
883         * rendering/RenderObject.cpp:
884         (WebCore::RenderObject::shouldRespectImageOrientation):
885         * rendering/RenderText.cpp:
886         (WebCore):
887         (WebCore::RenderText::previousOffsetForBackwardDeletion):
888         * rendering/RenderThemeChromiumAndroid.cpp: Removed.
889         * rendering/RenderThemeChromiumAndroid.h: Removed.
890         * rendering/RenderThemeChromiumCommon.cpp: Removed.
891         * rendering/RenderThemeChromiumCommon.h: Removed.
892         * rendering/RenderThemeChromiumDefault.cpp: Removed.
893         * rendering/RenderThemeChromiumDefault.h: Removed.
894         * rendering/RenderThemeChromiumFontProvider.cpp: Removed.
895         * rendering/RenderThemeChromiumFontProvider.h: Removed.
896         * rendering/RenderThemeChromiumFontProviderLinux.cpp: Removed.
897         * rendering/RenderThemeChromiumFontProviderWin.cpp: Removed.
898         * rendering/RenderThemeChromiumMac.h: Removed.
899         * rendering/RenderThemeChromiumMac.mm: Removed.
900         * rendering/RenderThemeChromiumSkia.cpp: Removed.
901         * rendering/RenderThemeChromiumSkia.h: Removed.
902         * rendering/RenderThemeChromiumWin.cpp: Removed.
903         * rendering/RenderThemeChromiumWin.h: Removed.
904         * rendering/RenderThemeMacShared.mm:
905         (WebCore::RenderThemeMacShared::paintSliderThumb):
906
907 2013-04-05  Noam Rosenthal  <noam@webkit.org>
908
909         [Texmap] css3/filters/filter-animation-from-none-hw.html does not animate
910         https://bugs.webkit.org/show_bug.cgi?id=114026
911
912         Reviewed by Allan Sandfeld Jensen.
913
914         Allow the filter's blending function to take place when animating from/to none.
915
916         * platform/graphics/GraphicsLayerAnimation.cpp:
917         (WebCore::applyFilterAnimation):
918
919 2013-04-05  Noam Rosenthal  <noam@webkit.org>
920
921         [CoordGfx] Enable filter animations
922         https://bugs.webkit.org/show_bug.cgi?id=114027
923
924         Reviewed by Allan Sandfeld Jensen.
925
926         Allow CoordinatedGraphicsLayer to serialize filter animations to the UI process.
927
928         Covered by animation tests in css3/filters.
929
930         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
931         (WebCore::CoordinatedGraphicsLayer::addAnimation):
932
933 2013-04-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
934
935         Avoid double hash table lookups in TextureMapperGL
936         https://bugs.webkit.org/show_bug.cgi?id=114030
937
938         Reviewed by Noam Rosenthal.
939
940         Use Vector::add() and leverage its returned AddResult value instead of
941         calling Vector::find() then Vector::set() if the key does not already
942         exist in the map. This results in a single hash lookup instead of two
943         in this case.
944
945         No new tests, no behavior change.
946
947         * platform/graphics/texmap/TextureMapperGL.cpp:
948         (WebCore::TextureMapperGLData::SharedGLData::getShaderProgram):
949         (WebCore::TextureMapperGLData::getStaticVBO):
950         (WebCore::TextureMapperGL::drawUsingCustomFilter):
951
952 2013-04-05  Aivo Paas  <aivopaas@gmail.com>
953
954         Updating mouse cursor on style changes without emitting fake mousemove event
955         https://bugs.webkit.org/show_bug.cgi?id=101857
956
957         Reviewed by Allan Sandfeld Jensen.
958
959         Mouse cursor changes in styles used to be reflected in UI through dispatching a fake
960         mousemove event. The old approach has some flaws: it emits a mousemove event in
961         javascript when there is no mouse movement involved (bug 85343); the fake mousemove
962         event is cancelled while there is a mouse button held down - cursor won't change
963         until mouse is moved or the button released (bug 53341).
964
965         The new approach does not use the fake mousemove event. Instead, it uses only the logic
966         needed for the actual cursor change to happen.
967
968         EventHandler::selectCursor was refactored to not take a whole mouse event but instead work with
969         HitTestResult so that EventHandler::updateCursor must not create a useless PlatformEvent.
970
971         Fixes: https://bugs.webkit.org/show_bug.cgi?id=85343 (mousemove event on cursor change)
972                https://bugs.webkit.org/show_bug.cgi?id=53341 (no cursor change when mouse button down)
973
974         Tests: fast/events/mouse-cursor-change.html
975                fast/events/mouse-cursor-no-mousemove.html
976
977         * page/EventHandler.cpp:
978         (WebCore::EventHandler::EventHandler):
979         (WebCore::EventHandler::clear):
980         (WebCore::EventHandler::cursorUpdateTimerFired):
981         (WebCore::EventHandler::updateCursor):
982         (WebCore::EventHandler::selectCursor):
983         (WebCore::EventHandler::handleMouseMoveEvent):
984         (WebCore::EventHandler::scheduleCursorUpdate):
985         * page/EventHandler.h:
986         * page/FrameView.cpp:
987         (WebCore::FrameView::shouldSetCursor):
988         * page/FrameView.h:
989         * page/MouseEventWithHitTestResults.cpp:
990         (WebCore::MouseEventWithHitTestResults::isOverLink):
991         * rendering/HitTestResult.cpp:
992         (WebCore::HitTestResult::isOverLink):
993         * rendering/HitTestResult.h:
994         * rendering/RenderObject.cpp:
995         (WebCore::RenderObject::styleDidChange):
996
997 2013-04-05  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
998
999         [Qt] PluginsX11: exposedRect offset is applied twice when painting windowless
1000         https://bugs.webkit.org/show_bug.cgi?id=114020
1001
1002         Reviewed by Simon Hausmann.
1003
1004         Both XGetImage and QPainter::drawImage would apply the offset.
1005         Since the XImage will only contain the exposed rect, no need to specify
1006         the source rect to drawImage.
1007
1008         * plugins/qt/PluginViewQt.cpp:
1009         (WebCore::PluginView::paintUsingXPixmap):
1010
1011 2013-04-05  Seokju Kwon  <seokju.kwon@gmail.com>
1012
1013         Web Inspector: crash in InspectorDOMAgent::innerHighlightQuad after r147566
1014         https://bugs.webkit.org/show_bug.cgi?id=113991
1015
1016         Reviewed by Joseph Pecoraro.
1017
1018         * inspector/InspectorDOMAgent.cpp:
1019         (WebCore::InspectorDOMAgent::innerHighlightQuad):
1020
1021 2013-04-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1022
1023         REGRESSION(r145279): Build fails while linking when MEDIA_STREAM is enabled
1024         https://bugs.webkit.org/show_bug.cgi?id=113294
1025
1026         Reviewed by Xan Lopez.
1027
1028         In r145279 NamedGetter extended attribute is added to
1029         RTCStatsResponse.idl which makes the code generator to add
1030         prototypes for JSRTCStatsResponse::nameGetter and
1031         JSRTCStatsResponse::canGetItemsForName to the generated
1032         JSRTCStatsResponse header, but they are not implemented
1033         anywhere. We need to provide a JSRTCStatsResponseCustom file with
1034         the implementation of both functions.
1035
1036         * GNUmakefile.list.am: Add JSRTCStatsResponseCustom.cpp to
1037         compilation.
1038         * Target.pri: Ditto.
1039         * UseJSC.cmake: Ditto.
1040         * WebCore.vcproj/WebCore.vcproj: Ditto.
1041         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1042         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1043         * bindings/js/JSRTCStatsResponseCustom.cpp: Added.
1044         (WebCore):
1045         (WebCore::JSRTCStatsResponse::canGetItemsForName):
1046         (WebCore::JSRTCStatsResponse::nameGetter):
1047
1048 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
1049
1050         Remove Chromium code from WebCore/loader
1051         https://bugs.webkit.org/show_bug.cgi?id=114011
1052
1053         Reviewed by Benjamin Poulain.
1054
1055         Removed.
1056
1057         * loader/DocumentLoader.cpp:
1058         (WebCore::DocumentLoader::responseReceived):
1059         * loader/DocumentThreadableLoader.h:
1060         * loader/FrameLoader.cpp:
1061         (WebCore::FrameLoader::FrameLoader):
1062         (WebCore::FrameLoader::defaultObjectContentType):
1063         (WebCore):
1064         * loader/FrameLoader.h:
1065         (FrameLoader):
1066         * loader/FrameLoaderClient.h:
1067         (FrameLoaderClient):
1068         * loader/PingLoader.cpp:
1069         (WebCore::PingLoader::loadImage):
1070         (WebCore::PingLoader::sendPing):
1071         (WebCore::PingLoader::sendViolationReport):
1072         * loader/ResourceLoadScheduler.cpp:
1073         (WebCore):
1074         (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
1075         (WebCore::ResourceLoadScheduler::scheduleLoad):
1076         * loader/ResourceLoader.h:
1077         * loader/SubresourceLoader.h:
1078         * loader/ThreadableLoaderClient.h:
1079         (ThreadableLoaderClient):
1080         * loader/ThreadableLoaderClientWrapper.h:
1081         (ThreadableLoaderClientWrapper):
1082         * loader/appcache/ApplicationCacheHost.h:
1083         (WebCore):
1084         (ApplicationCacheHost):
1085         * loader/cache/CachedRawResource.h:
1086         (CachedRawResource):
1087         (WebCore::CachedRawResourceClient::redirectReceived):
1088         * loader/cache/CachedResource.cpp:
1089         (WebCore):
1090         (WebCore::CachedResource::load):
1091         * loader/cache/CachedResource.h:
1092         (WebCore::CachedResource::didSendData):
1093         * loader/cache/CachedResourceLoader.cpp:
1094         (WebCore::CachedResourceLoader::requestResource):
1095         (WebCore::CachedResourceLoader::preload):
1096         * loader/chromium: Removed.
1097         * loader/chromium/CachedRawResourceChromium.cpp: Removed.
1098         * loader/chromium/DocumentThreadableLoaderChromium.cpp: Removed.
1099         * loader/chromium/ResourceLoaderChromium.cpp: Removed.
1100         * loader/chromium/SubresourceLoaderChromium.cpp: Removed.
1101
1102 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
1103
1104         Remove Chromium code from WebCore/editing
1105         https://bugs.webkit.org/show_bug.cgi?id=114008
1106
1107         Reviewed by Benjamin Poulain.
1108
1109         Removed.
1110
1111         * editing/EditingBehavior.h:
1112         (WebCore::EditingBehavior::shouldAllowSpellingSuggestionsWithoutSelection):
1113         * editing/FrameSelection.h:
1114         (WebCore):
1115         * editing/chromium: Removed.
1116         * editing/chromium/EditorChromium.cpp: Removed.
1117         * editing/chromium/FrameSelectionChromium.cpp: Removed.
1118
1119 2013-04-05  Benjamin Poulain  <benjamin@webkit.org>
1120
1121         Remove the chromium code from the filesystem module
1122         https://bugs.webkit.org/show_bug.cgi?id=114002
1123
1124         Reviewed by Ryosuke Niwa.
1125
1126         * Modules/filesystem/DOMFileSystemBase.cpp:
1127         (WebCore::DOMFileSystemBase::createFileSystemURL):
1128         * Modules/filesystem/FileSystemType.h:
1129         * Modules/filesystem/LocalFileSystem.cpp:
1130         * Modules/filesystem/LocalFileSystem.h:
1131         (LocalFileSystem):
1132
1133 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
1134
1135         Remove Chromium code from Source/WebCore/dom
1136         https://bugs.webkit.org/show_bug.cgi?id=114007
1137
1138         Reviewed by Benjamin Poulain.
1139
1140         Removed.
1141
1142         * dom/Document.cpp:
1143         (WebCore::Document::recalcStyle):
1144         (WebCore::Document::implicitClose):
1145         (WebCore::Document::setFocusedNode):
1146         * dom/MessagePortChannel.h:
1147         (MessagePortChannel):
1148         * dom/ShadowRoot.cpp:
1149         (WebCore::ShadowRoot::ShadowRoot):
1150         * dom/default/chromium: Removed.
1151         * dom/default/chromium/PlatformMessagePortChannelChromium.cpp: Removed.
1152         * dom/default/chromium/PlatformMessagePortChannelChromium.h: Removed.
1153
1154 2013-04-05  Benjamin Poulain  <benjamin@webkit.org>
1155
1156         Remove the chromium directories from WebCore/Modules
1157         https://bugs.webkit.org/show_bug.cgi?id=114000
1158
1159         Reviewed by Ryosuke Niwa.
1160
1161         First step in cleaning the code: remove the chromium-specific files.
1162
1163         * Modules/filesystem/chromium/DOMFileSystemChromium.cpp: Removed.
1164         * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp: Removed.
1165         * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp: Removed.
1166         * Modules/filesystem/chromium/DraggedIsolatedFileSystem.h: Removed.
1167         * Modules/indexeddb/chromium/IDBFactoryBackendInterfaceChromium.cpp: Removed.
1168         * Modules/indexeddb/chromium/IDBFactoryBackendInterfaceChromium.h: Removed.
1169         * Modules/speech/chromium/SpeechSynthesisChromium.cpp: Removed.
1170         * Modules/webdatabase/chromium/DatabaseObserver.h: Removed.
1171         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: Removed.
1172         * Modules/webdatabase/chromium/QuotaTracker.cpp: Removed.
1173         * Modules/webdatabase/chromium/QuotaTracker.h: Removed.
1174         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp: Removed.
1175
1176 2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>
1177
1178         Remove Chromium code from WebCore/accessibility
1179         https://bugs.webkit.org/show_bug.cgi?id=114001
1180
1181         Reviewed by Benjamin Poulain.
1182
1183         Removed.
1184
1185         * accessibility/AccessibilityObject.cpp:
1186         (WebCore::AccessibilityObject::AccessibilityObject):
1187         (WebCore::AccessibilityObject::detach):
1188         (WebCore::AccessibilityObject::isDetached):
1189         * accessibility/AccessibilityObject.h:
1190         (AccessibilityObject):
1191         * accessibility/chromium: Removed.
1192         * accessibility/chromium/AXObjectCacheChromium.cpp: Removed.
1193         * accessibility/chromium/AccessibilityObjectChromium.cpp: Removed.
1194
1195 2013-04-05  Benjamin Poulain  <bpoulain@apple.com>
1196
1197         Remove WTFURL from WebKit
1198         https://bugs.webkit.org/show_bug.cgi?id=113994
1199
1200         Reviewed by Ryosuke Niwa.
1201
1202         * GNUmakefile.list.am:
1203         * WebCore.exp.in:
1204         * WebCore.xcodeproj/project.pbxproj:
1205         * platform/KURL.cpp:
1206         (WebCore):
1207         (WebCore::KURL::reportMemoryUsage):
1208         (WebCore::KURL::isSafeToSendToAnotherThread):
1209         * platform/KURL.h:
1210         (KURL):
1211         (WebCore):
1212         * platform/KURLWTFURL.cpp: Removed.
1213         * platform/KURLWTFURLImpl.h: Removed.
1214         * platform/cf/KURLCFNet.cpp:
1215         (WebCore::KURL::KURL):
1216         (WebCore::KURL::createCFURL):
1217         (WebCore):
1218         * platform/mac/KURLMac.mm:
1219         (WebCore::KURL::KURL):
1220         (WebCore::KURL::createCFURL):
1221
1222 2013-04-04  peavo@outlook.com  <peavo@outlook.com>
1223
1224         WinCairo build fails to link.
1225         https://bugs.webkit.org/show_bug.cgi?id=113873
1226
1227         Reviewed by Brent Fulgham.
1228
1229         Removed double guards for USE(ACCELERATED_COMPOSITING),
1230         and moved methods out of USE(ACCELERATED_COMPOSITING) guard to fix linker errors. 
1231
1232         * page/FrameView.cpp:
1233         (WebCore::FrameView::setWantsLayerForTopOverHangArea):
1234         (WebCore::FrameView::setWantsLayerForBottomOverHangArea):
1235         (WebCore::FrameView::setWantsLayerForHeader):
1236         (WebCore::FrameView::setWantsLayerForFooter):
1237         (WebCore::FrameView::setHeaderHeight):
1238         (WebCore::FrameView::setFooterHeight):
1239
1240 2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>
1241
1242         Remove code for 10.5 and earlier from Source/WebCore
1243         https://bugs.webkit.org/show_bug.cgi?id=113754
1244
1245         Reviewed by Benjamin Poulain.
1246
1247         Removed the code for 10.5 and removed if-def for 10.6.
1248
1249         * WebCore.xcodeproj/project.pbxproj:
1250         * page/ContextMenuController.cpp:
1251         (WebCore::ContextMenuController::populate):
1252         * platform/LocalizedStrings.cpp:
1253         (WebCore::imageTitle):
1254         * platform/graphics/cg/GraphicsContextCG.cpp:
1255         (WebCore::GraphicsContext::setAllowsFontSmoothing):
1256         * platform/graphics/cg/ImageCG.cpp:
1257         (WebCore::Image::drawPattern):
1258         * platform/graphics/cg/ImageSourceCG.cpp:
1259         (WebCore::ImageSource::clear):
1260         * platform/graphics/cg/PathCG.cpp:
1261         (WebCore::Path::boundingRect):
1262         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1263         (WebCore):
1264         (WebCore::FontPlatformData::ctFont):
1265         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1266         (WebCore::MediaPlayerPrivateGStreamerBase::supportsFullscreen):
1267         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
1268         * platform/graphics/mac/FontCacheMac.mm:
1269         (WebCore):
1270         (WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
1271         (WebCore::FontCache::platformInit):
1272         * platform/graphics/mac/FontCustomPlatformData.cpp:
1273         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1274         (WebCore::createFontCustomPlatformData):
1275         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1276         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1277         (WebCore::MediaPlayerPrivateQTKit::supportsFullscreen):
1278         (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
1279         (WebCore::MediaPlayerPrivateQTKit::cacheMovieScale):
1280         * platform/graphics/mac/SimpleFontDataMac.mm:
1281         (WebCore::SimpleFontData::platformInit):
1282         * platform/graphics/mac/WebLayer.h:
1283         * platform/mac/CursorMac.mm:
1284         (WebCore::Cursor::ensurePlatformCursor):
1285         * platform/mac/DisplaySleepDisabler.cpp:
1286         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
1287         (WebCore):
1288         * platform/mac/DisplaySleepDisabler.h:
1289         (DisplaySleepDisabler):
1290         * platform/mac/EmptyProtocolDefinitions.h:
1291         * platform/mac/HTMLConverter.h:
1292         * platform/mac/HTMLConverter.mm:
1293         * platform/mac/PopupMenuMac.mm:
1294         (WebCore::PopupMenuMac::populate):
1295         * platform/mac/ScrollElasticityController.mm:
1296         (systemUptime):
1297         * platform/mac/SharedTimerMac.mm:
1298         (PowerObserver):
1299         (WebCore::PowerObserver::PowerObserver):
1300         (WebCore::PowerObserver::~PowerObserver):
1301         (WebCore::PowerObserver::didReceiveSystemPowerNotification):
1302         * platform/mac/SuddenTermination.mm:
1303         * platform/mac/WebCoreFullScreenWindow.mm:
1304         (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
1305         * platform/mac/WebFontCache.mm:
1306         (+[WebFontCache getTraits:inFamily:]):
1307         (+[WebFontCache internalFontWithFamily:traits:weight:size:]):
1308         * platform/mac/WebVideoFullscreenController.mm:
1309         (SOFT_LINK_POINTER):
1310         (-[WebVideoFullscreenController updateMenuAndDockForFullscreen]):
1311         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1312         (createControlWithMediaUIControlType):
1313         (-[WebVideoFullscreenHUDWindowController windowDidLoad]):
1314         * platform/network/Credential.h:
1315         * platform/network/cf/DNSCFNet.cpp:
1316         (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
1317         * platform/network/cf/ProxyServerCFNet.cpp:
1318         (WebCore):
1319         (WebCore::proxyServersForURL):
1320         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1321         (WebCore::SocketStreamHandle::chooseProxy):
1322         * platform/network/mac/AuthenticationMac.mm:
1323         (WebCore):
1324         * platform/network/mac/WebCoreURLResponse.mm:
1325         (WebCore::adjustMIMETypeIfNecessary):
1326         * platform/text/TextChecking.h:
1327         (WebCore):
1328
1329 2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>
1330
1331         Qt build fix attempt after r147684.
1332
1333         * html/canvas/CanvasRenderingContext.cpp:
1334
1335 2013-04-04  Benjamin Poulain  <bpoulain@apple.com>
1336
1337         alternateFamilyName should return a null, not an empty value
1338         https://bugs.webkit.org/show_bug.cgi?id=113987
1339
1340         Reviewed by Anders Carlsson.
1341
1342         The string object corresponding semantically to "no-value" is
1343         a null string, not an empty string.
1344
1345         Fix alternateFamilyName() accordingly.
1346
1347         * platform/graphics/FontCache.cpp:
1348         (WebCore::alternateFamilyName):
1349         (WebCore::FontCache::getCachedFontPlatformData):
1350
1351 2013-04-04  Anders Carlsson  <andersca@apple.com>
1352
1353         Work around a bug in the bindings generation script.
1354
1355         * WebCore.xcodeproj/project.pbxproj:
1356
1357 2013-04-04  Dean Jackson  <dino@apple.com>
1358
1359         Don't dispatch delayed click if snapshotted plugin was triggered by a click on the label
1360         https://bugs.webkit.org/show_bug.cgi?id=113982
1361
1362         Reviewed by Tim Horton.
1363
1364         We regressed the way clicks were sent on to restarted plugins when we moved to a
1365         Shadow Root - we were always sending the click. We should only send the click
1366         on if the user clicked on the main plugin content, and not send it when you
1367         click directly on the label.
1368
1369         * html/HTMLPlugInImageElement.cpp:
1370         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Keep a reference to the container and label.
1371         (WebCore::HTMLPlugInImageElement::partOfSnapshotLabel): New method that detects if a Node was part
1372             of the snapshot label.
1373         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Only record the event if you should forward it on.
1374         * html/HTMLPlugInImageElement.h:
1375         (HTMLPlugInImageElement): New parameter to userDidClickSnapshot and member variables for shadow content.
1376         * rendering/RenderSnapshottedPlugIn.cpp:
1377         (WebCore::RenderSnapshottedPlugIn::handleEvent): Ask the plugin if the clicked target was the snapshot label.
1378
1379 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1380
1381         Unreviewed EFL build fix.
1382
1383         Add missing include for FloatRect.h.
1384
1385         * platform/efl/PlatformScreenEfl.cpp:
1386
1387 2013-04-04  Tim Horton  <timothy_horton@apple.com>
1388
1389         Unreviewed build fix.
1390
1391         * platform/graphics/GlyphPageTreeNode.cpp:
1392
1393 2013-04-04  Anders Carlsson  <andersca@apple.com>
1394
1395         Another build fix.
1396
1397         * platform/graphics/FontCache.cpp:
1398         * platform/graphics/SimpleFontData.cpp:
1399
1400 2013-04-04  Anders Carlsson  <andersca@apple.com>
1401
1402         Fix build.
1403
1404         * WebCore.xcodeproj/project.pbxproj:
1405
1406 2013-04-04  Geoffrey Garen  <ggaren@apple.com>
1407
1408         Removed empty files from the build
1409         https://bugs.webkit.org/show_bug.cgi?id=113978
1410
1411         Reviewed by Anders Carlsson.
1412
1413         Anders made a list of all the empty files that are slowing down the Mac
1414         build, and I grepped them away.
1415
1416         * WebCore.xcodeproj/project.pbxproj:
1417
1418 2013-04-04  Anders Carlsson  <andersca@apple.com>
1419
1420         Prune unneeded header #includes
1421         https://bugs.webkit.org/show_bug.cgi?id=113973
1422
1423         Reviewed by Geoffrey Garen.
1424
1425         Reduce the amount of headers included by other headers by:
1426         - Moving implicit and explicit constructors and destructors into .cpp files so member variable constructors/destructors
1427           don't have to be declared.
1428         - Move CachedResourceClient subclasses out into separate headers so that their respective CachedResource subclasses don't
1429           have to be included by the classes that derive from those subclasses.
1430         - Remove headers that were never needed in the first place.
1431
1432         * Modules/webaudio/AudioContext.h:
1433         * WebCore.xcodeproj/project.pbxproj:
1434         * bindings/js/JSDOMWindowCustom.cpp:
1435         * css/CSSFontFaceSource.h:
1436         * html/canvas/CanvasPattern.cpp:
1437         (WebCore::CanvasPattern::create):
1438         (WebCore::CanvasPattern::CanvasPattern):
1439         (WebCore::CanvasPattern::~CanvasPattern):
1440         * html/canvas/CanvasPattern.h:
1441         (WebCore::CanvasPattern::pattern):
1442         (WebCore::CanvasPattern::originClean):
1443         * html/parser/HTMLScriptRunner.h:
1444         * loader/ImageLoader.h:
1445         * loader/LinkLoader.h:
1446         * loader/TextTrackLoader.h:
1447         * loader/cache/CachedFont.cpp:
1448         * loader/cache/CachedFont.h:
1449         * loader/cache/CachedFontClient.h: Added.
1450         (WebCore::CachedFontClient::~CachedFontClient):
1451         (WebCore::CachedFontClient::expectedType):
1452         (WebCore::CachedFontClient::resourceClientType):
1453         (WebCore::CachedFontClient::fontLoaded):
1454         * loader/cache/CachedResourceHandle.cpp:
1455         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
1456         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
1457         (WebCore::CachedResourceHandleBase::setResource):
1458         * loader/cache/CachedResourceHandle.h:
1459         (WebCore::CachedResourceHandleBase::get):
1460         (WebCore::CachedResourceHandleBase::operator!):
1461         (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
1462         (WebCore::CachedResourceHandleBase::operator=):
1463         (WebCore::CachedResourceHandle::CachedResourceHandle):
1464         (WebCore::CachedResourceHandle::get):
1465         (WebCore::CachedResourceHandle::operator->):
1466         (WebCore::CachedResourceHandle::operator=):
1467         (WebCore::CachedResourceHandle::operator==):
1468         (WebCore::CachedResourceHandle::operator!=):
1469         (WebCore::operator==):
1470         (WebCore::operator!=):
1471         * loader/cache/CachedSVGDocument.h:
1472         * loader/cache/CachedSVGDocumentReference.h:
1473         * loader/cache/CachedSVGDocumentClient.h: Added.
1474         (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
1475         (WebCore::CachedSVGDocumentClient::expectedType):
1476         (WebCore::CachedSVGDocumentClient::resourceClientType):
1477         * loader/cache/CachedStyleSheetClient.h:
1478         * platform/PlatformScreen.h:
1479         * platform/audio/HRTFElevation.cpp:
1480         * platform/audio/HRTFKernel.cpp:
1481         (WebCore::HRTFKernel::fftSize):
1482         * platform/audio/HRTFKernel.h:
1483         * platform/audio/ReverbConvolverStage.cpp:
1484         (WebCore::ReverbConvolverStage::~ReverbConvolverStage):
1485         * platform/audio/ReverbConvolverStage.h:
1486         * platform/graphics/FontPlatformData.h:
1487         * platform/graphics/GraphicsContext3D.h:
1488         * platform/graphics/Path.cpp:
1489         * platform/graphics/Path.h:
1490         * platform/graphics/Pattern.cpp:
1491         * platform/graphics/Pattern.h:
1492         * platform/graphics/filters/FilterOperation.cpp:
1493         (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
1494         (WebCore::ReferenceFilterOperation::~ReferenceFilterOperation):
1495         (WebCore::ReferenceFilterOperation::setCachedSVGDocumentReference):
1496         * platform/graphics/filters/FilterOperation.h:
1497         * platform/graphics/transforms/AffineTransform.h:
1498         * plugins/DOMMimeType.h:
1499         * rendering/RenderLayerFilterInfo.h:
1500         * rendering/style/StyleCachedShader.h:
1501         * svg/SVGFEImageElement.h:
1502         * svg/SVGFontFaceUriElement.h:
1503         * svg/SVGUseElement.h:
1504         * xml/parser/XMLDocumentParser.h:
1505
1506 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1507
1508         [Cairo] Stop passing raw pointers to BitmapImage::create()
1509         https://bugs.webkit.org/show_bug.cgi?id=113945
1510
1511         Reviewed by Martin Robinson.
1512
1513         BitmapImage::create() was updated in r147643 to take a PassRefPtr<cairo_surface_t>
1514         in argument instead of a cairo_surface_t*. This patch updates several call sites
1515         so that they now pass in a smart pointer instead of a raw one to avoid silent
1516         converting from cairo_surface_t* to PassRefPtr<cairo_surface_t>.
1517
1518         No new tests, no behavior change.
1519
1520         * platform/graphics/cairo/ImageBufferCairo.cpp:
1521         (WebCore::ImageBufferData::ImageBufferData): Use RefPtr to m_surface to avoid manual
1522         memory handling.
1523         (WebCore::ImageBuffer::ImageBuffer):
1524         (WebCore::ImageBuffer::~ImageBuffer):
1525         (WebCore::ImageBuffer::copyImage):
1526         (WebCore::ImageBuffer::clip):
1527         (WebCore::ImageBuffer::platformTransformColorSpace):
1528         (WebCore::getImageData):
1529         (WebCore::ImageBuffer::putByteArray):
1530         * platform/graphics/cairo/ImageBufferDataCairo.h:
1531         (ImageBufferData):
1532         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
1533         (ImageGStreamer::ImageGStreamer):
1534         * platform/graphics/gtk/ImageBufferGtk.cpp:
1535         (WebCore::ImageBuffer::toDataURL):
1536
1537 2013-04-04  Simon Fraser  <simon.fraser@apple.com>
1538
1539         Page content missing when flipping from an empty layer to a tiled layer
1540         https://bugs.webkit.org/show_bug.cgi?id=113977
1541         <rdar://problem/13444219>
1542
1543         Reviewed by Tim Horton.
1544         
1545         Some articles on USA Today were missing content on load, when a large GraphicsLayer
1546         which did not draw content needed to draw content (and become tiled in the process).
1547         
1548         The bug was an ordering dependency in GraphicsLayerCA::commitLayerChangesBeforeSublayers().
1549         swapFromOrToTiledLayer() sets some dirty flags, but for some properties which have
1550         already been committed in the current flush cycle.
1551         
1552         Fix by moving the swapFromOrToTiledLayer() to the top of the commit, which is
1553         safe since it only consults GraphicsLayer properties, not CALayer properties.
1554
1555         Test: compositing/tiling/empty-to-tiled.html
1556
1557         * platform/graphics/ca/GraphicsLayerCA.cpp:
1558         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
1559         (WebCore::GraphicsLayerCA::updateGeometry):
1560         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
1561         (WebCore::GraphicsLayerCA::updateContentsScale):
1562         * platform/graphics/ca/GraphicsLayerCA.h:
1563         (GraphicsLayerCA):
1564
1565 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1566
1567         Regression(r147639) Causes assertion hit in HashTable
1568         https://bugs.webkit.org/show_bug.cgi?id=113954
1569
1570         Reviewed by Benjamin Poulain.
1571
1572         Lookup the key in the hash table again after the recursive call to
1573         getCachedFontPlatformData() as it may have altered the hash map and
1574         invalidated the previous iterator we had.
1575
1576         No new tests, covered by existing tests.
1577
1578         * platform/graphics/FontCache.cpp:
1579         (WebCore::FontCache::getCachedFontPlatformData):
1580
1581 2013-04-04  Eric Carlson  <eric.carlson@apple.com>
1582
1583         [Mac] add "automatic" text track menu item
1584         https://bugs.webkit.org/show_bug.cgi?id=113822
1585
1586         Reviewed by Jer Noble.
1587
1588         No new tests, existing tests updated.
1589
1590         * English.lproj/Localizable.strings: Add new track menu item.
1591
1592         * html/HTMLMediaElement.cpp: 
1593         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_captionDisplayMode.
1594         (WebCore::HTMLMediaElement::finishParsingChildren): LoadTextTrackResource -> ConfigureTextTracks.
1595         (WebCore::HTMLMediaElement::scheduleDelayedAction): Ditto.
1596         (WebCore::HTMLMediaElement::loadTimerFired): Ditto.
1597         (WebCore::HTMLMediaElement::loadInternal): Ditto. Flag the caption menu as invalid so it will
1598             be rebuilt again.
1599         (WebCore::HTMLMediaElement::mediaPlayerDidAddTrack): LoadTextTrackResource -> ConfigureTextTracks.
1600         (WebCore::HTMLMediaElement::didAddTrack): Ditto.
1601         (WebCore::HTMLMediaElement::configureTextTrackGroup): Deal with new track display modes.
1602         (WebCore::HTMLMediaElement::HTMLMediaElement::hasClosedCaptions): Minor cleanup.
1603         (WebCore::HTMLMediaElement::configureTextTrackGroup): Add some logging.
1604         (WebCore::HTMLMediaElement::configureTextTracks): Call updateActiveTextTrackCues so cue display
1605             is updated.
1606         (WebCore::HTMLMediaElement::captionPreferencesChanged): Deal with new track display modes.
1607         (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Add some logging.
1608         * html/HTMLMediaElement.h: Ditto.
1609
1610         * html/shadow/MediaControlElementTypes.cpp: Remove trackIndexAttributeName and trackListIndexForElement.
1611         * html/shadow/MediaControlElementTypes.h: Ditto.
1612
1613         * html/shadow/MediaControlElements.cpp:
1614         (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Don't use track index,
1615             everything we need is in the track<->element map now.
1616         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Ditto. Always rebuild the 
1617             track list because clear the map each time the menu goes away because it refs every track.
1618         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Don't set the track
1619             index attribute on the menu items, just use the map.
1620         * html/shadow/MediaControlElements.h:
1621
1622         * html/shadow/MediaControlsApple.cpp:
1623         (WebCore::MediaControlsApple::changedClosedCaptionsVisibility): resetTrackListMenu is gone.
1624         (WebCore::MediaControlsApple::reset): Ditto.
1625         (WebCore::MediaControlsApple::closedCaptionTracksChanged): Ditto.
1626
1627         * html/track/TextTrack.cpp:
1628         (WebCore::TextTrack::captionMenuOffItem): New, static TextTrack used for the menu "Off" item.
1629         (WebCore::TextTrack::captionMenuAutomaticItem): New, static TextTrack used for the menu "Automatic" item.
1630         * html/track/TextTrack.h:
1631
1632         * page/CaptionUserPreferences.cpp:
1633         (WebCore::CaptionUserPreferences::shouldShowCaptions): Removed, we use captionDisplayMode instead.
1634         (WebCore::CaptionUserPreferences::captionDisplayMode): New.
1635         (WebCore::CaptionUserPreferences::setCaptionDisplayMode): New.
1636         (WebCore::CaptionUserPreferences::setPreferredLanguage): Make the parameter a const reference.
1637         (WebCore::CaptionUserPreferences::textTrackSelectionScore): Return 0 if the user doesn't want
1638             captions or subtitles.
1639         (WebCore::CaptionUserPreferences::textTrackLanguageSelectionScore): Take language as a parameter
1640             instead of assuming that it is always the entire language list.
1641         * page/CaptionUserPreferences.h:
1642
1643         * page/CaptionUserPreferencesMac.h:
1644         * page/CaptionUserPreferencesMac.mm:
1645         (WebCore::CaptionUserPreferencesMac::shouldShowCaptions): Removed, we use captionDisplayMode instead.
1646         (WebCore::CaptionUserPreferencesMac::captionDisplayMode): New.
1647         (WebCore::CaptionUserPreferencesMac::setCaptionDisplayMode): New.
1648         (WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Make the parameter a const reference.
1649         (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Deal with "Automatic" mode.
1650             captions or subtitles.
1651         (WebCore::CaptionUserPreferences::textTrackLanguageSelectionScore): Take language as a parameter
1652             instead of assuming that it is always the entire language list.
1653         (WebCore::CaptionUserPreferencesMac::sortedTrackListForMenu): Insert "Off" and "Automatic" items.
1654
1655         * platform/LocalizedStrings.cpp:
1656         (WebCore::textTrackAutomaticMenuItemText): New.
1657         * platform/LocalizedStrings.h:
1658
1659         * platform/graphics/MediaPlayer.cpp:
1660         (WebCore::MediaPlayer::languageOfPrimaryAudioTrack): New.
1661         * platform/graphics/MediaPlayer.h:
1662         * platform/graphics/MediaPlayerPrivate.h:
1663
1664         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1665         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1666         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Return the language
1667             of the main audio track.
1668
1669 2013-04-04  Alexey Proskuryakov  <ap@apple.com>
1670
1671         REGRESSION (r146580): Assertion using SecurityOrigin::create, URL string is not valid
1672         https://bugs.webkit.org/show_bug.cgi?id=113961
1673
1674         Reviewed by Geoff Garen.
1675
1676         * page/SecurityOrigin.cpp:
1677         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
1678         (WebCore::SecurityOrigin::create):
1679         Don't use ParsedURLString, because http://host:80/ is normalized to http://host/,
1680         so it's not a parsed URL string.
1681
1682 2013-04-04  Sheriff Bot  <webkit.review.bot@gmail.com>
1683
1684         Unreviewed, rolling out r147662.
1685         http://trac.webkit.org/changeset/147662
1686         https://bugs.webkit.org/show_bug.cgi?id=113955
1687
1688         The change r147662  breaks fast/regions/fixed-pos-elem-in-
1689         region.html (Requested by benjaminp on #webkit).
1690
1691         * rendering/RenderBlockLineLayout.cpp:
1692         (WebCore::inlineLogicalWidth):
1693
1694 2013-04-04  Tim Horton  <timothy_horton@apple.com>
1695
1696         REGRESSION (r147373): Auto-sizing doesn't always respect minimum width changes
1697         https://bugs.webkit.org/show_bug.cgi?id=113947
1698         <rdar://problem/13579024>
1699
1700         Reviewed by Anders Carlsson.
1701
1702         Reset the FrameView size to the minimum auto-sizing size
1703         before performing auto-sizing. We were already resetting the height,
1704         but not the width, instead using the FrameView's current width.
1705
1706         This means that changing the minimum width without also manually
1707         resizing the FrameView will never see the width change.
1708
1709         Auto-sizing tests are not working on Mac yet.
1710
1711         * page/FrameView.cpp:
1712         (WebCore::FrameView::autoSizeIfEnabled):
1713
1714 2013-04-04  Martin Robinson  <mrobinson@igalia.com>
1715
1716         [GTK] Remove the gyp build
1717         https://bugs.webkit.org/show_bug.cgi?id=113942
1718
1719         Reviewed by Gustavo Noronha Silva.
1720
1721         * WebCore.gyp/WebCoreGTK.gyp: Removed.
1722
1723 2013-04-04  Robert Hogan  <robert@webkit.org>
1724
1725         REGRESSION(r142152): Text wraps in menu
1726         https://bugs.webkit.org/show_bug.cgi?id=113706
1727
1728         Reviewed by David Hyatt.
1729
1730         * rendering/RenderBlockLineLayout.cpp:
1731         (WebCore::inlineLogicalWidth): Empty inline elements add their inline border/padding/margin to the width of the
1732         line when we iterate through them in nextLineBreak(), so no need to add them again here when climbing back up
1733         from their first child looking for border/padding/margin to add. (An empty inline element can have floating children.)
1734
1735 2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>
1736
1737         Changing typing style with font size delta overrides the previous font size delta
1738         https://bugs.webkit.org/show_bug.cgi?id=113923
1739
1740         Reviewed by Andreas Kling.
1741
1742         The bug was caused by a new font size delta value overriding the old one as
1743         opposed to being added to the old value. Fixed that in overrideWithStyle.
1744
1745         Also made overrideWithStyle share code with mergeStyle since there is already
1746         code to merge text-decorations there.
1747
1748         Unfortunately, adding a test for this fix proved to be hard because we don't
1749         expose any API to directly set typing style.
1750
1751         * editing/EditingStyle.cpp:
1752         (WebCore::EditingStyle::overrideWithStyle): Use mergeStyle.
1753         (WebCore::EditingStyle::mergeStyle): Add font size deltas as opposed to simply
1754         using the new value.
1755
1756 2013-04-04  Chris Fleizach  <cfleizach@apple.com>
1757
1758         AX:File upload button has wrong label
1759         https://bugs.webkit.org/show_bug.cgi?id=113924
1760
1761         Reviewed by David Kilzer.
1762
1763         Allow the label and value to be returned for file upload controls on iOS.
1764         Due to the different AX APIs, we can expose a bit more information on iOS.
1765
1766         Test: platform/iphone-simulator/accessibility/file-upload-button.html
1767
1768         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1769         (-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
1770         (-[WebAccessibilityObjectWrapper fileUploadButtonReturnsValueInTitle]):
1771         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
1772         (-[WebAccessibilityObjectWrapperBase fileUploadButtonReturnsValueInTitle]):
1773         (-[WebAccessibilityObjectWrapperBase accessibilityTitle]):
1774
1775 2013-04-03  Dean Jackson  <dino@apple.com>
1776
1777         Expose settings to disable plugin snapshotting autostart and primary detection
1778         https://bugs.webkit.org/show_bug.cgi?id=113918
1779
1780         Reviewed by Tim Horton.
1781
1782         Three new settings:
1783         - snapshotAllPlugIns: Do not apply any heuristics - immediately snapshot a plugin.
1784         - primaryPlugInSnapshotDetectionEnabled: Toggle snapshotting the "main" plugin in the page.
1785         - autostartOriginPlugInSnapshottingEnabled: Toggle snapshotting based on URL origins.
1786
1787         * html/HTMLPlugInImageElement.cpp:
1788         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Don't tell the host that we've started
1789             if the autostartOriginPlugInSnapshottingEnabled is false.
1790         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Don't restart a primary
1791             plugin if primaryPlugInSnapshotDetectionEnabled is false.
1792         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Snapshot immediately if
1793             snapshotAllPlugIns is true. Also, don't test for autostart if
1794             autostartOriginPlugInSnapshottingEnabled is false.
1795         * page/Settings.in: Three new settings values.
1796
1797 2013-04-04  Carlos Garcia Campos  <cgarcia@igalia.com>
1798
1799         [BlackBerry] Remove skia code from PluginViewBlackBerry
1800         https://bugs.webkit.org/show_bug.cgi?id=113936
1801
1802         Reviewed by Rob Buis.
1803
1804         Skia is not used anymore by the BlackBerry port.
1805
1806         * plugins/blackberry/PluginViewBlackBerry.cpp:
1807         (WebCore::PluginView::paint):
1808
1809 2013-04-04  Emil A Eklund  <eae@chromium.org>
1810
1811         Change RenderFrameSet::computeEdgeInfo to use m-rows/m_cols directly
1812         https://bugs.webkit.org/show_bug.cgi?id=113825
1813
1814         Reviewed by Eric Seidel.
1815
1816         Tests: fast/frames/invalid-frameset-compute-edge.html
1817
1818         * rendering/RenderFrameSet.cpp:
1819         (WebCore::RenderFrameSet::computeEdgeInfo):
1820
1821 2013-04-04  ChangSeok Oh  <changseok.oh@collabora.com>
1822
1823         [GTK][AC] Invalid clear ClutterContent of ClutterActor
1824         https://bugs.webkit.org/show_bug.cgi?id=113758
1825
1826         Reviewed by Gustavo Noronha Silva.
1827
1828         Using clutter_actor_set_content(actor, 0) is better to clear ClutterContent of ClutterActor.
1829         Actually the ClutterContent referece is cleared in the API if we set 0.
1830
1831         No new tests since no functionality changed.
1832
1833         * platform/graphics/clutter/GraphicsLayerActor.cpp:
1834         (graphicsLayerActorUpdateTexture):
1835
1836 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1837
1838         [Cairo] Fix canvas drawing of SVG-based patterns and remove NativeImageCairo
1839         https://bugs.webkit.org/show_bug.cgi?id=113929
1840
1841         Reviewed by Martin Robinson.
1842
1843         Make (Pass)NativeImagePtr typedefs to (Pass)RefPtr<cairo_surface_t> instead
1844         of NativeImageCairo*. Now that we switch to using smart pointers,
1845         NativeImageCairo is removed as it made no sense to make it ref counted when
1846         it merely held a single ref counted member.
1847
1848         Now that Cairo is using smart pointers for (Pass)NativeImagePtr, this patch
1849         also enables the implementation of SVGImage::nativeImageForCurrentFrame()
1850         for USE(CAIRO) as well. This effectively fixes canvas drawing of SVG-based
1851         patterns for Cairo-based ports.
1852
1853         No new tests, covered by svg/canvas/canvas-pattern-svg.html.
1854
1855         * GNUmakefile.list.am: Remove NativeImageCairo.* for GTK.
1856
1857         * PlatformEfl.cmake: Remove NativeImageCairo.* for EFL.
1858
1859         * WebCore.vcproj/WebCore.vcproj:
1860         * WebCore.vcxproj/WebCore.vcxproj:
1861         * WebCore.vcxproj/WebCore.vcxproj.filters:
1862         Remove NativeImageCairo.* for Win.
1863
1864         * platform/graphics/BitmapImage.cpp:
1865         (WebCore::FrameData::reportMemoryUsage):
1866         Update MemoryClassInfo::addRawBuffer() call now that m_frame is a RefPtr
1867         for USE(CAIRO).
1868
1869         * platform/graphics/BitmapImage.h:
1870         (BitmapImage):
1871         Remove factory method taking a cairo_surface_t* in argument. This is useless
1872         now that PassNativeImagePtr is a typedef to PassRefPtr<cairo_surface_t> and
1873         there is already a factory method taking a PassNativeImagePtr in argument.
1874
1875         * platform/graphics/NativeImagePtr.h:
1876         (WebCore):
1877         Make PassNativeImagePtr a typedef to PassRefPtr<cairo_surface_t> and
1878         NativeImagePtr a typedef to RefPtr<cairo_surface_t>, instead of
1879         NativeImageCairo*. Moving to smart pointers is needed to enable implementation
1880         of SVGImage::nativeImageForCurrentFrame() for Cairo.
1881
1882         * platform/graphics/cairo/BitmapImageCairo.cpp:
1883         (WebCore::BitmapImage::BitmapImage):
1884         (WebCore::BitmapImage::draw):
1885         (WebCore::BitmapImage::checkForSolidColor):
1886         (WebCore::FrameData::clear):
1887         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1888         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1889         * platform/graphics/cairo/ImageCairo.cpp:
1890         (WebCore::Image::drawPattern):
1891         Update Cairo graphics code to reflect the (Pass)NativeImagePtr type changes.
1892
1893         * platform/graphics/cairo/NativeImageCairo.cpp: Removed.
1894         * platform/graphics/cairo/NativeImageCairo.h: Removed.
1895
1896         * platform/graphics/cairo/PatternCairo.cpp:
1897         (WebCore::Pattern::createPlatformPattern):
1898         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1899         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1900         * platform/graphics/efl/ImageEfl.cpp:
1901         (WebCore::BitmapImage::getEvasObject):
1902         * platform/graphics/gtk/ImageGtk.cpp:
1903         (WebCore::BitmapImage::getGdkPixbuf):
1904         * platform/graphics/texmap/TextureMapperGL.cpp:
1905         (WebCore::BitmapTextureGL::updateContents):
1906         * platform/graphics/win/ImageCairoWin.cpp:
1907         (WebCore::BitmapImage::create):
1908         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1909         * platform/gtk/DragImageGtk.cpp:
1910         (WebCore::createDragImageFromImage):
1911         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
1912         (WebCore::ImageFrame::asNewNativeImage):
1913         * platform/win/DragImageCairoWin.cpp:
1914         (WebCore::createDragImageFromImage):
1915         Update code to reflect the (Pass)NativeImagePtr type changes.
1916
1917         * svg/graphics/SVGImage.cpp:
1918         (WebCore):
1919         * svg/graphics/SVGImage.h:
1920         Enable SVGImage::nativeImageForCurrentFrame() for USE(CAIRO).
1921
1922 2013-04-04  Ed Bartosh  <bartosh@gmail.com>
1923
1924         [EFL] --minimal build fails with 'error: unused variable'
1925         https://bugs.webkit.org/show_bug.cgi?id=113903
1926
1927         Reviewed by Gustavo Noronha Silva.
1928
1929         Moved variable definition under #if where it's used
1930         * platform/network/soup/ResourceHandleSoup.cpp:
1931         (WebCore::restartedCallback):
1932
1933 2013-04-04  Andreas Kling  <akling@apple.com>
1934
1935         Global FontPlatformData cache should use OwnPtr.
1936         <http://webkit.org/b/111939>
1937
1938         Reviewed by Anders Carlsson.
1939
1940         Let the global FontPlatformData use OwnPtr instead of raw pointers + deleteAllValues().
1941
1942         * platform/graphics/FontCache.cpp:
1943         (WebCore::FontCache::getCachedFontPlatformData):
1944         (WebCore::FontCache::purgeInactiveFontData):
1945         (WebCore::FontCache::invalidate):
1946
1947             Tweaked code for OwnPtr. Also made getCachedFontPlatformData() do one hash lookup
1948             instead of two.
1949
1950         * platform/graphics/FontCache.h:
1951         * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
1952         (WebCore::FontCache::createFontPlatformData):
1953         * platform/graphics/chromium/FontCacheAndroid.cpp:
1954         (WebCore::FontCache::createFontPlatformData):
1955         * platform/graphics/freetype/FontCacheFreeType.cpp:
1956         (WebCore::FontCache::createFontPlatformData):
1957         * platform/graphics/mac/FontCacheMac.mm:
1958         (WebCore::FontCache::createFontPlatformData):
1959         * platform/graphics/qt/FontCacheQt.cpp:
1960         (WebCore::FontCache::createFontPlatformData):
1961         * platform/graphics/skia/FontCacheSkia.cpp:
1962         (WebCore::FontCache::createFontPlatformData):
1963         * platform/graphics/win/FontCacheWin.cpp:
1964         (WebCore::FontCache::createFontPlatformData):
1965         * platform/graphics/wince/FontCacheWinCE.cpp:
1966         (WebCore::FontCache::createFontPlatformData):
1967         * platform/graphics/wx/FontCacheWx.cpp:
1968         (WebCore::FontCache::createFontPlatformData):
1969
1970             FontCache::createFontPlatformData() now returns a PassOwnPtr.
1971
1972 2013-04-04  Andreas Kling  <akling@apple.com>
1973
1974         Render images with low-quality scaling while FrameView is being resized.
1975         <http://webkit.org/b/113764>
1976         <rdar://problem/13555154>
1977
1978         Reviewed by Antti Koivisto.
1979
1980         Have ImageQualityController ask the renderer's containing FrameView if it's currently in live
1981         resize, and if so, paint all images with low-quality scaling. A high-quality repaint will happen
1982         ~0.5 sec after live resizing ends, piggybacking on the same mechanism we use to do JS-animated
1983         resizing with low-quality scaling.
1984
1985         This reduces CPU time spent generating new tiles during live window resize, especially on Retina
1986         systems where a lot of upscaling happens on legacy web content.
1987
1988         * rendering/RenderBoxModelObject.cpp:
1989         (ImageQualityController):
1990
1991             Added an m_liveResizeOptimizationIsActive flag that tracks whether the ImageQualityController
1992             is painting everything in low quality due to live window resize. It gets unset when the HQ
1993             repaint timer fires and everything has been repainted properly.
1994
1995         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
1996
1997             When the HQ repaint timer fires, check if the renderer's containing FrameView is still in
1998             live resize, and if so, abort HQ repaint for now and reschedule the timer.
1999
2000         (WebCore::ImageQualityController::ImageQualityController):
2001         (WebCore::ImageQualityController::objectDestroyed):
2002         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
2003
2004 2013-04-04  Seokju Kwon  <seokju.kwon@gmail.com>
2005
2006         Web Inspector: fix closure compiler warnings in IndexedDBModel.js
2007         https://bugs.webkit.org/show_bug.cgi?id=113926
2008
2009         Reviewed by Alexander Pavlov.
2010
2011         No new tests: no change in behaviour.
2012
2013         * inspector/front-end/IndexedDBModel.js:
2014
2015 2013-04-04  Xidorn Quan  <quanxunzhen@gmail.com>
2016
2017         REGRESSION (r145870): Can't get insertion point to appear in some input and textareas on wordpress
2018         https://bugs.webkit.org/show_bug.cgi?id=113591
2019
2020         Reviewed by Simon Fraser.
2021
2022         Since a child node could overflow its ancestor, it is not wise to check
2023         one's radii boundary before checking whether the given point intersects
2024         its children. This patch moves the related code down to fix the bug.
2025
2026         Test: fast/borders/border-radius-child.html
2027
2028         * rendering/RenderBlock.cpp:
2029         (WebCore::RenderBlock::nodeAtPoint):
2030
2031 2013-04-04  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2032
2033         [GStreamer] Virtual modifier for MediaPlayer::simulateAudioInterruption must go
2034         https://bugs.webkit.org/show_bug.cgi?id=113851
2035
2036         Reviewed by Eric Carlson.
2037
2038         * platform/graphics/MediaPlayer.h:
2039         (MediaPlayer): Removed virtual modifier to
2040         simulateAudioInterruption.
2041
2042 2013-04-04  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2043
2044         [Qt] Support -webkit-font-smoothing
2045         https://bugs.webkit.org/show_bug.cgi?id=106009
2046
2047         Reviewed by Jocelyn Turcotte.
2048
2049         Remove false dependency on Qt 5.1 for the -webkit-font-smoothing property.
2050         For now we are still keeping the dependency on Font::shouldUseSmoothing().
2051
2052         * platform/graphics/qt/FontPlatformDataQt.cpp:
2053         (WebCore::FontPlatformData::FontPlatformData):
2054
2055 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2056
2057         Regression(r142765) Broke Custom SVG cursors and SVG canvas drawing for Chromium
2058         https://bugs.webkit.org/show_bug.cgi?id=113420
2059
2060         Reviewed by Stephen White.
2061
2062         Introduce a PassNativeImagePtr typedef that is used in place of NativeImagePtr
2063         for method arguments and return values. This is needed as Skia now maps
2064         NativeImagePtr to RefPtr<NativeImageSkia> and PassNativeImagePtr to
2065         PassRefPtr<NativeImageSkia>. We move towards ref counted smart pointers so that
2066         SVGImage::nativeImageForCurrentFrame() can transfer ownership of the native
2067         image to the caller if needed (e.g. for SVGImage).
2068
2069         Provide nativeImageForCurrentFrame() implementation for SVGImage. SVGImage no
2070         longer holds the native image internally, to save memory. It is therefore created
2071         when nativeImageForCurrentFrame() is called and ownership is passed to the
2072         caller. For now, this implementation is only enabled for Skia as others are using
2073         raw pointers for PassNativeImagePtr.
2074
2075         Test: svg/canvas/canvas-pattern-svg.html
2076
2077         * loader/icon/IconDatabase.cpp:
2078         (WebCore::IconDatabase::synchronousNativeIconForPageURL):
2079         Return a PassNativeImagePtr instead of NativeImagePtr.
2080
2081         * loader/icon/IconDatabase.h:
2082         (IconDatabase):
2083         * loader/icon/IconDatabaseBase.h:
2084         (WebCore::IconDatabaseBase::synchronousNativeIconForPageURL):
2085         Return a PassNativeImagePtr instead of NativeImagePtr.
2086
2087         * platform/chromium/DragImageChromiumSkia.cpp:
2088         (WebCore::createDragImageFromImage):
2089         Store return value of nativeImageForCurrentFrame() in a RefPtr instead of a raw
2090         one.
2091
2092         * platform/chromium/PasteboardChromium.cpp:
2093         (WebCore::Pasteboard::writeImage):
2094         Store return value of nativeImageForCurrentFrame() in a RefPtr<NativeImageSkia>
2095         instead of a NativeImagePtr. While these are equivalent, the former is more
2096         readable in Skia-specific code.
2097
2098         * platform/graphics/BitmapImage.cpp:
2099         (WebCore::BitmapImage::frameAtIndex):
2100         Return a PassNativeImagePtr instead of a NativeImagePtr.
2101
2102         (WebCore::BitmapImage::nativeImageForCurrentFrame):
2103         Return a PassNativeImagePtr instead of a NativeImagePtr.
2104
2105         * platform/graphics/BitmapImage.h:
2106         (WebCore::BitmapImage::create):
2107         Take a PassNativeImagePtr in argument instead of a NativeImagePtr.
2108
2109         (BitmapImage): Ditto.
2110
2111         * platform/graphics/GraphicsContext.h:
2112         (GraphicsContext): Ditto.
2113
2114         * platform/graphics/GraphicsContext3D.h:
2115         (ImageExtractor):
2116         Keep NativeImageSkia in a RefPtr instead of OwnPtr, now that it is refcounted.
2117
2118         * platform/graphics/Image.h:
2119         (WebCore::Image::nativeImageForCurrentFrame):
2120         Return a PassNativeImagePtr instead of a NativeImagePtr.
2121
2122         * platform/graphics/ImageBuffer.h:
2123         (ImageBuffer):
2124         Have copyNativeImage() return a PassNativeImagePtr instead of a NativeImagePtr.
2125
2126         * platform/graphics/ImageSource.cpp:
2127         (WebCore::ImageSource::createFrameAtIndex):
2128         Return a PassNativeImagePtr instead of a NativeImagePtr.
2129
2130         * platform/graphics/ImageSource.h:
2131         Have createFrameAtIndex() return a PassNativeImagePtr instead of a NativeImagePtr.
2132
2133         * platform/graphics/NativeImagePtr.h:
2134         Map NativeImagePtr to a RefPtr<NativeImageSkia> instead of NativeImageSkia* for Skia.
2135         Introduce new PassNativeImagePtr that maps to PassRefPtr<NativeImageSkia> for Skia
2136         and is equivalent to NativeImagePtr for other ports. We now use smart pointers for
2137         the native image so that SVGImage::nativeImageForCurrentFrame() can pass ownership
2138         of the native image to the caller, unlike BitmapImage::nativeImageForCurrentFrame().
2139
2140         * platform/graphics/blackberry/ImageBlackBerry.cpp:
2141         (WebCore::ImageFrame::asNewNativeImage):
2142         Return a PassNativeImagePtr instead of a NativeImagePtr.
2143
2144         (WebCore::BitmapImage::BitmapImage):
2145         Take a PassNativeImagePtr instead of a NativeImagePtr in argument.
2146
2147         * platform/graphics/cg/GraphicsContextCG.cpp:
2148         (WebCore::GraphicsContext::drawNativeImage): Ditto.
2149
2150         * platform/graphics/cg/ImageBufferCG.cpp:
2151         (WebCore::ImageBuffer::copyNativeImage):
2152         Take a PassNativeImagePtr instead of a NativeImagePtr in argument.
2153
2154         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2155         (WebCore::GraphicsLayerChromium::setContentsToImage):
2156         Store return value of nativeImageForCurrentFrame() in a RefPtr instead of a raw one.
2157
2158         * platform/graphics/filters/skia/FEBlendSkia.cpp:
2159         (WebCore::FEBlend::platformApplySkia): Ditto.
2160
2161         * platform/graphics/filters/skia/FEColorMatrixSkia.cpp:
2162         (WebCore::FEColorMatrix::platformApplySkia): Ditto.
2163
2164         * platform/graphics/filters/skia/FEComponentTransferSkia.cpp:
2165         (WebCore::FEComponentTransfer::platformApplySkia): Ditto.
2166
2167         * platform/graphics/filters/skia/FEDisplacementMapSkia.cpp:
2168         (WebCore::FEDisplacementMap::platformApplySkia): Ditto.
2169
2170         * platform/graphics/filters/skia/FELightingSkia.cpp:
2171         (WebCore::FELighting::platformApplySkia): Ditto.
2172
2173         * platform/graphics/qt/ImageDecoderQt.cpp:
2174         (WebCore::ImageFrame::asNewNativeImage):
2175         Return a PassNativeImagePtr instead of a NativeImagePtr.
2176
2177         * platform/graphics/qt/StillImageQt.cpp:
2178         (WebCore::StillImage::nativeImageForCurrentFrame):
2179         Return a PassNativeImagePtr instead of a NativeImagePtr.
2180
2181         * platform/graphics/qt/StillImageQt.h:
2182         (StillImage): Ditto.
2183
2184         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2185         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
2186         No longer need to adopt the return value of asNewNativeImage() now
2187         that it returns a PassRefPtr instead of a raw one.
2188
2189         * platform/graphics/skia/ImageBufferSkia.cpp:
2190         (WebCore::ImageBuffer::copyImage):
2191         (WebCore::ImageBuffer::draw):
2192         (WebCore::ImageBuffer::drawPattern):
2193         Call NativeImageSkia::create() factory method now that the constructor
2194         is private.
2195
2196         * platform/graphics/skia/ImageSkia.cpp:
2197         (WebCore::FrameData::clear):
2198         Just call clear() on m_frame instead of explicitely deleting it now
2199         that it is a RefPtr.
2200
2201         (WebCore::Image::drawPattern):
2202         Store return value of nativeImageForCurrentFrame() in a RefPtr instead
2203         of a raw one.
2204
2205         (WebCore::BitmapImage::BitmapImage):
2206         (WebCore::BitmapImage::checkForSolidColor):
2207         Store return value of frameAtIndex() in a RefPtr instead of a raw one.
2208
2209         (WebCore::BitmapImage::draw):
2210         Store return value of nativeImageForCurrentFrame() in a RefPtr instead
2211         of a raw one.
2212
2213         * platform/graphics/skia/NativeImageSkia.cpp:
2214         Add new constructor taking all members in argument. This is used for
2215         cloning a NativeImageSkia object.
2216
2217         (WebCore::NativeImageSkia::NativeImageSkia):
2218         (WebCore::NativeImageSkia::deepSkBitmapCopy):
2219         Add convenience function to make a deep copy of a SkBitmap.
2220
2221         * platform/graphics/skia/NativeImageSkia.h:
2222         (WebCore):
2223         (WebCore::NativeImageSkia::create):
2224         (NativeImageSkia):
2225         Make NativeImageSkia subclass RefCounted. Make the constructor private
2226         and add a factory method instead that returns a PassRefPtr.
2227
2228         (WebCore::NativeImageSkia::clone):
2229         Add a clone() method now that NativeImageSkia is refcounted and is no
2230         longer copyable.
2231
2232         * platform/graphics/skia/PatternSkia.cpp:
2233         (WebCore::Pattern::platformPattern):
2234         Store return value of nativeImageForCurrentFrame() in a RefPtr instead
2235         of a raw one.
2236
2237         * platform/graphics/wince/ImageWinCE.cpp:
2238         (WebCore::ImageFrame::asNewNativeImage):
2239         Return a PassNativeImagePtr instead of a NativeImagePtr.
2240
2241         * platform/image-decoders/ImageDecoder.h:
2242         (ImageFrame):
2243         Have asNewNativeImage() return a PassNativeImagePtr instead of a
2244         NativeImagePtr.
2245
2246         (WebCore::ImageFrame::getAddr):
2247         (WebCore::ImageFrame::setSkBitmap):
2248         (WebCore::ImageFrame::getSkBitmap):
2249         (WebCore::ImageFrame::width):
2250         (WebCore::ImageFrame::height):
2251         Update use of m_bitmap now that it is a pointer type and call
2252         NativeImageSkia::create() to construct a NativeImageSkia object now
2253         that the constructor is private.
2254
2255         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
2256         (WebCore::ImageFrame::asNewNativeImage):
2257         Return a PassNativeImagePtr instead of a NativeImagePtr.
2258
2259         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
2260         (WebCore::ImageFrame::asNewNativeImage): Ditto.
2261
2262         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
2263         (WebCore::ImageFrame::ImageFrame):
2264         Initialize m_bitmap in the constructor now that it is a pointer
2265         type and we need NativeImageSkia's default constructor to be
2266         called.
2267
2268         (WebCore::ImageFrame::operator=):
2269         Call NativeImageSkia's new clone() method to copy m_bitmap as
2270         NativeImageSkia is now RefCounted and no longer copyable.
2271
2272         (WebCore::ImageFrame::clearPixelData):
2273         (WebCore::ImageFrame::zeroFillPixelData):
2274         (WebCore::ImageFrame::copyBitmapData):
2275         (WebCore::ImageFrame::setSize):
2276         Update use of m_bitmap now that it is a pointer type.
2277
2278         (WebCore::ImageFrame::asNewNativeImage):
2279         Return a PassNativeImagePtr instead of a NativeImagePtr.
2280         Call NativeImageSkia's clone method now that it is no longer
2281         copyable.
2282
2283         (WebCore::ImageFrame::setHasAlpha):
2284         (WebCore::ImageFrame::setStatus):
2285         Update use of m_bitmap now that it is a pointer type.
2286
2287         * platform/image-decoders/wx/ImageDecoderWx.cpp:
2288         (WebCore::ImageFrame::asNewNativeImage):
2289         Return a PassNativeImagePtr instead of a NativeImagePtr.
2290
2291         * svg/graphics/SVGImage.cpp:
2292         (WebCore):
2293         (WebCore::SVGImage::nativeImageForCurrentFrame):
2294         Add implementation of nativeImageForCurrentFrame() for SVGImage as
2295         it is needed for SVG custom cursor support and Canvas drawing of
2296         patterns containing SVG images. As SVGImage no longer keep the
2297         native image internally to save memory, the implementation creates
2298         the native image when nativeImageForCurrentFrame() and passes
2299         its ownership to the caller.
2300
2301         * svg/graphics/SVGImage.h:
2302         Override Image::nativeImageForCurrentFrame() and remove dummy
2303         implementation of frameAtIndex() as it is not needed / used.
2304
2305         * svg/graphics/SVGImageForContainer.cpp:
2306         (WebCore::SVGImageForContainer::nativeImageForCurrentFrame):
2307         Add implementation of nativeImageForCurrentFrame() which merely
2308         forwards the call to the Image being contained.
2309
2310         * svg/graphics/SVGImageForContainer.h:
2311         Override Image::nativeImageForCurrentFrame().
2312
2313 2013-04-04  Andrei Bucur  <abucur@adobe.com>
2314
2315         [CSSRegions] RenderFlowThread::renderRegionForLine should use a faster search method
2316         https://bugs.webkit.org/show_bug.cgi?id=66921
2317
2318         Reviewed by David Hyatt.
2319
2320         The RenderFlowThread::regionAtBlockOffset() function is a hot path for the code using
2321         flow threads because it translates from block coordinates to regions.
2322         Currently the method is O(n), using a linear search through the regions chain to find the
2323         region where a block offset lands.
2324         The patch improves this search by using an interval tree (PODIntervalTree). Before a flow
2325         thread is laid out, each region is updated to hold the size of the portion of the flow it
2326         will receive. This information is gathered inside the interval tree and used to speedup the
2327         search in RenderFlowThread::regionAtBlockOffset(). The algorithm uses a custom adapter
2328         simplified for looking up offsets inside the interval tree.
2329         For now, the interval tree is cleared every time the flow thread portions list is updated.
2330         The implementation can be improved but induces some cmplexity as we'd have to manually manage
2331         the life cycle of the tree's nodes. The performance gains are good enough as is to make this
2332         only optional.
2333         Another important change is now the flow thread portion rectangles will not overflow when
2334         using auto-height regions (or very large regions). The maximum size of the flow is set to
2335         LayoutUnit::max()/2. Any region forcing a greater size will be capped so the thread
2336         won't overflow.
2337
2338         Performance test results:
2339         /Layout/RegionsAuto:Time            ms 699.95   181.20  74.11% Better
2340         /Layout/RegionsAutoMaxHeight:Time   ms 2083.00  308.55  85.19% Better
2341         /Layout/RegionsFixed:Time           ms 726.10   223.65  69.20% Better
2342         /Layout/RegionsFixedShort:Time      ms 869.60   288.25  66.85% Better
2343
2344         Tests: See PerformanceTests/Layout/Regions*
2345
2346         * rendering/RenderFlowThread.cpp:
2347         (WebCore::RenderFlowThread::regionAtBlockOffset):
2348         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
2349         (WebCore::RenderFlowThread::RegionSearchAdapter::collectIfNeeded):
2350         (WebCore):
2351         * rendering/RenderFlowThread.h:
2352         (WebCore):
2353
2354 2013-04-04  Seokju Kwon  <seokju.kwon@gmail.com>
2355
2356         [Qt] WebSocket errors should be logged to console
2357         https://bugs.webkit.org/show_bug.cgi?id=113842
2358
2359         Reviewed by Jocelyn Turcotte.
2360
2361         Pass the reason of a failure to SocketStreamError instance
2362         and notify it via SocketStreamHandleClient::didFailSocketStream().
2363
2364         Test : http/tests/inspector/console-websocket-error.html
2365
2366         * platform/network/qt/SocketStreamError.h:
2367         (WebCore::SocketStreamError::SocketStreamError):
2368         * platform/network/qt/SocketStreamHandleQt.cpp:
2369         (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
2370         (WebCore::SocketStreamHandlePrivate::socketErrorCallback):
2371
2372 2013-04-04  Ed Bartosh  <bartosh@gmail.com>
2373
2374         [ATK] build fails when accessibility is turned off
2375         https://bugs.webkit.org/show_bug.cgi?id=113699
2376
2377         Reviewed by Gyuyoung Kim.
2378
2379         * editing/atk/FrameSelectionAtk.cpp: Wrapped accessibility code in #if HAVE(ACCESSIBILITY)
2380
2381 2013-04-04  Seokju Kwon  <seokju.kwon@gmail.com>
2382
2383         Web Inspector: fix closure compiler warnings in the profiler code HeapSnapshotDataGrids.js
2384         https://bugs.webkit.org/show_bug.cgi?id=113922
2385
2386         Reviewed by Yury Semikhatsky.
2387
2388         No new tests: no change in behaviour.
2389
2390         * inspector/front-end/HeapSnapshotDataGrids.js:
2391
2392 2013-04-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2393
2394         [EFL] Add a decoration image to search input field
2395         https://bugs.webkit.org/show_bug.cgi?id=113552
2396
2397         Reviewed by Laszlo Gombos.
2398
2399         Though EFL port has a decoration image for search input field, we didn't use it.
2400         Start to show it.
2401
2402         Tests: fast/forms/search-cancel-button-style-sharing.html
2403                fast/forms/search-rtl.html
2404                fast/css/input-search-padding.html
2405                fast/css/text-input-with-webkit-border-radius.html
2406                fast/css/text-overflow-input.html
2407                fast/forms/box-shadow-override.html
2408                fast/forms/control-restrict-line-height.html
2409                fast/forms/input-appearance-height.html
2410                fast/forms/placeholder-position.html
2411                fast/forms/placeholder-pseudo-style.html
2412                fast/forms/search-styled.html
2413                fast/forms/search-vertical-alignment.html
2414                fast/forms/searchfield-heights.html
2415                fast/repaint/search-field-cancel.html 
2416                fast/replaced/width100percent-searchfield.html
2417
2418         * platform/efl/RenderThemeEfl.cpp:
2419         (WebCore):
2420         (WebCore::RenderThemeEfl::supportsDataListUI):
2421         (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
2422
2423 2013-04-03  Kent Tamura  <tkent@chromium.org>
2424
2425         Input value/placeholder is not redrawn when the input height grows
2426         https://bugs.webkit.org/show_bug.cgi?id=113845
2427
2428         Reviewed by Ojan Vafai.
2429
2430         Test: fast/forms/text/text-height-grow.html
2431
2432         * rendering/RenderTextControlSingleLine.cpp:
2433         (WebCore::RenderTextControlSingleLine::styleDidChange):
2434         We need relayout of the inner text element.
2435
2436 2013-04-03  Shawn Singh  <shawnsingh@chromium.org>
2437
2438         Add comment to clarify isStackingContext() in RenderLayer.h
2439         https://bugs.webkit.org/show_bug.cgi?id=113909
2440
2441         Reviewed by Simon Fraser.
2442
2443         It was not obvious how the implementation of isStackingContext()
2444         was correct, a comment is appropriate here for anyone who reads
2445         this code in the future.
2446
2447         Just a change in comment, no test needed.
2448
2449         * rendering/RenderLayer.h:
2450
2451 2013-04-03  Hans Muller  <hmuller@adobe.com>
2452
2453         [CSS Exclusions] Removed ExclusionShape dead code
2454         https://bugs.webkit.org/show_bug.cgi?id=113904
2455
2456         Reviewed by Dirk Schulze.
2457
2458         No new tests, just removing dead code.
2459
2460         * rendering/ExclusionShape.cpp:
2461         (WebCore::ExclusionShape::createExclusionShape):
2462         * rendering/ExclusionShape.h:
2463         (ExclusionShape):
2464
2465 2013-04-03  Otto Derek Cheung  <otcheung@rim.com>
2466
2467         [BlackBerry] Switch MediaPlayerPrivateBlackBerry.cpp's timer to use CLOCK_MONOTONIC
2468         https://bugs.webkit.org/show_bug.cgi?id=113900
2469
2470         Reviewed by Rob Buis.
2471         Internally Reviewed by Jeff Rogers.
2472
2473         Timers should use CLOCK_MONOTONIC to avoid undesirable effects when
2474         the user switches the system time.
2475
2476         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2477         (WebCore::MediaPlayerPrivate::drawBufferingAnimation):
2478
2479 2013-04-03  Dave Michael  <dmichael@chromium.org>
2480
2481         Unable to focus on embedded plugins such as Flash via javascript focus()
2482         https://bugs.webkit.org/show_bug.cgi?id=32292
2483
2484         Reviewed by Ryosuke Niwa.
2485
2486         Make embed, object, and applet elements support focus() when
2487         appropriate. Prior to this patch, javascript focus() had no effect on
2488         embed, object, or applet elements unless tabindex or contenteditable is
2489         set. With this patch, focus() will focus the element unless the plugin
2490         content has failed to load (i.e., we are showing either fallback content
2491         or an unavailable plugin indicator).
2492
2493         Test: plugins/focus.html
2494               java/focus.html
2495
2496         * html/HTMLPlugInElement.cpp:
2497         (WebCore::HTMLPlugInElement::supportsFocus):
2498         Overridden to return true except when the plugin content has failed to load.
2499         * html/HTMLPlugInElement.h:
2500         (WebCore::HTMLPlugInElement::useFallbackContent):
2501         Moved up from HTMLPlugInImageElement.
2502         (WebCore::HTMLPlugInElement::supportsFocus):
2503         * html/HTMLPlugInElement.h:
2504         (WebCore::HTMLPlugInImageElement::useFallbackContent):
2505         Removed. Now the implementation is inherited from HTMLPlugInElement.
2506
2507 2013-04-03  Glenn Adams  <glenn@skynav.com>
2508
2509         Element boundaries prevent Japanese line break opportunities
2510         https://bugs.webkit.org/show_bug.cgi?id=105692
2511
2512         Reviewed by Darin Adler.
2513
2514         Introduce use of prior context when using text break iterators
2515         in non-ASCII path through nextBreakablePosition(). This enables
2516         the use of line break context across an element boundary for
2517         the non-ASCII path. Use of this context with the ASCII path was
2518         enabled by https://bugs.webkit.org/show_bug.cgi?id=17427.
2519
2520         Performance tests of line layout and html5 parsing show that this
2521         patch provides an approximately 4% improvement with Japanese and
2522         no statistically significant regression with ASCII path. Parsing
2523         (html5-full-render) performance is not significantly affected.
2524
2525         Tests: fast/text/line-break-between-text-nodes-cjk.html
2526                fast/text/line-break-between-text-nodes-latin1.html
2527
2528         Expect rebaselines will be needed due to different line breaks:
2529                fast/text/international/003.html
2530                fast/text/international/text-combine-image-test-expected.html
2531                fast/text/writing-mode/Kusa-Makura-background-canvas.html
2532
2533         * platform/text/TextBreakIterator.cpp:
2534         (WebCore::acquireLineBreakIterator): Pass prior context to non-ICU path.
2535         * platform/text/TextBreakIterator.h:
2536         (WebCore::LazyLineBreakIterator::priorContextLength): Added.
2537         (WebCore::LazyLineBreakIterator::get): Pass prior context to ICU path.
2538         (WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator): Editorial.
2539         * platform/text/TextBreakIteratorICU.cpp:
2540         Use prior context from line break iterators. Requires
2541         adding new UTF16 (UChar*) text provider and reimplementing
2542         Latin1 (LChar*) text provider. Implementation is optimized
2543         by using generic functionality that applies to both string
2544         sources.
2545         (WebCore::textPinIndex): Added.
2546         (WebCore::textNativeLength): Added.
2547         (WebCore::textFixPointer): Added.
2548         (WebCore::textClone): Added.
2549         (WebCore::textExtract): Added.
2550         (WebCore::textClose): Added.
2551         (WebCore::textGetContext): Added.
2552         (WebCore::textLatin1GetCurrentContext): Added.
2553         (WebCore::textLatin1MoveInPrimaryContext): Added.
2554         (WebCore::textLatin1SwitchToPrimaryContext): Added.
2555         (WebCore::textLatin1MoveInPriorContext): Added.
2556         (WebCore::textLatin1SwitchToPriorContext): Added.
2557         (WebCore::textInChunkOrOutOfRange): Added.
2558         (WebCore::textLatin1Access): Added.
2559         (WebCore::textInit): Added.
2560         (WebCore::textOpenLatin1): Added.
2561         (WebCore::textUTF16GetCurrentContext): Added.
2562         (WebCore::textUTF16MoveInPrimaryContext): Added.
2563         (WebCore::textUTF16SwitchToPrimaryContext): Added.
2564         (WebCore::textUTF16MoveInPriorContext): Added.
2565         (WebCore::textUTF16SwitchToPriorContext): Added.
2566         (WebCore::textUTF16Access): Added.
2567         (WebCore::textOpenUTF16): Added.
2568         (WebCore::acquireLineBreakIterator): Use new text providers with prior context.
2569         * platform/text/wchar/TextBreakIteratorWchar.cpp:
2570         (WebCore::acquireLineBreakIterator): Pass prior context to non-ICU path.
2571         * rendering/break_lines.cpp:
2572         (WebCore::nextBreakablePosition): Use prior context in ICU path.
2573
2574 2013-04-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2575
2576         [Chromium] Bad cast from BitmapImageSingleFrameSkia to BitmapImage
2577         https://bugs.webkit.org/show_bug.cgi?id=113492
2578
2579         Reviewed by Stephen White.
2580
2581         Remove BitmapImageSingleFrameSkia and have ImageBufferSkia construct
2582         BitmapImage objects instead via an intermediate NativeImageSkia.
2583
2584         No new tests, covered by existing tests.
2585
2586         * WebCore.gypi:
2587         * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp: Remove
2588         include for BitmapImageSingleFrameSkia.h header.
2589         * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Removed.
2590         * platform/graphics/skia/BitmapImageSingleFrameSkia.h: Removed.
2591         * platform/graphics/skia/ImageBufferSkia.cpp: Construct BitmapImage
2592         objects instead of BitmapImageSingleFrameSkia ones.
2593         (WebCore::ImageBuffer::copyImage):
2594         (WebCore::drawNeedsCopy):
2595         (WebCore::ImageBuffer::draw):
2596         (WebCore::ImageBuffer::drawPattern):
2597         * platform/graphics/skia/ImageSkia.cpp:
2598         (WebCore::BitmapImage::BitmapImage): Implement BitmapImage constructor
2599         that takes an NativeImageSkia* in argument.
2600         (WebCore):
2601         (WebCore::BitmapImage::draw): Remove m_source.initialized() check as
2602         this will return false for BitmapImage objects constructed from a
2603         NativeImageSkia, due to the lack of decoder.
2604         * platform/graphics/skia/NativeImageSkia.cpp:
2605         (WebCore::NativeImageSkia::NativeImageSkia): Add parameter to the
2606         NativeImageSkia constructor so that the caller can request a deep copy
2607         instead of a shallow one. This is needed by the ImageBuffer.
2608         * platform/graphics/skia/NativeImageSkia.h:
2609         * platform/image-decoders/ImageDecoder.h:
2610         (WebCore::ImageFrame::setSkBitmap):
2611
2612 2013-04-03  David Vest  <davve@opera.com>
2613
2614         ASSERTION FAILED: resultAnimationElement->m_animatedType
2615         https://bugs.webkit.org/show_bug.cgi?id=93528
2616
2617         Reviewed by Philip Rogers.
2618
2619         When the order of animation elements change within an animation
2620         group, we can't assume that the resultElement is the same as it
2621         was when the animation was frozen. Make sure to reset the
2622         animation type for the resultElement before updating the
2623         animation.
2624
2625         Test: svg/animations/animation-dependency-crash.html
2626
2627         * svg/animation/SVGSMILElement.cpp:
2628         (WebCore::SVGSMILElement::progress):
2629
2630 2013-04-03  Timothy Hatcher  <timothy@apple.com>
2631
2632         Stop unconditionally enabling JavaScript execution when closing the Web Inspector.
2633
2634         https://webkit.org/b/113889
2635         rdar://problem/12281794
2636
2637         Reviewed by Joseph Pecoraro.
2638
2639         * inspector/InspectorPageAgent.cpp:
2640         (WebCore::InspectorPageAgent::InspectorPageAgent): Initialize m_originalScriptExecutionDisabled.
2641         (WebCore::InspectorPageAgent::enable): Populate m_originalScriptExecutionDisabled based on current setting.
2642         (WebCore::InspectorPageAgent::disable): Restore previous setting.
2643         * inspector/InspectorPageAgent.h:
2644         (InspectorPageAgent): Added m_originalScriptExecutionDisabled.
2645
2646 2013-04-03  Dean Jackson  <dino@apple.com>
2647
2648         Cross fade into restarted plugin
2649         https://bugs.webkit.org/show_bug.cgi?id=113868
2650
2651         Reviewed by Tim Horton.
2652
2653         Allow a restarted plugin to fade in over its snapshot, avoiding the abrupt
2654         flash of empty content. The WebCore part of this patch marks the plugin
2655         element as restarted, and draws the snapshot for a short amount of time
2656         as the plugin is restarting. After the plugin has reappeared, we stop drawing
2657         the snapshot.
2658
2659         There is a little bit of drive-by whitespace removal in HTMLPlugInImageElement.
2660
2661         * html/HTMLPlugInElement.h:
2662         (WebCore::HTMLPlugInElement::restartedPlugin): New method indicating if the plugin has been restarted.
2663         * html/HTMLPlugInImageElement.cpp:
2664         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialise new timer and member variable.
2665         (WebCore::HTMLPlugInImageElement::setDisplayState): If we are moving into a restarting state, make sure
2666             to remember this and also start a timer so that we show the snapshot for while.
2667         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): No need to draw the snapshot from here on.
2668         * html/HTMLPlugInImageElement.h:
2669         (HTMLPlugInImageElement): Member variable to remember if we've restarted.
2670         * rendering/RenderEmbeddedObject.cpp:
2671         (WebCore::RenderEmbeddedObject::paintContents): Only exit early from the paint if we're not a restarting
2672             plugin, otherwise we do want to draw the snapshot if there is one.
2673         * rendering/RenderLayerBacking.cpp:
2674         (WebCore::isRestartedPlugin): Detects a restarted plugin.
2675         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Don't become a simple container
2676             compositing layer if you're a restarted plugin.
2677
2678 2013-04-03  John Griggs  <jgriggs@blackberry.com>
2679
2680         [BlackBerry] Adjustments to media controls appearance.
2681         https://bugs.webkit.org/show_bug.cgi?id=113816
2682         https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=316398
2683         https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=316438
2684
2685         Updates to the BlackBerry media controls:
2686          - extend the timeline slider.
2687          - move the volume slider for audio elements up so it does not overlap the main panel.
2688          - upstream some other cosmetic changes to media controls that were not previously upstreamed.
2689
2690         Reviewed by Rob Buis.
2691
2692         BlackBerry-specific, cosmetic change; No new tests required.
2693
2694         * platform/blackberry/RenderThemeBlackBerry.cpp:
2695         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
2696         (WebCore::RenderThemeBlackBerry::paintMediaPlayButton):
2697         (WebCore::RenderThemeBlackBerry::paintMediaMuteButton):
2698         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
2699         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
2700         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderThumb):
2701
2702 2013-04-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2703
2704         [Gstreamer] Use gst_buffer_extract() in copyGstreamerBuffersToAudioChannel()
2705         https://bugs.webkit.org/show_bug.cgi?id=113880
2706
2707         Reviewed by Philippe Normand.
2708
2709         copyGstreamerBuffersToAudioChannel() was mapping the GstBuffer content to memcpy
2710         it to the AudioChannel buffer. This patch leverages gst_buffer_extract() to
2711         simplify the code as it does exactly what we need: gst_buffer_map, memcpy,
2712         gst_buffer_unmap and error handling.
2713
2714         Also replace GstBuffer NULL check by an assertion as we already make sure they
2715         are not NULL before adding them to the list. Additionally, we now call
2716         audioChannel->mutableData() only once instead of once per iteration. It is
2717         a bit better as the getter does some work internally.
2718
2719         No new tests, no behavior change.
2720
2721         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2722         (WebCore::copyGstreamerBuffersToAudioChannel):
2723
2724 2013-04-03  Antoine Quint  <graouts@apple.com>
2725
2726         Web Inspector: DOM.highlightRect() and DOM.highlightQuad() should allow for page coordinates
2727         https://bugs.webkit.org/show_bug.cgi?id=113869
2728
2729         Add a new "usePageCoordinates" parameter to DOM.highlightRect() and DOM.highlightQuad()
2730         allowing to specify that the rect or quad to highlight should be converted to page
2731         coordinates instead of using the default viewport coordinates.
2732
2733         Reviewed by Timothy Hatcher.
2734
2735         * inspector/Inspector.json:
2736         * inspector/InspectorDOMAgent.cpp:
2737         (WebCore::InspectorDOMAgent::highlightRect):
2738         (WebCore::InspectorDOMAgent::highlightQuad):
2739         (WebCore::InspectorDOMAgent::innerHighlightQuad):
2740         Store the "usePageCoordinates" parameter obtained from the protocol calls onto the
2741         highlight configuration object so that it may be used within the InspectorOverlay.
2742
2743         * inspector/InspectorDOMAgent.h:
2744         (InspectorDOMAgent):
2745         * inspector/InspectorOverlay.cpp:
2746         (WebCore::InspectorOverlay::highlightQuad):
2747         Check the highlight configuration for the "usePageCoordinates" parameter and
2748         apply the inverse of the page's scroll offset to the quad if it's true.
2749
2750         * inspector/InspectorOverlay.h:
2751         (HighlightConfig):
2752         (WebCore::Highlight::setDataFromConfig):
2753         (Highlight):
2754
2755 2013-04-03  Kangil Han  <kangil.han@samsung.com>
2756
2757         Add omitted reference operator of VisiblePosition in AccessibilityObject
2758         https://bugs.webkit.org/show_bug.cgi?id=113879
2759
2760         Reviewed by Darin Adler.
2761
2762         Seems reference operator has been omitted in startOfStyleRange function, so add it.
2763
2764         * accessibility/AccessibilityObject.cpp:
2765         (WebCore::startOfStyleRange):
2766
2767 2013-04-03  Jessie Berlin  <jberlin@apple.com>
2768
2769         Update the localizable strings file.
2770
2771         Rubber-stamped by Michael Saboff.
2772
2773         * English.lproj/Localizable.strings:
2774
2775 2013-04-03  David Kilzer  <ddkilzer@apple.com>
2776
2777         BUILD FIX (r147493): Fix number of arguments to AudioDestinationIOS constructor
2778
2779         Fixes the following build failures:
2780
2781             Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp:84:25: error: no matching constructor for initialization of 'WebCore::AudioDestinationIOS'
2782                 return adoptPtr(new AudioDestinationIOS(callback, sampleRate));
2783                                     ^                   ~~~~~~~~~~~~~~~~~~~~
2784             In file included from Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp:36:
2785             Source/WebCore/platform/audio/ios/AudioDestinationIOS.h:44:5: note: candidate constructor not viable: requires 3 arguments, but 2 were provided
2786                 AudioDestinationIOS(AudioIOCallback&, unsigned numberOfOutputChannels, double sampleRate);
2787                 ^
2788             Source/WebCore/platform/audio/ios/AudioDestinationIOS.h:42:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
2789             class AudioDestinationIOS : public AudioDestination, public AudioSessionListener {
2790                   ^
2791             Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp:101:22: error: out-of-line definition of 'AudioDestinationIOS' does not match any declaration in 'WebCore::AudioDestinationIOS'
2792             AudioDestinationIOS::AudioDestinationIOS(AudioIOCallback& callback, double sampleRate)
2793                                  ^~~~~~~~~~~~~~~~~~~
2794             2 errors generated.
2795
2796         * platform/audio/ios/AudioDestinationIOS.h:
2797         (AudioDestinationIOS): Remove numberOfOutputChannels argument.
2798
2799 2013-04-03  David Kilzer  <ddkilzer@apple.com>
2800
2801         BUILD FIX (r147494): -[AVAudioSession setCategory:error:] takes NSError**
2802
2803         Fixes the following build failure:
2804
2805             Source/WebCore/platform/audio/ios/AudioSessionIOS.mm:151:71: error: cannot initialize a parameter of type 'NSError **' with an lvalue of type 'NSError *'
2806                 [[AVAudioSession sharedInstance] setCategory:categoryString error:error];
2807                                                                                   ^~~~~
2808
2809         * platform/audio/ios/AudioSessionIOS.mm:
2810         (WebCore::AudioSession::setCategory): Add '&' operator.
2811
2812 2013-04-03  Felipe Zimmerle  <felipe@zimmerle.org>
2813
2814         CSP blocks inline style when cloning a node
2815         https://bugs.webkit.org/show_bug.cgi?id=112270
2816
2817         Reviewed by Adam Barth.
2818
2819         Checks if the Element is being cloned, if so, the application of the
2820         style is allowed otherwise it relies on default permission mechanism.
2821
2822         Test: http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html
2823
2824         * dom/Element.cpp:
2825         (WebCore::Element::attributeChanged): Added parameter
2826         AttributeModificationReason to the method signature.
2827         (WebCore::Element::cloneAttributesFromElement): It is now calling 
2828         attributeChanged with AttributeModificationReason parameter. In this scope
2829         it is always set to ModifiedByCloning.
2830         (WebCode::Element::attributeChangedFromParserOrByCloning):
2831         Added parameter AttributeModificationReason.
2832         * dom/Element.h: Added AttributeModificationReason enum. Used to specify
2833         whenever an attribute was set by a cloned oject or directly.
2834         AttributeModificationReason added to attributeChanged with the default
2835         value set to ModifiedDirectly. 
2836         * dom/StyledElement.cpp: 
2837         (WebCore::StyledElement::attributeChanged): Added
2838         AttributeModificationReason to the method signature.
2839         (WebCore::StyledElement::styleAttributeChanged): Now it is checking the
2840         reason of the update, if the reason is ModifiedDirectly check CSP
2841         before set. If ModifiedByCloning set the attribute ignoring the CSP
2842         policy.
2843         * dom/StyledElement.h:
2844         (StyledElement): Added AttributeModificationReason parameter to the methods:
2845         attributeChanged and styleAttributeChanged, attributeChanged has
2846         ModifiedDirectly as default value.
2847         * svg/SVGElement.cpp: 
2848         (WebCore::SVGElement::attributeChanged): Added AttributeModificationReason
2849         parameter to the method signature.
2850         * svg/SVGElement.h: 
2851         (SVGElement): Added AttributeModificationReason parameter to the
2852         attributeChanged signature with the default value set to:
2853         ModifiedDirectly.
2854
2855 2013-04-03  Csaba Osztrogonác  <ossy@webkit.org>
2856
2857         Unreviewed 32bit buildfix after r147542.
2858
2859         * Modules/websockets/WebSocket.cpp:
2860         (WebCore::WebSocket::didReceiveBinaryData):
2861
2862 2013-04-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2863
2864         [Gstreamer] Avoid calls to g_slist_nth_data in webKitWebAudioSrcLoop()
2865         https://bugs.webkit.org/show_bug.cgi?id=113875
2866
2867         Reviewed by Philippe Normand.
2868
2869         webKitWebAudioSrcLoop() was iterating over 2 GSLists by using a counter and then
2870         calling g_slist_nth_data() to get the element of each GSList. This is inefficient
2871         because calling g_slist_nth_data() will iterate the GSList up until index 'n'.
2872
2873         This patch improves this by keeping pointers to the current element of each list
2874         while iterating, so that we can simply use g_slist_next() to iterate instead
2875         of g_slist_nth_data().
2876
2877         No new tests, no behavior change.
2878
2879         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2880         (webKitWebAudioSrcLoop):
2881
2882 2013-04-03  Keishi Hattori  <keishi@webkit.org>
2883
2884         Actions that require user gesture don't work in window.showModalDialog in Chromium
2885         https://bugs.webkit.org/show_bug.cgi?id=113777
2886
2887         Reviewed by Jochen Eisinger.
2888
2889         In Chromium the window for showModalDialog is not modal which causes the
2890         UserGestureIndicator to block actions in the sub window. We introduce a
2891         RAII that saves the UserGestureIndicator and state, then resets it before
2892         runModalDialog, and restore it when it's done.
2893
2894         No new tests. Can't cause user gesture inside modal dialog.
2895
2896         * dom/UserGestureIndicator.cpp:
2897         (WebCore::UserGestureIndicatorDisabler::UserGestureIndicatorDisabler): Saves and resets the topmost indicator and state.
2898         (WebCore):
2899         (WebCore::UserGestureIndicatorDisabler::~UserGestureIndicatorDisabler): Restores topmost indicator and state.
2900         * dom/UserGestureIndicator.h:
2901         (WebCore):
2902         (UserGestureIndicatorDisabler): RAII to temporarily disable UserGestureIndicator.
2903         (UserGestureIndicator): Allow access to UserGestureIndicatorDisabler.
2904         * page/DOMWindow.cpp:
2905         (WebCore::DOMWindow::showModalDialog): Disable UserGestureIndicator while runModalDialog.
2906
2907 2013-04-03  Zeno Albisser  <zeno@webkit.org>
2908
2909         [Qt] Fail gracefully if an OpenGL context could not be created.
2910         https://bugs.webkit.org/show_bug.cgi?id=113784
2911
2912         In case we fail to create or adopt a valid platform OpenGL context
2913         we do not want to provide a GraphicsContext3D instance.
2914         Otherwise we would crash as soon as the instance is being used.
2915
2916         Reviewed by Jocelyn Turcotte.
2917
2918         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2919         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2920         (WebCore::GraphicsContext3D::GraphicsContext3D):
2921
2922 2013-04-03  ChangSeok Oh  <changseok.oh@collabora.com>
2923
2924         [GTK][AC] Implement matrix keyframe animations with clutter ac backend
2925         https://bugs.webkit.org/show_bug.cgi?id=110314
2926
2927         Reviewed by Gustavo Noronha Silva.
2928
2929         Clutter 1.12 doesn't support additive transform animations yet, So clutter ac backend
2930         uses matrix animations for the case. This patch follows changeset 143369, 143343
2931         to support matrix keyframe animations. I believe this change is easy if you understand
2932         above two changesets.
2933
2934         Covered by existing animation tests.
2935
2936         * platform/graphics/clutter/PlatformClutterAnimation.cpp:
2937         (WebCore::PlatformClutterAnimation::setValues):
2938         (WebCore::PlatformClutterAnimation::addClutterKeyframeTransitionForProperty):
2939         (WebCore):
2940         (WebCore::PlatformClutterAnimation::addTransformTransition):
2941         * platform/graphics/clutter/PlatformClutterAnimation.h:
2942         (PlatformClutterAnimation):
2943
2944 2013-04-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2945
2946         Should close select popup when the element loses focus
2947         https://bugs.webkit.org/show_bug.cgi?id=113220
2948
2949         Reviewed by Kent Tamura.
2950
2951         Test: fast/forms/select-popup-closes-on-blur.html
2952
2953         * html/HTMLSelectElement.cpp:
2954         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): handle the blur event, closing
2955         the popup menu if any.
2956         * testing/Internals.cpp:
2957         (WebCore::Internals::isSelectPopupVisible): utility to query the select node renderer to
2958         find out whether the popup is open or closed.
2959         (WebCore):
2960         * testing/Internals.h: add the new method definition.
2961         * testing/Internals.idl: ditto.
2962
2963 2013-03-28  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2964
2965         [Qt] Switch ContextMenu implementation to CROSS_PLATFORM_CONTEXT_MENU
2966         https://bugs.webkit.org/show_bug.cgi?id=113535
2967
2968         Reviewed by Simon Hausmann.
2969
2970         Now Qt uses the CROSS_PLATFORM_CONTEXT_MENUS
2971         USE flag. This flag provides a full cross-platform
2972         representation of a ContextMenu and a ContextMenuItem.
2973         The embedder can then decide how to show this, so neither
2974         WebCore nor WebCore/platform need to know any platform
2975         specifics about menus.
2976
2977         No new tests, no behavior changes.
2978
2979         * Target.pri:
2980         * platform/ContextMenu.h:
2981         (ContextMenu):
2982         * platform/ContextMenuItem.h:
2983         * platform/qt/ContextMenuItemQt.cpp:
2984         (WebCore::ContextMenuItem::platformContextMenuItem):
2985         * platform/qt/ContextMenuQt.cpp:
2986         (WebCore::ContextMenu::ContextMenu):
2987         (WebCore::ContextMenu::getContextMenuItems):
2988         (WebCore::ContextMenu::createPlatformContextMenuFromItems):
2989         (WebCore::ContextMenu::platformContextMenu):
2990
2991 2013-04-03  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2992
2993         [Qt] Monospace font does not render in proper sizes
2994         https://bugs.webkit.org/show_bug.cgi?id=93263
2995
2996         Reviewed by Jocelyn Turcotte.
2997
2998         Remove this patch's artificial dependency on Qt 5.1.
2999
3000         * platform/graphics/qt/FontPlatformDataQt.cpp:
3001         (WebCore::FontPlatformData::FontPlatformData):
3002
3003 2013-04-03  Takeshi Yoshino  <tyoshino@chromium.org>
3004
3005         Refine LOG messages in WebSocket related components
3006         https://bugs.webkit.org/show_bug.cgi?id=113852
3007
3008         Reviewed by Kent Tamura.
3009
3010         Refine LOG messages by
3011         - Make them contain method names to ease identifying where the event occurred.
3012         - For consistency, make all messages print the pointer of the origin instance.
3013         - Quote UTF8 data in LOG messages.
3014         - For overloaded methods, add the type to clarify which one is run
3015
3016         * Modules/websockets/WebSocket.cpp:
3017         (WebCore::WebSocket::connect):
3018         (WebCore::WebSocket::send):
3019         (WebCore::WebSocket::close):
3020         (WebCore::WebSocket::contextDestroyed):
3021         (WebCore::WebSocket::didConnect):
3022         (WebCore::WebSocket::didReceiveMessage):
3023         (WebCore::WebSocket::didReceiveBinaryData):
3024         (WebCore::WebSocket::didReceiveMessageError):
3025         (WebCore::WebSocket::didUpdateBufferedAmount):
3026         (WebCore::WebSocket::didStartClosingHandshake):
3027         (WebCore::WebSocket::didClose):
3028         * Modules/websockets/WebSocketChannel.cpp:
3029         (WebCore::WebSocketChannel::connect):
3030         (WebCore::WebSocketChannel::subprotocol):
3031         (WebCore::WebSocketChannel::extensions):
3032         (WebCore::WebSocketChannel::send):
3033         (WebCore::WebSocketChannel::bufferedAmount):
3034         (WebCore::WebSocketChannel::close):
3035         (WebCore::WebSocketChannel::fail):
3036         (WebCore::WebSocketChannel::disconnect):
3037         (WebCore::WebSocketChannel::willOpenSocketStream):
3038         (WebCore::WebSocketChannel::didOpenSocketStream):
3039         (WebCore::WebSocketChannel::didCloseSocketStream):
3040         (WebCore::WebSocketChannel::didReceiveSocketStreamData):
3041         (WebCore::WebSocketChannel::didFailSocketStream):
3042         (WebCore::WebSocketChannel::didStartLoading):
3043         (WebCore::WebSocketChannel::didReceiveData):
3044         (WebCore::WebSocketChannel::didFinishLoading):
3045         (WebCore::WebSocketChannel::didFail):
3046         (WebCore::WebSocketChannel::appendToBuffer):
3047         (WebCore::WebSocketChannel::processBuffer):
3048         (WebCore::WebSocketChannel::startClosingHandshake):
3049         (WebCore::WebSocketChannel::closingTimerFired):
3050         * Modules/websockets/WebSocketDeflater.cpp:
3051         (WebCore::WebSocketDeflater::~WebSocketDeflater):
3052         (WebCore::WebSocketInflater::~WebSocketInflater):
3053         * Modules/websockets/WebSocketHandshake.cpp:
3054         (WebCore::WebSocketHandshake::readServerHandshake):
3055         * platform/network/chromium/SocketStreamHandle.cpp:
3056         (WebCore::SocketStreamHandleInternal::connect):
3057         (WebCore::SocketStreamHandleInternal::send):
3058         (WebCore::SocketStreamHandleInternal::close):
3059         (WebCore::SocketStreamHandleInternal::didOpenStream):
3060         (WebCore::SocketStreamHandleInternal::didSendData):
3061         (WebCore::SocketStreamHandleInternal::didReceiveData):
3062         (WebCore::SocketStreamHandleInternal::didClose):
3063         (WebCore::SocketStreamHandleInternal::didFail):
3064
3065 2013-04-03  Tor Arne Vestbø  <tor.arne.vestbo@digia.com>
3066
3067         [Qt] Update QMAKE_MAC_SDK check for Qt 5.1
3068
3069         Relies on QMAKE_MAC_SDK_VERSION set in features.prf
3070
3071         Reviewed by Simon Hausmann.
3072
3073         * WebCore.pri:
3074
3075 2013-04-03  Kristof Provost  <kristof@codepro.be>
3076
3077         [Qt] assignToHTMLImageElement no longer exists in Qt5
3078         https://bugs.webkit.org/show_bug.cgi?id=113639
3079
3080         Reviewed by Simon Hausmann.
3081
3082         No new tests: covered by ./Source/WebKit/qt/tests/hybridPixmap/test.html
3083
3084         * bridge/qt/qt_pixmapruntime.cpp:
3085         (JSC::Bindings::QtPixmapRuntime::getClassRef):
3086
3087 2013-04-03  Antoine Quint  <graouts@apple.com>
3088
3089         Web Inspector: crash in WebCore::InspectorLayerTreeAgent::buildObjectForLayer if a layer is created for an anonymous RenderObject (:first-letter)
3090         https://bugs.webkit.org/show_bug.cgi?id=113768
3091
3092         The InspectorLayerTreeAgent now knows how to deal with anonymous RenderObjects
3093         for the :first-letter and :first-line pseudo-elements.
3094
3095         Reviewed by Timothy Hatcher.
3096
3097         Test: inspector-protocol/layers/layers-anonymous.html
3098
3099         * inspector/Inspector.json:
3100         Change the Layer type in the LayerTree domain to have more accurate terminology
3101         (pseudo-element vs. pseudo-class) and a new optional isAnonymous flag for layers
3102         associated to anonymous RenderObjects.
3103
3104         * inspector/InspectorLayerTreeAgent.cpp:
3105         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
3106         Check for anonymous RenderObjects and set the parent renderer's node as the node
3107         for this layer since anonymous renderers have the Document as their node and this
3108         would not be satisfactory to show in a front-end. We also check for anonymous
3109         RenderObjects for the :first-letter and :first-line pseudo-elements and set them
3110         in the pseudoElement property of the Layer object created such that a front-end
3111         could correctly identify what type of pseudo-element for the associated node
3112         yielded this layer.
3113
3114         (WebCore::InspectorLayerTreeAgent::idForNode):
3115         Here we fix the actual crash by first checking if the node provided is null and
3116         returning 0 if there's no such node. This ensures that any scenario where there
3117         is no node associated with the RenderObject simply informs of the front-end that
3118         no such node exists and we do not crash.
3119
3120 2013-04-03  Alexander Pavlov  <apavlov@chromium.org>
3121
3122         Web Inspector: [REGRESSION(r147117)][Elements] Copy/paste keyboard shortcuts broken in "Edit as HTML"
3123         https://bugs.webkit.org/show_bug.cgi?id=113798
3124
3125         Reviewed by Yury Semikhatsky.
3126
3127         Stop propagation of "copy" event from the multiline editor's
3128         CodeMirror host element so that it is not handled by
3129         WebInspector.documentCopy().
3130
3131         * inspector/front-end/UIUtils.js:
3132         (.consumeCopy):
3133         (.cleanUpAfterEditing):
3134         * inspector/front-end/inspector.js:
3135         (WebInspector.addMainEventListeners):
3136
3137 2013-04-03  Takashi Sakamoto  <tasak@google.com>
3138
3139         With borders of differing alpha, the corners become squared off
3140         https://bugs.webkit.org/show_bug.cgi?id=113744
3141
3142         Reviewed by Simon Fraser.
3143
3144         paintTranslucentBorderSides should pick up borders with common color
3145         in order: top, bottom, left and right (not top, right, bottom and
3146         left), because willBeOverdrawn depends on the assumption, borders are
3147         drawn in order: top, bottom, left and right.
3148
3149         Test: fast/borders/border-left-right-same-bottom-different-color.html
3150
3151         * rendering/RenderBoxModelObject.cpp:
3152         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
3153
3154 2013-04-03  Mihnea Ovidenie  <mihnea@adobe.com>
3155
3156         [New Multicolumn]Remove assert in RenderMultiColumnFlowThread::createAnonymous
3157         https://bugs.webkit.org/show_bug.cgi?id=113855
3158
3159         Reviewed by Antti Koivisto.
3160
3161         Remove CSSRegions specific assert from new multicolumn implementation.
3162         No change in functionality, no new tests.
3163
3164         * rendering/RenderMultiColumnFlowThread.cpp:
3165         (WebCore::RenderMultiColumnFlowThread::createAnonymous):
3166
3167 2013-04-03  Mike West  <mkwst@chromium.org>
3168
3169         X-Frame-Options: Blocked frames should not inherit their parent's SecurityOrigin.
3170         https://bugs.webkit.org/show_bug.cgi?id=112903
3171
3172         Reviewed by Adam Barth.
3173
3174         This change brings WebKit in line with IE and Gecko's behavior, both of
3175         which treat the blocked frame as being cross-origin for the purposes of
3176         access checks ('[frame].contentWindow.location.href' is inaccessible,
3177         for example).
3178
3179         * dom/Document.cpp:
3180         (WebCore::Document::processHttpEquiv):
3181             Rather than redirecting to 'about:blank', redirect to a URL which
3182             does not inherit the SecurityOrigin of the parent.
3183         * loader/DocumentLoader.cpp:
3184         (WebCore::DocumentLoader::responseReceived):
3185             Before calling cancelMainResourceLoad, ensure that the frame's
3186             document is sandboxed into a unique origin so that it doesn't inherit
3187             the parent's SecurityOrigin.
3188
3189 2013-04-03  Mikhail Naganov  <mnaganov@chromium.org>
3190
3191         [Chromium] Implement target-densityDpi viewport property emulation
3192         https://bugs.webkit.org/show_bug.cgi?id=110835
3193
3194         The value is only used in the Chromium port, when the corresponding
3195         setting is enabled.
3196
3197         This is needed for supporting existing WebView-based applications
3198         that rely on this property.
3199
3200         Reviewed by Adam Barth.
3201
3202         * dom/ViewportArguments.cpp:
3203         (WebCore::findTargetDensityDPIValue):
3204         (WebCore):
3205         (WebCore::setViewportFeature):
3206         * dom/ViewportArguments.h:
3207         (WebCore::ViewportArguments::ViewportArguments):
3208         (ViewportArguments):
3209         (WebCore::ViewportArguments::operator==):
3210
3211 2013-04-03  Mike West  <mkwst@chromium.org>
3212
3213         Extract URL that doesn't inherit a parent's SecurityOrigin out into a constant.
3214         https://bugs.webkit.org/show_bug.cgi?id=113780
3215
3216         Reviewed by Jochen Eisinger.
3217
3218         We're scheduling navigations to 'data:text/html,' in XSSAuditor in
3219         order to end up on a page that doesn't inherit its parent's
3220         SecurityOrigin. We'll be reusing this mechainsm to solve
3221         http://wkbug.com/112903
3222
3223         This patch makes us more explicit about what we're doing and why.
3224         It doesn't change any behavior: XSSAuditor tests should still pass.
3225
3226         * html/parser/XSSAuditorDelegate.cpp:
3227         (WebCore::XSSAuditorDelegate::didBlockScript):
3228             Use SecurityOrigin::urlWithUniqueSecurityOrigin rather than a
3229             literal string to make our intentions clear.
3230         * page/SecurityOrigin.cpp:
3231         (WebCore::SecurityOrigin::urlWithUniqueSecurityOrigin):
3232         * page/SecurityOrigin.h:
3233             Add the new static method.
3234
3235 2013-04-02  Chris Fleizach  <cfleizach@apple.com>
3236
3237         clean up static casts in WebAccessibilityObjectWrapperMac.mm to methods like toAccessibilityList()
3238         https://bugs.webkit.org/show_bug.cgi?id=113828
3239
3240         Reviewed by Tim Horton.
3241
3242         static_cast changed to toAccessibilityList().
3243
3244         * accessibility/AccessibilityList.h:
3245         (WebCore::toAccessibilityList):
3246         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3247         (-[WebAccessibilityObjectWrapper subrole]):
3248         (-[WebAccessibilityObjectWrapper roleDescription]):
3249
3250 2013-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3251
3252         Unreviewed, rolling out r147370.
3253         http://trac.webkit.org/changeset/147370
3254         https://bugs.webkit.org/show_bug.cgi?id=113850
3255
3256         This patch is causing crashes in video tests on all Mac bots.
3257         (Requested by jernoble_ on #webkit).
3258
3259         * html/HTMLMediaElement.cpp:
3260         (WebCore::HTMLMediaElement::~HTMLMediaElement):
3261
3262 2013-04-02  James Craig  <james@cookiecrook.com>
3263
3264         AXRoleDescripton for DL is "list"; should be "description list"
3265         https://bugs.webkit.org/show_bug.cgi?id=111665
3266
3267         Reviewed by Chris Fleizach.
3268
3269         Defining the role and description strings, and accessors for DL.
3270         This previously relied on getting the role and description from the platform API.
3271
3272         Updated existing test coverage.
3273
3274         * English.lproj/Localizable.strings:
3275         * accessibility/AccessibilityObject.h:
3276         * accessibility/AccessibilityRenderObject.cpp:
3277         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3278         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3279         (createAccessibilityRoleMap):
3280         (-[WebAccessibilityObjectWrapper subrole]):
3281         (-[WebAccessibilityObjectWrapper roleDescription]):
3282         * platform/LocalizedStrings.cpp:
3283         (WebCore::AXDescriptionListText):
3284         (WebCore):
3285         * platform/LocalizedStrings.h:
3286         (WebCore):
3287         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
3288         (WebCore::AXDescriptionListText):
3289         (WebCore):
3290         * platform/chromium/LocalizedStringsChromium.cpp:
3291         (WebCore::AXDescriptionListText):
3292         (WebCore):
3293         * platform/efl/LocalizedStringsEfl.cpp:
3294         (WebCore::AXDescriptionListText):
3295         (WebCore):
3296         * platform/gtk/LocalizedStringsGtk.cpp:
3297         (WebCore::AXDescriptionListText):
3298         (WebCore):
3299         * platform/qt/LocalizedStringsQt.cpp:
3300         (WebCore::AXDescriptionListText):
3301         (WebCore):
3302
3303 2013-04-02  Eugene Klyuchnikov  <eustas@chromium.org>
3304
3305         Web Inspector: [Network] Split business logic and presentation for initiator column.
3306         https://bugs.webkit.org/show_bug.cgi?id=113486
3307
3308         Reviewed by Pavel Feldman.
3309
3310         Currently business logic and presentation are mixed.
3311         This prevents making cell renderer static and applying
3312         viewport rendering, because initiator sorting function
3313         depends on data written when cell is rendered.
3314
3315         * inspector/front-end/NetworkPanel.js:
3316         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
3317         Removed business logic. Use "initiatorInfo".
3318         (WebInspector.NetworkDataGridNode.InitiatorComparator):
3319         Use "initiatorInfo".
3320         * inspector/front-end/NetworkRequest.js:
3321         (WebInspector.NetworkRequest.prototype.initiatorInfo):
3322         Extracted business logic from "refreshInitiatorCell".
3323
3324 2013-04-02  Ryosuke Niwa  <rniwa@webkit.org>
3325
3326         needsLeopardMailQuirks should be removed
3327         https://bugs.webkit.org/show_bug.cgi?id=113749
3328
3329         Reviewed by Benjamin Poulain.
3330
3331         Removed needsLeopardMailQuirks from settings.in after r147447.
3332
3333         * page/Settings.in:
3334
3335 2013-04-02  Jaehun Lim  <ljaehun.lim@samsung.com>
3336
3337         [css3-text] Rendering -webkit-each-line value for text-indent from css3-text
3338         https://bugs.webkit.org/show_bug.cgi?id=113259
3339
3340         Reviewed by Levi Weintraub.
3341
3342         CSS3 TEXT introduces new value, "each-line" for text-indent.
3343         Indentation affects the first line of the block container as well as each line
3344         after a forced line break, but does not affect lines after a soft wrap break.
3345
3346         This patch is the rendering part to support each-line value for text-indent.
3347         It's prefixed and guarded by CSS3_TEXT flag.
3348
3349         Test: fast/css3-text/css3-text-indent/text-indent-each-line.html
3350
3351         * rendering/RenderBlock.h:
3352         (WebCore::RenderBlock::availableLogicalWidthForLine):
3353         (WebCore::RenderBlock::logicalRightOffsetForLine):
3354         (WebCore::RenderBlock::logicalLeftOffsetForLine):
3355         (WebCore::RenderBlock::startOffsetForLine):
3356         (WebCore::RenderBlock::endOffsetForLine):
3357         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
3358         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
3359             Rename a parameter from firstLine to shouldIndentText.
3360
3361         * rendering/RenderBlockLineLayout.cpp:
3362         (WebCore::LineWidth::LineWidth):
3363         (WebCore::LineWidth::shouldIndentText): Return boolean according to m_shouldIndentText.
3364         (WebCore::LineWidth::updateAvailableWidth):
3365         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
3366         (WebCore::LineWidth::fitBelowFloats):
3367             Add enum IndentTextOrNot and m_shouldIndentText.
3368             Use m_shouldIndentText instead of m_isFirstLine.
3369
3370         (WebCore::requiresIndent): Decide whether text indentation is required.
3371         (WebCore::updateLogicalInlinePositions):
3372         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3373         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
3374
3375 2013-04-02  Glenn Adams  <glenn@skynav.com>
3376
3377         Generalize prior line break context state and names.
3378         https://bugs.webkit.org/show_bug.cgi?id=113823
3379
3380         Reviewed by Darin Adler.
3381
3382         No new tests required due to no behavioral change.
3383
3384         * platform/text/TextBreakIterator.h:
3385         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
3386         (WebCore::LazyLineBreakIterator::lastCharacter):
3387         (WebCore::LazyLineBreakIterator::secondToLastCharacter):
3388         (WebCore::LazyLineBreakIterator::setPriorContext):
3389         (WebCore::LazyLineBreakIterator::updatePriorContext):
3390         (WebCore::LazyLineBreakIterator::resetPriorContext):
3391         (WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator):
3392         Store previous characters as prior context buffer used directly
3393         by line break iterator implementation. Rename members to reflect
3394         somewhat more general usage. Also fix bad indentations.
3395         * rendering/RenderBlockLineLayout.cpp:
3396         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
3397         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
3398         Use renamed line break iterator methods.
3399
3400 2013-04-02  Emil A Eklund  <eae@chromium.org>
3401
3402         Padding applied twice for empty generated RenderInlines
3403         https://bugs.webkit.org/show_bug.cgi?id=113800
3404
3405         Reviewed by Levi Weintraub.
3406         
3407         The padding for empty generated content render objects is
3408         incorrectly applied twice. Regression from r140693.
3409
3410         Test: fast/css-generated-content/margin-empty-content.html
3411
3412         * rendering/RenderBlockLineLayout.cpp:
3413         (WebCore::inlineLogicalWidth):
3414
3415 2013-04-02  Levi Weintraub  <leviw@chromium.org>
3416
3417         InlineIterator needs to be updated when RenderCombineText shrinks at a line break
3418         https://bugs.webkit.org/show_bug.cgi?id=113733
3419
3420         Reviewed by Emil A Eklund.
3421
3422         Update stale InlineIterators that point beyond the end of a RenderCombineText that's
3423         shrunk when RenderCombineText::combineText() is called.
3424
3425         Test: fast/text/international/combine-at-line-break-crash.html
3426
3427         * rendering/BidiRun.h:
3428         (WebCore::BidiRun::BidiRun): Adding an assertion that runs are created within
3429         the bounds of their associated RenderText.
3430         * rendering/RenderBlockLineLayout.cpp:
3431         (WebCore::iteratorIsBeyondEndOfRenderCombineText): Added.
3432         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Update stale iterators.
3433
3434 2013-04-02  Max Vujovic  <mvujovic@adobe.com>
3435
3436         [CSS Filters] Filter outsets clipped on composited layers when filter is applied after first layout
3437         https://bugs.webkit.org/show_bug.cgi?id=109098
3438
3439         Reviewed by Dean Jackson.
3440
3441         This patch addresses the following issues:
3442         (1) Compositors who can compute their own filter outsets don't need WebKit to inflate the
3443             composited layer bounds. Eventually, all platforms' compositors should be able to
3444             compute their own filter outsets.
3445         (2) When filter outsets change, we need to update composited layer bounds if the filters are
3446             painted in software.
3447         (3) When filter outsets change, we need to recompute the overlap map to promote the correct
3448             layers to composited layers on all platforms.
3449
3450         Tests: css3/filters/composited-layer-bounds-after-sw-blur-animation.html
3451                css3/filters/composited-layer-bounds-with-composited-blur.html
3452                css3/filters/composited-layer-child-bounds-after-composited-to-sw-shadow-change.html
3453                css3/filters/composited-layer-promotion-after-outset-overlap-change-using-composited-shadow.html
3454                css3/filters/composited-layer-promotion-after-outset-overlap-change-using-sw-shadow.html
3455
3456         * platform/graphics/IntRectExtent.h:
3457         (WebCore::IntRectExtent::isZero):
3458         (IntRectExtent):
3459
3460             Make isZero public on IntRectExtent.
3461
3462         * rendering/RenderLayer.cpp:
3463         (WebCore::hasOrHadFilters):
3464
3465             Helper function used to exit early from filters related code.
3466
3467         (WebCore::RenderLayer::updateFilters):
3468
3469             Move filter updating code from RenderLayer::styleChanged into this new method.
3470
3471             This method calls RenderLayerBacking::updateFilters instead of
3472             RenderLayerBacking::updateGraphicsLayerGeometry. RenderLayerBacking::updateFilters lets
3473             us know whether there was a filter paint mode change (i.e. the filters were painted in
3474             software and are now painted in the compositor, or vice-versa). We need to know this
3475             earlier, in RenderLayer::styleChanged, because we may need to rebuild the compositing
3476             layers due to a filter paint mode change.
3477
3478         (WebCore::RenderLayer::styleChanged):
3479
3480             Add a condition for filters for setCompositingLayersNeedRebuild. If the filter outsets
3481             on a layer changed, we need to rebuild the compositing layers because there could be new
3482             overlap. Likewise, if there are or were filter outsets and the filter paint mode changed
3483             the layer bounds (and child positions) may have changed. In either case, we don't
3484             rebuild the compositing layers if there is an accelerated filter animation running.
3485
3486             Remove old code to detect a filter paint mode change from the end of
3487             RenderLayer::styleChanged because it could never be executed. The old code counted on
3488             RenderLayerBacking::canCompositeFilters to change on its own, but it doesn't change
3489             unless updateFilters gets called. Thus, we could never enter the if statement that
3490             calls setBackingNeedsRepaint.
3491
3492         * rendering/RenderLayerBacking.cpp:
3493         (WebCore::RenderLayerBacking::updateFilters):
3494
3495             Now return true if there was a filter paint mode change, so RenderLayer::styleChanged
3496             can decide if it should rebuild the compositing layers.
3497
3498             Call updateOrRemoveFilterEffectRenderer and setContentsNeedDisplay if there was a
3499             render mode change. We need to either destroy or create the software renderer and we
3500             need to repaint the layer contents if there was a render mode change.
3501
3502         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3503
3504             Don't call updateFilters here. Call it earlier in RenderLayer::styleChanged, for reasons
3505             explained above.
3506
3507         * rendering/RenderLayerBacking.h:
3508         (RenderLayerBacking):
3509
3510             Make updateFilters public so RenderLayer::styleChanged can call it.
3511
3512         * rendering/RenderLayerCompositor.cpp:
3513         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3514
3515             If the platform's compositor computes filter outsets for its layers internally, do not
3516             inflate WebKit's composited bounds for filter outsets. This results in smaller layers
3517             on Safari. Note that we still need to include filter outsets in layer bounds for other
3518             situations like overlap testing in WebKit and when we're painting filters in software.
3519
3520 2013-04-02  Martin Robinson  <mrobinson@igalia.com>
3521
3522         [GTK] Make libsecret optional
3523         https://bugs.webkit.org/show_bug.cgi?id=113821
3524
3525         Reviewed by Gustavo Noronha Silva.
3526
3527         Don't try to use libsecret if credential storage is disabled.
3528
3529         * platform/gtk/GRefPtrGtk.cpp: Protect libsecret sections.
3530         * platform/gtk/GRefPtrGtk.h: Ditto.
3531         * platform/network/gtk/CredentialBackingStore.cpp: Ditto.
3532
3533 2013-04-02  Bem Jones-Bey  <bjonesbe@adobe.com>
3534
3535         [CSS Exclusions] refactor shape-outside code to use isFloatingWithShapeOutside() helper method
3536         https://bugs.webkit.org/show_bug.cgi?id=113799
3537
3538         Reviewed by Dirk Schulze.
3539
3540         When reviewing my patch for bug 110349, Julien mentioned that the
3541         common test for floating with shape outside should be factored out.
3542         This patch does that.
3543
3544         No new functionality, so no new tests.
3545
3546         * rendering/ExclusionShapeOutsideInfo.cpp:
3547         (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Use helper method.
3548         * rendering/RenderBox.h:
3549         (WebCore::RenderBox::exclusionShapeOutsideInfo): Ditto.
3550         * rendering/RenderLayer.cpp:
3551         (WebCore::RenderLayer::shouldBeNormalFlowOnly): Ditto.
3552         * rendering/RenderObject.h:
3553         (WebCore::RenderObject::hasPaintOffset):  Ditto.
3554         (WebCore::RenderObject::isFloatingWithShapeOutside): Add method to
3555             encapsulate the common test.
3556
3557 2013-04-02  Jer Noble  <jer.noble@apple.com>
3558
3559         Add platform AudioSession and iOS platform-specific code.
3560         https://bugs.webkit.org/show_bug.cgi?id=113813
3561         <rdar://problem/11701792>
3562
3563         Reviewed by Eric Carlson.
3564
3565         Replace the deprecated AudioToolbox AudioSession APIs with the new AVAudioSession API.
3566         To protect against exposing platform specific intrinsics to cross-platform code, add a
3567         platform generic class AudioSession, with port-specific implementations. A default
3568         implementation is provided.
3569
3570         Add a new listener interface to receive interruption notifications:
3571         * platform/audio/AudioSessionListener.h: Added.
3572         (WebCore::AudioSessionListener::AudioSessionListener):
3573         (WebCore::AudioSessionListener::~AudioSessionListener):
3574
3575         Add a platform generic AudioSession class:
3576         * platform/audio/AudioSession.cpp: Added.
3577         (AudioSession::sharedSession): AudioSession is a singleton object, and this is its accessor.
3578         (AudioSession::addListener): Add the parameter to the listeners set.
3579         (AudioSession::removeListener): Remove the parameter from the listers set.
3580         (AudioSession::beganAudioInterruption): Iterate over the parameters.
3581         (AudioSession::endedAudioInterruption): Ditto.
3582         (AudioSession::AudioSession): Empty stub.
3583         (AudioSession::~AudioSession): Ditto.
3584         (AudioSession::setCategory): Ditto.
3585         (AudioSession::category): Ditto.
3586         (AudioSession::sampleRate): Ditto.
3587         (AudioSession::numberOfOutputChannels): Ditto.
3588         (AudioSession::setActive): Ditto.
3589         (AudioSession::preferredBufferDuration): Ditto.
3590         (AudioSession::setPreferredBufferDuration): Ditto.
3591         * platform/audio/AudioSession.h: Added.
3592
3593         Add IOS-specific AudioSession implementation:
3594         * platform/audio/ios/AudioSessionIOS.mm: Added.
3595         (-[WebAudioSessionHelper initWithCallback:WebCore::]): Register for interruption notifications.
3596         (-[WebAudioSessionHelper dealloc]): Unregister for interruption notifications.
3597         (-[WebAudioSessionHelper interruption:]): Pass to AudioSession.
3598         (WebCore::AudioSessionPrivate::AudioSessionPrivate): Private storage for AudioSessionIOS.
3599         (WebCore::AudioSession::AudioSession): Create AudioSessionPrivate and WebAudioSessionHelper.
3600         (WebCore::AudioSession::~AudioSession): Simple destructor.
3601         (WebCore::AudioSession::setCategory): Check the current categoryOverride, and refuse to overwrite
3602             "MediaPlayback" with "AmbientSound".
3603         (WebCore::AudioSession::setCategoryOverride): Simple setter.
3604         (WebCore::AudioSession::categoryOverride): Simple getter.
3605         (WebCore::AudioSession::category): Pass to AVAudioSession.
3606         (WebCore::AudioSession::sampleRate): Ditto.
3607         (WebCore::AudioSession::numberOfOutputChannels): Ditto.
3608         (WebCore::AudioSession::setActive): Ditto.
3609         (WebCore::AudioSession::preferredBufferDuration): Ditto.
3610         (WebCore::AudioSession::setPreferredBufferDuration): Ditto.
3611
3612         Use the new AudioSession class in place of explicit AudioToolbox or AVAudioSession calls:
3613         * platform/audio/ios/AudioDestinationIOS.cpp:
3614         (WebCore::AudioDestination::hardwareSampleRate): Pass to AudioSession.
3615         (WebCore::AudioDestination::maxChannelCount): Ditto.
3616         (WebCore::AudioDestinationIOS::AudioDestinationIOS): Register for listeners and activate.
3617         (WebCore::AudioDestinationIOS::~AudioDestinationIOS): Unregister and deactivate.
3618         (WebCore::AudioDestinationIOS::configure): Use AudioSession to set the buffer length.
3619         * platform/audio/ios/AudioDestinationIOS.h:
3620
3621         Add the new files to the project:
3622         * WebCore.xcodeproj/project.pbxproj:
3623
3624 2013-04-02  Jer Noble  <jer.noble@apple.com>
3625
3626         Upstream AudioDestinationIOS.
3627         https://bugs.webkit.org/show_bug.cgi?id=113806
3628
3629         Reviewed by Eric Carlson.
3630
3631         Upstream AudioDestinationIOS from the iOS repository.
3632
3633         * WebCore.xcodeproj/project.pbxproj:
3634         * platform/audio/ios/AudioDestinationIOS.cpp: Added.
3635         (WebCore::audioDestinations):
3636         (WebCore::AudioDestination::create):
3637         (WebCore::AudioDestination::hardwareSampleRate):
3638         (WebCore::AudioDestination::maxChannelCount):
3639         (WebCore::AudioDestinationIOS::AudioDestinationIOS):
3640         (WebCore::AudioDestinationIOS::~AudioDestinationIOS):
3641         (WebCore::AudioDestinationIOS::configure):
3642         (WebCore::AudioDestinationIOS::audioDestinationInterruptionListener):
3643         (WebCore::AudioDestinationIOS::initializeAudioSession):
3644         (WebCore::AudioDestinationIOS::start):
3645         (WebCore::AudioDestinationIOS::stop):
3646         (WebCore::AudioDestinationIOS::beganAudioInterruption):
3647         (WebCore::AudioDestinationIOS::endedAudioInterruption):
3648         (WebCore::AudioDestinationIOS::render):
3649         (WebCore::AudioDestinationIOS::inputProc):
3650         (WebCore::AudioDestinationIOS::frameSizeChangedProc):
3651         * platform/audio/ios/AudioDestinationIOS.h: Added.
3652         (AudioDestinationIOS):
3653         (WebCore::AudioDestinationIOS::isPlaying):
3654         (WebCore::AudioDestinationIOS::sampleRate):
3655
3656 2013-04-02  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3657
3658         fast/dom/HTMLImageElement/image-alt-text.html and fast/dom/HTMLInputElement/input-image-alt-text.html are failing
3659         https://bugs.webkit.org/show_bug.cgi?id=94198
3660
3661         Reviewed by Darin Adler.
3662
3663         Fix alt text not being displayed for img elements or input of type
3664         "image" due to insufficient size. imageSizeForError() was adding
3665         padding for the alt text but setImageSizeForAltText() was not. The
3666         issue was occurring in paintReplaced() because the contentWidth() /
3667         contentHeight() would be exactly the same size as the alt text.
3668         However, paintReplaced() first draws an outline rect where the
3669         image should be and then reduces the usable width / height for the
3670         alt text by 2 so that the text does not get printed over the rect
3671         borders. However, after decreasing the usable width / height, there
3672         is no longer enough space to draw the text.
3673
3674         No new tests, already covered by existing tests.
3675
3676         * rendering/RenderImage.cpp:
3677         (WebCore::RenderImage::setImageSizeForAltText): Add padding to the text size
3678         so that the alt text can still be drawn, despite the outline rect
3679         borders. Such padding was already used in imageSizeForError(). Also use
3680         ceilf() for the value returned by Font::width() instead of truncating it.
3681         This is needed because we need to fit the whole text in the image and this
3682         may not be the case if we truncate.
3683         (WebCore::RenderImage::paintReplaced):
3684
3685 2013-04-02  Raymond Toy  <rtoy@google.com>
3686
3687         Add support for using ARM FFT in WebAudio
3688         https://bugs.webkit.org/show_bug.cgi?id=109755
3689
3690         Reviewed by Chris Rogers.
3691
3692         No new tests.
3693
3694         * WebCore.gyp/WebCore.gyp: Add dependency on openmax_dl when use_openmax_dl_fft is enabled.
3695         * WebCore.gypi: Add source FFTFrameOpenMAXDLAndroid.cpp
3696         * platform/audio/AudioArray.h:
3697         (WebCore::AudioArray::allocate): Need 32-byte aligntment with the
3698         OpenMAX DL FFT.
3699         * platform/audio/FFTFrame.h:
3700         (FFTFrame): Support OpenMAX DL FFT
3701         * platform/audio/FFTFrameStub.cpp: Support OpenMAX DL FFT
3702         * platform/audio/chromium/FFTFrameOpenMAXDLAndroid.cpp: Added.  Implements the
3703         necessary interface using the OpenMAX DL FFT routines.
3704         (WebCore):
3705         (WebCore::FFTFrame::FFTFrame):
3706         (WebCore::FFTFrame::initialize):
3707         (WebCore::FFTFrame::cleanup):
3708         (WebCore::FFTFrame::~FFTFrame):
3709         (WebCore::FFTFrame::multiply):
3710         (WebCore::FFTFrame::doFFT):
3711         (WebCore::FFTFrame::doInverseFFT):
3712         (WebCore::FFTFrame::realData):
3713         (WebCore::FFTFrame::imagData):
3714         (WebCore::FFTFrame::contextForSize):
3715
3716 2013-04-02  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
3717
3718         [GStreamer] Memory leaks in MediaPlayerPrivateGStreamer
3719         https://bugs.webkit.org/show_bug.cgi?id=113762
3720
3721         Reviewed by Philippe Normand.
3722
3723         Don't leak strings returned by gst_element_get_name() and
3724         gst_missing_plugin_message_get_installer_detail().
3725
3726         No new tests. No change in behavior.
3727
3728         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3729         (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
3730         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
3731
3732 2013-04-02  Min Qin  <qinmin@chromium.org>
3733
3734         Fix css style for CC button on android
3735         https://bugs.webkit.org/show_bug.cgi?id=113815
3736
3737         Reviewed by Adam Barth.
3738
3739         The default CC button size is 16px as defined in mediaControls.css. Android should use 35px.
3740         This change fixed that problem.
3741         Also fixed a problem that r142947 does not change the display of fullscreen button to -webkit-flex
3742         Android does not run media layout tests currently. Will fix the test expectations when layout tests are run in content shell.
3743
3744         * css/mediaControlsChromiumAndroid.css:
3745         (video::-webkit-media-controls-fullscreen-button):
3746         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
3747
3748 2013-04-02  Alexey Proskuryakov  <ap@apple.com>
3749
3750         [Mac] Remove WKCreateNSURLConnectionDelegateProxy
3751         https://bugs.webkit.org/show_bug.cgi?id=113810
3752
3753         Reviewed by Anders Carlsson.
3754
3755         This WKSI function is not used any more.
3756
3757         * WebCore.exp.in:
3758         * platform/mac/WebCoreSystemInterface.h:
3759         * platform/mac/WebCoreSystemInterface.mm:
3760
3761 2013-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3762
3763         Unreviewed, rolling out r147464.
3764         http://trac.webkit.org/changeset/147464
3765         https://bugs.webkit.org/show_bug.cgi?id=113812
3766
3767         JSSQLResultSet.cpp:131:24: error: implicit conversion loses
3768         integer precision: 'int64_t' (aka 'long long') to 'int'
3769         [-Werror,-Wshorten-64-to-32] (Requested by xenon on #webkit).
3770
3771         * bindings/scripts/CodeGeneratorJS.pm:
3772         (GenerateImplementation):
3773         * bindings/scripts/test/JS/JSTestObj.cpp:
3774         (WebCore::jsTestObjAttrWithGetterException):
3775         (WebCore::jsTestObjStringAttrWithGetterException):
3776         (WebCore::jsTestObjWithScriptStateAttributeRaises):
3777         (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
3778         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
3779         (WebCore::jsTestObjNullableDoubleAttribute):
3780         (WebCore::jsTestObjNullableLongAttribute):
3781         (WebCore::jsTestObjNullableBooleanAttribute):
3782         (WebCore::jsTestObjNullableStringAttribute):
3783         (WebCore::jsTestObjNullableLongSettableAttribute):
3784         (WebCore::jsTestObjNullableStringValue):
3785         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3786         (WebCore::jsTestTypedefsAttrWithGetterException):
3787         (WebCore::jsTestTypedefsStringAttrWithGetterException):
3788
3789 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
3790
3791         Web Inspector: Make Source Frame & status bar a layout boundary
3792         https://bugs.webkit.org/show_bug.cgi?id=112353
3793
3794         Reviewed by Pavel Feldman.
3795
3796         No new tests: no change in behaviour.
3797
3798         - Add View.markAsLayoutBoundary method to mark a view as a layout
3799         boundary. This will force this view to autoupdate its height to actual
3800         pixel value.
3801         - Mark both CodeMirrorTextEditor and DefaultTextEditor as a layout
3802         boundary.
3803         - Mark main-status-bar element with a layout-boundary class.
3804
3805         * inspector/front-end/CodeMirrorTextEditor.js:
3806         (WebInspector.CodeMirrorTextEditor):
3807         * inspector/front-end/DefaultTextEditor.js:
3808         * inspector/front-end/View.js:
3809         (WebInspector.View.prototype.markAsLayoutBoundary):
3810         (WebInspector.View.prototype._processWillShow):
3811         (WebInspector.View.prototype._processWasShown):
3812         (WebInspector.View.prototype._processOnResize):
3813         * inspector/front-end/inspector.css:
3814         (.layout-boundary):
3815         * inspector/front-end/inspector.html:
3816
3817 2013-04-02  Alexey Proskuryakov  <ap@apple.com>
3818
3819         <rdar://problem/13551119> [WK2] Crashes in NetworkProcess when canceling loads
3820         https://bugs.webkit.org/show_bug.cgi?id=113803
3821
3822         Reviewed by Darin Adler.
3823
3824         Stop using a delegate proxy. It hasn't been needed in years, and the extra layer
3825         just adds bugs.
3826
3827         This specific issue gets fixed because connection retains its delegate is retained,
3828         but a proxy does not.
3829
3830         * WebCore.exp.in:
3831         * platform/network/ResourceHandle.h:
3832         * platform/network/ResourceHandleInternal.h:
3833         * platform/network/mac/ResourceHandleMac.mm:
3834         (WebCore::ResourceHandle::start):
3835         (WebCore::ResourceHandle::releaseDelegate):
3836         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3837         Removed code that was dealing with delegate proxy.
3838
3839 2013-04-02  John J. Barton  <johnjbarton@chromium.org>
3840
3841         Web Inspector: Encapsulate SetEmbedderData/GetEmbedderData
3842         https://bugs.webkit.org/show_bug.cgi?id=113331
3843
3844         Reviewed by Pavel Feldman.
3845
3846         Refactor to encapsulate uses of V8 Set/GetEmbedderData together
3847         with uses of V8 Set/GetAlignedPointerInEmbedderData since these
3848         functions operate on the same underyling array in V8.
3849
3850         * bindings/v8/ScriptController.cpp:
3851         (WebCore::ScriptController::setContextDebugId):
3852         (WebCore::ScriptController::contextDebugId):
3853         * bindings/v8/V8DOMWindowShell.cpp:
3854         (WebCore::setInjectedScriptContextDebugId):
3855         * bindings/v8/V8PerContextData.cpp:
3856         (WebCore::V8PerContextDebugData::setContextDebugData):
3857         (WebCore):
3858         (WebCore::V8PerContextDebugData::contextDebugId):
3859         (WebCore::V8PerContextDebugData::createDebugData):
3860         (WebCore::V8PerContextDebugData::getDebugData):
3861         (WebCore::V8PerContextDebugData::setDebugData):
3862         * bindings/v8/V8PerContextData.h:
3863         (V8PerContextDebugData):
3864         (WebCore):
3865
3866 2013-04-02  Alexei Filippov  <alph@chromium.org>
3867
3868         Web Inspector: Adjust toolbar labels position
3869         https://bugs.webkit.org/show_bug.cgi?id=113805
3870
3871         Reviewed by Pavel Feldman.
3872
3873         Move the labels 1px up to make them centered.
3874         Also fix font centering in native memory distribution snapshot.
3875
3876         * inspector/front-end/inspector.css:
3877         (.toolbar-label):
3878         * inspector/front-end/nativeMemoryProfiler.css:
3879         (.native-snapshot-view .data-grid td):
3880
3881 2013-04-02  Beth Dakin  <bdakin@apple.com>
3882
3883         Viewport constrained elements should work properly with headers and footers
3884         https://bugs.webkit.org/show_bug.cgi?id=113743
3885
3886         Reviewed by Simon Fraser.
3887
3888         ScrollableArea::constrainScrollPositionForOverhang() needs to take headerHeight 
3889         and footerHeight into account. It also needs to use totalContentsSize() instead of 
3890         contentsSize().
3891
3892         Send totalContentsSize() instead of contentsSize() and also send headerHeight() 
3893         and footerHeight().
3894         * page/FrameView.cpp:
3895         (WebCore::FrameView::scrollOffsetForFixedPosition):
3896         * page/FrameView.h:
3897         (FrameView):
3898
3899         The scrolling tree will also need to know about header and footer heights since it 
3900         will need these values to call 
3901         ScrollableArea::constrainScrollPositionForOverhang().
3902         * page/scrolling/ScrollingStateScrollingNode.cpp:
3903         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
3904         (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
3905         (WebCore::ScrollingStateScrollingNode::setFooterHeight):
3906         * page/scrolling/ScrollingStateScrollingNode.h:
3907         (WebCore::ScrollingStateScrollingNode::headerHeight):
3908         (ScrollingStateScrollingNode):
3909         (WebCore::ScrollingStateScrollingNode::footerHeight):
3910         * page/scrolling/ScrollingTreeScrollingNode.cpp:
3911         (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
3912         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
3913         * page/scrolling/ScrollingTreeScrollingNode.h:
3914         (WebCore::ScrollingTreeScrollingNode::headerHeight):
3915         (WebCore::ScrollingTreeScrollingNode::footerHeight):
3916         (ScrollingTreeScrollingNode):
3917         * page/scrolling/mac/ScrollingCoordinatorMac.h:
3918         (ScrollParameters):
3919         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3920         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
3921         (WebCore::ScrollingCoordinatorMac::setScrollParametersForNode):
3922         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3923         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
3924
3925         Use footerHeight when calculating the maxValue and use headerHeight in determining 
3926         what the minimum value is. 
3927         * platform/ScrollableArea.cpp:
3928         (WebCore::constrainedScrollPosition):
3929         (WebCore::ScrollableArea::constrainScrollPositionForOverhang):
3930         * platform/ScrollableArea.h:
3931         (ScrollableArea):
3932
3933 2013-04-02  Stephen White  <senorblanco@chromium.org>
3934
3935         [Skia] Enable GPU-accelerated Skia path for FEComposite filter.
3936         https://bugs.webkit.org/show_bug.cgi?id=113797
3937
3938         Reviewed by Adrienne Walker.
3939
3940         Tests: css3/filters/effect-reference-composite-hw.html
3941                css3/filters/effect-reference-composite.html
3942
3943         * WebCore.gypi:
3944         * platform/graphics/filters/FEComposite.h:
3945         Enable Skia DAG hook for FEComposite.
3946         * platform/graphics/filters/skia/FECompositeSkia.cpp: Added.
3947         (WebCore::FEComposite::createImageFilter):
3948         Implement skia DAG builder for FEComposite, and implement generic
3949         skia version of composite filter.
3950
3951 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
3952
3953         Web Inspector: Avoid using style.display="inline-block"
3954         https://bugs.webkit.org/show_bug.cgi?id=113802
3955
3956         Reviewed by Pavel Feldman.
3957
3958         No new tests.
3959
3960         - Create class "inline-block" which will set "display: inline-block"
3961         style.
3962         - Use this class with DIV elements to get "inline-block" element.
3963
3964         * inspector/front-end/ObjectPopoverHelper.js:
3965         (WebInspector.ObjectPopoverHelper.prototype.):
3966         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
3967         * inspector/front-end/ScriptsPanel.js:
3968         (WebInspector.ScriptsPanel):
3969         * inspector/front-end/inspector.css:
3970         (.inline-block):
3971
3972 2013-04-02  Andrey Kosyakov  <caseq@chromium.org>
3973
3974         Web Inspector: [Timeline] warning markers are not propagated to coalesced records
3975         https://bugs.webkit.org/show_bug.cgi?id=113789
3976
3977         Reviewed by Pavel Feldman.
3978
3979         Test: inspector/timeline/timeline-coalescing.html
3980
3981         * inspector/front-end/TimelinePresentationModel.js: set childHasWarning on coalescing record if the record it replaces had warnings.
3982         (WebInspector.TimelinePresentationModel.prototype._replaceWithCoalescedRecord):
3983
3984 2013-04-02  Yury Semikhatsky  <yurys@chromium.org>
3985
3986         Web Inspector: memory instrumentation for external strings is broken
3987         https://bugs.webkit.org/show_bug.cgi?id=113788
3988
3989         Reviewed by Pavel Feldman.
3990
3991         Native memory snapshot now provides information about JS external strings.
3992
3993         Test: inspector/profiler/memory-instrumentation-external-string.html
3994
3995         * inspector/InspectorMemoryAgent.cpp:
3996
3997 2013-04-02  Yury Semikhatsky  <yurys@chromium.org>
3998
3999         Web Inspector: memory instrumentation for external arrays is broken
4000         https://bugs.webkit.org/show_bug.cgi?id=113790
4001
4002         Report pointers to external arrays as retaining ones to make sure their
4003         size is counted correctly.
4004
4005         Reviewed by Pavel Feldman.
4006
4007         Test: inspector/profiler/memory-instrumentation-external-array.html
4008
4009         * inspector/InspectorMemoryAgent.cpp:
4010
4011 2013-04-02  Peter Beverloo  <peter@chromium.org>
4012
4013         [JSC] Don't create a JSValue if it's not going to be used for nullable attributes
4014         https://bugs.webkit.org/show_bug.cgi?id=112711
4015
4016         Reviewed by Sam Weinig.
4017
4018         When nullable attributes are used, it's possible that we disregard the JSValue
4019         when null should be returned instead. This is a waste, and we should cast the
4020         native type to a JSValue as late as possible.
4021
4022         * bindings/scripts/CodeGeneratorJS.pm:
4023         (GenerateImplementation):
4024         (NativeValueToLocal):
4025         * bindings/scripts/test/JS/JSTestObj.cpp:
4026         (WebCore::jsTestObjAttrWithGetterException):
4027         (WebCore::jsTestObjStringAttrWithGetterException):
4028         (WebCore::jsTestObjWithScriptStateAttributeRaises):
4029         (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
4030         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
4031         (WebCore::jsTestObjNullableDoubleAttribute):
4032         (WebCore::jsTestObjNullableLongAttribute):
4033         (WebCore::jsTestObjNullableBooleanAttribute):
4034         (WebCore::jsTestObjNullableStringAttribute):
4035         (WebCore::jsTestObjNullableLongSettableAttribute):
4036         (WebCore::jsTestObjNullableStringValue):
4037         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
4038         (WebCore::jsTestTypedefsAttrWithGetterException):
4039         (WebCore::jsTestTypedefsStringAttrWithGetterException):
4040
4041 2013-04-02  Bem Jones-Bey  <bjonesbe@adobe.com>
4042
4043         [css exclusions] overflow:hidden undoes shape-outside offsets
4044         https://bugs.webkit.org/show_bug.cgi?id=110349