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