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