[Mac] Some ligatures are applied across different fronts
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
2
3         [Mac] Some ligatures are applied across different fronts
4         https://bugs.webkit.org/show_bug.cgi?id=113604
5
6         Reviewed by Darin Adler.
7
8         The bug was caused by applyFontTransforms applying ligatures without updating the font data in the glyph buffer.
9
10         Suppose we have characters AB and A uses font X and B uses font Y. Further suppose that we have ligatures for AB
11         in Y. The problem was that WithIterator::advanceInternal calls applyFontTransforms on AB to apply this ligature
12         even though A and B use different fonts. Since X doesn't contain the same ligature for A to be paired with that
13         of B in X, we get a blank A.
14
15         Fixed the bug by resetting lastGlyphCount after calling applyFontTransforms. This ensures that we don't call
16         applyFontTransforms across different fonts.
17
18         No new tests since this requires a variant of Osaka font that doesn't come with OS X.
19
20         The bug 114482 tracks the effort to add a test for this bug fix. I've already asked someone to create a custom
21         font for us so that we can test this bug fix but that's going to a while.
22
23         * platform/graphics/WidthIterator.cpp:
24         (WebCore::WidthIterator::advanceInternal):
25
26 2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>
27
28         [Mac] Enable spellchecking tests added in r141471
29         https://bugs.webkit.org/show_bug.cgi?id=108525
30
31         Reviewed by Darin Adler.
32
33         Made automatic quote substitution, dash substitution, text replacement, and spelling correction
34         togglable via internals object. These functions are no-op when text replacement is not used.
35
36         This allows us to disable automatic spelling correction in spellcheck tests.
37
38         Enabled several tests added in r141471.
39
40         * WebCore.exp.in:
41         * testing/Internals.cpp:
42         (WebCore::Internals::setContinuousSpellCheckingEnabled): Don't null check editor() since it's not
43         null whenever frame() is not null.
44         (WebCore::Internals::setAutomaticQuoteSubstitutionEnabled): Added.
45         (WebCore::Internals::setAutomaticLinkDetectionEnabled): Added.
46         (WebCore::Internals::setAutomaticDashSubstitutionEnabled): Added.
47         (WebCore::Internals::setAutomaticTextReplacementEnabled): Added.
48         (WebCore::Internals::setAutomaticSpellingCorrectionEnabled): Added.
49         * testing/Internals.h:
50         * testing/Internals.idl:
51
52 2013-04-12  Alberto Garcia  <agarcia@igalia.com>
53
54         [BlackBerry] Upstream the filesystem code
55         https://bugs.webkit.org/show_bug.cgi?id=114437
56
57         Reviewed by Rob Buis.
58
59         These are the changes for AsyncFileSystemBlackBerry.
60
61         This patch contains contributions from many members of the
62         BlackBerry WebKit team.
63
64         * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
65         (WebCore::AsyncFileSystem::isAvailable):
66         (WebCore):
67         (WebCore::AsyncFileSystem::create):
68         (WebCore::AsyncFileSystem::openFileSystem):
69         (WebCore::AsyncFileSystemBlackBerry::openFileSystem):
70         (WebCore::AsyncFileSystem::deleteFileSystem):
71         (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
72         (WebCore::AsyncFileSystemBlackBerry::~AsyncFileSystemBlackBerry):
73         (WebCore::AsyncFileSystemBlackBerry::move):
74         (WebCore::AsyncFileSystemBlackBerry::copy):
75         (WebCore::AsyncFileSystemBlackBerry::remove):
76         (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
77         (WebCore::AsyncFileSystemBlackBerry::readMetadata):
78         (WebCore::AsyncFileSystemBlackBerry::createFile):
79         (WebCore::AsyncFileSystemBlackBerry::createDirectory):
80         (WebCore::AsyncFileSystemBlackBerry::fileExists):
81         (WebCore::AsyncFileSystemBlackBerry::directoryExists):
82         (WebCore::AsyncFileSystemBlackBerry::readDirectory):
83         (WebCore::AsyncFileSystemBlackBerry::createWriter):
84         (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
85         (WebCore::AsyncFileSystemBlackBerry::fileSystemURLToPath):
86         * platform/blackberry/AsyncFileSystemBlackBerry.h:
87         (WTF):
88         (WTF::BlackBerry::Platform::WebFileSystem):
89         (WebCore::AsyncFileSystemBlackBerry::create):
90         (AsyncFileSystemBlackBerry):
91
92 2013-04-12  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
93
94         Apply our MSVC 2012 optimizer bug workaround to all minor releases
95         https://bugs.webkit.org/show_bug.cgi?id=114436
96
97         Reviewed by Alexey Proskuryakov.
98
99         The bug has only been partially fixed in Update 2 but our Update 1 workaround
100         still avoids the crash.
101
102         * platform/text/TextEncodingRegistry.cpp:
103         (WebCore::TextEncodingNameHash::equal):
104
105 2013-04-12  Mark Rowe  <mrowe@apple.com>
106
107         And again, with the correct case this time.
108
109         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
110
111 2013-04-12  Mark Rowe  <mrowe@apple.com>
112
113         Build fix.
114
115         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
116         Add missing #include and forward declaration.
117
118 2013-04-12  Zan Dobersek  <zdobersek@igalia.com>
119
120         Unreviewed functionality fix for ports enabling the MicroData feature.
121
122         * html/DOMSettableTokenList.idl: Add the SkipVTableValidation IDL attribute to the DOMSettableTokenList interface.
123         This removes crashes in the MicroData layout tests that are occurring on EFL and GTK builders, the two ports being
124         the only ports that enable this feature.
125
126 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
127
128         Move CachedRawResourceClient into a separate file
129         https://bugs.webkit.org/show_bug.cgi?id=114491
130
131         Reviewed by Mark Rowe.
132
133         * GNUmakefile.list.am:
134         * Target.pri:
135         * WebCore.vcproj/WebCore.vcproj:
136         * WebCore.vcxproj/WebCore.vcxproj:
137         * WebCore.vcxproj/WebCore.vcxproj.filters:
138         * WebCore.xcodeproj/project.pbxproj:
139         * loader/DocumentLoader.cpp:
140         * loader/DocumentLoader.h:
141         * loader/DocumentThreadableLoader.h:
142         * loader/archive/cf/LegacyWebArchive.cpp:
143         * loader/cache/CachedRawResource.cpp:
144         * loader/cache/CachedRawResource.h:
145         * loader/cache/CachedRawResourceClient.h: Added.
146         * loader/icon/IconLoader.h:
147         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
148
149 2013-04-12  Commit Queue  <rniwa@webkit.org>
150
151         Unreviewed, rolling out r148262.
152         http://trac.webkit.org/changeset/148262
153         https://bugs.webkit.org/show_bug.cgi?id=114493
154
155         Cairo dep should now build, rolling r148247 back in (Requested
156         by zdobersek on #webkit).
157
158         * platform/graphics/GraphicsContext.cpp:
159         (WebCore):
160         * platform/graphics/ImageBuffer.cpp:
161         (WebCore):
162         * platform/graphics/cairo/GLContext.h:
163         (GLContext):
164         * platform/graphics/cairo/GraphicsContextCairo.cpp:
165         (WebCore::GraphicsContext::isAcceleratedContext):
166         (WebCore):
167         * platform/graphics/cairo/ImageBufferCairo.cpp:
168         (WebCore::ImageBufferData::ImageBufferData):
169         (WebCore):
170         (WebCore::createCairoGLSurface):
171         (WebCore::ImageBuffer::ImageBuffer):
172         (WebCore::ImageBuffer::platformTransformColorSpace):
173         (WebCore::mapSurfaceToImage):
174         (WebCore::unmapSurfaceFromImage):
175         (WebCore::getImageData):
176         (WebCore::ImageBuffer::putByteArray):
177         (WebCore::ImageBufferData::paintToTextureMapper):
178         (WebCore::ImageBuffer::platformLayer):
179         * platform/graphics/cairo/ImageBufferDataCairo.h:
180         (ImageBufferData):
181         * platform/graphics/egl/GLContextEGL.cpp:
182         (WebCore::GLContextEGL::GLContextEGL):
183         (WebCore::GLContextEGL::~GLContextEGL):
184         (WebCore::GLContextEGL::cairoDevice):
185         (WebCore):
186         * platform/graphics/egl/GLContextEGL.h:
187         * platform/graphics/glx/GLContextGLX.cpp:
188         (WebCore::GLContextGLX::GLContextGLX):
189         (WebCore::GLContextGLX::~GLContextGLX):
190         (WebCore::GLContextGLX::cairoDevice):
191         (WebCore):
192         * platform/graphics/glx/GLContextGLX.h:
193         (GLContextGLX):
194
195 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
196
197         Reduce includes of CachedSVGDocument.h
198         https://bugs.webkit.org/show_bug.cgi?id=114489
199
200         Reviewed by Jon Honeycutt.
201
202         * loader/cache/CachedSVGDocumentReference.cpp: Added.
203         * loader/cache/CachedSVGDocumentReference.h:
204         Moved function implementations to newly added .cpp file, and removed an include
205         of CachedSVGDocument.h.
206
207         * css/WebKitCSSSVGDocumentValue.h: Just removed an unnecessary include.
208
209         * CMakeLists.txt:
210         * GNUmakefile.list.am:
211         * Target.pri:
212         * WebCore.vcproj/WebCore.vcproj:
213         * WebCore.vcxproj/WebCore.vcxproj:
214         * WebCore.vcxproj/WebCore.vcxproj.filters:
215         * WebCore.xcodeproj/project.pbxproj:
216
217 2013-04-11  Commit Queue  <rniwa@webkit.org>
218
219         Unreviewed, rolling out r148247.
220         http://trac.webkit.org/changeset/148247
221         https://bugs.webkit.org/show_bug.cgi?id=114490
222
223         Cairo dep fails to build on builders due to missing EGL
224         headers (Requested by zdobersek on #webkit).
225
226         * platform/graphics/GraphicsContext.cpp:
227         (WebCore):
228         * platform/graphics/ImageBuffer.cpp:
229         (WebCore):
230         * platform/graphics/cairo/GLContext.h:
231         (GLContext):
232         * platform/graphics/cairo/GraphicsContextCairo.cpp:
233         * platform/graphics/cairo/ImageBufferCairo.cpp:
234         (WebCore::ImageBufferData::ImageBufferData):
235         (WebCore::ImageBuffer::ImageBuffer):
236         (WebCore::ImageBuffer::platformTransformColorSpace):
237         (WebCore::getImageData):
238         (WebCore::ImageBuffer::putByteArray):
239         (WebCore):
240         * platform/graphics/cairo/ImageBufferDataCairo.h:
241         (ImageBufferData):
242         * platform/graphics/egl/GLContextEGL.cpp:
243         (WebCore::GLContextEGL::GLContextEGL):
244         (WebCore::GLContextEGL::~GLContextEGL):
245         * platform/graphics/egl/GLContextEGL.h:
246         * platform/graphics/glx/GLContextGLX.cpp:
247         (WebCore::GLContextGLX::GLContextGLX):
248         (WebCore::GLContextGLX::~GLContextGLX):
249         * platform/graphics/glx/GLContextGLX.h:
250         (GLContextGLX):
251
252 2013-04-11  Nico Weber  <thakis@chromium.org>
253
254         Remove debugging code that is no longer used with current mac sdks.
255         https://bugs.webkit.org/show_bug.cgi?id=114486
256
257         Reviewed by Dan Bernstein.
258
259         This code compared __MAC_OS_X_VERSION_MAX_ALLOWED and friends to
260         107 and 106 instead of the correct 1070 and 1060. Instead of fixing
261         this, rip the code out completely: Since WebKit now only targets
262         current systems, the ifdef is always false anyways.
263
264         No tests, as this only removes debugging code.
265
266         * platform/graphics/mac/SimpleFontDataMac.mm:
267         (WebCore::SimpleFontData::platformInit):
268
269 2013-04-11  Oliver Hunt  <oliver@apple.com>
270
271         Fix windows build and land new binding test results
272
273         * bindings/scripts/CodeGeneratorJS.pm:
274         (GenerateImplementation):
275         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
276         (WebCore):
277         (WebCore::toJS):
278         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
279         (WebCore):
280         (WebCore::toJS):
281         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
282         (WebCore):
283         (WebCore::toJS):
284         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
285         (WebCore):
286         (WebCore::toJS):
287         * bindings/scripts/test/JS/JSTestException.cpp:
288         (WebCore):
289         (WebCore::toJS):
290         * bindings/scripts/test/JS/JSTestInterface.cpp:
291         (WebCore):
292         (WebCore::toJS):
293         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
294         (WebCore):
295         (WebCore::toJS):
296         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
297         (WebCore):
298         (WebCore::toJS):
299         * bindings/scripts/test/JS/JSTestObj.cpp:
300         (WebCore):
301         (WebCore::toJS):
302         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
303         (WebCore):
304         (WebCore::toJS):
305         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
306         (WebCore):
307         (WebCore::toJS):
308         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
309         (WebCore):
310         (WebCore::toJS):
311
312 2013-04-11  Shezan Baig  <sbaig1@bloomberg.net>
313
314         Selection gaps don't repaint correctly with transforms
315         https://bugs.webkit.org/show_bug.cgi?id=111000
316
317         Reviewed by Simon Fraser.
318
319         When computing offsetFromRepaintContainer, we need to add UseTransforms
320         to the MapCoordinateFlags argument. Note that ApplyContainerFlip is
321         the default value for the flag, so this change effectively only adds
322         the UseTransforms flag.
323
324         Tests: fast/repaint/selection-gap-absolute-child.html
325                fast/repaint/selection-gap-fixed-child.html
326                fast/repaint/selection-gap-flipped-absolute-child.html
327                fast/repaint/selection-gap-flipped-fixed-child.html
328                fast/repaint/selection-gap-transformed-absolute-child.html
329                fast/repaint/selection-gap-transformed-fixed-child.html
330
331         * rendering/RenderBlock.cpp:
332         (WebCore::RenderBlock::selectionGapRectsForRepaint):
333
334 2013-04-11  Oliver Hunt  <oliver@apple.com>
335
336         Add more type validation to debug builds
337         https://bugs.webkit.org/show_bug.cgi?id=114478
338
339         Reviewed by Mark Hahnenberg.
340
341         Add a bunch more type checks to the JS DOM bindings.
342
343         * Modules/mediastream/MediaStream.idl:
344         * Modules/webaudio/AudioDestinationNode.idl:
345         * WebCore.xcodeproj/project.pbxproj:
346         * bindings/js/JSDOMBinding.h:
347         (WebCore::getExistingWrapper):
348         (WebCore):
349         (WebCore::createNewWrapper):
350         * bindings/scripts/CodeGeneratorJS.pm:
351         (GetNativeTypeForConversions):
352         (GetGnuVTableRefForInterface):
353         (GetGnuVTableNameForInterface):
354         (GetGnuMangledNameForInterface):
355         (GetGnuVTableOffsetForType):
356         (GetWinVTableRefForInterface):
357         (GetWinVTableNameForInterface):
358         (GetWinMangledNameForInterface):
359         (GetNamespaceForInterface):
360         (GetImplementationLacksVTableForInterface):
361         (GetSkipVTableValidationForInterface):
362         (GenerateImplementation):
363         * bindings/scripts/IDLAttributes.txt:
364         * css/CSSRuleList.idl:
365         * css/CSSStyleDeclaration.idl:
366         * dom/Clipboard.idl:
367         * dom/DOMStringMap.idl:
368         * dom/MutationRecord.idl:
369         * dom/NodeList.idl:
370         * html/DOMTokenList.idl:
371         * html/track/TextTrack.idl:
372         * inspector/ScriptProfileNode.idl:
373         * storage/Storage.idl:
374         * xml/XPathNSResolver.idl:
375
376 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
377
378         Remove ResourceLoadInfo
379         https://bugs.webkit.org/show_bug.cgi?id=113302
380
381         Reviewed by Benjamin Poulain.
382
383         Co-authored by Christophe Dumez.
384
385         Removed ResourceLoadInfo since it had been only used by Chromium port.
386
387         * GNUmakefile.list.am:
388         * Target.pri:
389         * WebCore.order:
390         * WebCore.vcproj/WebCore.vcproj:
391         * WebCore.vcxproj/WebCore.vcxproj:
392         * WebCore.vcxproj/WebCore.vcxproj.filters:
393         * WebCore.xcodeproj/project.pbxproj:
394         * inspector/InspectorResourceAgent.cpp:
395         (WebCore::buildObjectForResourceResponse):
396         * loader/FrameLoader.cpp:
397         (WebCore::FrameLoader::loadResourceSynchronously):
398         * platform/network/ResourceLoadInfo.h: Removed.
399         * platform/network/ResourceResponseBase.cpp:
400         (WebCore):
401         (WebCore::ResourceResponseBase::reportMemoryUsage):
402         * platform/network/ResourceResponseBase.h:
403         (ResourceResponseBase):
404
405 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
406
407         Another Mac Lion build fix attempt after r148197.
408
409         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
410
411 2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>
412
413         Unable to paste twice in input field when specific CSS present
414         https://bugs.webkit.org/show_bug.cgi?id=108675
415
416         Reviewed by Ryosuke Niwa.
417
418         When we are pre-rendering text in ReplaceSelectionCommand, we shouldn't care
419         whether the content is clipped by its ancestors or not. This bug was caused
420         by the fact the plainText() method returned an empty string because the text
421         was fully clipped by its ancestors. Make plainText ignore style visibility.
422
423         Test: editing/inserting/insert-text-into-text-field.html
424
425         * editing/ReplaceSelectionCommand.cpp:
426         (WebCore::ReplacementFragment::ReplacementFragment):
427
428 2013-04-11  Martin Robinson  <mrobinson@igalia.com>
429
430         [GTK] Add accelerated 2D canvas support using cairo-gl
431         https://bugs.webkit.org/show_bug.cgi?id=104672
432
433         Reviewed by Alejandro G. Castro.
434
435         No new tests. We do not yet have the ability to run tests against
436         accelerated content.
437
438         * platform/graphics/GraphicsContext.cpp:
439         (WebCore): We don't use the stub implementation of isAcceleratedContext any longer.
440         * platform/graphics/ImageBuffer.cpp:
441         (WebCore): Ditto for ImageBuffer::platformLayer.
442         * platform/graphics/cairo/GLContext.h:
443         (GLContext): Added method to get a cairo_device_t from the context.
444         * platform/graphics/cairo/GraphicsContextCairo.cpp:
445         (WebCore::GraphicsContext::isAcceleratedContext): Return true when we are a CairoGL surface.
446         * platform/graphics/cairo/ImageBufferCairo.cpp:
447         (WebCore::ImageBufferData::ImageBufferData): Initialize the size and the texture to 0.
448         (WebCore::createCairoGLSurface): Added this helper.
449         (WebCore::ImageBuffer::ImageBuffer): When we are in accelerated rendering mode, create
450         a CairoGL surface.
451         (WebCore::ImageBuffer::platformTransformColorSpace): Do not implement this for accelerated
452         contexts yet.
453         (WebCore::mapSurfaceToImage): Added this helper, since we don't require Cairo 1.12 yet,
454         which provides an builtin implementation.
455         (WebCore::unmapSurfaceFromImage): Ditto.
456         (WebCore::getImageData): Map the surface to an image surface first.
457         (WebCore::ImageBuffer::putByteArray): Ditto.
458         (WebCore::ImageBufferData::paintToTextureMapper): Connect the accelerated canvas into the
459         TextureMapper infrastructure.
460         (WebCore::ImageBuffer::platformLayer): This lets the TextureMapper at the ImageBufferData.
461         * platform/graphics/cairo/ImageBufferDataCairo.h:
462         (ImageBufferData): Subclass TexturMapperPlatformLayer where appropriate.
463         * platform/graphics/egl/GLContextEGL.cpp: Added implementation of cairoDevice.
464         * platform/graphics/egl/GLContextEGL.h: Ditto.
465         * platform/graphics/glx/GLContextGLX.cpp: Ditto
466         * platform/graphics/glx/GLContextGLX.h: Ditto.
467
468 2013-04-11  Anders Carlsson  <andersca@apple.com>
469
470         Implement removing storage area items
471         https://bugs.webkit.org/show_bug.cgi?id=114472
472
473         Reviewed by Beth Dakin.
474
475         Export StorageMap::removeItem.
476
477         * WebCore.exp.in:
478
479 2013-04-11  Brendan Long  <b.long@cablelabs.com>
480
481         TextTrackList's .onremovetrack is missing from IDL
482         https://bugs.webkit.org/show_bug.cgi?id=103421
483
484         Reviewed by Eric Carlson.
485
486         Fixed test media/track/opera/interfaces/TextTrackList/onremovetrack.html
487
488         * html/track/TextTrackList.cpp:
489         (TextTrackList::remove):
490         (TextTrackList::scheduleRemoveTrackEvent):
491         * html/track/TextTrackList.h:
492         (TextTrackList):
493         * html/track/TextTrackList.idl:
494
495 2013-04-11  Alberto Garcia  <agarcia@igalia.com>
496
497         [BlackBerry] Upstream the filesystem code
498         https://bugs.webkit.org/show_bug.cgi?id=114437
499
500         Reviewed by Rob Buis.
501
502         This patch contains contributions from many members of the
503         BlackBerry WebKit team.
504
505         * platform/blackberry/AsyncFileWriterBlackBerry.cpp: Added.
506         (WebCore):
507         (WebCore::AsyncFileWriterBlackBerry::write):
508         * platform/blackberry/AsyncFileWriterBlackBerry.h: Added.
509         (WTF):
510         (WTF::BlackBerry::Platform::WebFileWriter):
511         (WebCore):
512         * platform/blackberry/DOMFileSystemBlackBerry.cpp: Added.
513         (WebCore):
514         (WebCore::DOMFileSystemBase::createFileSystemURL):
515         (WebCore::DOMFileSystemBase::crackFileSystemURL):
516         (WebCore::DOMFileSystemBase::supportsToURL):
517         (WebCore::DOMFileSystemBase::isValidType):
518         * platform/blackberry/LocalFileSystemBlackBerry.cpp: Added.
519         (WebCore):
520         (WebCore::fileSystemTypeString):
521         (WebCore::openFileSystem):
522         (WebCore::LocalFileSystem::deleteFileSystem):
523         (WebCore::LocalFileSystem::readFileSystem):
524         (WebCore::LocalFileSystem::requestFileSystem):
525         * platform/blackberry/PlatformAsyncFileSystemCallbacks.cpp: Added.
526         (WebCore):
527         (WebCore::PlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
528         (WebCore::PlatformAsyncFileSystemCallbacks::notifySucceed):
529         (WebCore::PlatformAsyncFileSystemCallbacks::notifyFail):
530         (WebCore::getFileMetadata):
531         (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadMetadata):
532         (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
533         (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadDirectory):
534         (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
535         (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
536         (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
537         (WebCore::PlatformAsyncFileSystemCallbacks::deleteMe):
538         * platform/blackberry/PlatformAsyncFileSystemCallbacks.h: Added.
539         (WebCore):
540         * platform/blackberry/PlatformBlob.cpp: Added.
541         (WebCore):
542         (WebCore::PlatformBlob::nextDataItem):
543         * platform/blackberry/PlatformBlob.h: Added.
544         (WebCore):
545         * platform/blackberry/PlatformFileWriterClient.cpp: Added.
546         (WebCore):
547         (WebCore::PlatformFileWriterClient::notifyWrite):
548         (WebCore::PlatformFileWriterClient::notifyTruncate):
549         (WebCore::PlatformFileWriterClient::notifyFail):
550         * platform/blackberry/PlatformFileWriterClient.h: Added.
551         (WebCore):
552         (WTF):
553         (WTF::WebCore::PlatformFileWriterClient):
554         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp: Added.
555         (WebCore):
556         (WebCore::WorkerAsyncFileSystemBlackBerry::WorkerAsyncFileSystemBlackBerry):
557         (WebCore::WorkerAsyncFileSystemBlackBerry::~WorkerAsyncFileSystemBlackBerry):
558         (WebCore::WorkerAsyncFileSystemBlackBerry::waitForOperationToComplete):
559         (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystemOnMainThread):
560         (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystemOnMainThread):
561         (WebCore::WorkerAsyncFileSystemBlackBerry::moveOnMainThread):
562         (WebCore::WorkerAsyncFileSystemBlackBerry::copyOnMainThread):
563         (WebCore::WorkerAsyncFileSystemBlackBerry::removeOnMainThread):
564         (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursivelyOnMainThread):
565         (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadataOnMainThread):
566         (WebCore::WorkerAsyncFileSystemBlackBerry::createFileOnMainThread):
567         (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectoryOnMainThread):
568         (WebCore::WorkerAsyncFileSystemBlackBerry::fileExistsOnMainThread):
569         (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExistsOnMainThread):
570         (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectoryOnMainThread):
571         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread):
572         (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadataOnMainThread):
573         (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystem):
574         (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystem):
575         (WebCore::WorkerAsyncFileSystemBlackBerry::move):
576         (WebCore::WorkerAsyncFileSystemBlackBerry::copy):
577         (WebCore::WorkerAsyncFileSystemBlackBerry::remove):
578         (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursively):
579         (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadata):
580         (WebCore::WorkerAsyncFileSystemBlackBerry::createFile):
581         (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectory):
582         (WebCore::WorkerAsyncFileSystemBlackBerry::fileExists):
583         (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExists):
584         (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectory):
585         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriter):
586         (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
587         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.h: Added.
588         (WebCore):
589         (WorkerAsyncFileSystemBlackBerry):
590         (WebCore::WorkerAsyncFileSystemBlackBerry::create):
591         * platform/blackberry/WorkerAsyncFileWriterBlackBerry.cpp: Added.
592         (WebCore):
593         (WebCore::WorkerAsyncFileWriterBlackBerry::writeOnMainThread):
594         (WebCore::WorkerAsyncFileWriterBlackBerry::truncateOnMainThread):
595         (WebCore::WorkerAsyncFileWriterBlackBerry::abortOnMainThread):
596         (WebCore::WorkerAsyncFileWriterBlackBerry::write):
597         (WebCore::WorkerAsyncFileWriterBlackBerry::truncate):
598         (WebCore::WorkerAsyncFileWriterBlackBerry::abort):
599         (WebCore::WorkerAsyncFileWriterBlackBerry::waitForOperationToComplete):
600         (WebCore::WorkerAsyncFileWriterBlackBerry::platformWriterClient):
601         * platform/blackberry/WorkerAsyncFileWriterBlackBerry.h: Added.
602         (WebCore):
603         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp: Added.
604         (WebCore):
605         (WebCore::performTaskOnMainThread):
606         (WebCore::postTaskToMainThread):
607         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyStop):
608         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
609         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceed):
610         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFail):
611         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadata):
612         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectory):
613         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
614         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
615         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
616         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::deleteMe):
617         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::postTaskToWorkerThread):
618         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystemOnWorkerThread):
619         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceedOnWorkerThread):
620         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFailOnWorkerThread):
621         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadataOnWorkerThread):
622         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectoryEntryOnWorkerThread):
623         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriterOnWorkerThread):
624         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h: Added.
625         (WebCore):
626         * platform/blackberry/WorkerPlatformFileWriterClient.cpp: Added.
627         (WebCore):
628         (WebCore::WorkerPlatformFileWriterClient::notifyWriteOnWorkerThread):
629         (WebCore::WorkerPlatformFileWriterClient::notifyFailOnWorkerThread):
630         (WebCore::WorkerPlatformFileWriterClient::notifyTruncateOnWorkerThread):
631         (WebCore::WorkerPlatformFileWriterClient::notifyWrite):
632         (WebCore::WorkerPlatformFileWriterClient::notifyTruncate):
633         (WebCore::WorkerPlatformFileWriterClient::notifyFail):
634         (WebCore::WorkerPlatformFileWriterClient::postTaskToWorkerThreadIfNeeded):
635         * platform/blackberry/WorkerPlatformFileWriterClient.h: Added.
636         (WebCore):
637         (WTF):
638         (WTF::WebCore::WorkerPlatformFileWriterClient):
639
640 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
641
642         Mac Lion build fix attempt after r148197.
643
644         * page/scrolling/mac/ScrollingStateNodeMac.mm:
645
646 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
647
648         <rdar://problem/10416316> [Mac] WebSocket doesn't work with authenticating proxies
649         https://bugs.webkit.org/show_bug.cgi?id=114464
650
651         Reviewed by Brady Eidson.
652
653         * platform/mac/WebCoreSystemInterface.h:
654         * platform/mac/WebCoreSystemInterface.mm:
655         Updated for new wkCopyCONNECTProxyResponse signature.
656
657         * platform/network/cf/SocketStreamHandleCFNet.cpp:
658         (WebCore::SocketStreamHandle::executePACFileURL): Fixed a typo in a comment.
659         (WebCore::SocketStreamHandle::addCONNECTCredentials): Don't crash even if the rest
660         of the fix didn't work (which would be the case on some OS versions).
661         (WebCore::SocketStreamHandle::readStreamCallback): Replaced most breaks with returns,
662         because breaks were confusing in such a huge switch. Changed null proxyResponse
663         to not be treated as authentication success, because it's not. Merged two parts
664         of WaitingForConnect state handling for clarity.
665         (WebCore::SocketStreamHandle::writeStreamCallback): Don't blindly assume that we
666         can start WebSocket handshake after kCFStreamEventCanAcceptBytes. Perhaps it's
667         nothing but a failed CONNECT, and a read callback still needs to send authentication.
668         Without this, establishing connections was flaky. Added a check for Closed state,
669         matching read callback.
670
671 2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>
672
673         MutationRecord is not exposed
674         https://bugs.webkit.org/show_bug.cgi?id=114288
675
676         Reviewed by Darin Adler.
677
678         Expose MutationRecord on DOMWindow. This patch is copied from a patch
679         by Adam Klein. https://codereview.chromium.org/13861028
680
681         Test: fast/dom/MutationObserver/mutation-record-constructor.html
682
683         * page/DOMWindow.idl:
684
685 2013-04-11  Beth Dakin  <bdakin@apple.com>
686
687         Cannot scroll to footer on a page with overflow:hidden on the body
688         https://bugs.webkit.org/show_bug.cgi?id=114462
689         -and corresponding-
690         <rdar://problem/13530042>
691
692         Reviewed by Simon Fraser.
693
694         Add a new scenario in which we want to overrideHidden -- whenever we are the 
695         mainFrame and there is a header or footer.
696
697         * page/FrameView.cpp:
698         (WebCore::FrameView::applyOverflowToViewport):
699
700 2013-04-11  Commit Queue  <rniwa@webkit.org>
701
702         Unreviewed, rolling out r148034, r148052, r148097, and
703         r148194.
704         http://trac.webkit.org/changeset/148034
705         http://trac.webkit.org/changeset/148052
706         http://trac.webkit.org/changeset/148097
707         http://trac.webkit.org/changeset/148194
708         https://bugs.webkit.org/show_bug.cgi?id=114463
709
710         broke mutiresolution favicons, among other things (Requested
711         by thorton on #webkit).
712
713         * loader/icon/IconDatabase.cpp:
714         (WebCore::IconDatabase::setIconDataForIconURL):
715         * loader/icon/IconDatabase.h:
716         (IconDatabase):
717         * loader/icon/IconDatabaseBase.h:
718         * loader/icon/IconRecord.cpp:
719         * loader/icon/IconRecord.h:
720         (IconRecord):
721
722 2013-04-11  ChangSeok Oh  <changseok.oh@collabora.com>
723
724         [GTK][AC] Implement GraphicsLayerClutter::moveOrCopyAnimations
725         https://bugs.webkit.org/show_bug.cgi?id=114019
726
727         Reviewed by Gustavo Noronha Silva.
728
729         Fill moveOrCopyAnimations that is based on Mac port implementation.
730
731         Tests: animations/3d/change-transform-in-end-event.html
732                animations/3d/transform-origin-vs-functions.html
733                compositing/animation/state-at-end-event-transform-layer.html
734
735         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
736         (WebCore::GraphicsLayerClutter::moveOrCopyLayerAnimation):
737         (WebCore):
738         (WebCore::GraphicsLayerClutter::moveOrCopyAnimations):
739         * platform/graphics/clutter/GraphicsLayerClutter.h:
740
741 2013-04-11  Anders Carlsson  <andersca@apple.com>
742
743         Implement StorageManager::getValues
744         https://bugs.webkit.org/show_bug.cgi?id=114461
745
746         Reviewed by Beth Dakin.
747
748         Expose the item hash map.
749
750         * storage/StorageMap.h:
751         (WebCore::StorageMap::items):
752
753 2013-04-11  Eli Fidler  <efidler@blackberry.com>
754
755         [BlackBerry] Use the platform list of languages with fonts instead of hardcoding
756         https://bugs.webkit.org/show_bug.cgi?id=114452
757
758         Reviewed by Rob Buis.
759
760         BlackBerry PR 325244
761         Internally reviewed by Jeff Rogers
762
763         No functional change, but platform font changes won't need a WebKit change
764         going forward.
765
766         * page/blackberry/SettingsBlackBerry.cpp:
767         (WebCore::Settings::initializeDefaultFontFamilies):
768
769 2013-04-11  Dirk Schulze  <krit@webkit.org>
770
771         [CSS Shaders] Parse parameters descriptor
772         https://bugs.webkit.org/show_bug.cgi?id=114455
773
774         Reviewed by Dean Jackson.
775
776         Add support for the 'parameters' descriptor in the filter at-rule to support
777         parameterization of CSS Shaders.
778
779         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters
780
781         Tests: css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid.html
782                css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid.html
783
784         * css/CSSComputedStyleDeclaration.cpp:
785         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
786         * css/CSSParser.cpp: Added 'parameters' property and fail parsing if not inside
787             of an @filter rule.
788         (WebCore::CSSParser::parseValue):
789         (WebCore::CSSParser::parseFilterRuleParameters): New helper function to verify
790             values.
791         (WebCore):
792         * css/CSSParser.h:
793         * css/CSSProperty.cpp:
794         (WebCore::CSSProperty::isInheritedProperty):
795         * css/CSSPropertyNames.in: Added new property name 'parameters'.
796         * css/StyleResolver.cpp:
797         (WebCore::StyleResolver::applyProperty):
798
799 2013-04-11  Arunprasad Rajkumar  <arunprasadr@nds.com>
800
801         Default Implementation of toString for NPObject shouldn't return NPClass & NPObject address as String
802         https://bugs.webkit.org/show_bug.cgi?id=114450
803
804         Reviewed by Anders Carlsson.
805
806         * bridge/c/c_instance.cpp:
807         (JSC::Bindings::CInstance::stringValue):
808
809 2013-04-11  Robert Hogan  <robert@webkit.org>
810
811         REGRESSION (142152): ensure we skip past out-of-flow objects when detecting whitespace to ignore after leading empty inlines
812         https://bugs.webkit.org/show_bug.cgi?id=114311
813
814         Reviewed by Emil A Eklund.
815
816         When we hit an empty inline in line layout and try to detect whether it has any whitespace after it that we ought to ignore, then
817         we need to skip past out-of-flow and floating objects when looking for that whitespace. Failure to do so will result in us
818         adding the width from the first space we encounter to our line width and over-estimating the real width of the line.
819
820         We're hitting this bug now because we have broadened the category of empty inlines that get lineboxes so we go into line layout 
821         and have to deal with them and their subsequent whitespace there. Previously this sort of whitespace would have been simply
822         consumed by |skipLeadingWhitespace|.
823
824         Test: fast/inline/out-of-flow-objects-and-whitespace-after-empty-inline.html
825
826         * rendering/RenderBlockLineLayout.cpp:
827         (WebCore::shouldSkipWhitespaceAfterStartObject):
828
829 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
830
831         Autocorrected text doesn't have a marker of type autocorrected
832         https://bugs.webkit.org/show_bug.cgi?id=114337
833
834         Reviewed by Darin Adler.
835
836         The bug was caused by markAndReplaceFor's text replacement errornously assuming that there are
837         no other text checking result starting at the same offset. That resulted in us adjusting location
838         offsets of the subsequent results pointing at the replaced text, hit an assertion, and blow up.
839
840         Fixed the bug by skipping all remaining results for the replaced text since they're no longer
841         applicable.
842
843         Tests: Existing autocorection tests have been updated to assert new behavior.
844
845         * editing/Editor.cpp:
846         (WebCore::Editor::markAndReplaceFor):
847
848 2013-04-11  Michelangelo De Simone  <michelangelo@webkit.org>
849
850         [CSS Shaders] Parse the geometry descriptor
851         https://bugs.webkit.org/show_bug.cgi?id=110815
852
853         Added initial parsing for the "geometry" descriptor, as per specification:
854         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#geometry
855         This descriptor allows to specify the mesh geometry for custom filters.
856
857         Reviewed by Dirk Schulze.
858
859         Tests: css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-invalid.html
860                css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-valid.html
861
862         * css/CSSComputedStyleDeclaration.cpp:
863         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
864         * css/CSSParser.cpp:
865         (WebCore::CSSParser::parseValue):
866         (WebCore::CSSParser::parseGeometry): New method that parses the geometry
867         descriptor (grid()).
868         (WebCore):
869         * css/CSSParser.h:
870         * css/CSSProperty.cpp:
871         (WebCore::CSSProperty::isInheritedProperty):
872         * css/CSSPropertyNames.in: Added conditional "geometry" property.
873         * css/CSSValueKeywords.in: Added conditional "attached" value keyword; detached
874         was already there.
875
876 2013-04-11  Anders Carlsson  <andersca@apple.com>
877
878         Make StorageAreaMap dispatch session storage events
879         https://bugs.webkit.org/show_bug.cgi?id=114454
880
881         Reviewed by Beth Dakin.
882
883         Export storage symbols and headers needed by WebKit2.
884
885         * WebCore.exp.in:
886         * WebCore.xcodeproj/project.pbxproj:
887
888 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
889
890         handleMouseMoveEvent should let hit-testing hit-test scrollbars
891         https://bugs.webkit.org/show_bug.cgi?id=114430
892
893         Reviewed by Antonio Gomes.
894
895         Allow hit-testing to hit-test frame scrollbars so handleMouseMoveEvent
896         does not have to do it itself.
897
898         * page/EventHandler.cpp:
899         (WebCore::EventHandler::handleMouseMoveEvent):
900
901 2013-04-11  Brian Holt  <brian.holt@samsung.com>
902
903         [Gtk] Combo boxes should be arrow-out-of-able similar to list boxes when caret-browsing is enabled.
904         https://bugs.webkit.org/show_bug.cgi?id=76796
905
906         Reviewed by Chris Fleizach.
907
908         When using caret-browsing with the right and left arrows, the
909         behaviour of menuLists should be the same as listBoxes. This means
910         not default-handling the event and passing it up the stack instead.
911
912         * html/HTMLSelectElement.cpp:
913         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
914
915 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
916
917         Remove some ResourceHandle.h includes
918         https://bugs.webkit.org/show_bug.cgi?id=114416
919
920         Reviewed by Ryosuke Niwa.
921
922         * loader/CrossOriginAccessControl.h:
923         * loader/CrossOriginPreflightResultCache.h:
924         These files don't need ResourceHandle.h, just ResourceHandleTypes.h.
925
926         * loader/TextTrackLoader.cpp:
927         * loader/ThreadableLoader.h:
928         * loader/appcache/ApplicationCacheGroup.h:
929         * loader/cache/MemoryCache.h:
930         * loader/mac/ResourceLoaderMac.mm:
931         * page/Settings.cpp:
932         * platform/network/AuthenticationChallengeBase.cpp:
933         * platform/network/cf/CookieJarCFNet.cpp:
934         * platform/network/cf/ResourceRequestCFNet.cpp:
935         * xml/XSLTProcessorLibxslt.cpp:
936         * xml/parser/XMLDocumentParser.cpp:
937         * xml/parser/XMLDocumentParserLibxml2.cpp:
938         Just straightforward removal of includes.
939
940 2013-04-04  Allan Sandfeld Jensen  <allan.jensen@digia.com>
941
942         Use CSS4 image-rendering to determing image scaling quality
943         https://bugs.webkit.org/show_bug.cgi?id=113405
944
945         Reviewed by Simon Fraser.
946
947         Implement the new CSS4 image-rendering property values.
948
949         Image scaling now uses low-quality (pixelated) scaling for
950         crisp-edges, pixelated and optimizeSpeed values, and always
951         use high quality (smooth) scaling for -webkit-smooth and
952         optimizeQuality. The latter can be used to disable low quality
953         scaling during CSS animations or live resizing.
954
955         The new values are protected with a new CSS4_IMAGES feature, but
956         the crisp-edge value has been introduced before to displace the
957         deprecated -webkit-optimize-contrast value, and optimizeSpeed
958         and optimizeQuality values are supported for SVG compatibility.
959
960         * css/CSSParser.cpp:
961         (WebCore::isValidKeywordPropertyAndValue):
962         * css/CSSPrimitiveValueMappings.h:
963         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
964         (WebCore::CSSPrimitiveValue::operator EImageRendering):
965         * css/CSSValueKeywords.in:
966         * rendering/RenderBoxModelObject.cpp:
967         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
968         * rendering/RenderHTMLCanvas.cpp:
969         (WebCore::RenderHTMLCanvas::paintReplaced):
970         * rendering/style/RenderStyleConstants.h:
971
972 2013-04-11  Adenilson Cavalcanti  <cavalcantii@gmail.com>
973
974         Build fix: use of uninitialized variable in ScrollingStateTree
975         https://bugs.webkit.org/show_bug.cgi?id=114443
976
977         Reviewed by Anders Carlsson.
978
979         Initialize pointer to zero before use, fixes build.
980         No new tests, no changes on behavior.
981
982         * page/scrolling/ScrollingStateTree.cpp:
983         (WebCore::ScrollingStateTree::attachNode):
984
985 2013-04-11  Dirk Schulze  <krit@webkit.org>
986
987         [CSS Shaders] Parse mix descriptor
988         https://bugs.webkit.org/show_bug.cgi?id=114414
989
990         Reviewed by Antti Koivisto.
991
992         Add support for the 'mix' descriptor in the filter at-rule to support blend modes
993         and composite operators in CSS Shaders.
994         Each pixel in the fragment shader will be blended and composited with the
995         backdrop by taking these values into account.
996
997         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-mix
998
999         Tests: css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid.html
1000                css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid.html
1001
1002         * css/CSSComputedStyleDeclaration.cpp:
1003         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1004         * css/CSSParser.cpp: Added 'mix' property and fail parsing if not inside
1005             of an @filter rule.
1006         (WebCore::CSSParser::parseValue):
1007         (WebCore::CSSParser::parseFilterRuleMix): New helper function to verify
1008             values.
1009         (WebCore):
1010         * css/CSSParser.h:
1011         * css/CSSProperty.cpp:
1012         (WebCore::CSSProperty::isInheritedProperty):
1013         * css/CSSPropertyNames.in: Added new property name 'mix'.
1014         * css/StyleResolver.cpp:
1015         (WebCore::StyleResolver::applyProperty):
1016
1017 2013-04-11  Zalan Bujtas  <zalan@apple.com>
1018
1019         Parent box with background-size auto and gradient image does not get properly repainted when child box is resized. 
1020         https://bugs.webkit.org/show_bug.cgi?id=114424
1021
1022         Reviewed by Antti Koivisto.
1023         
1024         Initiate full repaint on fill layer, when the image is generated and the background
1025         property defines auto size.
1026         http://www.w3.org/TR/css3-background/#background-size
1027         'If the image has neither an intrinsic width nor an intrinsic height, its size is determined as for 'contain'.'
1028
1029         Extended fast/repaint/background-shorthand-with-gradient-and-height-changes.html
1030         to cover this case too.
1031
1032         * rendering/RenderObject.cpp:
1033         (WebCore::mustRepaintFillLayers):
1034
1035 2013-04-11  ChangSeok Oh  <changseok.oh@collabora.com>
1036
1037         [GTK][AC] use a smart pointer for GList and ClutterCanvas
1038         https://bugs.webkit.org/show_bug.cgi?id=114057
1039
1040         Reviewed by Gustavo Noronha Silva.
1041
1042         We can make simple code & prevent possible memory leak by using a proper smart pointer.
1043         Especially if we get children by clutter_actor_get_children, we should free it after using.
1044
1045         No functionality changed.
1046
1047         * platform/graphics/clutter/GraphicsLayerActor.cpp:
1048         (graphicsLayerActorUpdateTexture):
1049         (graphicsLayerActorRemoveAll):
1050
1051 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
1052
1053         [BlackBerry][CSS Filters] Blur filter fails to recompute blur size when layer size changes
1054         https://bugs.webkit.org/show_bug.cgi?id=114272
1055
1056         Reviewed by Rob Buis.
1057
1058         Blur appeared blocky or pixelated when surface changed size after
1059         creating the filter actions. The initial image size was used to
1060         determine the blur size (expressed in texture coordinate system).
1061         Fixed by recomputing the blur size when the surface size changes, using
1062         a new Uniform1f subclass that can use a functor to compute the uniform
1063         value per-frame.
1064
1065         This fixes css3/filters/effect-blur-hw.html. This can only be verified
1066         by manual inspection because the BlackBerry port is not currently using
1067         pixel tests.
1068
1069         PR 323730
1070
1071         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
1072         (WebCore):
1073         (SurfaceFunctor):
1074         (WebCore::SurfaceFunctor::SurfaceFunctor):
1075         (InverseSurfaceWidth):
1076         (WebCore::InverseSurfaceWidth::InverseSurfaceWidth):
1077         (WebCore::InverseSurfaceWidth::operator()):
1078         (InverseSurfaceHeight):
1079         (WebCore::InverseSurfaceHeight::InverseSurfaceHeight):
1080         (WebCore::LayerFilterRenderer::actionsForOperations):
1081         * platform/graphics/blackberry/LayerFilterRenderer.h:
1082         (Uniform1f):
1083         (WebCore):
1084         (Uniform1fWithFunctor):
1085         (WebCore::Uniform1fWithFunctor::create):
1086         (WebCore::Uniform1fWithFunctor::Uniform1fWithFunctor):
1087         (WebCore::Uniform1fWithFunctor::apply):
1088         (WebCore::Uniform1f::createWithFunctor):
1089
1090 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
1091
1092         [BlackBerry] Accelerated compositing debug rectangle incorrectly drawn for layers with surfaces
1093         https://bugs.webkit.org/show_bug.cgi?id=114275
1094
1095         Reviewed by Carlos Garcia Campos.
1096
1097         The drawDebugBorder method was updated to mirror the logic in
1098         compositeLayersRecursive, i.e. if we're compositing a surface to the
1099         screen, use the transformed bounds stored in the surface. The bounds
1100         stored in the layer should only be used when drawing the layer to the
1101         surface.
1102
1103         Speaking of which, also update the code to skip border drawing when
1104         drawing a layer to a surface. Drawing the borders inside the surface
1105         would only result in messing up the surface contents, especially when
1106         CSS filters like blur were the reason for having a surface in the first
1107         place - the border would be blurred and hard to discern.
1108
1109         Only manually testable, the debug border is disabled during layout
1110         tests.
1111
1112         PR 323746
1113
1114         * platform/graphics/blackberry/LayerRenderer.cpp:
1115         (WebCore::LayerRenderer::drawDebugBorder):
1116         * platform/graphics/blackberry/LayerRendererSurface.cpp:
1117         (WebCore::LayerRendererSurface::drawRect):
1118         (WebCore::LayerRendererSurface::transformedBounds): Added.
1119         (WebCore):
1120         * platform/graphics/blackberry/LayerRendererSurface.h:
1121         (LayerRendererSurface):
1122
1123 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
1124
1125         [BlackBerry] Compiler warning in LayerWebKitThread.cpp
1126         https://bugs.webkit.org/show_bug.cgi?id=114277
1127
1128         Reviewed by Carlos Garcia Campos.
1129
1130         All the relevant WTF::Vector APIs use size_t, storing the position in
1131         an int resulted in a compiler warning. Fixed by switching to size_t.
1132
1133         No change in behavior, no new tests.
1134
1135         PR 323753
1136
1137         * platform/graphics/blackberry/LayerWebKitThread.cpp:
1138         (WebCore::LayerWebKitThread::remove):
1139         (WebCore::LayerWebKitThread::replaceSublayer):
1140
1141 2013-04-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1142
1143         [CoordinatedGraphics] Use ScrollingStateTree to handle fixed elements positioning while scrolling
1144         https://bugs.webkit.org/show_bug.cgi?id=114353
1145
1146         Reviewed by Noam Rosenthal.
1147         
1148         ScrollingCoordinatorCoordinatedGraphics should implement threaded scrolling interface and
1149         re-use threaded scrolling approach (ScrollingStateTree and ViewportConstraints) to handle
1150         fixed/sticky elements positioning while scrolling. The rationals are below.
1151
1152         Before the change ScrollingCoordinatorCoordinatedGraphics was implementing Chromium-specific
1153         interface which is going to be removed eventually as there is no ScrollingCoordinatorChromium
1154         existing.
1155
1156         Tested by existing manual tests (fixed-position.html for example.
1157
1158         * CMakeLists.txt:
1159         * Target.pri:
1160             Included ScrollingStateTree files.
1161
1162         * page/scrolling/ScrollingStateFixedNode.cpp:
1163         * page/scrolling/ScrollingStateFixedNode.h:
1164         * page/scrolling/ScrollingStateNode.cpp:
1165         * page/scrolling/ScrollingStateNode.h:
1166         * page/scrolling/ScrollingStateScrollingNode.cpp:
1167         * page/scrolling/ScrollingStateScrollingNode.h:
1168         * page/scrolling/ScrollingStateStickyNode.cpp:
1169         * page/scrolling/ScrollingStateStickyNode.h:
1170         * page/scrolling/ScrollingStateTree.cpp:
1171         * page/scrolling/ScrollingStateTree.h:
1172             Removed ENABLE(THREADED_SCROLLING) code guards.
1173
1174         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
1175         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
1176         (WebCore::ScrollingCoordinatorCoordinatedGraphics::~ScrollingCoordinatorCoordinatedGraphics):
1177         (WebCore):
1178         (WebCore::ScrollingCoordinatorCoordinatedGraphics::attachToStateTree):
1179         (WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
1180         (WebCore::ScrollingCoordinatorCoordinatedGraphics::clearStateTree):
1181         (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
1182         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
1183             ScrollingCoordinatorCoordinatedGraphics is using threaded scrolling approach to handle fixed
1184             elements positioning while scrolling.
1185
1186         (WebCore):
1187         (ScrollingCoordinatorCoordinatedGraphics):
1188         * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp: Added.
1189         (WebCore):
1190         (WebCore::ScrollingStateNode::platformScrollLayer):
1191         (WebCore::ScrollingStateNode::setScrollPlatformLayer):
1192         (WebCore::ScrollingStateNode::setScrollLayer):
1193         * page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp: Added.
1194         (WebCore):
1195         (WebCore::ScrollingStateScrollingNode::counterScrollingPlatformLayer):
1196         (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
1197
1198 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1199
1200         [Qt] EventHandler should handle Space and BackSpace 
1201         https://bugs.webkit.org/show_bug.cgi?id=114428
1202
1203         Reviewed by Jocelyn Turcotte.
1204
1205         Enable default space-handling for Qt.
1206
1207         * page/EventHandler.cpp:
1208
1209 2013-04-11  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1210
1211         IconDatabase: Simplify boolean logic in assertion.
1212         https://bugs.webkit.org/show_bug.cgi?id=114425
1213
1214         Reviewed by Andreas Kling.
1215
1216         Follow-up to r148097; drop the overzealous use of !! to turn a
1217         PassRefPtr into a boolean.
1218
1219         * loader/icon/IconDatabase.cpp:
1220         (WebCore::IconDatabase::updateIconRecord):
1221
1222 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
1223
1224         [BlackBerry] LayerTexture refactoring
1225         https://bugs.webkit.org/show_bug.cgi?id=114276
1226
1227         Reviewed by Carlos Garcia Campos.
1228
1229         Remove the GpuHandle and HostType typedefs from LayerTexture, they
1230         don't make any sense now that we removed the Skia code paths. With Skia
1231         they used to be an OpenGL texture ID and an SkBitmap respectively, but
1232         now it's just BlackBerry::Platform::Graphics::Buffer all around.
1233
1234         This allows us to rename textureId() into buffer() which is more to the
1235         point. The texture ID concept is now up for grabs and can be used to
1236         consolidate all the various code for extracting an OpenGL texture from
1237         a BlackBerry::Platform::Graphics::Buffer. This opportunity is seized in
1238         LayerTexture::platformTexture(), a name which makes more sense than
1239         textureId() for anyone familiar with the GraphicsContext3D code. We can
1240         also leverage the Platform3DObject typedef to avoid including gl2.h.
1241
1242         The vertex attribute state was getting trampled when interacting with
1243         BlackBerry::Platform::Graphics in the LayerFilterRenderer. Some
1244         additional GL state save/restore incantations when accessing the OpenGL
1245         texture for a LayerTexture in the new LayerTexture::platformTexture()
1246         method fixes various CSS Filters test cases.
1247
1248         Since we removed the Skia integration from LayerTiler, nobody cares
1249         about the dirty rect, tile rect or opaqueness of the tile contents. So
1250         remove those parameters from the updateContents code path.
1251
1252         No change in behavior except for fixing CSS Filters tests like
1253         css3/filters/effect-blur-hw.html. This can only be verified by manually
1254         looking at the tests, we don't have pixel test support to catch this
1255         kind of regression.
1256
1257         PR 322882
1258
1259         * platform/graphics/blackberry/LayerCompositingThread.cpp:
1260         (WebCore::LayerCompositingThread::drawSurface):
1261         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
1262         (WebCore::LayerFilterRenderer::ping):
1263         (WebCore::LayerFilterRenderer::pong):
1264         (WebCore::LayerFilterRenderer::pushSnapshot):
1265         (WebCore::LayerFilterRenderer::popSnapshot):
1266         (WebCore::LayerFilterRenderer::applyActions):
1267         * platform/graphics/blackberry/LayerRenderer.cpp:
1268         (WebCore::LayerRenderer::useSurface):
1269         * platform/graphics/blackberry/LayerTexture.cpp:
1270         (WebCore::LayerTexture::LayerTexture):
1271         (WebCore::LayerTexture::updateContents):
1272         (WebCore::LayerTexture::setContentsToColor):
1273         (WebCore::LayerTexture::protect):
1274         (WebCore::LayerTexture::platformTexture):
1275         (WebCore):
1276         * platform/graphics/blackberry/LayerTexture.h:
1277         (WebCore::LayerTexture::isDirty):
1278         (WebCore::LayerTexture::buffer):
1279         (LayerTexture):
1280         (WebCore::LayerTexture::setBuffer):
1281         * platform/graphics/blackberry/LayerTile.cpp:
1282         (WebCore::LayerTile::setContents):
1283         (WebCore::LayerTile::updateContents):
1284         * platform/graphics/blackberry/LayerTile.h:
1285         (WebCore::LayerTile::hasTexture):
1286         (LayerTile):
1287         * platform/graphics/blackberry/LayerTiler.cpp:
1288         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
1289         (WebCore::LayerTiler::uploadTexturesIfNeeded):
1290         (WebCore::LayerTiler::performTileJob):
1291         (WebCore::LayerTiler::drawTile):
1292         * platform/graphics/blackberry/LayerTiler.h:
1293         (WebCore::LayerTiler::TextureJob::TextureJob):
1294         (WebCore::LayerTiler::TextureJob::setContents):
1295         (WebCore::LayerTiler::TextureJob::updateContents):
1296         (TextureJob):
1297         (LayerTiler):
1298         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
1299         (WebCore::TextureCacheCompositingThread::createBuffer):
1300         (WebCore::TextureCacheCompositingThread::collectGarbage):
1301         (WebCore::TextureCacheCompositingThread::install):
1302         (WebCore::TextureCacheCompositingThread::resizeTexture):
1303         (WebCore::TextureCacheCompositingThread::evict):
1304         (WebCore::TextureCacheCompositingThread::textureForContents):
1305         (WebCore::TextureCacheCompositingThread::updateContents):
1306         * platform/graphics/blackberry/TextureCacheCompositingThread.h:
1307         (TextureCacheCompositingThread):
1308         (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
1309         (ZombieTexture):
1310
1311 2013-04-11  Alberto Garcia  <agarcia@igalia.com>
1312
1313         [BlackBerry] RenderThemeBlackBerry: upstream missing code
1314         https://bugs.webkit.org/show_bug.cgi?id=114343
1315
1316         Reviewed by Xan Lopez.
1317
1318         Add implementations of sliderTickSize() and
1319         sliderTickOffsetFromTrackCenter(), as well as a missing header.
1320
1321         * platform/blackberry/RenderThemeBlackBerry.cpp:
1322         (WebCore):
1323         (WebCore::RenderThemeBlackBerry::sliderTickSize):
1324         (WebCore::RenderThemeBlackBerry::sliderTickOffsetFromTrackCenter):
1325         * platform/blackberry/RenderThemeBlackBerry.h:
1326         (RenderThemeBlackBerry):
1327
1328 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1329
1330         HitTestRequest::AllowFrameScrollbars does not test main frame scrollbar
1331         https://bugs.webkit.org/show_bug.cgi?id=112563
1332
1333         Reviewed by Antonio Gomes.
1334
1335         Move the frame scrollbar testing from RenderPart to RenderView, so that it is
1336         tested by all frame and not just child frames. At the same time remove the 
1337         main frame test from the one current callsite using the option.
1338
1339         Tested by fast/events/touch/gesture/gesture-scrollbar.html.
1340
1341         * page/EventHandler.cpp:
1342         (WebCore::EventHandler::handleGestureEvent):
1343         * rendering/RenderPart.cpp:
1344         (WebCore::RenderPart::nodeAtPoint):
1345         * rendering/RenderView.cpp:
1346         (WebCore::RenderView::hitTest):
1347
1348 2013-04-11  Rune Lillesveen  <rune@opera.com>
1349
1350         Incorrect evaluation of resolution media queries
1351         https://bugs.webkit.org/show_bug.cgi?id=114029
1352
1353         Reviewed by Kenneth Rohde Christiansen.
1354
1355         The implementation used the physical resolution to evaluate the
1356         resolution media features. Changed to use the actual CSS resolution,
1357         also known as the device-pixel-ratio, instead. Unified the code for
1358         evaluating the resolution and device-pixel-ratio media features.
1359
1360         No new tests, covered by existing tests.
1361
1362         * WebCore.exp.in:
1363         * css/CSSPrimitiveValue.h:
1364         (WebCore::CSSPrimitiveValue::isResolution):
1365         * css/MediaQueryEvaluator.cpp:
1366         (WebCore::evalResolution):
1367         (WebCore::device_pixel_ratioMediaFeatureEval):
1368         (WebCore::resolutionMediaFeatureEval):
1369         * page/Screen.cpp:
1370         * page/Screen.h:
1371         * page/Settings.cpp:
1372         (WebCore):
1373         * page/Settings.h:
1374         (Settings):
1375         * testing/InternalSettings.cpp:
1376         (WebCore::InternalSettings::Backup::Backup):
1377         (WebCore::InternalSettings::Backup::restoreTo):
1378         * testing/InternalSettings.h:
1379         (Backup):
1380         (InternalSettings):
1381         * testing/InternalSettings.idl:
1382
1383 2013-04-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1384
1385         FrameLoaderClient::assignIdentifierToInitialRequest() not called for the main resource when loaded from the memory cache
1386         https://bugs.webkit.org/show_bug.cgi?id=112418
1387
1388         Reviewed by Darin Adler.
1389
1390         When the main resource is loaded from the memory cache the
1391         response is not added to the ResponseVector of the document
1392         loader, so that when committing the provisional load the remaining
1393         delegate messages are not called because the ResponseVector of the
1394         document loader is empty. When the main resource is loaded from
1395         the memory cache, there's no resource loader, and the client is
1396         notified about the response received using
1397         ResourceLoadNotifier::dispatchDidReceiveResponse() directly
1398         instead of ResourceLoadNotifier::didReceiveResponse() which is the
1399         one adding the response to the ResponseVector of the document
1400         loader. So, the problem can be fixed by adding the response to the
1401         ResponseVector before calling dispatchDidReceiveResponse() when
1402         loading the main resource without a resource loade
1403
1404         Test: loader/go-back-cached-main-resource.html
1405
1406         * loader/DocumentLoader.cpp:
1407         (WebCore::DocumentLoader::responseReceived):
1408
1409 2013-04-10  Alexey Proskuryakov  <ap@apple.com>
1410
1411         Remove some includes of CachedImage.h
1412         https://bugs.webkit.org/show_bug.cgi?id=114411
1413
1414         Reviewed by Dan Bernstein.
1415
1416         * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
1417         definition of a class it holds, but default construction does not.
1418
1419         * rendering/RenderImageResource.cpp:
1420         * rendering/RenderImageResource.h:
1421         Moved definitions of virtual functions to a .cpp file. There is no win from having
1422         them inline, and now we don't need CachedImage.h in the header.
1423
1424         * bindings/js/JSNodeCustom.cpp:
1425         * dom/Clipboard.cpp:
1426         (WebCore::Clipboard::Clipboard):
1427         * platform/mac/ClipboardMac.h:
1428         * rendering/InlineFlowBox.cpp:
1429         * rendering/RenderBox.cpp:
1430         * rendering/RenderListItem.cpp:
1431         * rendering/RenderListMarker.cpp:
1432         * rendering/RenderTableCol.cpp:
1433         * rendering/RenderTableRow.cpp:
1434         * rendering/RenderTableSection.cpp:
1435         * svg/graphics/SVGImageCache.cpp:
1436         Removed unnecessary includes.
1437
1438         * platform/mac/PasteboardMac.mm:
1439         * rendering/RenderSnapshottedPlugIn.cpp:
1440         Added ones where they are now necessary.
1441
1442 2013-04-10  No'am Rosenthal  <noam@webkit.org>
1443
1444         Allow direct compositing of background images
1445         https://bugs.webkit.org/show_bug.cgi?id=108203
1446
1447         Reviewed by Simon Fraser.
1448
1449         Use setContentsToImage for background images, if the GraphicsLayer has only a background
1450         bitmap image and nothing else. Compute the contentsRect/contentsTileRect from the box model.
1451         Added new properties to GraphicsLayer, contentsTilePhase and contentsTileSize, which controls the "single tile rect",
1452         which allows us to compute the pattern-space transform of a tile, thus allowing background-size
1453         and other characteristics of background images.
1454
1455         This feature is explicitly disabled when there is any composition with a background color or if
1456         there are several background images, as in that case having a single backing store has some
1457         advantages over directly compositing in hardware.
1458
1459         Currently, this feature is disabled for all ports, allowing ports to implement their backend
1460         and decide when to enable it.
1461
1462         Note that RenderBoxModelObject::getGeometryForBackgroundImage crops the contents rect to the 
1463         area that contains the tiles, which allows us to assume full tiling in GraphicsLayer.
1464         In this way contentsTileSize/Phase is equivalent to GraphicsContext::drawTiledImage.
1465
1466         Tests: compositing/patterns/direct-pattern-compositing-add-text.html
1467                compositing/patterns/direct-pattern-compositing-change.html
1468                compositing/patterns/direct-pattern-compositing-contain.html
1469                compositing/patterns/direct-pattern-compositing-cover.html
1470                compositing/patterns/direct-pattern-compositing-load.html
1471                compositing/patterns/direct-pattern-compositing-padding.html
1472                compositing/patterns/direct-pattern-compositing-position.html
1473                compositing/patterns/direct-pattern-compositing-rotation.html
1474                compositing/patterns/direct-pattern-compositing-size.html
1475                compositing/patterns/direct-pattern-compositing.html
1476
1477         * platform/graphics/GraphicsLayer.h:
1478         (GraphicsLayer):
1479         (WebCore::GraphicsLayer::setContentsTileSize):
1480         (WebCore::GraphicsLayer::setContentsTilePhase):
1481         (WebCore::GraphicsLayer::contentsTileSize):
1482         (WebCore::GraphicsLayer::contentsTilePhase):
1483         (WebCore::GraphicsLayer::supportsContentsTiling):
1484                 Add a contentsTileRect property that enables tile-repeat of background images.
1485
1486         * rendering/RenderBox.cpp:
1487         (WebCore::RenderBox::imageChanged):
1488                 Pass background image changes to the layer backing.
1489
1490         * rendering/RenderBoxModelObject.cpp:
1491         * rendering/RenderBoxModelObject.h:
1492         (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
1493                 Expose a function that performs the geometry calculations needed to determine 
1494                 the tileRect for a background image. This function is also responsible
1495                 for cropping the contentsRect to fit the area that is drawn into.
1496
1497         * rendering/RenderLayerBacking.h:
1498         * rendering/RenderLayerBacking.cpp:
1499         (WebCore::RenderLayerBacking::contentChanged):
1500         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1501         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1502         (WebCore::RenderLayerBacking::updateDirectlyCompositedContents):
1503         (WebCore::RenderLayerBacking::resetContentsRect):
1504         (WebCore::hasBoxDecorationsOrBackgroundImage):
1505         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
1506         (WebCore::canCreateTiledImage):
1507         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
1508         (WebCore::backgroundRectForBox):
1509                 Allow background images to be directly composited if conditions allow (see bug description).
1510
1511 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
1512
1513         Replace ENABLE_LEGACY_WEB_AUDIO preprocessor statements in IDL files with Conditional attribute
1514         https://bugs.webkit.org/show_bug.cgi?id=114351
1515
1516         Reviewed by Ryosuke Niwa.
1517
1518         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
1519
1520         * Modules/webaudio/AudioBufferSourceNode.idl:
1521         * Modules/webaudio/AudioContext.idl:
1522         * Modules/webaudio/AudioParam.idl:
1523         * Modules/webaudio/OscillatorNode.idl:
1524
1525 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
1526
1527         Replace ENABLE_DIRECTORY_UPLOAD preprocessor statements in IDL files with Conditional attribute
1528         https://bugs.webkit.org/show_bug.cgi?id=114350
1529
1530         Reviewed by Ryosuke Niwa.
1531
1532         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
1533
1534         * fileapi/File.idl:
1535
1536 2013-04-10  Ryosuke Niwa  <rniwa@webkit.org>
1537
1538         Cleanup local variables in Editor::markAndReplaceFor
1539         https://bugs.webkit.org/show_bug.cgi?id=114383
1540
1541         Reviewed by Enrica Casucci.
1542
1543         Added resultEndLocation, which is the sum of resultLocation and resultLength.
1544
1545         Also replaced ambiguousBoundaryOffset by useAmbiguousBoundaryOffset since the ambiguous offset is always
1546         selectionOffset -1 to avoid the extra house keeping and obnoxious -1 check.
1547
1548         * editing/Editor.cpp:
1549         (WebCore::Editor::markAndReplaceFor):
1550
1551 2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
1552
1553         Mass remove all the empty directories
1554
1555         Rubberstamped by Ryosuke Niwa.
1556
1557         * Modules/intents: Removed.
1558         * Modules/protocolhandler: Removed.
1559         * Modules/speech/mac: Removed.
1560         * accessibility/efl: Removed.
1561         * accessibility/gtk: Removed.
1562         * bridge/jni/jsc: Removed.
1563         * editing/android: Removed.
1564         * editing/gtk: Removed.
1565         * history/android: Removed.
1566         * page/android: Removed.
1567         * platform/android: Removed.
1568         * platform/clutter: Removed.
1569         * platform/graphics/blackberry/skia: Removed.
1570         * platform/graphics/harfbuzz/ng: Removed.
1571         * platform/graphics/pango: Removed.
1572         * platform/image-decoders/cg: Removed.
1573         * platform/image-decoders/qt: Removed.
1574         * platform/network/android: Removed.
1575         * platform/network/soup/cache/webkit: Removed.
1576         * platform/text/android: Removed.
1577         * platform/text/wince: Removed.
1578         * platform/track: Removed.
1579
1580 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
1581
1582         Log when the animation timer fires
1583         https://bugs.webkit.org/show_bug.cgi?id=114393
1584
1585         Reviewed by Dean Jackson.
1586
1587         Logging to the Animations log channel when the updateAnimationTimer
1588         fires is useful, because it indicates whether we're running
1589         software animations.
1590
1591         * page/animation/AnimationController.cpp:
1592         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1593
1594 2013-04-10  Beth Dakin  <bdakin@apple.com>
1595
1596         Inspector highlights are offset when the WKView has a header
1597         https://bugs.webkit.org/show_bug.cgi?id=114389
1598         -and corresponding-
1599         <rdar://problem/13522434>
1600
1601         Reviewed by Sam Weinig.
1602
1603         rootViewToContents() and contentsToRootView() need to factor in the 
1604         headerHeight(), much like windowToContents() and contentsToWindow() do already. 
1605         * platform/ScrollView.cpp:
1606         (WebCore::ScrollView::rootViewToContents):
1607         (WebCore::ScrollView::contentsToRootView):
1608
1609 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
1610
1611         Flesh out the Animations logging
1612         https://bugs.webkit.org/show_bug.cgi?id=114388
1613
1614         Reviewed by Dean Jackson.
1615
1616         Log state changes and transition/animation creation and destruction
1617         to the Animations log channel.
1618
1619         * page/animation/AnimationBase.cpp:
1620         (WebCore::nameForState):
1621         (WebCore::AnimationBase::updateStateMachine):
1622         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
1623         (WebCore::AnimationBase::goIntoEndingOrLoopingState):
1624         (WebCore::AnimationBase::freezeAtTime):
1625         * page/animation/CompositeAnimation.cpp:
1626         (WebCore::CompositeAnimation::updateTransitions):
1627         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1628         * page/animation/KeyframeAnimation.h:
1629         (WebCore::KeyframeAnimation::keyframes):
1630         (KeyframeAnimation):
1631
1632 2013-04-10  Alexey Proskuryakov  <ap@apple.com>
1633
1634         <rdar://problem/13047266> External XML entities are not loaded with modern libxml2
1635         https://bugs.webkit.org/show_bug.cgi?id=114377
1636
1637         Reviewed by Darin Adler.
1638
1639         Covered by http/tests/security/xss-DENIED-xml-external-entity.xhtml when using
1640         new enough libxml2.
1641
1642         * xml/parser/XMLDocumentParserLibxml2.cpp:
1643         (WebCore::switchToUTF16): Added a FIXME with an idea for improvement.
1644         (WebCore::XMLParserContext::createStringParser): Apply XML_PARSE_NOENT in a non-hacky
1645         way, so that the new libxml2 check doesn't fail.
1646         (WebCore::XMLParserContext::createMemoryParser): Updated an unhelpful and incorrect
1647         comment (XML_PARSE_NODICT actually means "Do not reuse the context dictionary").
1648
1649 2013-04-10  Eric Carlson  <eric.carlson@apple.com>
1650
1651         [Mac] in-band tracks sometimes not recognized
1652         https://bugs.webkit.org/show_bug.cgi?id=114380
1653
1654         Reviewed by Jer Noble.
1655
1656         No new tests, covered by existing in-band tests.
1657
1658         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1659         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Don't call selectMediaOption,
1660             availableMediaCharacteristicsWithMediaSelectionOptions is unlikely to be loaded at this time.
1661         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Disable automatic text track
1662             selection.
1663         (WebCore::assetMetadataKeyNames): Watch for the status of availableMediaCharacteristicsWithMediaSelectionOptions
1664             to change.
1665
1666 2013-04-10  Hans Muller  <hmuller@adobe.com>
1667
1668         [CSS Exclusions] Zoom causes shape-inside to fail when shape-padding is specified
1669         https://bugs.webkit.org/show_bug.cgi?id=113730
1670
1671         Reviewed by Dirk Schulze.
1672
1673         Snap computed margin and polygon boundaries to the LayoutUnit grid to ensure
1674         that they fall within the shape's LayoutUnit bounding box.
1675
1676         Test: fast/exclusions/shape-inside/shape-inside-polygon-zoom.html
1677
1678         * rendering/ExclusionPolygon.cpp:
1679         (WebCore::snapVerticesToLayoutUnitGrid): Convert the FloatPoint coordinates to LayoutUnits and then back to floats.
1680         (WebCore::computeShapePaddingBounds): Now calls snapVerticesToLayoutUnitGrid() before creating a FloatPolygon.
1681         (WebCore::computeShapeMarginBounds): Ditto.
1682
1683 2013-04-10  Csaba Osztrogonác  <ossy@webkit.org>
1684
1685         One more unreviewed buildfix after r148123.
1686
1687         * platform/graphics/filters/CustomFilterMeshGenerator.h:
1688
1689 2013-04-10  Beth Dakin  <bdakin@apple.com>
1690
1691         FindBanner matches are offset when the WKView has a header or footer
1692         https://bugs.webkit.org/show_bug.cgi?id=114314
1693         -and corresponding-
1694         <rdar://problem/13522434>
1695
1696         Reviewed by Simon Fraser.
1697
1698         There were already a few places in the code where we needed to adjust the 
1699         scrollOffset() to pretend that (0,0) is that the top of the Document rather than 
1700         the top of the header. To fix the FindBanner issues, we need to know that version 
1701         of the offset in a few more places, so I added a function on ScrollView to fetch 
1702         it called scrollOffsetRelativeToDocument().
1703
1704         New function subtracts out the headerHeight() to treat the top of 
1705         the document as (0,0).
1706         * WebCore.exp.in:
1707         * platform/ScrollView.cpp:
1708         (WebCore::ScrollView::scrollOffsetRelativeToDocument):
1709
1710         Use scrollOffsetRelativeToDocument() where we were previously making this 
1711         calculation. Also re-name an inaccurately named variable where we are actually 
1712         converting FROM a document offset to a ScrollableArea offset.
1713         (WebCore::ScrollView::windowToContents):
1714         * platform/ScrollView.h:
1715         (ScrollView):
1716
1717         getRectToExpose needs to know about the actual visibleContentRect and the 
1718         visibleContentRect that is relative to the Document. So this 
1719         patch adds a new parameter to getRectToExpose for that purpose.
1720         * rendering/RenderLayer.cpp:
1721         (WebCore::RenderLayer::scrollRectToVisible):
1722         (WebCore::RenderLayer::getRectToExpose):
1723         * rendering/RenderLayer.h:
1724
1725 2013-04-10  Chris Fleizach  <cfleizach@apple.com>
1726
1727         when ARIA button contains a link, label text is ignored (affects main buttons on m.facebook.com)
1728         https://bugs.webkit.org/show_bug.cgi?id=113906
1729
1730         Reviewed by Tim Horton.
1731
1732         If an element does not expose any children, then it's safe to include all of its sub children when determining
1733         the visible text.
1734         The bug is that all elements were ignoring focusable elements (like <a>) when determining visible children text
1735
1736         Test: accessibility/link-inside-button-accessible-text.html
1737
1738         * accessibility/AccessibilityNodeObject.cpp:
1739         (WebCore::shouldUseAccessiblityObjectInnerText):
1740         * accessibility/AccessibilityNodeObject.h:
1741         (AccessibilityNodeObject):
1742         * accessibility/AccessibilityObject.h:
1743         (WebCore::AccessibilityObject::isDescendantOfBarrenParent):
1744         (AccessibilityObject):
1745
1746 2013-04-10  Chris Fleizach  <cfleizach@apple.com>
1747
1748         AX: Make sure all AX methods called from outside call prepareAccessibility
1749         https://bugs.webkit.org/show_bug.cgi?id=113818
1750
1751         Reviewed by Darin Adler.
1752
1753         Make sure any calls that can be made from outside WebCore are protected with the
1754         prepareAccessibility method.
1755
1756         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1757         (-[WebAccessibilityObjectWrapper accessibilityMathRootIndexObject]):
1758         (-[WebAccessibilityObjectWrapper accessibilityMathRadicandObject]):
1759         (-[WebAccessibilityObjectWrapper accessibilityMathNumeratorObject]):
1760         (-[WebAccessibilityObjectWrapper accessibilityMathDenominatorObject]):
1761         (-[WebAccessibilityObjectWrapper accessibilityMathBaseObject]):
1762         (-[WebAccessibilityObjectWrapper accessibilityMathSubscriptObject]):
1763         (-[WebAccessibilityObjectWrapper accessibilityMathSuperscriptObject]):
1764         (-[WebAccessibilityObjectWrapper accessibilityMathUnderObject]):
1765         (-[WebAccessibilityObjectWrapper accessibilityMathOverObject]):
1766         (-[WebAccessibilityObjectWrapper accessibilityMathFencedOpenString]):
1767         (-[WebAccessibilityObjectWrapper accessibilityMathFencedCloseString]):
1768         (-[WebAccessibilityObjectWrapper accessibilityIsMathTopObject]):
1769         (-[WebAccessibilityObjectWrapper accessibilityMathType]):
1770
1771 2013-04-10  Csaba Osztrogonác  <ossy@webkit.org>
1772
1773         Unreviewed buildfix after r148123.
1774
1775         * inspector/InspectorInstrumentation.h:
1776         (WebCore):
1777
1778 2013-04-10  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1779
1780         Clicking on the volume slider of HTML5 elements is pausing sometimes
1781         https://bugs.webkit.org/show_bug.cgi?id=112548
1782
1783         Reviewed by Eric Carlson.
1784
1785         Test: media/click-volume-bar-not-pausing.html
1786
1787         * html/shadow/MediaControlElementTypes.cpp:
1788         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
1789         Calling the setDefaultHandled() method on the event prevents it
1790         from being incorrectly propagated from the volume button up to the
1791         MediaDocument.
1792
1793 2013-04-10  Arvid Nilsson  <anilsson@rim.com>
1794
1795         [BlackBerry] Rename BlackBerry specific Texture class
1796         https://bugs.webkit.org/show_bug.cgi?id=95781
1797
1798         Reviewed by Rob Buis.
1799
1800         Texture was a bit too generic and prone to name conflicts. Renamed it
1801         to LayerTexture.
1802
1803         No change in behavior, no new tests.
1804
1805         PR 322882
1806
1807         * PlatformBlackBerry.cmake:
1808         * platform/graphics/blackberry/LayerCompositingThread.cpp:
1809         (WebCore::LayerCompositingThread::drawSurface):
1810         (WebCore::LayerCompositingThread::contentsTexture):
1811         * platform/graphics/blackberry/LayerCompositingThread.h:
1812         (LayerCompositingThread):
1813         * platform/graphics/blackberry/LayerCompositingThreadClient.h:
1814         (WebCore):
1815         (WebCore::LayerCompositingThreadClient::contentsTexture):
1816         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
1817         (WebCore::LayerFilterRenderer::applyActions):
1818         * platform/graphics/blackberry/LayerFilterRenderer.h:
1819         (LayerFilterRenderer):
1820         * platform/graphics/blackberry/LayerRendererSurface.h:
1821         (WebCore::LayerRendererSurface::texture):
1822         (LayerRendererSurface):
1823         * platform/graphics/blackberry/LayerTexture.cpp: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.cpp.
1824         (WebCore):
1825         (WebCore::LayerTexture::LayerTexture):
1826         (WebCore::LayerTexture::~LayerTexture):
1827         (WebCore::LayerTexture::updateContents):
1828         (WebCore::LayerTexture::setContentsToColor):
1829         (WebCore::LayerTexture::protect):
1830         * platform/graphics/blackberry/LayerTexture.h: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.h.
1831         (WebCore):
1832         (LayerTexture):
1833         (WebCore::LayerTexture::create):
1834         (WebCore::LayerTexture::textureId):
1835         (WebCore::LayerTexture::isDirty):
1836         (WebCore::LayerTexture::hasTexture):
1837         (WebCore::LayerTexture::isColor):
1838         (WebCore::LayerTexture::isOpaque):
1839         (WebCore::LayerTexture::isProtected):
1840         (WebCore::LayerTexture::protect):
1841         (WebCore::LayerTexture::unprotect):
1842         (WebCore::LayerTexture::size):
1843         (WebCore::LayerTexture::width):
1844         (WebCore::LayerTexture::height):
1845         (WebCore::LayerTexture::bytesPerPixel):
1846         (WebCore::LayerTexture::sizeInBytes):
1847         (WebCore::LayerTexture::setTextureId):
1848         (WebCore::LayerTexture::setSize):
1849         * platform/graphics/blackberry/LayerTile.cpp:
1850         (WebCore::LayerTile::setContents):
1851         (WebCore::LayerTile::updateContents):
1852         (WebCore::LayerTile::setTexture):
1853         * platform/graphics/blackberry/LayerTile.h:
1854         (WebCore::LayerTile::texture):
1855         (LayerTile):
1856         * platform/graphics/blackberry/LayerTiler.cpp:
1857         (WebCore::LayerTiler::drawTile):
1858         (WebCore::LayerTiler::contentsTexture):
1859         * platform/graphics/blackberry/LayerTiler.h:
1860         (LayerTiler):
1861         (WebCore::LayerTiler::TextureJob::TextureJob):
1862         (WebCore::LayerTiler::TextureJob::setContents):
1863         (WebCore::LayerTiler::TextureJob::updateContents):
1864         (TextureJob):
1865         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
1866         (WebCore::TextureProtector::TextureProtector):
1867         (TextureProtector):
1868         (WebCore::TextureCacheCompositingThread::allocateTextureId):
1869         (WebCore::freeTextureId):
1870         (WebCore::TextureCacheCompositingThread::textureResized):
1871         (WebCore::TextureCacheCompositingThread::textureSizeInBytesChanged):
1872         (WebCore::TextureCacheCompositingThread::textureDestroyed):
1873         (WebCore::TextureCacheCompositingThread::install):
1874         (WebCore::TextureCacheCompositingThread::resizeTexture):
1875         (WebCore::TextureCacheCompositingThread::evict):
1876         (WebCore::TextureCacheCompositingThread::textureAccessed):
1877         (WebCore::TextureCacheCompositingThread::prune):
1878         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
1879         (WebCore::TextureCacheCompositingThread::textureForColor):
1880         (WebCore::TextureCacheCompositingThread::updateContents):
1881         * platform/graphics/blackberry/TextureCacheCompositingThread.h:
1882         (WebCore::TextureCacheCompositingThread::createTexture):
1883         (TextureCacheCompositingThread):
1884         (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
1885         (ZombieTexture):
1886
1887 2013-04-10  Andreas Kling  <akling@apple.com>
1888
1889         Disallow programmatic movement of the browser window while user gestures are in progress.
1890         <http://webkit.org/b/114271>
1891         <rdar://problem/13226530>
1892
1893         Reviewed by Oliver Hunt.
1894
1895         * page/DOMWindow.cpp:
1896         (WebCore::DOMWindow::moveBy):
1897         (WebCore::DOMWindow::moveTo):
1898         (WebCore::DOMWindow::resizeBy):
1899         (WebCore::DOMWindow::resizeTo):
1900
1901 2013-04-10  Ryosuke Niwa  <rniwa@webkit.org>
1902
1903         Refactor Editor::markAndReplaceFor before fixing autocorrection bugs
1904         https://bugs.webkit.org/show_bug.cgi?id=114344
1905
1906         Reviewed by Enrica Casucci.
1907
1908         This patch refactors Editor::markAndReplaceFor so that we can start fixing bugs in a sane state.
1909         Extracted isAutomaticTextReplacementType and correctSpellcheckingPreservingTextCheckingParagraph,
1910         and made convenience local variables const.
1911
1912         In particular, shouldMarkSpelling used to be assigned of false when shouldShowCorrectionPanel was true
1913         in a middle of a function but this was removed in favor of explicitly checking this condition later
1914         since shouldMarkSpelling was only referenced once after the assignment.
1915
1916         * editing/Editor.cpp:
1917         (WebCore::isAutomaticTextReplacementType): Extracted.
1918
1919         (WebCore::correctSpellcheckingPreservingTextCheckingParagraph): Extracted.  Used highestAncestor
1920         and rangeFromLocationAndLength to match the rest of the up-to-date editing code.
1921
1922         (WebCore::Editor::markAndReplaceFor): See above.
1923
1924 2013-04-08  Anders Carlsson  <andersca@apple.com>
1925
1926         Remove unneeded headers from FrameLoader.h
1927         https://bugs.webkit.org/show_bug.cgi?id=114223
1928
1929         Reviewed by Geoffrey Garen.
1930
1931         Remove unneeded headers from FrameLoader.h and add them back into the respective .cpp files where needed.
1932
1933         * dom/Document.cpp:
1934         * history/CachedFrame.cpp:
1935         * history/PageCache.cpp:
1936         * inspector/InspectorResourceAgent.cpp:
1937         * loader/DocumentLoader.cpp:
1938         * loader/FrameLoader.cpp:
1939         (WebCore::FrameLoader::FrameLoader):
1940         (WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad):
1941         * loader/FrameLoader.h:
1942         (WebCore):
1943         (WebCore::FrameLoader::policyChecker):
1944         (WebCore::FrameLoader::history):
1945         (WebCore::FrameLoader::icon):
1946         * loader/MixedContentChecker.h:
1947         * loader/icon/IconLoader.cpp:
1948         * page/History.cpp:
1949         * page/Page.cpp:
1950         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1951         * testing/Internals.cpp:
1952
1953 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
1954
1955         Minor code cleanup in AnimationBase::progress
1956         https://bugs.webkit.org/show_bug.cgi?id=114371
1957
1958         Reviewed by Dean Jackson.
1959
1960         Convert some "return; else if" to just "return; if".
1961
1962         * page/animation/AnimationBase.cpp:
1963         (WebCore::AnimationBase::progress):
1964
1965 2013-04-10  Robert Hogan  <robert@webkit.org>
1966
1967         Empty inline continuations should only get lineboxes if the padding applies to their side of the inline
1968         https://bugs.webkit.org/show_bug.cgi?id=113896
1969
1970         Reviewed by David Hyatt.
1971
1972         Test: fast/inline/inline-with-empty-inline-continuations.html
1973
1974         Where an empty inline is split across anonymous blocks we should only give lineboxes to the 'sides' of the
1975         inline that have borders, padding or margin.
1976
1977         * rendering/RenderBlockLineLayout.cpp:
1978         (WebCore::shouldApplyStartBorderPaddingOrMargin):
1979         (WebCore):
1980         (WebCore::shouldApplyEndBorderPaddingOrMargin):
1981         (WebCore::hasInlineDirectionBordersPaddingOrMargin):
1982         (WebCore::alwaysRequiresLineBox):
1983
1984 2013-04-10  Zoltan Horvath  <zoltan@webkit.org>
1985
1986         [CSS Exclusions] Increasing padding does not correctly layout child blocks
1987         https://bugs.webkit.org/show_bug.cgi?id=112929
1988
1989         Reviewed by David Hyatt.
1990
1991         If a child block has changed dimension inside a shape and it has affected the block siblings
1992         we need to relayout the content inside the shape.
1993
1994         Test: fast/exclusions/shape-inside/shape-inside-sibling-block-dimension-change-needs-relayout.html
1995
1996         * rendering/RenderBlock.cpp:
1997         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout): Add condition for dimension change.
1998         (WebCore::RenderBlock::layoutBlock): Call updateRegionsAndExclusionsAfterChildLayout with the new parameter.
1999         * rendering/RenderBlock.h:
2000         (RenderBlock): Add extra parameter to updateRegionsAndExclusionsAfterChildLayout(...)
2001
2002 2013-04-10  Geoffrey Garen  <ggaren@apple.com>
2003
2004         Removed bitrotted TimeoutChecker code
2005         https://bugs.webkit.org/show_bug.cgi?id=114336
2006
2007         Reviewed by Alexey Proskuryakov.
2008
2009         This mechanism hasn't worked for a while.
2010
2011         MarkL is working on a new version of this feature with a distinct
2012         implementation.
2013
2014         * bindings/js/JSCallbackData.cpp:
2015         (WebCore::JSCallbackData::invokeCallback):
2016         * bindings/js/JSCustomXPathNSResolver.cpp:
2017         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2018         * bindings/js/JSDOMWindowBase.cpp:
2019         (WebCore::JSDOMWindowBase::commonJSGlobalData):
2020         * bindings/js/JSErrorHandler.cpp:
2021         (WebCore::JSErrorHandler::handleEvent):
2022         * bindings/js/JSEventListener.cpp:
2023         (WebCore::JSEventListener::handleEvent):
2024         * bindings/js/JSMutationCallback.cpp:
2025         (WebCore::JSMutationCallback::call):
2026         * bindings/js/ScheduledAction.cpp:
2027         (WebCore::ScheduledAction::executeFunctionInContext):
2028         * bindings/js/ScriptController.cpp:
2029         (WebCore::ScriptController::evaluateInWorld):
2030         * bindings/js/SerializedScriptValue.cpp:
2031         (WebCore::CloneBase::CloneBase):
2032         (WebCore::CloneSerializer::serialize):
2033         (WebCore::CloneDeserializer::deserialize):
2034         * bindings/js/WorkerScriptController.cpp:
2035         (WebCore::WorkerScriptController::evaluate):
2036         * bindings/objc/WebScriptObject.mm:
2037         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2038         (-[WebScriptObject evaluateWebScript:]):
2039
2040 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
2041
2042         Replace ENABLE_JAVASCRIPT_DEBUGGER preprocessor statements in IDL files with Conditional attribute
2043         https://bugs.webkit.org/show_bug.cgi?id=114352
2044
2045         Reviewed by Timothy Hatcher.
2046
2047         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
2048
2049         * page/Console.idl:
2050
2051 2013-04-10  Alexandru Chiculita  <achicu@adobe.com>
2052
2053         Layers with opacity and blur filters are reported as opaque to the compositor
2054         https://bugs.webkit.org/show_bug.cgi?id=114295
2055
2056         Reviewed by Simon Fraser.
2057
2058         Test: compositing/contents-opaque/filter.html
2059
2060         Some filters like opacity and blur might still trigger transparency in the layer, even though the
2061         background is opaque. I've added the special case in RenderLayer::backgroundIsKnownToBeOpaqueInRect to check
2062         for filters that might have transparency. Note that this special case is required only for software drawn
2063         filters, as the transparency is going to be backed in the GraphicsLayer content. Composited filters can
2064         figure it out in the compositor.
2065
2066         * rendering/RenderLayer.cpp:
2067         (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
2068
2069 2013-04-10  Noam Rosenthal  <noam@webkit.org>
2070
2071         [Texmap] In certain situations nested blending with overflow:hidden displays clipped results
2072         https://bugs.webkit.org/show_bug.cgi?id=114290
2073
2074         Reviewed by Allan Sandfeld Jensen.
2075
2076         Always apply the clip when binding a surface, even if it hasn't changed.
2077         Otherwise when binding a nested surface and rebinding its container surface,
2078         the clip wouldn't apply.
2079
2080         Test: compositing/overlap-blending/nested-overlap-overflow.html
2081
2082         * platform/graphics/texmap/TextureMapperGL.cpp:
2083         (WebCore::BitmapTextureGL::bind):
2084
2085 2013-04-10  Antti Koivisto  <antti@apple.com>
2086
2087         Use minimal tiles during live resize
2088         https://bugs.webkit.org/show_bug.cgi?id=114364
2089
2090         Reviewed by Darin Adler.
2091
2092         We currently update non-visible speculative tiles during resizing. We should just drop them.
2093
2094         * page/FrameView.cpp:
2095         (WebCore::FrameView::willStartLiveResize):
2096         (WebCore::FrameView::willEndLiveResize):
2097         * page/FrameView.h:
2098         * rendering/RenderLayerBacking.cpp:
2099         (WebCore::computeTileCoverage):
2100         
2101             Use minimal coverage in live resize state.
2102
2103 2013-04-10  Victor Costan  <costan@gmail.com>
2104
2105         Blob content type normalization.
2106         https://bugs.webkit.org/show_bug.cgi?id=111380
2107
2108         Reviewed by Alexey Proskuryakov.
2109
2110         Tests: http/tests/fast/files/blob-constructor.js
2111                http/tests/fileapi/xhr-send-form-data-filename-escaping.html
2112                http/tests/fileapi/xhr-send-form-data-mimetype-normalization.html
2113
2114         * WebCore.exp.in: exported Blob::isNormalizedContentType()
2115         * bindings/js/JSBlobCustom.cpp:
2116         (WebCore::JSBlobConstructor::constructJSBlob): remove checks on Blob type, BlobBuilder will normalize it
2117         * fileapi/Blob.cpp:
2118         (BlobType): utilities for normalizing a Blob's type according to the File API spec
2119         (WebCore::BlobType::isValid): content type validity checks in the File API spec
2120         (WebCore::BlobType::normalize): implements the normalization rules in the File API spec
2121         (WebCore::BlobType::isNormalized): useful for ASSERTing that a Blob type has been normalized
2122         (WebCore): implement Blob type normalization according to the File API spec
2123         (WebCore::Blob::Blob): normalize the Blob type in the data URL
2124         (WebCore::Blob::slice): normalize the Blob type argument
2125         * fileapi/Blob.h:
2126         (BlobType): utilities for normalizing a Blob's type according to the File API spec
2127         (WebCore::Blob::create): assert that the deserialized Blob's type was normalized
2128         * fileapi/File.cpp:
2129         (WebCore::createBlobDataForFileWithType): assert that the File's MIME type is a normalized Blob type
2130         * fileapi/WebKitBlobBuilder.cpp:
2131         (WebCore::BlobBuilder::getBlob): normalize the Blob's type before building it
2132         * platform/network/BlobData.h:
2133         (WebCore::BlobData::setContentType): assert that the Blob type has been normalized
2134         * platform/network/FormData.cpp:
2135         (WebCore::FormData::appendKeyValuePairItems): assert that Blob's type has been normalized
2136         * platform/network/FormDataBuilder.cpp:
2137         (WebCore::FormDataBuilder::addContentTypeToMultiPartHeader): assert that the Content-Type field is normalized
2138         * xml/XMLHttpRequest.cpp: when responseType is blob, normalize Content-Type before passing to Blob constructor
2139
2140 2013-04-10  Tim Horton  <timothy_horton@apple.com>
2141
2142         TileController doesn't remove tiles when the view is resized, leading to stale content
2143         https://bugs.webkit.org/show_bug.cgi?id=114323
2144         <rdar://problem/13520671>
2145
2146         Reviewed by Simon Fraser.
2147
2148         Ensure that tiles are removed if the view shrinks, so that they are not displayed
2149         with stale content if the view later grows again (they will not be repainted by WebCore
2150         while out-of-view).
2151
2152         * platform/graphics/ca/mac/TileController.h:
2153         * platform/graphics/ca/mac/TileController.mm:
2154         (WebCore::TileController::revalidateTiles):
2155
2156 2013-04-10  Jessie Berlin  <jberlin@apple.com>
2157
2158         Update the localizable strings file.
2159
2160         Rubber-stamped by Dan Bernstein.
2161
2162         * English.lproj/Localizable.strings:
2163
2164 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
2165
2166         Replace ENABLE_CHANNEL_MESSAGING preprocessor statements in IDL files with Conditional attribute
2167         https://bugs.webkit.org/show_bug.cgi?id=114346
2168
2169         Reviewed by Geoffrey Garen.
2170
2171         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
2172
2173         * page/DOMWindow.idl:
2174         * workers/WorkerContext.idl:
2175
2176 2013-04-10  Eric Carlson  <eric.carlson@apple.com>
2177
2178         Update all float attributes in HTMLMediaElement to double
2179         https://bugs.webkit.org/show_bug.cgi?id=113615
2180
2181         Reviewed by Geoffrey Garen
2182         Patch by Aaron Colwell
2183
2184         No new tests. Primary behavior doesn't change. Just time, playbackRate, and volume precision.
2185         All existing LayoutTests/media tests still pass.
2186
2187         * WebCore.exp.in: Remove function that no longer need to be exported.
2188
2189         * html/HTMLMediaElement.cpp: Change all float attributes to double.
2190         * html/HTMLMediaElement.h: Ditto.
2191         * html/HTMLMediaElement.idl: Ditto.
2192         * html/MediaController.cpp: Ditto.
2193         * html/MediaController.h: Ditto.
2194         * html/MediaControllerInterface.h: Ditto.
2195         * html/TimeRanges.cpp: Ditto.
2196         * html/TimeRanges.idl: Ditto.
2197         * html/shadow/MediaControlElementTypes.cpp: Ditto.
2198         * html/shadow/MediaControlElementTypes.h: Ditto.
2199         * html/shadow/MediaControlElements.cpp: Ditto.
2200         * html/shadow/MediaControlElements.h: Ditto.
2201         * html/shadow/MediaControls.cpp: Ditto.
2202         * html/shadow/MediaControlsApple.cpp: Ditto.
2203         * html/shadow/MediaControlsBlackBerry.cpp: Ditto.
2204         * html/shadow/MediaControlsBlackBerry.h: Ditto.
2205         * html/shadow/MediaControlsGtk.cpp: Ditto.
2206         * html/track/TextTrackCue.cpp: Ditto.
2207         * html/track/TextTrackCue.h: Ditto.
2208         * platform/Clock.h: Ditto.
2209         * platform/ClockGeneric.cpp: Ditto.
2210         * platform/ClockGeneric.h: Ditto.
2211         * platform/graphics/MediaPlayer.cpp: Ditto.
2212         * platform/graphics/MediaPlayer.h: Ditto.
2213         * platform/graphics/MediaPlayerPrivate.h: Ditto.
2214         * platform/mac/PlatformClockCA.cpp: Ditto.
2215         * platform/mac/PlatformClockCA.h: Ditto.
2216         * platform/mac/PlatformClockCM.h: Ditto.
2217         * platform/mac/PlatformClockCM.mm: Ditto.
2218
2219 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
2220
2221         Replace ENABLE_MICRODATA preprocessor statements in IDL files with Conditional attribute
2222         https://bugs.webkit.org/show_bug.cgi?id=114349
2223
2224         Reviewed by Geoffrey Garen.
2225
2226         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
2227
2228         * dom/Document.idl:
2229         * html/HTMLElement.idl:
2230
2231 2013-04-10  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2232
2233         REGRESSION(r148034): IconDatabase::updateIconRecord crashes with null iconData and iconBitmap.
2234         https://bugs.webkit.org/show_bug.cgi?id=114356
2235
2236         Reviewed by Tim Horton.
2237
2238         When loading an icon fails (for example, when a non-existent URI is
2239         passed to the loader), updateIconRecord can be called with both
2240         iconData and iconBitmap having no data.
2241
2242         This used to be fine before r148034, but causes an assertion now.
2243
2244         No new tests, existing tests such as fast/encoding/mispositioned-meta.html
2245         were crashing.
2246
2247         * loader/icon/IconDatabase.cpp:
2248         (WebCore::IconDatabase::updateIconRecord): Change the ASSERT() to check
2249         for a NAND condition that only fails if both iconData and iconBitmap
2250         are not 0.
2251
2252 2013-04-10  JungJik Lee  <jungjik.lee@samsung.com>
2253
2254         [Texmap] Update a dirty region which is not covered with keepRect.
2255         https://bugs.webkit.org/show_bug.cgi?id=113752
2256
2257         Reviewed by Jocelyn Turcotte.
2258
2259         There can be a dirty region which is not covered with keepRect. 
2260         However the dirty could be inside the tile area. In this case, 
2261         currently we ignore the dirty by intersecting with keepRect 
2262         and the dirty region will not be invalidated until the tile is 
2263         recreated. We must expand the keep rect to its intersecting tiles 
2264         to make sure that the dirty region is applied to existing tiles. 
2265
2266         No tests needed, change is unobservable.
2267
2268         * platform/graphics/TiledBackingStore.cpp:
2269         (WebCore::TiledBackingStore::invalidate):
2270
2271 2013-04-10  Laszlo Gombos  <l.gombos@samsung.com>
2272
2273         Remove ENABLE_3D_PLUGIN
2274         https://bugs.webkit.org/show_bug.cgi?id=108002
2275
2276         Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
2277
2278         Reviewed by Antti Koivisto.
2279
2280         No new tests, removing dead code.
2281
2282         * loader/SubframeLoader.cpp:
2283         (WebCore::SubframeLoader::loadPlugin):
2284
2285 2013-04-10  Noam Rosenthal  <noam@webkit.org>
2286
2287         [Texmap] Hierarchy of layers with opacity may result in wrong blending.
2288         https://bugs.webkit.org/show_bug.cgi?id=113732
2289
2290         Reviewed by Allan Sandfeld Jensen.
2291
2292         This is a combination of three issues with nested intermediate surfaces:
2293         - glScissor inside an intermediate surface should not be mirrored.
2294         - The current surface should be passed to the next surface in paintOptions.
2295         - When clipping for the non-overlap region, the containing surface offset 
2296         should be applied.
2297
2298         Though the changes are separate, they cannot be tested separately as neither
2299         fixes a testable case on its own. 
2300
2301         Tests: compositing/overlap-blending/nested-non-overlap-clipping.html
2302                compositing/overlap-blending/nested-overlap.html
2303
2304         * platform/graphics/texmap/TextureMapperGL.cpp:
2305         (WebCore::TextureMapperGL::ClipStack::reset):
2306         (WebCore::TextureMapperGL::ClipStack::apply):
2307         (WebCore::TextureMapperGL::beginPainting):
2308         (WebCore::BitmapTextureGL::clearIfNeeded):
2309         * platform/graphics/texmap/TextureMapperGL.h:
2310         (ClipStack):
2311             Do not mirror the scissor clip when painting to an FBO.
2312             Also a minor refactor to avoid reading the viewport values from the driver.
2313
2314         * platform/graphics/texmap/TextureMapperLayer.cpp:
2315         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
2316             Apply the offset when clipping for a non-overlap region.
2317         (WebCore::TextureMapperLayer::paintIntoSurface):
2318             Make sure the current surface is passed to the next one.
2319
2320 2013-04-10  Antti Koivisto  <antti@apple.com>
2321
2322         Create fewer tiles when page is loading
2323         https://bugs.webkit.org/show_bug.cgi?id=114294
2324
2325         Reviewed by Anders Carlsson.
2326
2327         We currently create speculative tiles immediately. Page is often changing rapidly during loading and
2328         keeping the speculative tiles up to date creates extra work.
2329         
2330         Tests: platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative.html
2331                platform/mac-wk2/tiled-drawing/tile-coverage-speculative.html
2332         
2333        * loader/FrameLoader.cpp:
2334         (WebCore::FrameLoader::loadProgressingStatusChanged):
2335         * page/FrameView.cpp:
2336         (WebCore::FrameView::adjustTiledBackingCoverage):
2337         (WebCore::FrameView::setWasScrolledByUser):
2338         
2339             User scrolling enables speculative tiling no matter what the load status.
2340
2341         * page/FrameView.h:
2342         * rendering/RenderLayerBacking.cpp:
2343         (WebCore::computeTileCoverage):
2344         (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
2345         
2346             Cover only the viewport during loading.
2347
2348 2013-04-10  Alberto Garcia  <agarcia@igalia.com>
2349
2350         [BlackBerry] RenderThemeBlackBerry: get rid of all the SKIA code
2351         https://bugs.webkit.org/show_bug.cgi?id=114339
2352
2353         Reviewed by Carlos Garcia Campos.
2354
2355         * platform/blackberry/RenderThemeBlackBerry.cpp:
2356         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
2357         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
2358         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
2359         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderThumb):
2360
2361 2013-04-10  Zan Dobersek  <zdobersek@igalia.com>
2362
2363         REGRESSION (r147719): Failures in two a11y tests on GTK
2364         https://bugs.webkit.org/show_bug.cgi?id=114259
2365
2366         Reviewed by Ryosuke Niwa.
2367
2368         No new tests - covered by existing tests.
2369
2370         Partially revert r147719, restoring the possible creation of the AXObject cache 
2371         and the subsequent call to its handleFocusedUIElementChanged method. Removing this
2372         code caused regressions in accessibility tests on the GTK port, so the comment about
2373         the AXObject cache is adjusted accordingly.
2374
2375         * dom/Document.cpp:
2376         (WebCore::Document::setFocusedNode):
2377
2378 2013-04-09  Philippe Normand  <pnormand@igalia.com>
2379
2380         [GStreamer] playbin uri getter is invalid
2381         https://bugs.webkit.org/show_bug.cgi?id=113884
2382
2383         Reviewed by Martin Robinson.
2384
2385         When loading a new media location use the url stored as a member
2386         variable instead of the one stored as a playbin property. The uri
2387         property semantic changed in playbin since 0.10.36+. One should
2388         now use current-uri but to avoid ifdefs depending on GStreamer
2389         version we simply use the url already known as member variable.
2390
2391         Test: http/tests/media/video-redirect.html
2392
2393         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2394
2395 2013-04-09  Geoffrey Garen  <ggaren@apple.com>
2396
2397         [JSC] Script run from an isolated world should bypass a page's CSP
2398         https://bugs.webkit.org/show_bug.cgi?id=100815
2399
2400         Reviewed by Oliver Hunt.
2401
2402         * bindings/js/ScriptController.cpp:
2403         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
2404         * bindings/js/ScriptController.h: Test the current caller's DOM wrapper
2405         world to decide whether CSP should be enforced.
2406
2407         Like most of CSP, this is a stupid policy because it doesn't address
2408         second-order effects like <script> parsing or event handler execution,
2409         which might be triggered indirectly by privileged scripts. These indirect
2410         effects are still broken. Oh well.
2411
2412 2013-04-09  Benjamin Poulain  <bpoulain@apple.com>
2413
2414         Remove chromium exceptions from WebCore's gitattributes
2415         https://bugs.webkit.org/show_bug.cgi?id=114327
2416
2417         Reviewed by Darin Adler.
2418
2419         * .gitattributes:
2420
2421 2013-04-09  Adam Klein  <adamk@chromium.org>
2422
2423         Update Document's event listener type bitfield when adopting a Node
2424         https://bugs.webkit.org/show_bug.cgi?id=114322
2425
2426         Reviewed by Darin Adler.
2427
2428         Without this, moving a Node between documents can silently deactivate
2429         an event listener, if it's one of the types that whose creation is
2430         optimized away by Document::hasListenerType.
2431
2432         An alternate approach would be to simply copy the old document's
2433         bitfield over. It's a tradeoff between making adoption fast and making
2434         the operation of any operation depending on these event types fast.
2435         The latter seems like the right optimization given that adoption
2436         doesn't happen very often.
2437
2438         Test: fast/events/event-listener-moving-documents.html
2439
2440         * dom/Node.cpp:
2441         (WebCore::Node::didMoveToNewDocument): For each event listener type on the adopted node, update the new document's list of listener types.
2442
2443 2013-04-09  Dean Jackson  <dino@apple.com>
2444
2445         Add logging channel for animations
2446         https://bugs.webkit.org/show_bug.cgi?id=114325
2447
2448         Reviewed by Simon Fraser.
2449
2450         * platform/Logging.cpp: Add LogAnimations.
2451         (WebCore::getChannelFromName): Return LogAnimations for "Animations".
2452         * platform/Logging.h: Add LogAnimations.
2453         * platform/mac/LoggingMac.mm:
2454         (WebCore::initializeLoggingChannelsIfNecessary): Copy preference.
2455         * platform/win/LoggingWin.cpp:
2456         (WebCore::initializeLoggingChannelsIfNecessary): Copy preference.
2457
2458 2013-04-09  Dongwoo Joshua Im  <dw.im@samsung.com>
2459
2460         [CSS3] Parsing the property, text-justify.
2461         https://bugs.webkit.org/show_bug.cgi?id=100058
2462
2463         Reviewed by Andreas Kling.
2464
2465         This patch implements the parsing side of the "text-justify" property specified
2466         in CSS3 working draft, with "-webkit-" prefix, under ENABLE_CSS3_TEXT flag.
2467         Specification link : http://www.w3.org/TR/css3-text/#text-justify
2468
2469         Tests: fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify-inherited.html
2470                fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify.html
2471
2472         * css/CSSComputedStyleDeclaration.cpp:
2473         (WebCore):
2474         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2475         * css/CSSParser.cpp:
2476         (WebCore::isValidKeywordPropertyAndValue):
2477         (WebCore::isKeywordPropertyID):
2478         (WebCore::CSSParser::parseValue):
2479         * css/CSSPrimitiveValueMappings.h:
2480         (WebCore):
2481         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2482         (WebCore::CSSPrimitiveValue::operator TextJustify):
2483         * css/CSSProperty.cpp:
2484         (WebCore::CSSProperty::isInheritedProperty):
2485         * css/CSSPropertyNames.in:
2486         * css/CSSValueKeywords.in:
2487         * css/StyleBuilder.cpp:
2488         (WebCore::StyleBuilder::StyleBuilder):
2489         * css/StylePropertySet.cpp:
2490         (WebCore):
2491         * css/StyleResolver.cpp:
2492         (WebCore::StyleResolver::applyProperty):
2493         * rendering/style/RenderStyle.h:
2494         * rendering/style/RenderStyleConstants.h:
2495         * rendering/style/StyleRareInheritedData.cpp:
2496         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2497         (WebCore::StyleRareInheritedData::operator==):
2498         * rendering/style/StyleRareInheritedData.h:
2499         (StyleRareInheritedData):
2500
2501 2013-04-09  Joone Hur  <joone.hur@intel.com>
2502
2503         [GTK][AC] Adding contentsLayer for image and video
2504         https://bugs.webkit.org/show_bug.cgi?id=113912
2505
2506         Reviewed by Gustavo Noronha Silva.
2507
2508         contentsLayer is a ClutterActor, which is added to the main layer 
2509         as a child when GraphicsLayer needs to render an image or video. 
2510
2511         No new tests, already covered by existing AC tests.
2512
2513         * platform/graphics/clutter/GraphicsLayerActor.cpp:
2514         (graphicsLayerActorUpdateTexture):
2515         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2516         (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
2517         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
2518         (WebCore):
2519         (WebCore::GraphicsLayerClutter::setContentsToImage): Pass a Cairo surface to GraphicsLayer.
2520         (WebCore::GraphicsLayerClutter::setContentsNeedsDisplay):
2521         (WebCore::GraphicsLayerClutter::setContentsRect):
2522         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
2523         (WebCore::GraphicsLayerClutter::setupContentsLayer):
2524         (WebCore::GraphicsLayerClutter::updateContentsImage): Set the Cairo surface for contentsLayer 
2525         to upload it as a texture.
2526         (WebCore::GraphicsLayerClutter::updateContentsNeedsDisplay):
2527         (WebCore::GraphicsLayerClutter::updateContentsRect):
2528         (WebCore::GraphicsLayerClutter::updateSublayerList):
2529         * platform/graphics/clutter/GraphicsLayerClutter.h:
2530         (WebCore::GraphicsLayerClutter::hasContentsLayer):
2531         (GraphicsLayerClutter):
2532         (WebCore::GraphicsLayerClutter::contentsLayer):
2533
2534 2013-04-09  Alexey Proskuryakov  <ap@apple.com>
2535
2536         REGRESSION: Blob URLs broken with NetworkProcess
2537         https://bugs.webkit.org/show_bug.cgi?id=114320
2538
2539         Reviewed by Brady Eidson.
2540
2541         Update BlobResourceHandle to use modern resource client calls.
2542
2543         * platform/network/BlobResourceHandle.cpp:
2544         (WebCore::BlobResourceHandle::readSync): Don't call notifyReceiveData if there is
2545         no data (it's especially egregious when length is -1, signaling an error).
2546         (WebCore::BlobResourceHandle::notifyResponseOnSuccess): Use didReceiveResponseAsync
2547         when a client wants async callbacks. This is not very clean, as we don't wait
2548         for response, but should be workable for blobs.
2549         (WebCore::BlobResourceHandle::notifyResponseOnError): Ditto.
2550         (WebCore::BlobResourceHandle::notifyReceiveData): Use didReceiveBuffer (clients
2551         that only implement didReceiveData will have it automatically unwrapped).
2552
2553 2013-04-09  Jer Noble  <jer.noble@apple.com>
2554
2555         REGRESSION (r123837): Full screen transition is broken at apple.com
2556         https://bugs.webkit.org/show_bug.cgi?id=95650
2557
2558         Reviewed by Simon Fraser.
2559
2560         Cancel any outstanding animations on <video> elements as they enter full screen, so as to
2561         not confuse the WebKit/WebKit2 full screen window animation about the starting and destination
2562         screen rects.
2563
2564         * css/fullscreen.css:
2565         (video:-webkit-full-screen, audio:-webkit-full-screen):
2566
2567 2013-04-09  Jer Noble  <jer.noble@apple.com>
2568
2569         hang in mediaSelectionGroupForMediaCharacteristic
2570         https://bugs.webkit.org/show_bug.cgi?id=114054
2571
2572         Reviewed by Eric Carlson.
2573
2574         No new tests; Fixes sporadic hangs in media/ tests.
2575
2576         -[AVURLAsset mediaSelectionGroupForMediaCharacteristic:] can deadlock in certain situations: When AVURLAsset
2577         posts a synchronous AVAssetResourceLoader notification to the main thread, calling -mediaSelectionGroupForMediaCharacteristic:
2578         on the main thread requires IO to occur if the media characteristics are not yet loaded. Instead of blocking,
2579         bail out early if the media characteristics are not yet known.
2580         
2581         Add a new method, safeMediaSelectionGroupForLegibleMedia(), which first checks selection group availability
2582         before calling mediaSelectionGroupForMediaCharacteristic:.
2583
2584         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2585         (MediaPlayerPrivateAVFoundationObjC):
2586         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2587         (WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForLegibleMedia): Added.
2588         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Use new safe method.
2589         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Ditto.
2590         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Ditto.
2591         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Ditto.
2592
2593 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
2594
2595         AX: Bounding paths should be made available through accessibility
2596         https://bugs.webkit.org/show_bug.cgi?id=113817
2597
2598         Unreviewed build fix for iOS.
2599
2600         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2601         (-[WebAccessibilityObjectWrapper _accessibilityPath]):
2602         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
2603
2604 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
2605
2606         Unreviewed correctness fix: use lroundf instead of lround for a float to int conversion.
2607
2608         * html/shadow/MediaControlElements.cpp:
2609         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
2610
2611 2013-04-06  Roger Fong  <roger_fong@apple.com>
2612
2613         Change requisite hardware checks for enabling antialiasing.
2614         https://bugs.webkit.org/show_bug.cgi?id=114101
2615         <rdar://problem/12342776>.
2616
2617         m_maySupportMultisampling should be true by default for all platforms/hardware now except older versions of AMD.
2618
2619         Reviewed by Dean Jackson.
2620
2621         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2622         (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
2623
2624 2013-04-09  Commit Queue  <rniwa@webkit.org>
2625
2626         Unreviewed, rolling out r148010.
2627         http://trac.webkit.org/changeset/148010
2628         https://bugs.webkit.org/show_bug.cgi?id=114310
2629
2630         Causes problems with focus rings (Requested by anttik on
2631         #webkit).
2632
2633         * css/StyleBuilder.cpp:
2634         (WebCore::ApplyPropertyComputeLength::applyValue):
2635         (WebCore::ApplyPropertyComputeLength::createHandler):
2636         (WebCore::StyleBuilder::StyleBuilder):
2637
2638 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
2639
2640         Unreviewed, another fix for the Windows build after r148050.
2641
2642         * html/track/TextTrackCueGeneric.cpp:
2643         (WebCore::TextTrackCueGeneric::setFontSize): Use lround().
2644
2645 2013-04-09  Bem Jones-Bey  <bjonesbe@adobe.com>
2646
2647         [CSS Exclusions] Properly position multiple stacked floats with non rectangular shape outside
2648         https://bugs.webkit.org/show_bug.cgi?id=110372
2649
2650         Reviewed by Dean Jackson.
2651
2652         Stacked floats get positioned based on the bounding box of the shape,
2653         not on the shape contours itself. This patch causes that to happen.
2654
2655         Test: fast/exclusions/shape-outside-floats/shape-outside-floats-stacked.html
2656
2657         * rendering/RenderBlock.cpp:
2658         (WebCore::RenderBlock::computeLogicalLocationForFloat): Use the
2659             "BoundingBoxOffset" mode so that we compute offsets based on the shape
2660             bounding boxes of previous floats, not the shape contour.
2661         (WebCore::RenderBlock::logicalLeftOffsetForLine): Check the
2662             ShapeOutsideFloatOffsetMode to determine if the offset should be
2663             adjusted for the shape contour or not.
2664         (WebCore::RenderBlock::logicalRightOffsetForLine): Ditto.
2665         * rendering/RenderBlock.h:
2666         (WebCore::RenderBlock::logicalRightOffsetForLine): Add parameter for offset mode.
2667         (WebCore::RenderBlock::logicalLeftOffsetForLine): Ditto.
2668         (RenderBlock):
2669         * rendering/RenderBlockLineLayout.cpp:
2670         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): If the
2671             new float is being added on top of a previous float on the same line,
2672             undo the offset for the previous float's shape contour so that we
2673             position the new float based on the bounding box.
2674
2675 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
2676
2677         Unreviewed, fix the Windows build after r148050.
2678
2679         * html/shadow/MediaControlElements.cpp:
2680         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Use lround().
2681
2682 2013-04-09  Tim Horton  <timothy_horton@apple.com>
2683
2684         [wk2] IconDatabase images should be decoded in the WebProcess
2685         ​https://bugs.webkit.org/show_bug.cgi?id=112524
2686         <rdar://problem/10133914>
2687
2688         Reviewed by Simon Fraser.
2689
2690         Move an ASSERT that dereferenced a pointer inside the null-check for that pointer.
2691
2692         * loader/icon/IconDatabase.cpp:
2693         (WebCore::IconDatabase::setIconBitmapForIconURL):
2694
2695 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
2696
2697         [Mac] user caption styles not applied to correct element
2698         https://bugs.webkit.org/show_bug.cgi?id=114230
2699
2700         Reviewed by Jer Noble.
2701
2702         Test: media/track/track-css-user-override.html
2703
2704         * html/HTMLMediaElement.cpp:
2705         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Drive by clean-up so we don't log excessively.
2706
2707         * html/shadow/MediaControlElements.cpp:
2708         (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): Initialize
2709             new member variables.
2710         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Set cue font size when it is
2711             inserted into the tree.
2712         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Update the font size of 
2713             all active cues.
2714         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Set size-relative CSS properties
2715             after a time because this can be called during layout.
2716         * html/shadow/MediaControlElements.h:
2717
2718         * html/shadow/MediaControls.cpp:
2719         (WebCore::MediaControls::textTrackPreferencesChanged): Call closedCaptionTracksChanged before updateSizes.
2720
2721         * html/track/TextTrackCue.cpp:
2722         (WebCore::TextTrackCue::setFontSize): New, set the cue's font size.
2723         * html/track/TextTrackCue.h:
2724
2725         * html/track/TextTrackCueGeneric.cpp:
2726         (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Set cue properties on the cue element
2727             instead of on the cue box to match what we do for the "cue" pseudo element.
2728         (WebCore::TextTrackCueGeneric::setFontSize): New, set the cue's font size.
2729         * html/track/TextTrackCueGeneric.h:
2730
2731         * html/track/TextTrackList.cpp:
2732         (TextTrackList::remove): Drive-by cleanup, don't ASSERT when the media element is NULL.
2733
2734         * page/CaptionUserPreferences.cpp:
2735         (WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride): New, allow user CSS overrides
2736             to be tested in DRT.
2737         (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride): New, generate a user style
2738             sheet override. Moved here from CaptionUserPreferencesMac.
2739         * page/CaptionUserPreferences.h:
2740
2741         * page/CaptionUserPreferencesMac.h:
2742         * page/CaptionUserPreferencesMac.mm:
2743         (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Don't ignore background color importance.
2744         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Implement even when we don't 
2745             have the media accessibility framework so this can be tested in DRT. Apply all cue properties
2746             to the element used for the "cue" pseudo element.
2747
2748         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2749         (WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress): Drive-by cleanup, remove logging
2750             because this method is called so frequently and the logging is not especially useful.
2751         (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Only log when the ready/network
2752             state changes because this method is called so frequently.
2753
2754         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2755         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformLayer): Drive-by cleanup, remove logging
2756             because this method is called so frequently and the logging is not especially useful.
2757         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Make the logging more useful.
2758
2759         * testing/Internals.cpp:
2760         (WebCore::Internals::resetToConsistentState): Reset captions style sheet override.
2761         (WebCore::Internals::captionsStyleSheetOverride): New, return the captions style sheet override.
2762         (WebCore::Internals::setCaptionsStyleSheetOverride): New, override the captions style sheet override.
2763         * testing/Internals.h:
2764         * testing/Internals.idl:
2765
2766 2013-04-08  Simon Fraser  <simon.fraser@apple.com>
2767
2768         Repaint rect too small on elements with shadows
2769         https://bugs.webkit.org/show_bug.cgi?id=114225
2770
2771         Reviewed by Dain Adler.
2772         
2773         We assumed that shadows (box-shadow, text-shadow, svg shadows)
2774         only required inflating the repaint rect by the blur radius of
2775         the shadow. However, this is incorrect; the shadow can extend
2776         further, which resulted in clipped or incorrectly invalidated
2777         shadows.
2778         
2779         Fix by disambiguating the blur radius (which is 2x the standard
2780         deviation of the Gaussian distribution used to generate the blur),
2781         from the painting extent, which is how far the shadow visually
2782         projects. Using a 1.4 multiplier of the blur radius is a good
2783         approximation for the painting extent.
2784         
2785         Renamed ShadowData::blur() to ShadowData::radius(), and added
2786         ShadowData::paintingExtent(). Use the latter in all places
2787         which relate to invalidation.
2788
2789         Test: fast/box-shadow/shadow-repaint.html
2790
2791         * css/CSSComputedStyleDeclaration.cpp:
2792         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
2793         * editing/mac/EditorMac.mm:
2794         (WebCore::Editor::fontAttributesForSelectionStart):
2795         * page/animation/CSSPropertyAnimation.cpp:
2796         (WebCore::blendFunc):
2797         * rendering/EllipsisBox.cpp:
2798         (WebCore::EllipsisBox::paint):
2799         * rendering/InlineTextBox.cpp:
2800         (WebCore::InlineTextBox::applyShadowToGraphicsContext):
2801         (WebCore::InlineTextBox::paintDecoration):
2802         * rendering/RenderBoxModelObject.cpp:
2803         (WebCore::applyBoxShadowForBackground):
2804         (WebCore::areaCastingShadowInHole):
2805         (WebCore::RenderBoxModelObject::paintBoxShadow):
2806         * rendering/style/RenderStyle.cpp:
2807         (WebCore::RenderStyle::getShadowExtent):
2808         (WebCore::RenderStyle::getShadowInsetExtent):
2809         (WebCore::RenderStyle::getShadowHorizontalExtent):
2810         (WebCore::RenderStyle::getShadowVerticalExtent):
2811         * rendering/style/ShadowData.cpp:
2812         (WebCore::ShadowData::ShadowData):
2813         (WebCore::ShadowData::operator==):
2814         (WebCore::calculateShadowExtent):
2815         * rendering/style/ShadowData.h:
2816         (WebCore::ShadowData::ShadowData):
2817         (WebCore::ShadowData::radius):
2818         (WebCore::ShadowData::paintingExtent):
2819         * rendering/svg/SVGRenderingContext.cpp:
2820         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
2821
2822 2013-04-08  Simon Fraser  <simon.fraser@apple.com>
2823
2824         window.internals.repaintRectsAsText() is hard to use because it doesn't force layout
2825         https://bugs.webkit.org/show_bug.cgi?id=114219
2826
2827         Reviewed by Beth Dakin.
2828
2829         Force layout when setTracksRepaints() is set to true, to flush out any pending
2830         repaints from a layout that hasn't happened yet. Also force layout in
2831         trackedRepaintRectsAsText(), so that any pending layout happpens and thus
2832         repaints.
2833
2834         * page/FrameView.cpp:
2835         (WebCore::FrameView::setTracksRepaints):
2836         (WebCore::FrameView::trackedRepaintRectsAsText):
2837
2838 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
2839
2840         AX: Bounding paths should be made available through accessibility
2841         https://bugs.webkit.org/show_bug.cgi?id=113817
2842
2843         Unreviewed build fix (again).
2844
2845         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2846         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
2847
2848 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
2849
2850         AX: Bounding paths should be made available through accessibility
2851         https://bugs.webkit.org/show_bug.cgi?id=113817
2852
2853         Unreviewed build fix.
2854
2855         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2856         (WebTransformCGPathToNSBezierPath):
2857
2858 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
2859
2860         AX: Bounding paths should be made available through accessibility
2861         https://bugs.webkit.org/show_bug.cgi?id=113817
2862
2863         Reviewed by Tim Horton.
2864
2865         Minor fix from review feedback.
2866
2867         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2868         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
2869
2870 2013-04-09  Tim Horton  <timothy_horton@apple.com>
2871
2872         [wk2] IconDatabase images should be decoded in the WebProcess
2873         https://bugs.webkit.org/show_bug.cgi?id=112524
2874         <rdar://problem/10133914>
2875
2876         Reviewed by Oliver Hunt.
2877
2878         No testable behavior change.
2879
2880         * loader/icon/IconDatabase.cpp:
2881         (WebCore::IconDatabase::updateIconRecord):
2882         Added updateIconRecord, which factors most of setIconDataForIconURL out so it can
2883         be shared with setIconBitmapForIconURL. This function will set either a bitmap or
2884         raw image data for the given icon URL.
2885
2886         (WebCore::IconDatabase::setIconBitmapForIconURL):
2887         Added; make a copy of the bitmap for thread-safety purposes, and call updateIconRecord.
2888
2889         (WebCore::IconDatabase::setIconDataForIconURL):
2890         Factored out of what is now updateIconRecord.
2891
2892         * loader/icon/IconDatabase.h:
2893         (IconDatabase): Add setIconBitmapForIconURL and updateIconRecord.
2894
2895         * loader/icon/IconDatabaseBase.h:
2896         (WebCore::IconDatabaseBase::setIconBitmapForIconURL): Added.
2897         * loader/icon/IconRecord.cpp:
2898         (WebCore::IconRecord::setImage): Set the image for an icon record directly (as opposed
2899         to setting the image data, which causes the image to be decoded in the WebProcess).
2900         * loader/icon/IconRecord.h:
2901         (IconRecord): Add setImage.
2902
2903 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
2904
2905         AX: The bounding paths should be made available through accessibility
2906         https://bugs.webkit.org/show_bug.cgi?id=113817
2907
2908         Reviewed by David Kilzer.
2909
2910         This allows bounding paths to be returned for some web elements (image map areas and SVG shapes).
2911         This provides more accuracy when assistive technologies highlight elements.
2912         The Mac and iOS platforms share some code to help transform paths to their screen coordinates.
2913
2914         Tests: platform/iphone-simulator/accessibility/element-paths.html
2915                platform/mac/accessibility/element-paths.html
2916
2917         * accessibility/AccessibilityImageMapLink.cpp:
2918         (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
2919         (WebCore):
2920         (WebCore::AccessibilityImageMapLink::elementPath):
2921         (WebCore::AccessibilityImageMapLink::elementRect):
2922         * accessibility/AccessibilityImageMapLink.h:
2923         (AccessibilityImageMapLink):
2924         (WebCore::AccessibilityImageMapLink::supportsPath):
2925         * accessibility/AccessibilityObject.h:
2926         (WebCore::AccessibilityObject::elementPath):
2927         (WebCore::AccessibilityObject::supportsPath):
2928         * accessibility/AccessibilityRenderObject.cpp:
2929         (WebCore):
2930         (WebCore::AccessibilityRenderObject::supportsPath):
2931         (WebCore::AccessibilityRenderObject::elementPath):
2932         * accessibility/AccessibilityRenderObject.h:
2933         (AccessibilityRenderObject):
2934         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2935         (-[WebAccessibilityObjectWrapper _accessibilityPath]):
2936         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
2937         (-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):
2938         (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
2939         (-[WebAccessibilityObjectWrapper accessibilityFrame]):
2940         (-[WebAccessibilityObjectWrapper frameForTextMarkers:]):
2941         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
2942         (WebCore):
2943         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
2944         (PathConversionInfo):
2945         (ConvertPathToScreenSpaceFunction):
2946         (-[WebAccessibilityObjectWrapperBase convertPathToScreenSpace:]):
2947         (-[WebAccessibilityObjectWrapperBase convertPointToScreenSpace:]):
2948         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2949         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2950         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
2951         (WebTransformCGPathToNSBezierPath):
2952         (-[WebAccessibilityObjectWrapper bezierPathFromPath:]):
2953         (-[WebAccessibilityObjectWrapper path]):
2954         (-[WebAccessibilityObjectWrapper position]):
2955         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2956
2957 2013-04-09  Benjamin Poulain  <bpoulain@apple.com>
2958
2959         Remove the WebKit copy of GLU and the file using it
2960         https://bugs.webkit.org/show_bug.cgi?id=114249
2961
2962         Reviewed by Darin Adler.
2963
2964         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Removed.
2965
2966 2013-04-09  Andreas Kling  <akling@apple.com>
2967
2968         Throttle resize events during live window resize.
2969         <http://webkit.org/b/114292>
2970         <rdar://problem/13411454>
2971
2972         Reviewed by Geoffrey Garen.
2973
2974         Limit resize events to one at max every 0.2 seconds during live window resize.
2975         This mitigates heavy CPU usage during resize on pages with complex onresize handlers.
2976         If there's a pending resize event when the live resize ends, it fires immediately.
2977
2978         * page/FrameView.cpp:
2979         (WebCore::FrameView::sendResizeEvent):
2980
2981             Factored out dispatch of the resize event after layout so we can call it on a timer
2982             instead of immediately while live window resize is active.
2983
2984         (WebCore::FrameView::FrameView):
2985         (WebCore::FrameView::performPostLayoutTasks):
2986         (WebCore::FrameView::delayedResizeEventTimerFired):
2987         (WebCore::FrameView::willEndLiveResize):
2988         (WebCore::FrameView::scheduleResizeEvent):
2989         * page/FrameView.h:
2990         * platform/ScrollableArea.h:
2991
2992             Made willStartLiveResize() and willEndLiveResize() virtual so we can override
2993             them on FrameView.
2994
2995 2013-04-09  Jeff Rogers  <jrogers@rim.com>
2996
2997         Add webp to supported image mime types if WEBP feature is enabled/used
2998         https://bugs.webkit.org/show_bug.cgi?id=112819
2999
3000         Reviewed by Darin Adler.
3001
3002         Add WebP to list of supported image types in MIMETypeRegistry if enabled.
3003
3004         No new tests: WebP image decoding already covered by exisiting tests.
3005
3006         * platform/MIMETypeRegistry.cpp:
3007         (WebCore::initializeSupportedImageMIMETypes):
3008
3009 2013-04-09  Arnaud Renevier  <a.renevier@sisa.samsung.com>
3010
3011         Whitespace in particular source code changes rendering; does not in Firefox
3012         https://bugs.webkit.org/show_bug.cgi?id=100943
3013
3014         Reviewed by Darin Adler.
3015
3016         A render inline which requires a line box is considered a possible
3017         trailing object. So, ensureLineBoxInsideIgnoredSpaces will be called
3018         for it, even if it is placed after a text render ending with a single
3019         space.
3020
3021         Tests: fast/text/whitespace/trailing-space-before-empty-span-1.html
3022                fast/text/whitespace/trailing-space-before-empty-span-2.html
3023
3024         * rendering/RenderBlockLineLayout.cpp:
3025         (TrailingObjects):
3026         (WebCore::TrailingObjects::appendBoxIfNeeded):
3027         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
3028
3029 2013-04-09  Andrei Bucur  <abucur@adobe.com>
3030
3031         Use DOM ordering for list counts
3032         https://bugs.webkit.org/show_bug.cgi?id=110352
3033
3034         Reviewed by Elliott Sprehn.
3035
3036         Currently the list items ordering is made by traversing the render tree. This gives bad results for:
3037         - list items flown inside regions because they are not rendered as descendants of their DOM list ancestors.
3038         - list items matched to insertion points inside a shadow tree. The insertion point may be a child of a
3039         list so the numbering gets broken.
3040
3041         To implement correct DOM ordering I've taken into account the fact that pseudo-elements can have display: list-item
3042         so they should be included when traversing the DOM tree. I've added helper methods on the NodeTraversal
3043         namespace that should allow easily traversing the tree including the pseudo-elements (e.g. firstChildWithPseudo
3044         for an element with pseudo-before will return the before PseudoElement). Using these helper methods I've implemented
3045         pre-order traversal methods aware of the pseudo-elements.
3046         An effect of this change is how the list items inside shadow tree update their counting. With the patch, if there's
3047         no <ol> or <ul> element on the ancestor chain of a <li> element to the shadow root, the list node will be considered the
3048         first parent of the <li> or the shadow root if there is no ancestor.
3049         The RenderListItem class now makes use of this new method of traversal, replacing the one based on the render tree.
3050         To simplify the CSS counters implementation, I've changed the traversal functions inside RenderCounter to also make use
3051         of this method. The CSS counters and the list items now have the same traversal algorithm.
3052
3053         In later patches I'll add tests that should cover the regions and shadow DOM use cases.
3054         Tests bug for shadow DOM: https://bugs.webkit.org/show_bug.cgi?id=113193
3055         Tests bug for regions: https://bugs.webkit.org/show_bug.cgi?id=103975
3056
3057         Tests: no new tests is this patch; added the correct expectations for fast/lists/positioned-count-crash.html
3058         and fast/dom/shadow/shadow-and-list-elements.html
3059
3060         * dom/Node.cpp:
3061         (WebCore::Node::pseudoAwarePreviousSibling):
3062         (WebCore):
3063         (WebCore::Node::pseudoAwareNextSibling):
3064         (WebCore::Node::pseudoAwareFirstChild):
3065         (WebCore::Node::pseudoAwareLastChild):
3066         * dom/Node.h:
3067         (Node):
3068         * dom/NodeTraversal.cpp:
3069         (WebCore):
3070         (WebCore::NodeTraversal::previousIncludingPseudo):
3071         (NodeTraversal):
3072         (WebCore::NodeTraversal::nextIncludingPseudo):
3073         (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
3074         * dom/NodeTraversal.h:
3075         (ElementTraversal):
3076         (NodeTraversal):
3077         (WebCore::ElementTraversal::previousIncludingPseudo):
3078         (WebCore::ElementTraversal::nextIncludingPseudo):
3079         (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
3080         (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
3081         * html/HTMLLIElement.cpp:
3082         (WebCore::HTMLLIElement::attach):
3083         * html/HTMLOListElement.cpp:
3084         (WebCore::HTMLOListElement::updateItemValues):
3085         (WebCore::HTMLOListElement::recalculateItemCount):
3086         * rendering/RenderCounter.cpp:
3087         (WebCore::previousInPreOrder):
3088         (WebCore::previousSiblingOrParent):
3089         (WebCore::parentElement):
3090         (WebCore::nextInPreOrder):
3091         * rendering/RenderListItem.cpp:
3092         (WebCore):
3093         (WebCore::enclosingList):
3094         (WebCore::RenderListItem::nextListItem):
3095         (WebCore::previousListItem):
3096         (WebCore::RenderListItem::calcValue):
3097         (WebCore::RenderListItem::explicitValueChanged):
3098         (WebCore::previousOrNextItem):
3099         (WebCore::RenderListItem::updateListMarkerNumbers):
3100         * rendering/RenderListItem.h:
3101         (RenderListItem):
3102
3103 2013-04-09  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
3104
3105         [Texmap] TextureMapperLayer refactor for readiblity
3106         https://bugs.webkit.org/show_bug.cgi?id=114278
3107
3108         Reviewed by Noam Rosenthal.
3109
3110         Removes non-needed return values, function parameters and changes
3111         boolean values with enums for readibility.
3112
3113         No behavioral changes, thus no tests.
3114
3115         * platform/graphics/texmap/TextureMapperLayer.cpp:
3116         (WebCore::TextureMapperLayer::computeTransformsRecursive):
3117         (WebCore::TextureMapperLayer::paintSelf):
3118         (WebCore::TextureMapperLayer::sortByZOrder):
3119         (WebCore::TextureMapperLayer::computeOverlapRegions):
3120         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
3121         (WebCore::commitSurface):
3122         (WebCore::TextureMapperLayer::paintWithIntermediateSurface):
3123         (WebCore::TextureMapperLayer::paintRecursive):
3124         * platform/graphics/texmap/TextureMapperLayer.h:
3125         (TextureMapperLayer):
3126
3127 2013-04-09  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
3128
3129         [WebSocket] Ignore incoming message in CLOSING state
3130         https://bugs.webkit.org/show_bug.cgi?id=85934
3131
3132         Reviewed by Kent Tamura.
3133
3134         Change WebSocket implementation to suit the new WebSocket API, which
3135         states that we should ignore messages in CLOSING state.
3136
3137         No new tests, updating existing tests.
3138
3139         * Modules/websockets/WebSocket.cpp:
3140         (WebCore::WebSocket::didReceiveMessage):
3141
3142 2013-04-09  Seokju Kwon  <seokju.kwon@gmail.com>
3143
3144         Web Inspector: Add Localized strings after r144154 and r135127
3145         https://bugs.webkit.org/show_bug.cgi?id=114269
3146
3147         Reviewed by Timothy Hatcher.
3148
3149         No new tests, no behavior change.
3150
3151         * English.lproj/localizedStrings.js:
3152
3153 2013-04-09  Antti Koivisto  <antti@apple.com>
3154
3155         Throttle compositing layer flushes in subframes
3156         https://bugs.webkit.org/show_bug.cgi?id=114267
3157
3158         Reviewed by Andreas Kling.
3159
3160         Throttle compositing layer flushes in all frames, not just the main one.
3161         
3162         This especially reduces flushes/repaints generated by ads in iframes.
3163
3164         * loader/FrameLoader.cpp:
3165         (WebCore::FrameLoader::loadProgressingStatusChanged):
3166         * page/FrameView.cpp:
3167         (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
3168         * page/FrameView.h:
3169
3170 2013-04-09  Suchit Agrawal  <a.suchit@samsung.com>
3171
3172         Table border doesn't show up
3173         https://bugs.webkit.org/show_bug.cgi?id=13709
3174
3175         Reviewed by Antti Koivisto.
3176
3177         Border issue is fixed when border width is less than 0.8pt
3178
3179         Border width is stored as unsigned. Border width (specified by
3180         author) is converted into pixels and some times this pixel value
3181         goes less than 1px. In this case, border width becomes 0px when
3182         pixel value (double type) assigned to unsigned type.
3183         Border width should not fall to 0px unless it is specified by
3184         author.
3185
3186         Test: fast/borders/border-width-less-then-a-unit-of-pt.html
3187
3188         * css/StyleBuilder.cpp:
3189         ApplyPropetyComputeLength class is replaced with 3 classes :
3190         ApplyPropertyComputeBorderWidth, ApplyPropertyComputeTextSpacing
3191         and ApplyPropertyComputeTransformOriginZ.
3192
3193         (WebCore::ApplyPropertyComputeBorderWidth::applyValue):
3194         (WebCore::ApplyPropertyComputeBorderWidth::createHandler):
3195         This class handles all width properties like border, outline,
3196         etc. These all properties stores value in integer types.
3197         Pixel value rounded of to 1px if value less than 1px and greater
3198         than 0px.
3199
3200         (WebCore):
3201         (ApplyPropertyComputeTextSpacing):
3202         (WebCore::ApplyPropertyComputeTextSpacing::setValue):
3203         (WebCore::ApplyPropertyComputeTextSpacing::applyValue):
3204         (WebCore::ApplyPropertyComputeTextSpacing::createHandler):
3205         This class handles all spacing properties like word-spacing,
3206         letter-spacing etc.
3207
3208         (ApplyPropertyComputeTransformOriginZ):
3209         (WebCore::ApplyPropertyComputeTransformOriginZ::setValue):
3210         (WebCore::ApplyPropertyComputeTransformOriginZ::applyValue):
3211         (WebCore::ApplyPropertyComputeTransformOriginZ::createHandler):
3212         This class handles TransformOriginZ Property.
3213
3214         (WebCore::StyleBuilder::StyleBuilder):
3215         ApplyProprtyComputeLength class usage changed with defined new
3216         classes as per class definition.
3217
3218 2013-04-09  Gabor Loki  <loki@webkit.org>
3219
3220         Initialization skipped error on WinCario after r147643
3221         https://bugs.webkit.org/show_bug.cgi?id=114258
3222
3223         Reviewed by Csaba Osztrogonác.
3224
3225         Build fix. Adding extra block statement to avoid error C2362 on WinCario
3226
3227         * platform/win/DragImageCairoWin.cpp:
3228         (WebCore::createDragImageFromImage):
3229
3230 2013-04-09  Jinwoo Song  <jinwoo7.song@samsung.com>
3231
3232         [WK2] Remove build warnings for unused parameters
3233         https://bugs.webkit.org/show_bug.cgi?id=114234
3234
3235         Reviewed by Andreas Kling.
3236
3237         Fix build warnings -Wunused-parameter.
3238
3239         * Modules/indexeddb/IDBBackingStore.cpp:
3240         (WebCore::IDBBackingStore::openInMemory):
3241         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3242         (WebCore::CreateIndexAbortOperation::perform):
3243         (WebCore::DeleteIndexAbortOperation::perform):
3244         (WebCore::CreateObjectStoreAbortOperation::perform):
3245         (WebCore::DeleteObjectStoreAbortOperation::perform):
3246         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
3247         * Modules/indexeddb/IDBLevelDBCoding.cpp:
3248         (WebCore::IDBLevelDBCoding::decodeBool):
3249         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
3250         * Modules/indexeddb/IDBLevelDBCoding.h:
3251         (WebCore::IDBLevelDBCoding::encodeIntSafely):
3252         * bindings/js/IDBBindingUtilities.cpp:
3253         (WebCore::canSet):
3254         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3255         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
3256         * platform/leveldb/LevelDBDatabase.cpp:
3257         (WebCore::ComparatorAdapter::FindShortestSeparator):
3258         (WebCore::ComparatorAdapter::FindShortSuccessor):
3259
3260 2013-04-09  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3261
3262         [WK2] Drop WebProcess capabilities on Linux using seccomp filters
3263         https://bugs.webkit.org/show_bug.cgi?id=89875
3264
3265         Reviewed by Maciej Stachowiak.
3266
3267         Make the DATA_DIR global since it is now needed for WebCore and WebKit2.
3268         It is now used to set a sandbox policy for the EFL port.
3269
3270         * PlatformEfl.cmake:
3271
3272 2013-04-08  Ryosuke Niwa  <rniwa@webkit.org>
3273
3274         Remove WebCore.gyp/gypi
3275         https://bugs.webkit.org/show_bug.cgi?id=114239
3276
3277         Reviewed by Benjamin Poulain.
3278
3279         * WebCore.gyp: Removed.
3280         * WebCore.gyp/.gitignore: Removed.
3281         * WebCore.gyp/ConvertFileToHeaderWithCharacterArray.gypi: Removed.
3282         * WebCore.gyp/MakeNames.gypi: Removed.
3283         * WebCore.gyp/WebCore.gyp: Removed.
3284         * WebCore.gyp/mac: Removed.
3285         * WebCore.gyp/mac/adjust_visibility.sh: Removed.
3286         * WebCore.gyp/mac/check_objc_rename.sh: Removed.
3287         * WebCore.gyp/scripts: Removed.
3288         * WebCore.gyp/scripts/action_csspropertynames.py: Removed.
3289         * WebCore.gyp/scripts/action_cssvaluekeywords.py: Removed.
3290         * WebCore.gyp/scripts/action_derivedsourcesallinone.py: Removed.
3291         * WebCore.gyp/scripts/action_makenames.py: Removed.
3292         * WebCore.gyp/scripts/action_useragentstylesheets.py: Removed.
3293         * WebCore.gyp/scripts/rule_bison.py: Removed.
3294         * WebCore.gyp/scripts/supplemental_idl_files.py: Removed.
3295         * WebCore.gypi: Removed.
3296
3297 2013-04-08  Mihai Maerean  <mmaerean@adobe.com>
3298
3299         Rollout r147756: performance regression
3300         https://bugs.webkit.org/show_bug.cgi?id=114176
3301
3302         Reviewed by Alexis Menard.
3303
3304         Rolling out the patch for https://bugs.webkit.org/show_bug.cgi?id=74144 "[CSS Regions] Elements in a region
3305         should be assignable to a named flow" because of the performance regression in Parser/html5-full-render.html .
3306
3307         No new tests (because this is a rollout patch).
3308
3309         * dom/Element.cpp:
3310         * dom/Element.h:
3311         * dom/NodeRenderingContext.cpp:
3312         (WebCore::NodeRenderingContext::parentRenderer):
3313         (WebCore::NodeRenderingContext::shouldCreateRenderer):
3314         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
3315         * dom/NodeRenderingContext.h:
3316         * dom/PseudoElement.h:
3317         * dom/Text.cpp:
3318         (WebCore::Text::textRendererIsNeeded):
3319         (WebCore::Text::updateTextRenderer):
3320         * dom/Text.h:
3321         * rendering/FlowThreadController.cpp:
3322         * rendering/FlowThreadController.h:
3323         * rendering/RenderObject.h:
3324         * rendering/RenderRegion.h:
3325         * svg/SVGElement.cpp:
3326         * svg/SVGElement.h:
3327         
3328 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
3329
3330         Remove HTML Notification
3331         https://bugs.webkit.org/show_bug.cgi?id=114231
3332
3333         Reviewed by Ryosuke Niwa.
3334
3335         The feature is dead. It was only kept in the tree because of chromium.
3336
3337         * Configurations/FeatureDefines.xcconfig:
3338         * Modules/notifications/Notification.cpp:
3339         (WebCore):
3340         (WebCore::Notification::Notification):
3341         * Modules/notifications/Notification.h:
3342         (Notification):
3343         * Modules/notifications/NotificationCenter.h:
3344         (NotificationCenter):
3345         * Modules/notifications/NotificationCenter.idl:
3346         * page/FeatureObserver.h:
3347
3348 2013-04-08  Dean Jackson  <dino@apple.com>
3349
3350         Don't try to remove a non-existent snapshot
3351         https://bugs.webkit.org/show_bug.cgi?id=114226
3352         <rdar://problem/13604480>
3353
3354         Reviewed by Darin Adler.
3355
3356         We don't need to trigger the timer to remove a snapshot
3357         if there was never a snapshot displayed.
3358
3359         * html/HTMLPlugInImageElement.cpp:
3360         (WebCore::HTMLPlugInImageElement::setDisplayState): Detect if we're moving from the DisplayingSnapshot state.
3361         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): Guard against a missing renderer.
3362
3363 2013-04-08  Patrick Gansterer  <paroga@webkit.org>
3364
3365         Do not define CAN_THEME_URL_ICON for PLATFORM(WIN_CAIRO)
3366         https://bugs.webkit.org/show_bug.cgi?id=108444
3367
3368         Reviewed by Darin Adler.
3369
3370         Image::loadPlatformResource("urlIcon") returns nothing
3371         since r30961 on Windows which makes the code useless.
3372
3373         * loader/icon/IconDatabase.cpp:
3374
3375 2013-04-05  Roger Fong  <roger_fong@apple.com>
3376
3377         Build fix.
3378
3379         * platform/win/DragImageWin.cpp:
3380         (WebCore::createDragImageIconForCachedImageFilename):
3381
3382 2013-04-08  Geoffrey Garen  <ggaren@apple.com>
3383
3384         Stop #include-ing all of JavaScriptCore in every DOM-related file
3385         https://bugs.webkit.org/show_bug.cgi?id=114220
3386
3387         Reviewed by Sam Weinig.
3388
3389         I separated ScriptWrappableInlines.h from ScriptWrappable.h so
3390         WebCore data types that inherit from ScriptWrappable don't
3391         have to #include all of the infrastructure for accessing that data member.
3392
3393         * ForwardingHeaders/heap/PassWeak.h: Added.
3394         * ForwardingHeaders/heap/WeakInlines.h: Added.
3395         * WebCore.xcodeproj/project.pbxproj:
3396         * bindings/js/DOMWrapperWorld.h:
3397         * bindings/js/JSDOMBinding.h:
3398         (JSC):
3399         * bindings/js/JSEventListener.h:
3400         * bindings/js/JSMutationCallback.cpp:
3401         * bindings/js/JSNodeFilterCondition.h:
3402         * bindings/js/ScriptWrappable.h:
3403         (JSC):
3404         (WebCore):
3405         (ScriptWrappable):
3406         * bindings/js/ScriptWrappableInlines.h: Added.
3407         (WebCore):
3408         (WebCore::ScriptWrappable::wrapper):
3409         (WebCore::ScriptWrappable::setWrapper):
3410         (WebCore::ScriptWrappable::clearWrapper):
3411         * bridge/qt/qt_instance.h:
3412         * bridge/qt/qt_runtime.h:
3413         * bridge/runtime_root.cpp:
3414         * bridge/runtime_root.h:
3415         * css/StylePropertySet.cpp:
3416         * dom/LiveNodeList.cpp:
3417         (WebCore::LiveNodeListBase::reportMemoryUsage):
3418         * dom/Node.cpp:
3419         (WebCore::Node::reportMemoryUsage):
3420         * inspector/InspectorDebuggerAgent.cpp:
3421         * inspector/NetworkResourcesData.cpp:
3422         * loader/cache/CachedSVGDocument.cpp:
3423         * xml/XMLHttpRequest.cpp:
3424         (WebCore::XMLHttpRequest::reportMemoryUsage):
3425
3426 2013-04-08  Tiancheng Jiang  <tijiang@rim.com>
3427
3428         [BlackBerry] Clean up render theme code. 
3429         https://bugs.webkit.org/show_bug.cgi?id=114216
3430
3431         Reviewed by Rob Buis.
3432
3433         BlackBerry PR 323062
3434
3435         Clean up redundant code.
3436
3437         * platform/blackberry/RenderThemeBlackBerry.cpp:
3438         (WebCore):
3439         (WebCore::RenderThemeBlackBerry::paintSliderTrack):
3440         * platform/blackberry/RenderThemeBlackBerry.h:
3441         (RenderThemeBlackBerry):
3442
3443 2013-04-08  Arunprasad Rajkumar  <arunprasadr@nds.com>
3444
3445         Call Netscape Plugin's toString() and valueOf() instead of providing default implementation
3446         https://bugs.webkit.org/show_bug.cgi?id=113139
3447
3448         Reviewed by Anders Carlsson.
3449
3450         Tests: plugins/npruntime/tostring.html
3451                plugins/npruntime/valueof.html
3452
3453         * bridge/c/c_instance.cpp:
3454         (JSC::Bindings::CInstance::~CInstance):
3455         (JSC::Bindings::CInstance::invokeMethod):
3456         (JSC::Bindings::CInstance::invokeDefaultMethod):
3457         (Bindings):
3458         (JSC::Bindings::CInstance::invokeConstruct):
3459         (JSC::Bindings::CInstance::stringValue):
3460         (JSC::Bindings::CInstance::booleanValue):
3461         (JSC::Bindings::CInstance::valueOf):
3462         (JSC::Bindings::CInstance::toJSPrimitive):
3463         * bridge/c/c_instance.h:
3464         (CInstance):
3465
3466 2013-04-08  Tim Horton  <timothy_horton@apple.com>
3467
3468         REGRESSION (r138858): Crash in WebCore::FrameLoader::~FrameLoader() when opening page in a background tab
3469         https://bugs.webkit.org/show_bug.cgi?id=109935
3470         <rdar://problem/13225963>
3471
3472         Reviewed by Brady Eidson.
3473
3474         Previously, we were deciding if a Page could go into
3475         the PageCache by blacklisting certain load types. Instead,
3476         whitelist the load types that we know can go into the cache,