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