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