Unreviewed, rolling out r111094.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-16  Tony Chang  <tony@chromium.org>
2
3         Unreviewed, rolling out r111094.
4         http://trac.webkit.org/changeset/111094
5         https://bugs.webkit.org/show_bug.cgi?id=80882
6
7         broke test on chromium-win
8
9         * rendering/RenderFlexibleBox.cpp:
10         (WebCore::RenderFlexibleBox::alignChildren):
11         * rendering/RenderFlexibleBox.h:
12         (RenderFlexibleBox):
13
14 2012-03-16  Anders Carlsson  <andersca@apple.com>
15
16         REGRESSION (r110737): Height element changes on scrolled page causes failure
17         https://bugs.webkit.org/show_bug.cgi?id=81381
18         <rdar://problem/11066006>
19
20         Reviewed by Sam Weinig.
21
22         Limit the fix made in r110737 to check if there's a rubber-band gesture in progress and only ignore the range if that is the case.
23
24         * platform/ScrollAnimator.h:
25         (WebCore::ScrollAnimator::isRubberBandInProgress):
26         (ScrollAnimator):
27         * platform/ScrollView.cpp:
28         (WebCore::ScrollView::updateScrollbars):
29         * platform/mac/ScrollAnimatorMac.h:
30         (ScrollAnimatorMac):
31         * platform/mac/ScrollAnimatorMac.mm:
32         (WebCore::ScrollAnimatorMac::isRubberBandInProgress):
33         (WebCore):
34         * platform/mac/ScrollElasticityController.h:
35         (ScrollElasticityController):
36         * platform/mac/ScrollElasticityController.mm:
37         (WebCore::ScrollElasticityController::isRubberBandInProgress):
38         (WebCore):
39
40 2012-03-16  Robert Kroeger  <rjkroege@chromium.org>
41
42         GestureTapDown needs to pin in-progress flings
43         https://bugs.webkit.org/show_bug.cgi?id=80875
44
45         Reviewed by Adam Barth.
46
47         * page/EventHandler.cpp:
48         (WebCore):
49         (WebCore::EventHandler::handleGestureTapDown):
50         * page/EventHandler.h:
51         (EventHandler):
52
53 2012-03-16  Chris Rogers  <crogers@google.com>
54
55         Account for sample-rate in convolution normalization
56         https://bugs.webkit.org/show_bug.cgi?id=81432
57
58         Reviewed by James Robinson.
59
60         * platform/audio/Reverb.cpp:
61         (WebCore):
62         (WebCore::calculateNormalizationScale):
63         * webaudio/ConvolverNode.cpp:
64         (WebCore::ConvolverNode::setBuffer):
65
66 2012-03-16  Tom Sepez  <tsepez@chromium.org>
67
68         Make V8 window.open.call(), window.open.showModalDialog() results more closely match JSC. 
69         https://bugs.webkit.org/show_bug.cgi?id=81260
70         https://bugs.webkit.org/show_bug.cgi?id=39897
71
72         Reviewed by Adam Barth.
73
74         Tested via http/tests/security/cross-frame-access-call.htm
75
76         * bindings/v8/custom/V8DOMWindowCustom.cpp:
77         (WebCore::V8DOMWindow::showModalDialogCallback):
78         (WebCore::V8DOMWindow::openCallback):
79
80 2012-03-16  Matt Lilek  <mrl@apple.com>
81
82         Use modern NSNumberFormatter API in LocalizedNumberMac.mm
83         https://bugs.webkit.org/show_bug.cgi?id=81429
84
85         Reviewed by Dan Bernstein.
86
87         No new tests as no change in behavior.
88
89         * platform/text/mac/LocalizedNumberMac.mm:
90         (WebCore::createFormatterForCurrentLocaleForDisplay):
91
92 2012-03-16  Tony Chang  <tony@chromium.org>
93
94         flex-item-align: stretch should only grow, never shrink
95         https://bugs.webkit.org/show_bug.cgi?id=80882
96
97         Reviewed by Ojan Vafai.
98
99         New test cases in css3/flexbox/flex-align-stretch.html.
100
101         * rendering/RenderFlexibleBox.cpp:
102         (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
103         (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
104         (WebCore):
105         * rendering/RenderFlexibleBox.h:
106         (RenderFlexibleBox):
107
108 2012-03-16  Raphael Kubo da Costa  <kubo@profusion.mobi>
109
110         [EFL] Unreviewed, fix build after r111041.
111
112         * platform/efl/RenderThemeEfl.cpp:
113         (WebCore::RenderThemeEfl::emitMediaButtonSignal): Rename
114         MediaFullscreenButton to MediaEnterFullscreenButton.
115         (WebCore::RenderThemeEfl::paintMediaFullscreenButton): Ditto.
116
117 2012-03-16  Dmitry Lomov  <dslomov@google.com>
118
119         REGRESSION: DOMURL::revokeObjectURL accesses memoryCache on worker thread.
120         https://bugs.webkit.org/show_bug.cgi?id=80889
121         On worker threads, post a task to main thread to evict from cache.
122         ASSERT that MemoryCache is only accessed from main thread.
123
124         Reviewed by David Levin.
125
126         * html/DOMURL.cpp:
127         (WebCore::DOMURL::revokeObjectURL):
128         * loader/cache/MemoryCache.cpp:
129         (WebCore::memoryCache):
130         (WebCore::MemoryCache::add):
131         (WebCore::MemoryCache::revalidationFailed):
132         (WebCore::MemoryCache::resourceForURL):
133         (WebCore::MemoryCache::evict):
134         (WebCore):
135         (WebCore::MemoryCache::removeUrlFromCache):
136         (WebCore::MemoryCache::removeUrlFromCacheImpl):
137         * loader/cache/MemoryCache.h:
138         (WebCore):
139         (MemoryCache):
140
141 2012-03-16  Jacky Jiang  <zhajiang@rim.com>
142
143         [BlackBerry] Upstream ScriptControllerBlackBerry.cpp
144         https://bugs.webkit.org/show_bug.cgi?id=81397
145
146         Reviewed by Rob Buis.
147
148         Initial upstream, no new tests.
149
150         * bindings/js/ScriptControllerBlackBerry.cpp: Added.
151
152 2012-03-16  Adam Barth  <abarth@webkit.org>
153
154         remove-body-during-body-replacement2.html is triggering crashes on all platforms
155         https://bugs.webkit.org/show_bug.cgi?id=81374
156
157         Reviewed by Eric Seidel.
158
159         When overriding disconnectFrame, we need to call the base class version
160         of the method so that it can clear the m_frame pointer.
161
162         Tests: This patch fixes a large number of crashes in tests.
163
164         * notifications/DOMWindowNotifications.cpp:
165         (WebCore::DOMWindowNotifications::disconnectFrame):
166
167 2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
168
169         [BlackBerry] Upstream the BlackBerry change to platform/Widget.h
170         https://bugs.webkit.org/show_bug.cgi?id=81304
171
172         Reviewed by Rob Buis.
173
174         typedefs of PlatformWidget and PlatformPageClient for the BlackBerry.
175
176         * platform/Widget.h:
177
178 2012-03-16  David Barton  <dbarton@mathscribe.com>
179
180         MathML internals - factor code for almost anonymous blocks
181         https://bugs.webkit.org/show_bug.cgi?id=81387
182
183         Reviewed by Eric Seidel.
184
185         MathML uses "almost anonymous" blocks to layout parts of mathematical expressions. These
186         will be converted to true anonymous blocks in a later patch. Here we factor out the code
187         to create them into RenderMathMLBlock::createAlmostAnonymousBlock().
188
189         No new tests. Some tree dump output is modified for existing tests. <munder>, <mover>,
190         and <munderover> renderers already used true anonymous blocks, so we change them to call
191         RenderBlock::createAnonymousBlock(). In the other direction, <mroot>'s almost anonymous
192         blocks are now made RenderMathMLBlock not just RenderBlock, in agreement with other
193         current MathML renderers.
194
195         * rendering/mathml/RenderMathMLBlock.cpp:
196         (WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):
197         * rendering/mathml/RenderMathMLBlock.h:
198         (RenderMathMLBlock):
199         (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
200         * rendering/mathml/RenderMathMLFenced.cpp:
201         (WebCore::RenderMathMLFenced::addChild):
202         * rendering/mathml/RenderMathMLFraction.cpp:
203         (WebCore::RenderMathMLFraction::updateFromElement):
204             - improve some variable names
205         (WebCore::RenderMathMLFraction::addChild):
206         (WebCore::RenderMathMLFraction::layout):
207         (WebCore::RenderMathMLFraction::paint):
208         (WebCore::RenderMathMLFraction::baselinePosition):
209         * rendering/mathml/RenderMathMLRoot.cpp:
210         (WebCore::RenderMathMLRoot::addChild):
211         * rendering/mathml/RenderMathMLSubSup.cpp:
212         (WebCore::RenderMathMLSubSup::addChild):
213         * rendering/mathml/RenderMathMLSubSup.h:
214         * rendering/mathml/RenderMathMLUnderOver.cpp:
215         (WebCore::RenderMathMLUnderOver::addChild):
216
217 2012-03-16  Levi Weintraub  <leviw@chromium.org>
218
219         Prepare RenderObject for FractionalLayoutUnits
220         https://bugs.webkit.org/show_bug.cgi?id=81178
221
222         Reviewed by Eric Seidel.
223
224         This readies RenderObject to deal with FractionalLayoutUnits as a backend for the
225         LayoutUnit abstraction.
226
227         No new tests. No change in behavior.
228
229         * rendering/RenderObject.cpp:
230         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect): Convenience method to be
231         used instead of absouluteClippedOverflowRect in platform code. Platform updates will come
232         in a separate patch.
233         (WebCore):
234         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Borders remain ints when we move to
235         sub-pixel layout. This adjusts border variables for this, and adds compiler fixes when
236         using std::max and std::min with mixed int/LayoutUnits.
237         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Outlines, like borders, remain
238         ints in the new sub-pixel world. Using variables that reflect that.
239         * rendering/RenderObject.h:
240         (RenderObject):
241         (WebCore::adjustForAbsoluteZoom): Handles FractionalLayoutUnit values. Flooring is what
242         JavaScript requires since this is used with values that must return ints.
243         (WebCore): Adding FractionalLayoutUnit.h to support the new adjusteForAbsoluteZoom method.
244
245 2012-03-16  Brady Eidson  <beidson@apple.com>
246
247         <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
248         REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
249
250         Reviewed by Geoff Garen.
251
252         WebKit API test WebViewCanPasteURL.mm added.
253
254         * WebCore.exp.in:
255
256         Add a strategy method specifically for getting the URL:
257         * platform/PasteboardStrategy.h:
258
259         Use that strategy method when creating the fragment for a URL:
260         * platform/mac/PasteboardMac.mm:
261         (WebCore::Pasteboard::documentFragment):
262
263         Add a platform pasteboard accessor to "do the right thing" for getting a URL:
264         * platform/PlatformPasteboard.h:
265         * platform/mac/PlatformPasteboardMac.mm:
266         (WebCore::PlatformPasteboard::url):
267
268 2012-03-16  Joseph Pecoraro  <pecoraro@apple.com>
269
270         <http://webkit.org/b/81380> clang warning unused variable when ENABLE(TEXT_CARET) is disabled
271
272         Reviewed by Dan Bernstein.
273
274         * editing/FrameSelection.cpp:
275         (WebCore::FrameSelection::recomputeCaretRect):
276         Put the variable inside of a guard because it is only
277         used inside of a guard.
278
279 2012-03-16  Andreas Kling  <kling@webkit.org>
280
281         Shrink BorderValue.
282         <http://webkit.org/b/69521>
283
284         Reviewed by Anders Carlsson.
285
286         Split BorderValue's Color member into RGBA32/bool buddies and stash the bool in
287         the BorderValue bitfield.
288
289         This shrinks BorderValue by 4 bytes, in turn shrinking BorderData by 16 bytes.
290         Altogether this yields ~800 kB in reduced memory consumption when viewing the full
291         HTML5 spec at <http://whatwg.org/c>
292
293         * rendering/style/BorderValue.h:
294         (WebCore::BorderValue::BorderValue):
295         (WebCore::BorderValue::isTransparent):
296         (WebCore::BorderValue::operator==):
297         (BorderValue):
298         (WebCore::BorderValue::setColor):
299         (WebCore::BorderValue::color):
300         * rendering/style/OutlineValue.h:
301         (WebCore::OutlineValue::operator==):
302         * rendering/style/RenderStyle.cpp:
303         (SameSizeAsBorderValue):
304         * rendering/style/RenderStyle.h:
305
306 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
307
308         Moves remaining filesystem files to Modules/filesystem/
309         https://bugs.webkit.org/show_bug.cgi?id=81353
310
311         Reviewed by Adam Barth.
312
313         No new tests, all existing tests pass.
314
315         * CMakeLists.txt:
316         * DerivedSources.make:
317         * DerivedSources.pri:
318         * GNUmakefile.list.am:
319         * Modules/filesystem/AsyncFileWriter.h: Copied from Source/WebCore/fileapi/AsyncFileWriter.h.
320         * Modules/filesystem/AsyncFileWriterClient.h: Copied from Source/WebCore/fileapi/AsyncFileWriterClient.h.
321         * Modules/filesystem/DOMFilePath.cpp: Copied from Source/WebCore/fileapi/DOMFilePath.cpp.
322         * Modules/filesystem/DOMFilePath.h: Copied from Source/WebCore/fileapi/DOMFilePath.h.
323         * Modules/filesystem/DOMFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMFileSystem.cpp.
324         * Modules/filesystem/DOMFileSystem.h: Copied from Source/WebCore/fileapi/DOMFileSystem.h.
325         * Modules/filesystem/DOMFileSystem.idl: Copied from Source/WebCore/fileapi/DOMFileSystem.idl.
326         * Modules/filesystem/DOMFileSystemBase.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemBase.cpp.
327         * Modules/filesystem/DOMFileSystemBase.h: Copied from Source/WebCore/fileapi/DOMFileSystemBase.h.
328         * Modules/filesystem/DOMFileSystemSync.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemSync.cpp.
329         * Modules/filesystem/DOMFileSystemSync.h: Copied from Source/WebCore/fileapi/DOMFileSystemSync.h.
330         * Modules/filesystem/DOMFileSystemSync.idl: Copied from Source/WebCore/fileapi/DOMFileSystemSync.idl.
331         * Modules/filesystem/Entry.cpp: Copied from Source/WebCore/fileapi/Entry.cpp.
332         * Modules/filesystem/Entry.h: Copied from Source/WebCore/fileapi/Entry.h.
333         * Modules/filesystem/Entry.idl: Copied from Source/WebCore/fileapi/Entry.idl.
334         * Modules/filesystem/EntryArray.cpp: Copied from Source/WebCore/fileapi/EntryArray.cpp.
335         * Modules/filesystem/EntryArray.h: Copied from Source/WebCore/fileapi/EntryArray.h.
336         * Modules/filesystem/EntryArray.idl: Copied from Source/WebCore/fileapi/EntryArray.idl.
337         * Modules/filesystem/EntryArraySync.cpp: Copied from Source/WebCore/fileapi/EntryArraySync.cpp.
338         * Modules/filesystem/EntryArraySync.h: Copied from Source/WebCore/fileapi/EntryArraySync.h.
339         * Modules/filesystem/EntryArraySync.idl: Copied from Source/WebCore/fileapi/EntryArraySync.idl.
340         * Modules/filesystem/EntryBase.cpp: Copied from Source/WebCore/fileapi/EntryBase.cpp.
341         * Modules/filesystem/EntryBase.h: Copied from Source/WebCore/fileapi/EntryBase.h.
342         * Modules/filesystem/EntryCallback.h: Copied from Source/WebCore/fileapi/EntryCallback.h.
343         * Modules/filesystem/EntryCallback.idl: Copied from Source/WebCore/fileapi/EntryCallback.idl.
344         * Modules/filesystem/EntrySync.cpp: Copied from Source/WebCore/fileapi/EntrySync.cpp.
345         * Modules/filesystem/EntrySync.h: Copied from Source/WebCore/fileapi/EntrySync.h.
346         * Modules/filesystem/EntrySync.idl: Copied from Source/WebCore/fileapi/EntrySync.idl.
347         * Modules/filesystem/ErrorCallback.h: Copied from Source/WebCore/fileapi/ErrorCallback.h.
348         * Modules/filesystem/ErrorCallback.idl: Copied from Source/WebCore/fileapi/ErrorCallback.idl.
349         * Modules/filesystem/FileCallback.h: Copied from Source/WebCore/fileapi/FileCallback.h.
350         * Modules/filesystem/FileCallback.idl: Copied from Source/WebCore/fileapi/FileCallback.idl.
351         * Modules/filesystem/FileEntry.cpp: Copied from Source/WebCore/fileapi/FileEntry.cpp.
352         * Modules/filesystem/FileEntry.h: Copied from Source/WebCore/fileapi/FileEntry.h.
353         * Modules/filesystem/FileEntry.idl: Copied from Source/WebCore/fileapi/FileEntry.idl.
354         * Modules/filesystem/FileEntrySync.cpp: Copied from Source/WebCore/fileapi/FileEntrySync.cpp.
355         * Modules/filesystem/FileEntrySync.h: Copied from Source/WebCore/fileapi/FileEntrySync.h.
356         * Modules/filesystem/FileEntrySync.idl: Copied from Source/WebCore/fileapi/FileEntrySync.idl.
357         * Modules/filesystem/FileSystemCallback.h: Copied from Source/WebCore/fileapi/FileSystemCallback.h.
358         * Modules/filesystem/FileSystemCallback.idl: Copied from Source/WebCore/fileapi/FileSystemCallback.idl.
359         * Modules/filesystem/FileSystemCallbacks.cpp: Copied from Source/WebCore/fileapi/FileSystemCallbacks.cpp.
360         * Modules/filesystem/FileSystemCallbacks.h: Copied from Source/WebCore/fileapi/FileSystemCallbacks.h.
361         * Modules/filesystem/FileWriter.cpp: Copied from Source/WebCore/fileapi/FileWriter.cpp.
362         * Modules/filesystem/FileWriter.h: Copied from Source/WebCore/fileapi/FileWriter.h.
363         * Modules/filesystem/FileWriter.idl: Copied from Source/WebCore/fileapi/FileWriter.idl.
364         * Modules/filesystem/FileWriterBase.cpp: Copied from Source/WebCore/fileapi/FileWriterBase.cpp.
365         * Modules/filesystem/FileWriterBase.h: Copied from Source/WebCore/fileapi/FileWriterBase.h.
366         * Modules/filesystem/FileWriterBaseCallback.h: Copied from Source/WebCore/fileapi/FileWriterBaseCallback.h.
367         * Modules/filesystem/FileWriterCallback.h: Copied from Source/WebCore/fileapi/FileWriterCallback.h.
368         * Modules/filesystem/FileWriterCallback.idl: Copied from Source/WebCore/fileapi/FileWriterCallback.idl.
369         * Modules/filesystem/FileWriterSync.cpp: Copied from Source/WebCore/fileapi/FileWriterSync.cpp.
370         * Modules/filesystem/FileWriterSync.h: Copied from Source/WebCore/fileapi/FileWriterSync.h.
371         * Modules/filesystem/FileWriterSync.idl: Copied from Source/WebCore/fileapi/FileWriterSync.idl.
372         * Modules/filesystem/LocalFileSystem.cpp: Copied from Source/WebCore/fileapi/LocalFileSystem.cpp.
373         * Modules/filesystem/LocalFileSystem.h: Copied from Source/WebCore/fileapi/LocalFileSystem.h.
374         * Modules/filesystem/Metadata.h: Copied from Source/WebCore/fileapi/Metadata.h.
375         * Modules/filesystem/Metadata.idl: Copied from Source/WebCore/fileapi/Metadata.idl.
376         * Modules/filesystem/MetadataCallback.h: Copied from Source/WebCore/fileapi/MetadataCallback.h.
377         * Modules/filesystem/MetadataCallback.idl: Copied from Source/WebCore/fileapi/MetadataCallback.idl.
378         * Modules/filesystem/SyncCallbackHelper.h: Copied from Source/WebCore/fileapi/SyncCallbackHelper.h.
379         * Modules/filesystem/WebKitFlags.h: Copied from Source/WebCore/fileapi/WebKitFlags.h.
380         * Modules/filesystem/WorkerContextFileSystem.cpp: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.cpp.
381         * Modules/filesystem/WorkerContextFileSystem.h: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.h.
382         * Modules/filesystem/WorkerContextFileSystem.idl: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.idl.
383         * Target.pri:
384         * WebCore.gyp/WebCore.gyp:
385         * WebCore.gypi:
386         * WebCore.vcproj/WebCore.vcproj:
387         * WebCore.xcodeproj/project.pbxproj:
388         * fileapi/AsyncFileWriter.h: Removed.
389         * fileapi/AsyncFileWriterClient.h: Removed.
390         * fileapi/DOMFilePath.cpp: Removed.
391         * fileapi/DOMFilePath.h: Removed.
392         * fileapi/DOMFileSystem.cpp: Removed.
393         * fileapi/DOMFileSystem.h: Removed.
394         * fileapi/DOMFileSystem.idl: Removed.
395         * fileapi/DOMFileSystemBase.cpp: Removed.
396         * fileapi/DOMFileSystemBase.h: Removed.
397         * fileapi/DOMFileSystemSync.cpp: Removed.
398         * fileapi/DOMFileSystemSync.h: Removed.
399         * fileapi/DOMFileSystemSync.idl: Removed.
400         * fileapi/Entry.cpp: Removed.
401         * fileapi/Entry.h: Removed.
402         * fileapi/Entry.idl: Removed.
403         * fileapi/EntryArray.cpp: Removed.
404         * fileapi/EntryArray.h: Removed.
405         * fileapi/EntryArray.idl: Removed.
406         * fileapi/EntryArraySync.cpp: Removed.
407         * fileapi/EntryArraySync.h: Removed.
408         * fileapi/EntryArraySync.idl: Removed.
409         * fileapi/EntryBase.cpp: Removed.
410         * fileapi/EntryBase.h: Removed.
411         * fileapi/EntryCallback.h: Removed.
412         * fileapi/EntryCallback.idl: Removed.
413         * fileapi/EntrySync.cpp: Removed.
414         * fileapi/EntrySync.h: Removed.
415         * fileapi/EntrySync.idl: Removed.
416         * fileapi/ErrorCallback.h: Removed.
417         * fileapi/ErrorCallback.idl: Removed.
418         * fileapi/FileCallback.h: Removed.
419         * fileapi/FileCallback.idl: Removed.
420         * fileapi/FileEntry.cpp: Removed.
421         * fileapi/FileEntry.h: Removed.
422         * fileapi/FileEntry.idl: Removed.
423         * fileapi/FileEntrySync.cpp: Removed.
424         * fileapi/FileEntrySync.h: Removed.
425         * fileapi/FileEntrySync.idl: Removed.
426         * fileapi/FileSystemCallback.h: Removed.
427         * fileapi/FileSystemCallback.idl: Removed.
428         * fileapi/FileSystemCallbacks.cpp: Removed.
429         * fileapi/FileSystemCallbacks.h: Removed.
430         * fileapi/FileWriter.cpp: Removed.
431         * fileapi/FileWriter.h: Removed.
432         * fileapi/FileWriter.idl: Removed.
433         * fileapi/FileWriterBase.cpp: Removed.
434         * fileapi/FileWriterBase.h: Removed.
435         * fileapi/FileWriterBaseCallback.h: Removed.
436         * fileapi/FileWriterCallback.h: Removed.
437         * fileapi/FileWriterCallback.idl: Removed.
438         * fileapi/FileWriterSync.cpp: Removed.
439         * fileapi/FileWriterSync.h: Removed.
440         * fileapi/FileWriterSync.idl: Removed.
441         * fileapi/LocalFileSystem.cpp: Removed.
442         * fileapi/LocalFileSystem.h: Removed.
443         * fileapi/Metadata.h: Removed.
444         * fileapi/Metadata.idl: Removed.
445         * fileapi/MetadataCallback.h: Removed.
446         * fileapi/MetadataCallback.idl: Removed.
447         * fileapi/SyncCallbackHelper.h: Removed.
448         * fileapi/WebKitFlags.h: Removed.
449         * fileapi/WorkerContextFileSystem.cpp: Removed.
450         * fileapi/WorkerContextFileSystem.h: Removed.
451         * fileapi/WorkerContextFileSystem.idl: Removed.
452
453 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
454
455         Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB) in OperationNotAllowedException.idl
456         https://bugs.webkit.org/show_bug.cgi?id=81391
457
458         Reviewed by Adam Barth.
459
460         No new tests, all existing tests pass.
461
462         * fileapi/OperationNotAllowedException.idl:
463
464 2012-03-16  Emil A Eklund  <eae@chromium.org>
465
466         Fix rounding and usage of LayoutUnits in RenderBoxModelObject
467         https://bugs.webkit.org/show_bug.cgi?id=81057
468
469         Reviewed by Julien Chaffraix.
470
471         No new tests.
472
473         (WebCore):
474         * rendering/RenderBoxModelObject.cpp:
475         (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
476         (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
477         Fix implementation of pixelSnappedOffsetWidth/Height. The location
478         parameter will be ignored until we enable subpixel support.
479
480         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
481         Use ints for border widths.
482         
483         (WebCore::resolveWidthForRatio):
484         (WebCore::resolveHeightForRatio):
485         (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio):
486         (WebCore::resolveAgainstIntrinsicRatio):
487         Change resolve*Ratio methods to operate on IntSizes as none of the
488         callers need subpixel precision.
489
490         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
491         (WebCore::RenderBoxModelObject::paintNinePieceImage):
492         Pixel snap paintRect when computing image geometry.
493
494 2012-03-16  Terry Anderson  <tdanderson@chromium.org>
495
496         100% height elements to not respond to vertical browser rescaling
497         https://bugs.webkit.org/show_bug.cgi?id=43022
498
499         Reviewed by Julien Chaffraix.
500
501         Test: fast/replaced/vertical-resize-100percent-element.html
502
503         * rendering/RenderBox.cpp:
504         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
505             For the case where a replaced element has a percentage height,
506             we update the entries in RenderBlock::gPercentHeightDescendantsMap
507             corresponding to all ancestors of the replaced element.
508
509 2012-03-15  Daniel Cheng  <dcheng@chromium.org>
510
511         [chromium] Refactor ClipboardChromium and DataTransferItemList/DataTransferItem to support HTML spec
512         https://bugs.webkit.org/show_bug.cgi?id=76598
513
514         Reviewed by Tony Chang.
515
516         We no longer store drag/clipboard data in named fields. We used to maintain the data store
517         list separately, which resulted in a lot of complicated code to try to make sure that
518         ChromiumDataObject and this list stayed in sync. We now just store what is essentially a
519         list MIME type/data pairs directly in ChromiumDataObject. This has the benefit of letting us
520         easily add write support during dragstart/copy operations using DataTransferItemList.
521
522         Tests: fast/events/clipboard-dataTransferItemList.html
523                fast/events/drag-dataTransferItemList.html
524
525         * platform/chromium/ChromiumDataObject.cpp:
526         (WebCore::findItem):
527         (WebCore::ChromiumDataObject::createFromPasteboard):
528         (WebCore::ChromiumDataObject::create):
529         (WebCore::ChromiumDataObject::copy):
530         (WebCore::ChromiumDataObject::items):
531         (WebCore::ChromiumDataObject::clearData):
532         (WebCore::ChromiumDataObject::clearAll):
533         (WebCore::ChromiumDataObject::clearAllExceptFiles):
534         (WebCore::ChromiumDataObject::types):
535         (WebCore::ChromiumDataObject::getData):
536         (WebCore::ChromiumDataObject::setData):
537         (WebCore::ChromiumDataObject::urlAndTitle):
538         (WebCore::ChromiumDataObject::setURLAndTitle):
539         (WebCore::ChromiumDataObject::htmlAndBaseURL):
540         (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
541         (WebCore::ChromiumDataObject::containsFilenames):
542         (WebCore):
543         (WebCore::ChromiumDataObject::filenames):
544         (WebCore::ChromiumDataObject::addFilename):
545         (WebCore::ChromiumDataObject::addSharedBuffer):
546         (WebCore::ChromiumDataObject::ChromiumDataObject):
547         * platform/chromium/ChromiumDataObject.h:
548         (WebCore):
549         (ChromiumDataObject):
550         * platform/chromium/ClipboardChromium.cpp:
551         (WebCore::normalizeType):
552         (WebCore::ClipboardChromium::ClipboardChromium):
553         (WebCore::ClipboardChromium::clearData):
554         (WebCore::ClipboardChromium::clearAllData):
555         (WebCore::ClipboardChromium::getData):
556         (WebCore::ClipboardChromium::setData):
557         (WebCore::ClipboardChromium::types):
558         (WebCore::ClipboardChromium::files):
559         (WebCore::writeImageToDataObject):
560         (WebCore::ClipboardChromium::declareAndWriteDragImage):
561         (WebCore::ClipboardChromium::writeURL):
562         (WebCore::ClipboardChromium::writeRange):
563         (WebCore::ClipboardChromium::writePlainText):
564         (WebCore::ClipboardChromium::hasData):
565         (WebCore::ClipboardChromium::items):
566         * platform/chromium/ClipboardChromium.h:
567         (WebCore):
568         (ClipboardChromium):
569         (WebCore::ClipboardChromium::frame):
570         * platform/chromium/ClipboardUtilitiesChromium.cpp:
571         (WebCore::convertURIListToURL):
572         (WebCore):
573         * platform/chromium/ClipboardUtilitiesChromium.h:
574         (WebCore):
575         * platform/chromium/DataTransferItemChromium.cpp:
576         (WebCore::DataTransferItemChromium::createFromString):
577         (WebCore::DataTransferItemChromium::createFromFile):
578         (WebCore::DataTransferItemChromium::createFromURL):
579         (WebCore::DataTransferItemChromium::createFromHTML):
580         (WebCore):
581         (WebCore::DataTransferItemChromium::createFromSharedBuffer):
582         (WebCore::DataTransferItemChromium::createFromPasteboard):
583         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
584         (WebCore::DataTransferItemChromium::getAsString):
585         (WebCore::DataTransferItemChromium::getAsFile):
586         (WebCore::DataTransferItemChromium::internalGetAsString):
587         (WebCore::DataTransferItemChromium::isFilename):
588         * platform/chromium/DataTransferItemChromium.h:
589         (WebCore):
590         (DataTransferItemChromium):
591         (WebCore::DataTransferItemChromium::kind):
592         (WebCore::DataTransferItemChromium::type):
593         (WebCore::DataTransferItemChromium::sharedBuffer):
594         (WebCore::DataTransferItemChromium::title):
595         (WebCore::DataTransferItemChromium::baseURL):
596         * platform/chromium/DataTransferItemListChromium.cpp:
597         (WebCore::DataTransferItemListChromium::create):
598         (WebCore::DataTransferItemListChromium::createFromPasteboard):
599         (WebCore):
600         (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
601         (WebCore::DataTransferItemListChromium::length):
602         (WebCore::DataTransferItemListChromium::item):
603         (WebCore::DataTransferItemListChromium::deleteItem):
604         (WebCore::DataTransferItemListChromium::clear):
605         (WebCore::DataTransferItemListChromium::add):
606         (WebCore::DataTransferItemListChromium::internalAddStringItem):
607         (WebCore::DataTransferItemListChromium::internalAddFileItem):
608         * platform/chromium/DataTransferItemListChromium.h:
609         (WebCore):
610         (DataTransferItemListChromium):
611         * platform/chromium/DragDataChromium.cpp:
612         (WebCore::DragData::asURL):
613         (WebCore::DragData::asPlainText):
614         (WebCore::DragData::asFragment):
615
616 2012-03-16  Matt Lilek  <mrl@apple.com>
617
618         Don't install libWebCoreTestSupport on OS X production builds
619         https://bugs.webkit.org/show_bug.cgi?id=81087
620
621         Reviewed by Mark Rowe.
622
623         * Configurations/WebCoreTestSupport.xcconfig:
624
625 2012-03-16  Tony Chang  <tony@chromium.org>
626
627         incorrectly removing scrollbar height for auto height flexbox children
628         https://bugs.webkit.org/show_bug.cgi?id=81388
629
630         Reviewed by Ojan Vafai.
631
632         In a column flexbox, when computing the preferred height of an auto
633         height child, we were subtracting out the horizontal scrollbar height.
634
635         New test case in css3/flexbox/columns-auto-size.html.
636
637         * rendering/RenderFlexibleBox.cpp:
638         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
639
640 2012-03-16  Adam Klein  <adamk@chromium.org>
641
642         Out-of-document radio buttons should be grouped when associated with a form
643         https://bugs.webkit.org/show_bug.cgi?id=81268
644
645         Reviewed by Kent Tamura.
646
647         Per the HTML spec, and the behavior of Firefox and IE 8/9, radio buttons
648         with a form owner should be grouped, even if that form is not in the document.
649
650         r104668 added many inDocument() tests to radio button grouping code.
651         While those are necessary to avoid unattached <input type=radio>
652         elements being grouped together, it also kept them from being grouped
653         when associated with a form outside the document.
654
655         This patch changes the HTMLInputElement::checkedRadioButtons() method
656         to return either a pointer to the proper CheckedRadioButtons instance
657         (either the document's or a form's), but will return null if the
658         element should not be associated with any radio button group.
659
660         The main fallout of this was that the callers of checkedRadioButtons()
661         now have to check for null, resulting in the creation of a few helper
662         methods in HTMLInputElement to wrap the null checks.
663
664         This refactoring has the pleasant side-effect of exposing a cleaner API between
665         HTMLInputElement and RadioInputType, and making a clearer contract
666         between HTMLInputElement and CheckedRadioButtons (e.g., all
667         CheckedRadioButtons methods that take an element can now assume that
668         it is a radio button, where previously some checked for that and
669         others asserted it).
670
671         Test: fast/forms/radio/radio-group-in-detached-form.html
672
673         * dom/CheckedRadioButtons.cpp:
674         (WebCore): Removed shouldMakeRadioGroup() helper function.
675         (WebCore::CheckedRadioButtons::addButton): Replace call to shouldMakeRadioGroup
676         with appropriate assert and name check.
677         (WebCore::CheckedRadioButtons::updateCheckedState): ditto.
678         (WebCore::CheckedRadioButtons::requiredAttributeChanged): ditto.
679         (WebCore::CheckedRadioButtons::isRequiredGroup): Renamed from isInRequiredGroup,
680         changed to take only a group name, not an element.
681         (WebCore::CheckedRadioButtons::removeButton): Replace call to shouldMakeRadioGroup.
682         with appropriate assert and name check.
683         * dom/CheckedRadioButtons.h:
684         (CheckedRadioButtons):
685         * html/HTMLInputElement.cpp:
686         (WebCore::HTMLInputElement::~HTMLInputElement): Added isRadioButton check
687         now that it's asserted in CheckedRadioButtons.
688         (WebCore::HTMLInputElement::updateType): Call helper method instead of
689         calling directly into CheckedRadioButtons.
690         (WebCore::HTMLInputElement::parseAttribute): ditto.
691         (WebCore::HTMLInputElement::setChecked): ditto.
692         (WebCore::HTMLInputElement::willChangeForm): ditto.
693         (WebCore::HTMLInputElement::didChangeForm): ditto.
694         (WebCore::HTMLInputElement::insertedIntoDocument): ditto.
695         (WebCore::HTMLInputElement::removedFromDocument): ditto.
696         (WebCore::HTMLInputElement::didMoveToNewDocument): Added isRadioButton check.
697         (WebCore::HTMLInputElement::requiredAttributeChanged): Check for membership in a group
698         before calling into CheckedRadioButtons.
699         (WebCore::HTMLInputElement::isInRequiredRadioButtonGroup): Added helper method for use by RadioInputType.
700         (WebCore):
701         (WebCore::HTMLInputElement::checkedRadioButtonForGroup): ditto.
702         (WebCore::HTMLInputElement::checkedRadioButtons): Changed to return a
703         pointer, only return non-null if actually a member of a group.
704         (WebCore::HTMLInputElement::addToRadioButtonGroup): Helper method for
705         use in HTMLInputElement.
706         (WebCore::HTMLInputElement::removeFromRadioButtonGroup): ditto.
707         * html/HTMLInputElement.h:
708         (HTMLInputElement): Added/removed methods, removed outdated comment about visibility.
709         * html/RadioInputType.cpp:
710         (WebCore::RadioInputType::valueMissing): Call new HTMLInputElement methods instead
711         of interacting directly with CheckedRadioButtons.
712         (WebCore::RadioInputType::isKeyboardFocusable): ditto.
713         (WebCore::RadioInputType::willDispatchClick): ditto.
714
715 2012-03-16  David Hyatt  <hyatt@apple.com>
716
717         https://bugs.webkit.org/show_bug.cgi?id=81366
718         
719         Add RenderMultiColumnBlock subclass of RenderBlock. This new class will hold all of the multi-column
720         logic (as well as painting/hit testing). That way the column code can be kept out of the base class
721         and be more cleanly factored.
722
723         Patch Node::diff so that we detach and re-attach the renderer if column counts or widths change
724         from auto to non-auto (and vice versa) to ensure the right renderer gets made.
725         
726         Patch RenderObject::createObject to make a RenderMultiColumnBlock if either the column count or
727         column width is non-auto.
728         
729         Patch RenderBlock::calcColumnWidth to "turn off" the old implementation of columns if the pref to use
730         the new column implementation is set. This single chokepoint should be sufficient for disabling the old
731         columns in favor of the new.
732
733         Reviewed by Dan Bernstein.
734
735         * CMakeLists.txt:
736         * GNUmakefile.list.am:
737         * WebCore.gypi:
738         * WebCore.vcproj/WebCore.vcproj:
739         * WebCore.xcodeproj/project.pbxproj:
740         * dom/Document.cpp:
741         (WebCore::Document::regionBasedColumnsEnabled):
742         (WebCore):
743         (WebCore::Document::recalcStyle):
744         * dom/Document.h:
745         (Document):
746         * dom/Element.cpp:
747         (WebCore::Element::recalcStyle):
748         * dom/Node.cpp:
749         (WebCore::Node::diff):
750         * dom/Node.h:
751         * rendering/RenderBlock.cpp:
752         (WebCore::RenderBlock::calcColumnWidth):
753         (WebCore::RenderBlock::updateFirstLetterStyle):
754         * rendering/RenderMultiColumnBlock.cpp: Added.
755         (WebCore):
756         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
757         (WebCore::RenderMultiColumnBlock::renderName):
758         * rendering/RenderMultiColumnBlock.h: Added.
759         (WebCore):
760         (RenderMultiColumnBlock):
761         * rendering/RenderObject.cpp:
762         (WebCore::RenderObject::createObject):
763         * rendering/RenderObjectChildList.cpp:
764         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
765
766 2012-03-16  Stephen White  <senorblanco@chromium.org>
767
768         [chromium] Improve CSS3 filter blur performance.
769         https://bugs.webkit.org/show_bug.cgi?id=81360
770
771         This change improves blur performance by 2-2.5X on blurred CSS
772         3D transforms and accelerated canvas demos by skipping an unnecessary
773         texture allocation and bitmap draw.
774
775         Reviewed by James Robinson.
776
777         Covered by existing layout tests in css3/filters.
778
779         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
780         (WebCore::CCRenderSurfaceFilters::apply):
781         Call SkCanvas::drawSprite() directly instead of using
782         saveLayer()/restore().
783
784 2012-03-16  Joshua Bell  <jsbell@chromium.org>
785
786         [Chromium] IndexedDB: Assertion failure when storing File objects
787         https://bugs.webkit.org/show_bug.cgi?id=76746
788
789         The blob data in Blob/File/FileList objects is serialized "by reference" (the
790         internal URL) rather than "by value" (the actual data); this is sufficient for
791         postMessage() but not for IndexedDB since the referenced data is not retained
792         Expose a mechanism to enumerate the URLs so that SSVs can be rejected by IDB
793         until blob data serialization can is implemented (outside the SSV mechanism, and
794         potentially asynchronously).
795
796         Also, correct issue in V8DOMWrapper::instantiateV8Object where context is assumed
797         to be a Worker context if it's not a Window, which is incorrect for the
798         Chromium utility process; this is hit if Blobs are not blocked.
799
800         Reviewed by Tony Chang.
801
802         Test: storage/indexeddb/noblobs.html
803
804         * Modules/indexeddb/IDBCursor.cpp:
805         (WebCore::IDBCursor::update): Reject SSVs that contain blob references.
806         * Modules/indexeddb/IDBObjectStore.cpp:
807         (WebCore::IDBObjectStore::add): Reject SSVs that contain blob references.
808         (WebCore::IDBObjectStore::put): Reject SSVs that contain blob references.
809         * bindings/js/SerializedScriptValue.cpp:
810         (WebCore::CloneSerializer::serialize):
811         (WebCore::CloneSerializer::CloneSerializer):
812         (WebCore::CloneSerializer::dumpIfTerminal):
813         (WebCore::CloneSerializer::write):
814         (CloneSerializer):
815         (WebCore::SerializedScriptValue::SerializedScriptValue):
816         (WebCore::SerializedScriptValue::create):
817         (WebCore::SerializedScriptValue::undefinedValue):
818         (WebCore::SerializedScriptValue::booleanValue):
819         * bindings/js/SerializedScriptValue.h: New API to enable the clients to be picky.
820         * bindings/v8/SerializedScriptValue.cpp:
821         (WebCore::SerializedScriptValue::SerializedScriptValue):
822         * bindings/v8/SerializedScriptValue.h: New API to enable the clients to be picky.
823         (WebCore::SerializedScriptValue::blobURLs):
824         (SerializedScriptValue):
825         * bindings/v8/V8DOMWrapper.cpp:
826         (WebCore::V8DOMWrapper::instantiateV8Object):  Ensure context is a worker context before treating it as such.
827
828 2012-03-16  Erik Arvidsson  <arv@chromium.org>
829
830         [V8] Ensure that invalid syntax in inline event handlers does not cause a crash
831         https://bugs.webkit.org/show_bug.cgi?id=81385
832
833         Reviewed by Nate Chapin.
834
835         The way that V8 does its inline event handler involves concatting strings and
836         if the attribute value is crafted in a special way this could cause a crash.
837
838         Test: fast/dom/inline-event-attributes-crash.html
839
840         * bindings/v8/V8LazyEventListener.cpp:
841         (WebCore::V8LazyEventListener::prepareListenerObject):
842
843 2012-03-14  Jer Noble  <jer.noble@apple.com>
844
845         Wrong icon to restore to windowed mode in full screen video panel
846         https://bugs.webkit.org/show_bug.cgi?id=70437
847
848         Reviewed by Eric Carlson.
849
850         No new tests. Updated platform/mac/accessibility/media-element-expected.txt.
851
852         Renamed MediaFullscreenButton to MediaEnterFullscreenButton and added MediaExitFullscreenButton:
853         * accessibility/AccessibilityMediaControls.cpp:
854         (WebCore::AccessibilityMediaControl::controlTypeName):
855         (WebCore::AccessibilityMediaControl::roleValue):
856         * html/shadow/MediaControlElements.cpp:
857         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
858         * css/CSSPrimitiveValueMappings.h:
859         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
860         * css/CSSValueKeywords.in:
861         * platform/ThemeTypes.h:
862
863         Added setIsFullscreen which controls the display of the enter/exit fullscreen button:
864         * html/shadow/MediaControlElements.cpp:
865         (WebCore::MediaControlFullscreenButtonElement::setIsFullscreen): Added.
866         * html/shadow/MediaControlElements.h:
867         * html/shadow/MediaControlRootElement.cpp:
868         (WebCore::MediaControlRootElement::enteredFullscreen):
869         (WebCore::MediaControlRootElement::exitedFullscreen):
870
871         Paint the enter/exit fullscreen button accordingly:
872         * rendering/RenderMediaControlsChromium.cpp:
873         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
874         * rendering/RenderTheme.cpp:
875         (WebCore::RenderTheme::paint):
876         * rendering/RenderThemeChromiumAndroid.cpp:
877         (WebCore::RenderThemeChromiumAndroid::paintMediaFullscreenButton):
878         * rendering/RenderThemeMac.mm:
879         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
880         * rendering/RenderMediaControls.cpp:
881         (WebCore::RenderMediaControls::paintMediaControlsPart):
882         * rendering/RenderThemeSafari.cpp:
883         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
884
885         Update the localized strings for the exit and enter fullscreen buttons:
886         * English.lproj/Localizable.strings:
887         * platform/LocalizedStrings.cpp:
888         (WebCore::localizedMediaControlElementString):
889         * platform/gtk/LocalizedStringsGtk.cpp:
890         (WebCore::localizedMediaControlElementString):
891         (WebCore::localizedMediaControlElementHelpText):
892         * platform/qt/LocalizedStringsQt.cpp:
893         (WebCore::localizedMediaControlElementString):
894         (WebCore::localizedMediaControlElementHelpText):
895
896 2012-03-16  Levi Weintraub  <leviw@chromium.org>
897
898         Update LayoutUnit usage in RenderListBox
899         https://bugs.webkit.org/show_bug.cgi?id=81038
900
901         Reviewed by Julien Chaffraix.
902
903         Bringing RenderListBox in line with the rules listed in
904         https://trac.webkit.org/wiki/LayoutUnit
905
906         No new tests. No change in behavior.
907
908         * rendering/RenderListBox.cpp:
909         (WebCore::RenderListBox::paintScrollbar): Pixel snapping before handing off scrollbar
910         painting to the platform.
911         (WebCore::RenderListBox::paintItemForeground): Rounding the offset for text painting.
912         (WebCore::RenderListBox::paintItemBackground): Pixel snapping the background rect.
913         (WebCore::RenderListBox::panScroll): EventHandler::currentMousePosition is an IntPoint,
914         so it doesn't require additional rounding in RenderListBox.
915
916 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
917
918         Unreviewed, rolling out r111020.
919         http://trac.webkit.org/changeset/111020
920         https://bugs.webkit.org/show_bug.cgi?id=81377
921
922         Broke Chromium Win compile (Requested by pkasting on #webkit).
923
924         * GNUmakefile.list.am:
925         * WebCore.gypi:
926         * platform/mediastream/PeerConnection00Handler.cpp: Removed.
927         * platform/mediastream/PeerConnection00Handler.h: Removed.
928         * platform/mediastream/PeerConnection00HandlerClient.h: Removed.
929
930 2012-03-16  Dominic Mazzoni  <dmazzoni@google.com>
931
932         File input control accessibility can cause a crash
933         https://bugs.webkit.org/show_bug.cgi?id=80896
934
935         Reviewed by Chris Fleizach.
936
937         Test: accessibility/input-file-causes-crash.html
938
939         * accessibility/AccessibilityRenderObject.cpp:
940         (WebCore::AccessibilityRenderObject::textUnderElement):
941
942 2012-03-08  Jer Noble  <jer.noble@apple.com>
943
944         Support W3C Full Screen API proposal
945         https://bugs.webkit.org/show_bug.cgi?id=80660
946
947         Reviewed by Alexey Proskuryakov.
948
949         Tests: fullscreen/full-screen-element-stack.html
950                fullscreen/full-screen-enabled.html
951                fullscreen/full-screen-restrictions.html
952
953         The W3C proposal for taking arbitrary elements into full-screen mode is significantly
954         different than the Mozilla proposal. For example, the W3C has proposed a lower-case "s"
955         in "Fullscreen", which means the W3C and Mozilla "requestFullscreen" APIs differ only by
956         in that lower-case "s". Annoying as this is, it does allow us to retain the semantics for
957         the Mozilla case (har!).
958
959         A significant difficulty is obeying the new W3C spec rules is that we would like to apply the
960         fullscreen CSS rules while exiting fullscreen mode, though the W3C spec insists that the
961         webkitFullscreenElement returns the new value immediately.  As such, we retain the m_fullScreenElement
962         variable (distinct from the top of the m_fullScreenElements stack) which is controlled by the
963         webkit{Will,Did}{Enter,Exit}FullScreen functions.
964
965         New APIs for the W3C Fullscreen spec:
966         * dom/Document.h:
967         (WebCore::Document::webkitFullscreenElement):
968         (WebCore::Document::webkitFullscreenEnabled):
969         * dom/Document.idl:
970         * dom/Element.cpp:
971         (WebCore::Element::webkitRequestFullscreen):
972         * dom/Element.h:
973         * dom/Element.idl:
974
975         * dom/Document.cpp:
976         (WebCore::Document::removedLastRef): Clear m_fullScreenElementStack.
977         (WebCore::Document::requestFullScreenForElement): Implement the W3C requirements.
978         (WebCore::Document::webkitExitFullscreen): Ditto.
979         (WebCore::Document::webkitCancelFullScreen): Implement in terms of webkitCancelFullscreen.
980         (WebCore::Document::webkitDidEnterFullScreenForElement): 
981         (WebCore::Document::webkitWillExitFullScreenForElement):
982         (WebCore::Document::webkitDidExitFullScreenForElement):
983         (WebCore::Document::fullScreenChangeDelayTimerFired): Protect against items being
984             added to the event and error queue by swapping out empty queues before starting.
985         (WebCore::Document::clearFullscreenElementStack): Simple accessor.
986         (WebCore::Document::popFullscreenElementStack): Ditto.
987         (WebCore::Document::pushFullscreenElementStack): Ditto.
988         * dom/Element.cpp:
989         (WebCore::Element::webkitRequestFullScreen):
990
991         Add new RuntimeEnabledFeatures functions for the added Document and Element functions.
992         * bindings/generic/RuntimeEnabledFeatures.h:
993         (RuntimeEnabledFeatures):
994         (WebCore::RuntimeEnabledFeatures::webkitFullscreenEnabledEnabled):
995         (WebCore::RuntimeEnabledFeatures::webkitFullscreenElementEnabled):
996         (WebCore::RuntimeEnabledFeatures::webkitExitFullscreenEnabled):
997         (WebCore::RuntimeEnabledFeatures::webkitRequestFullscreenEnabled):
998
999
1000 2012-03-16  Adam Klein  <adamk@chromium.org>
1001
1002         Make HTMLInputElement::isRadioButton non-virtual and remove unused HTMLFormControlElement::isRadioButton method
1003         https://bugs.webkit.org/show_bug.cgi?id=81255
1004
1005         Reviewed by Kent Tamura.
1006
1007         No new tests, no change in behavior.
1008
1009         * html/HTMLFormControlElement.h:
1010         * html/HTMLInputElement.h:
1011         (HTMLInputElement):
1012
1013 2012-03-16  Tay Grigg  <tgrigg@rim.com>
1014
1015         [BlackBerry] Update NetworkJob to accept batched headers
1016         https://bugs.webkit.org/show_bug.cgi?id=81273
1017
1018         Batch up the headers into a vector before they come into
1019         webkit to increase performance, and simplify the API.
1020
1021         Reviewed by George Staikos.
1022
1023         * platform/network/blackberry/NetworkJob.cpp:
1024         (WebCore::NetworkJob::notifyHeadersReceived):
1025         * platform/network/blackberry/NetworkJob.h:
1026         (NetworkJob):
1027
1028 2012-03-16  Dana Jansens  <danakj@chromium.org>
1029
1030         [chromium] Add overdraw metrics for texture uploads
1031         https://bugs.webkit.org/show_bug.cgi?id=81175
1032
1033         Reviewed by Adrienne Walker.
1034
1035         Record texture upload metrics during paint. To properly record
1036         the amount of pixels culled, we must compute the amount of pixels we
1037         would have uploaded for a tile. This requires knowing the dirty rect of
1038         the tile, but the dirty rect can be changed by WebKit during a paint, so
1039         we always store the dirtyRect in the tile's updateRect. We add an
1040         m_updateCulled bool to the UpdatableTile structure, to identify tiles
1041         that were not updated, and know a tile was updated if updateRect is not
1042         empty and updateCulled is false.
1043
1044         Tested by all TiledLayerChromiumTests that use occlusion tracker.
1045
1046         * platform/graphics/chromium/TiledLayerChromium.cpp:
1047         (UpdatableTile):
1048         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1049         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1050         (WebCore::CCLayerTreeHost::paintLayerContents):
1051
1052 2012-03-16  Jer Noble  <jer.noble@apple.com>
1053
1054         Allow AudioContext::create() to emit an ExceptionCode.
1055         https://bugs.webkit.org/show_bug.cgi?id=81049
1056
1057         Reviewed by Kentaro Hara.
1058
1059         No new tests; no change in functionality.
1060
1061         Pass through an ExceptionCode parameter to AudioContext::create().  It is currently
1062         never modified, but exceptions will be added in the future.
1063
1064         * bindings/js/JSAudioContextCustom.cpp:
1065         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
1066         * bindings/v8/custom/V8AudioContextCustom.cpp:
1067         (WebCore::V8AudioContext::constructorCallback):
1068         * webaudio/AudioContext.cpp:
1069         (WebCore::AudioContext::create):
1070         * webaudio/AudioContext.h:
1071
1072 2012-03-16  Dana Jansens  <danakj@chromium.org>
1073
1074         [chromium] Remove surface damage client from occlusion tracker
1075         https://bugs.webkit.org/show_bug.cgi?id=81242
1076
1077         Reviewed by Adrienne Walker.
1078
1079         Code was not used yet, so no new tests. Removing tests instead!
1080
1081         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1082         (WebCore::::CCOcclusionTrackerBase):
1083         (WebCore::::layerScissorRectInTargetSurface):
1084         (WebCore):
1085         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1086         (WebCore):
1087         (CCOcclusionTrackerBase):
1088
1089 2012-03-16  Tommy Widenflycht  <tommyw@google.com>
1090
1091         MediaStream API (JSEP): Introducing PeerConnection00Handler
1092         https://bugs.webkit.org/show_bug.cgi?id=81333
1093
1094         Reviewed by Adam Barth.
1095
1096         In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
1097
1098         Not possible to test until the entire JSEP feature is commited.
1099
1100         * GNUmakefile.list.am:
1101         * WebCore.gypi:
1102         * platform/mediastream/PeerConnection00Handler.cpp: Added.
1103         (WebCore):
1104         (WebCore::PeerConnection00Handler::create):
1105         (WebCore::PeerConnection00Handler::PeerConnection00Handler):
1106         (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
1107         (WebCore::PeerConnection00Handler::createOffer):
1108         (WebCore::PeerConnection00Handler::createAnswer):
1109         (WebCore::PeerConnection00Handler::setLocalDescription):
1110         (WebCore::PeerConnection00Handler::setRemoteDescription):
1111         (WebCore::PeerConnection00Handler::localDescription):
1112         (WebCore::PeerConnection00Handler::remoteDescription):
1113         (WebCore::PeerConnection00Handler::startIce):
1114         (WebCore::PeerConnection00Handler::processIceMessage):
1115         (WebCore::PeerConnection00Handler::addStream):
1116         (WebCore::PeerConnection00Handler::removeStream):
1117         (WebCore::PeerConnection00Handler::stop):
1118         * platform/mediastream/PeerConnection00Handler.h: Added.
1119         (WebCore):
1120         (PeerConnection00Handler):
1121         * platform/mediastream/PeerConnection00HandlerClient.h: Added.
1122         (WebCore):
1123         (PeerConnection00HandlerClient):
1124         (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
1125
1126 2012-03-16  Pavel Podivilov  <podivilov@chromium.org>
1127
1128         Web Inspector: fix exception when hovering over bound function in heap profiler.
1129         https://bugs.webkit.org/show_bug.cgi?id=81362
1130
1131         Reviewed by Yury Semikhatsky.
1132
1133         * inspector/front-end/DebuggerPresentationModel.js:
1134         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
1135
1136 2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
1137
1138         [Forms] The "progress" element should not be a form-associated element.
1139         https://bugs.webkit.org/show_bug.cgi?id=80240
1140
1141         Reviewed by Kent Tamura.
1142
1143         This patch changes base class of HTMLProgressElement to LabelableElement from
1144         HTMLFormControlElement for saving memory space and iteration time of
1145         extra "progress" elements in HTMLFormElement::m_formAssociatedElements
1146         and matching the HTML5 specification for ease of maintenance.
1147
1148         Changes of TextIterator is lead by usage of isFormControlElement. This
1149         changes will be replaced with more meaningful predicate as part of
1150         https://bugs.webkit.org/show_bug.cgi?id=80381
1151
1152         No new tests. Update existing tests to cover this change.
1153
1154         * css/CSSStyleSelector.cpp:
1155         (WebCore::CSSStyleSelector::canShareStyleWithElement): Moved the "progress" element support code from canShareStyleWithControl.
1156         (WebCore::CSSStyleSelector::canShareStyleWithControl):
1157         * css/SelectorChecker.cpp:
1158         (WebCore::SelectorChecker::checkOneSelector): Remove isFormControlElement check for PseudoIndeterminate.
1159         * editing/TextIterator.cpp:
1160         (WebCore::TextIterator::advance): Check HTMLProgressElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
1161         * html/HTMLProgressElement.cpp: Remove unused include file.
1162         (WebCore::HTMLProgressElement::HTMLProgressElement): Changed base class to LabelableElement.
1163         (WebCore::HTMLProgressElement::create): Remove form paraprogress.
1164         (WebCore::HTMLProgressElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement.
1165         (WebCore::HTMLProgressElement::attach): Replace HTMLFormControlElement to LabelableElement.
1166         * html/HTMLProgressElement.h:
1167         (HTMLProgressElement):
1168         * html/HTMLProgressElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
1169         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
1170
1171 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
1172
1173         Web Inspector: Heap Snapshot: Unreviewed single line fix for isWindow getter.
1174
1175         * inspector/front-end/HeapSnapshot.js:
1176         (WebInspector.HeapSnapshotNode.prototype.get isWindow):
1177
1178 2012-03-16  Tommy Widenflycht  <tommyw@google.com>
1179
1180         MediaStream API (JSEP): Fixing a few nits
1181         https://bugs.webkit.org/show_bug.cgi?id=81322
1182
1183         Reviewed by Adam Barth.
1184
1185         Addressing the nits from bugs 81206 and 81207.
1186
1187         Nothing to test.
1188
1189         * Modules/mediastream/SessionDescription.idl:
1190         * platform/mediastream/IceOptions.h:
1191         (WebCore::IceOptions::IceOptions):
1192         * platform/mediastream/SessionDescriptionDescriptor.h:
1193         (SessionDescriptionDescriptor):
1194
1195 2012-03-16  Peter Rybin  <peter.rybin@gmail.com>
1196
1197         Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
1198         https://bugs.webkit.org/show_bug.cgi?id=80789
1199
1200         Reviewed by Yury Semikhatsky.
1201
1202         OptOutput class is added for optional return parameters.
1203
1204         Strict mode added to Generator that makes all parameter types strict
1205         and drop pre-set default values for return parameters.
1206
1207         Debugger and Page domain is switched to strict mode.
1208
1209         * inspector/CodeGeneratorInspector.py:
1210         (CommandReturnPassModel.OptOutput):
1211         (CommandReturnPassModel.OptOutput.__init__):
1212         (CommandReturnPassModel.OptOutput.get_return_var_type):
1213         (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
1214         (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
1215         (CommandReturnPassModel.OptOutput.get_output_parameter_type):
1216         (CommandReturnPassModel):
1217         (CommandReturnPassModel.OptOutput.get_set_return_condition):
1218         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
1219         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
1220         (OptOutput):
1221         (Generator.process_event):
1222         (Generator.process_command):
1223         * inspector/ContentSearchUtils.cpp:
1224         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
1225         (WebCore::ContentSearchUtils::searchInTextByLines):
1226         * inspector/ContentSearchUtils.h:
1227         (ContentSearchUtils):
1228         * inspector/InjectedScript.cpp:
1229         (WebCore::InjectedScript::evaluate):
1230         (WebCore::InjectedScript::callFunctionOn):
1231         (WebCore::InjectedScript::evaluateOnCallFrame):
1232         (WebCore::InjectedScript::makeEvalCall):
1233         * inspector/InjectedScript.h:
1234         (InjectedScript):
1235         * inspector/InspectorDOMDebuggerAgent.cpp:
1236         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
1237         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
1238         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
1239         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
1240         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
1241         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
1242         * inspector/InspectorDebuggerAgent.cpp:
1243         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1244         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1245         (WebCore::InspectorDebuggerAgent::searchInContent):
1246         (WebCore::InspectorDebuggerAgent::setScriptSource):
1247         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
1248         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
1249         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1250         (WebCore::InspectorDebuggerAgent::didPause):
1251         (WebCore::InspectorDebuggerAgent::breakProgram):
1252         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
1253         * inspector/InspectorDebuggerAgent.h:
1254         (InspectorDebuggerAgent):
1255         * inspector/InspectorPageAgent.cpp:
1256         (WebCore::buildObjectForCookie):
1257         (WebCore::buildArrayForCookies):
1258         (WebCore::InspectorPageAgent::getCookies):
1259         (WebCore::InspectorPageAgent::getResourceTree):
1260         (WebCore::InspectorPageAgent::searchInResource):
1261         (WebCore::InspectorPageAgent::searchInResources):
1262         (WebCore::InspectorPageAgent::buildObjectForFrame):
1263         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
1264         * inspector/InspectorPageAgent.h:
1265         * inspector/InspectorRuntimeAgent.cpp:
1266         (WebCore::InspectorRuntimeAgent::evaluate):
1267         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1268
1269 2012-03-16  Kentaro Hara  <haraken@chromium.org>
1270
1271         The IDL parser should support sequence<T> type
1272         https://bugs.webkit.org/show_bug.cgi?id=81345
1273
1274         Reviewed by Adam Barth.
1275
1276         This patch makes the IDL parser support sequence<T> type.
1277         This patch just makes sequence<T> parseable, and the generated code
1278         for sequence<T> is wrong. This issue will be soon fixed in bug 80696.
1279         This is a preparing patch for bug 80696.
1280
1281         Test: bindings/scripts/test/TestObj.idl
1282
1283         * bindings/scripts/test/TestObj.idl: Added tests for sequence<T>.
1284
1285         * bindings/scripts/IDLStructure.pm: Updated the regular expressions to support sequence<T>.
1286
1287         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
1288         (WebDOMTestObj::sequenceAttr):
1289         (WebDOMTestObj::setSequenceAttr):
1290         (WebDOMTestObj::methodWithSequenceArg):
1291         (WebDOMTestObj::methodReturningSequence):
1292         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1293         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1294         (webkit_dom_test_obj_method_with_sequence_arg):
1295         (webkit_dom_test_obj_method_returning_sequence):
1296         (webkit_dom_test_obj_get_sequence_attr):
1297         (webkit_dom_test_obj_set_sequence_attr):
1298         (webkit_dom_test_obj_get_property):
1299         (webkit_dom_test_obj_class_init):
1300         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1301         * bindings/scripts/test/JS/JSTestObj.cpp:
1302         (WebCore):
1303         (WebCore::jsTestObjSequenceAttr):
1304         (WebCore::setJSTestObjSequenceAttr):
1305         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
1306         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
1307         * bindings/scripts/test/JS/JSTestObj.h:
1308         (WebCore):
1309         * bindings/scripts/test/ObjC/DOMTestObj.h:
1310         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1311         (-[DOMTestObj sequenceAttr]):
1312         (-[DOMTestObj setSequenceAttr:]):
1313         (-[DOMTestObj methodWithSequenceArg:]):
1314         (-[DOMTestObj methodReturningSequence:]):
1315         * bindings/scripts/test/V8/V8TestObj.cpp:
1316         (WebCore::TestObjInternal::sequenceAttrAttrGetter):
1317         (TestObjInternal):
1318         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
1319         (WebCore::TestObjInternal::methodWithSequenceArgCallback):
1320         (WebCore::TestObjInternal::methodReturningSequenceCallback):
1321         (WebCore):
1322         (WebCore::ConfigureV8TestObjTemplate):
1323
1324 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
1325
1326         Web Inspector: HeapSnapshot: merge two long operations into one.
1327         https://bugs.webkit.org/show_bug.cgi?id=81347
1328
1329         Reviewed by Yury Semikhatsky.
1330
1331         * inspector/front-end/HeapSnapshot.js:
1332         (WebInspector.HeapSnapshot.prototype.aggregates):
1333         (WebInspector.HeapSnapshot.prototype._buildAggregates):
1334         (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
1335
1336 2012-03-16  Gavin Peters  <gavinp@chromium.org>
1337
1338         Add asserts and improve logging in PageCache.
1339         https://bugs.webkit.org/show_bug.cgi?id=81179
1340
1341         Reviewed by Brady Eidson.
1342
1343         The early exits from logCanCacheFrameDecision had the potential to skew histogram data.  Moving
1344         the DocumentLoader check to the top, but eliminating the early exits is a compromise that keeps
1345         the logged data mostly accurate.
1346
1347         * history/PageCache.cpp:
1348         (WebCore::logCanCacheFrameDecision):
1349
1350 2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
1351
1352         [Forms] label.form attribute doesn't work
1353         https://bugs.webkit.org/show_bug.cgi?id=80499
1354
1355         Reviewed by Kent Tamura.
1356
1357         This patch changes implementation of label.form of IDL attribute to
1358         compute it to the form element specified by the "form" HTML attribute
1359         or form ancestor when the "form" HTML attribute isn't in HTML.
1360
1361         This patch introduces new function FormAssociatedElement::findAssociatedForm
1362         for sharing code among FormAssociateElement::insertedIntoTree, resetFormOwner
1363         and HTMLLabelElement::form.
1364
1365         No new tests. Update existing tests.
1366
1367         * html/FormAssociatedElement.cpp:
1368         (WebCore::FormAssociatedElement::findAssociatedForm): Added.
1369         (WebCore):
1370         (WebCore::FormAssociatedElement::insertedIntoTree):
1371         (WebCore::FormAssociatedElement::resetFormOwner):
1372         * html/FormAssociatedElement.h:
1373         (FormAssociatedElement):
1374         * html/HTMLLabelElement.cpp: Remove unused include files
1375         (WebCore::HTMLLabelElement::form): Added.
1376
1377 2012-03-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1378
1379         Use the normalize method of FloatPoint instead of normalizing manually
1380         https://bugs.webkit.org/show_bug.cgi?id=81343
1381
1382         Reviewed by Simon Hausmann.
1383
1384         * platform/graphics/TiledBackingStore.cpp:
1385         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
1386         (WebCore::TiledBackingStore::computeCoverAndKeepRect):
1387
1388 2012-03-16  Kentaro Hara  <haraken@chromium.org>
1389
1390         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl
1391         https://bugs.webkit.org/show_bug.cgi?id=79636
1392
1393         Reviewed by Adam Barth.
1394
1395         For WebKit modularization, this patch moves Notifications-related APIs
1396         from DOMWindow.idl to DOMWindowNotifications.idl.
1397
1398         Tests: fast/notifications/* (No change in test results)
1399
1400         * CMakeLists.txt: Added DOMWindowNotifications.{h,cpp,idl}.
1401         * DerivedSources.make: Ditto.
1402         * DerivedSources.pri: Ditto.
1403         * GNUmakefile.list.am: Ditto.
1404         * Target.pri: Ditto.
1405         * WebCore.gypi: Ditto.
1406         * WebCore.vcproj/WebCore.vcproj: Ditto.
1407
1408         * WebCore.exp.in: Added mangled signatures of webkitNotifications().
1409
1410         * notifications/DOMWindowNotifications.cpp: Added.
1411         (WebCore):
1412         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
1413         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
1414         (WebCore::DOMWindowNotifications::from):
1415         (WebCore::DOMWindowNotifications::webkitNotifications):
1416         (WebCore::DOMWindowNotifications::ensureWebkitNotifications):
1417         (WebCore::DOMWindowNotifications::disconnectFrame):
1418         * notifications/DOMWindowNotifications.h: Added.
1419         (WebCore):
1420         (DOMWindowNotifications):
1421         * notifications/DOMWindowNotifications.idl: Added.
1422
1423         * page/DOMWindow.cpp: Removed ENABLE(NOTIFICATIONS).
1424         (WebCore::DOMWindow::~DOMWindow):
1425         (WebCore::DOMWindow::willDetachPage):
1426         (WebCore::DOMWindow::clear):
1427         * page/DOMWindow.h: Ditto.
1428         (WebCore):
1429         (DOMWindow):
1430         * page/DOMWindow.idl: Ditto.
1431         * page/Frame.cpp: Ditto.
1432         (WebCore::Frame::willDetachPage):
1433         (WebCore::Frame::transferChildFrameToNewDocument):
1434
1435 2012-03-16  Kentaro Hara  <haraken@chromium.org>
1436
1437         [Performance] Optimize innerHTML and outerHTML
1438         https://bugs.webkit.org/show_bug.cgi?id=81214
1439
1440         Reviewed by Adam Barth.
1441
1442         This patch makes innerHTML and outerHTML 2.4 times faster.
1443
1444         Performance test: https://bugs.webkit.org/attachment.cgi?id=132034
1445         The performance test measures body.innerHTML for 3000 lines of HTML,
1446         which is copied from the HTML spec.
1447
1448         - Chromium/Mac without the patch
1449         div.innerHTML: 1658.6 ms
1450         div.outerHTML: 4859.6 ms
1451         body.innerHTML: 640.2 ms
1452         body.outerHTML: 641.8 ms
1453
1454         - Chromium/Mac with the patch
1455         div.innerHTML:  751.0 ms
1456         div.outerHTML: 2096.0 ms
1457         body.innerHTML: 271.2 ms
1458         body.outerHTML: 271.2 ms
1459
1460         - Chromium/Linux without the patch
1461         div.innerHTML:  950.4 ms
1462         div.outerHTML: 2257.8 ms
1463         body.innerHTML: 452.8 ms
1464         body.outerHTML: 457.6 ms
1465
1466         - Chromium/Linux with the patch
1467         div.innerHTML:  582.4 ms
1468         div.outerHTML: 1283.0 ms
1469         body.innerHTML: 233.0 ms
1470         body.outerHTML: 233.4 ms
1471
1472         - AppleWebKit/Mac without the patch
1473         div.innerHTML:  900.6 ms
1474         div.outerHTML: 2245.2 ms
1475         body.innerHTML: 462.6 ms
1476         body.outerHTML: 468.0 ms
1477
1478         - AppleWebKit/Mac with the patch
1479         div.innerHTML:  529.8  ms
1480         div.outerHTML: 1090.2 ms
1481         body.innerHTML: 239.2 ms
1482         body.outerHTML: 239.2 ms
1483
1484         This patch applies the following two optimizations:
1485
1486         (a) Remove redundant copies between Vector<String> and StringBuilders
1487         in MarkupAccumulator::serializeNodes(), MarkupAccumulator::appendStartTag(),
1488         and MarkupAccumulator::appendEndTag().
1489
1490             (Previous behavior)
1491             - Create a StringBuilder for each tag.
1492             - Append a created string in each StringBuilder to Vector<String>,
1493               parsing the DOM tree.
1494             - After the parsing, allocate a StringBuilder whose size is the sum
1495               of all Strings in Vector<String>.
1496             - Append all Strings in Vector<String> to the StringBuilder.
1497             (New behavior)
1498             - Allocate a StringBuilder with a default buffer size.
1499             - Append created strings to the StringBuilder, incrementally parsing
1500               the DOM tree.
1501
1502         (b) Optimize stringBuilder.append().
1503             (b-1) Replace stringBuilder.append("A") with stringBuilder.append('A').
1504                   stringBuilder.append("A") requires to cast the characters to LChar*,
1505                   and then call strlen("A"). stringBuilder.append('A') is faster.
1506             (b-2) Replace stringBuilder.append("AB") with stringBuilder.append('A')
1507                   and stringBuilder.append('B'). In my experiment, appending characters
1508                   one by one is faster than appending the characters at a breath if the
1509                   number of characters is less than 3.
1510             (b-3) Hard-code a string length; i.e. replace stringBuilder.append("ABCDE")
1511                   with stringBuilder.append("ABCDE", 5). While the former requires to call
1512                   strlen("ABCDE"), the latter does not.
1513
1514         (a) improves performance by 170% ~ 200%. (b) improves performance by 30 ~ 40%.
1515
1516         Tests: fast/dom/Range/range-extract-contents.html
1517                fast/dom/serialize-nodes.xhtml
1518                fast/dom/XMLSerializer.html
1519                and all other tests that use innerHTML or outerHTML.
1520                No change in the test results.
1521
1522         * editing/MarkupAccumulator.cpp:
1523         (WebCore::MarkupAccumulator::serializeNodes):
1524         (WebCore::MarkupAccumulator::appendString):
1525         (WebCore::MarkupAccumulator::appendStartTag):
1526         (WebCore::MarkupAccumulator::appendEndTag):
1527         (WebCore::MarkupAccumulator::concatenateMarkup):
1528         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
1529         (WebCore::MarkupAccumulator::appendComment):
1530         (WebCore::MarkupAccumulator::appendDocumentType):
1531         (WebCore::MarkupAccumulator::appendProcessingInstruction):
1532         (WebCore::MarkupAccumulator::appendOpenTag):
1533         (WebCore::MarkupAccumulator::appendAttribute):
1534         (WebCore::MarkupAccumulator::appendCDATASection):
1535         * editing/MarkupAccumulator.h:
1536         (MarkupAccumulator):
1537
1538 2012-03-16  Kihong Kwon  <kihong.kwon@samsung.com>
1539
1540         Support for Battery Status API
1541         https://bugs.webkit.org/show_bug.cgi?id=62698
1542
1543         Battery Status API is implemented under the Navigator class.
1544         Battery Status API has four types of events, and all events are operated based on a callback mechanism.
1545          : onchargingchange, onchargingtimechange, ondischargingtimechange, onlevelchange.
1546         The battery status can be accessed using BatteryManager(navigator.webkitBattery), and battery status is controlled by BatteryController which manages instances of BatteryManager.
1547         When battery status event is raised, BatteryController calls all registered BatteryManager's event dispatcher.
1548         http://www.w3.org/TR/battery-status/
1549
1550         Reviewed by Adam Barth.
1551
1552         Tests: batterystatus/add-listener-from-callback.html
1553                batterystatus/basic-all-types-of-events.html
1554                batterystatus/basic-operation.html
1555                batterystatus/event-after-navigation.html
1556                batterystatus/multiple-frames.html
1557                batterystatus/updates.html
1558                batterystatus/window-property.html
1559
1560         * CMakeLists.txt:
1561         * Modules/battery/BatteryClient.h: Added.
1562         (WebCore):
1563         (BatteryClient):
1564         (WebCore::BatteryClient::~BatteryClient):
1565         * Modules/battery/BatteryController.cpp: Added.
1566         (WebCore):
1567         (WebCore::BatteryController::BatteryController):
1568         (WebCore::BatteryController::~BatteryController):
1569         (WebCore::BatteryController::create):
1570         (WebCore::BatteryController::addListener):
1571         (WebCore::BatteryController::removeListener):
1572         (WebCore::BatteryController::didChangeBatteryStatus):
1573         (WebCore::BatteryController::supplementName):
1574         (WebCore::BatteryController::isActive):
1575         (WebCore::provideBatteryTo):
1576         * Modules/battery/BatteryController.h: Added.
1577         (WebCore):
1578         (BatteryController):
1579         (WebCore::BatteryController::client):
1580         (WebCore::BatteryController::from):
1581         * Modules/battery/BatteryManager.cpp: Added.
1582         (WebCore):
1583         (WebCore::BatteryManager::create):
1584         (WebCore::BatteryManager::~BatteryManager):
1585         (WebCore::BatteryManager::BatteryManager):
1586         (WebCore::BatteryManager::charging):
1587         (WebCore::BatteryManager::chargingTime):
1588         (WebCore::BatteryManager::dischargingTime):
1589         (WebCore::BatteryManager::level):
1590         (WebCore::BatteryManager::didChangeBatteryStatus):
1591         (WebCore::BatteryManager::suspend):
1592         (WebCore::BatteryManager::resume):
1593         (WebCore::BatteryManager::stop):
1594         * Modules/battery/BatteryManager.h: Added.
1595         (WebCore):
1596         (BatteryManager):
1597         (WebCore::BatteryManager::interfaceName):
1598         (WebCore::BatteryManager::scriptExecutionContext):
1599         (WebCore::BatteryManager::batteryControllerDestroyed):
1600         (WebCore::BatteryManager::canSuspend):
1601         (WebCore::BatteryManager::eventTargetData):
1602         (WebCore::BatteryManager::ensureEventTargetData):
1603         (WebCore::BatteryManager::refEventTarget):
1604         (WebCore::BatteryManager::derefEventTarget):
1605         * Modules/battery/BatteryManager.idl: Added.
1606         * Modules/battery/BatteryStatus.cpp: Added.
1607         (WebCore):
1608         (WebCore::BatteryStatus::create):
1609         (WebCore::BatteryStatus::BatteryStatus):
1610         * Modules/battery/BatteryStatus.h: Added.
1611         (WebCore):
1612         (BatteryStatus):
1613         (WebCore::BatteryStatus::charging):
1614         (WebCore::BatteryStatus::chargingTime):
1615         (WebCore::BatteryStatus::dischargingTime):
1616         (WebCore::BatteryStatus::level):
1617         * Modules/battery/NavigatorBattery.cpp: Added.
1618         (WebCore):
1619         (WebCore::NavigatorBattery::NavigatorBattery):
1620         (WebCore::NavigatorBattery::~NavigatorBattery):
1621         (WebCore::NavigatorBattery::webkitBattery):
1622         (WebCore::NavigatorBattery::from):
1623         (WebCore::NavigatorBattery::batteryManager):
1624         * Modules/battery/NavigatorBattery.h: Added.
1625         (WebCore):
1626         (NavigatorBattery):
1627         * Modules/battery/NavigatorBattery.idl: Added.
1628         * dom/EventNames.h:
1629         (WebCore):
1630         * dom/EventTargetFactory.in:
1631         * testing/Internals.cpp:
1632         (WebCore::Internals::setBatteryStatus):
1633         (WebCore):
1634         * testing/Internals.h:
1635         (Internals):
1636         * testing/Internals.idl:
1637
1638 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
1639
1640         Web Inspector: HeapSnapshot: speedup buildReverseIndex.
1641         https://bugs.webkit.org/show_bug.cgi?id=81327
1642
1643         Reviewed by Yury Semikhatsky.
1644
1645         * inspector/front-end/HeapSnapshot.js:
1646         (WebInspector.HeapSnapshot.prototype.get maxNodeId):
1647         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
1648         (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
1649         (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
1650         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
1651         (WebInspector.HeapSnapshot.prototype):
1652
1653 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1654
1655         Unreviewed, rolling out r110976.
1656         http://trac.webkit.org/changeset/110976
1657         https://bugs.webkit.org/show_bug.cgi?id=81330
1658
1659         webkit_unit_tests crashes. (Requested by morrita on #webkit).
1660
1661         * loader/cache/CachedCSSStyleSheet.cpp:
1662         (WebCore::CachedCSSStyleSheet::error):
1663         (WebCore):
1664         * loader/cache/CachedCSSStyleSheet.h:
1665         (CachedCSSStyleSheet):
1666         * loader/cache/CachedFont.cpp:
1667         (WebCore):
1668         (WebCore::CachedFont::error):
1669         * loader/cache/CachedFont.h:
1670         (CachedFont):
1671         * loader/cache/CachedImage.cpp:
1672         (WebCore::CachedImage::error):
1673         * loader/cache/CachedResource.h:
1674         (CachedResource):
1675         * loader/cache/CachedScript.cpp:
1676         (WebCore::CachedScript::error):
1677         (WebCore):
1678         * loader/cache/CachedScript.h:
1679         (CachedScript):
1680         * loader/cache/CachedXSLStyleSheet.cpp:
1681         (WebCore::CachedXSLStyleSheet::error):
1682         (WebCore):
1683         * loader/cache/CachedXSLStyleSheet.h:
1684         (CachedXSLStyleSheet):
1685
1686 2012-03-16  Luke Macpherson   <macpherson@chromium.org>
1687
1688         Implement cast between CSSPrimitiveValue and LineClampValue.
1689         https://bugs.webkit.org/show_bug.cgi?id=76806
1690
1691         Reviewed by Andreas Kling.
1692
1693         Covered by many existing LayoutTests.
1694
1695         This simplifies code in CSSStyleSelector and future mapping to CSSStyleApplyProperty.
1696
1697         * css/CSSPrimitiveValueMappings.h:
1698         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1699         (WebCore::CSSPrimitiveValue::operator LineClampValue):
1700         * css/CSSStyleSelector.cpp:
1701         (WebCore::CSSStyleSelector::applyProperty):
1702
1703 2012-03-16  Nat Duca  <nduca@chromium.org>
1704
1705         [chromium] Bump textureUpdatesPerFrame to 32 to favor updating the screen over jank prevention
1706         https://bugs.webkit.org/show_bug.cgi?id=81298
1707
1708         Reviewed by James Robinson.
1709
1710         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1711         (WTF):
1712
1713 2012-03-16  Levi Weintraub  <leviw@chromium.org>
1714
1715         Update usage of LayoutUnits in RenderBlock*
1716         https://bugs.webkit.org/show_bug.cgi?id=80437
1717
1718         Reviewed by Julien Chaffraix.
1719
1720         Updating LayoutUnit usage in RenderBlock and RenderBlockLineLayout. This better readies trunk for
1721         the transition to subpixel layout.
1722
1723         See https://trac.webkit.org/wiki/LayoutUnit for more details.
1724
1725         No new tests. No changed behavior.
1726
1727         * rendering/InlineTextBox.cpp:
1728         (WebCore::InlineTextBox::paint): Adding the paint offset rounding previously in RenderBlock::paint.
1729         * rendering/LayoutTypes.h:
1730         (WebCore::floorToInt): Will floor a LayoutUnit to an integer once we switch to
1731         FractionalLayoutUnits.
1732         (WebCore::boundedMultiply): Method that will return the multiplied result of two LayoutUnits
1733         or the max/min LayoutUnit if the result overflows. Only does a regular multiply while
1734         LayoutUnits are integers instead of FractionalLayoutUnits.
1735         (WebCore):
1736         * rendering/RenderBlock.cpp:
1737         (WebCore::RenderBlock::paintContents): Rounding the paintOffset here didn't work for all
1738         inline blocks. This rounding is actually only needed for InlineTextBoxes, so the logic has
1739         been moved there.
1740         (WebCore::RenderBlock::newLine): Use a LayoutUnit for the y position.
1741         (WebCore::RenderBlock::isPointInOverflowControl): Points for hit testing need to be rounded.
1742         (WebCore::RenderBlock::layoutColumns): Using boundedMultiply for a calculation prone to overflow.
1743         (WebCore::updatePreferredWidth): Reverting back to using ceilf. ceiledLayoutUnit was to be ultimately
1744         converted to just a straight LayoutUnit constructor to preserve precision. This precision doesn't work
1745         for us here as we still paint Boxes/Blocks on pixel boundaries, so we need to expand to a pixel size
1746         that encloses the contained text.
1747         (WebCore::RenderBlock::setPageLogicalOffset): LogicalOffset should be a LayoutUnit.
1748         (WebCore::RenderBlock::marginValuesForChild): Margins should have subpixel resolution.
1749         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject): Intervals for floating objects
1750         need to use pixel snapped values to give the proper results.
1751         * rendering/RenderBlock.h:
1752         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Only moved.
1753         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): While we can round the left offset,
1754         columns add an extra offset at paint that can't currently be planned for at line-layout time. To
1755         avoid laying out lines that run off the end of columns, we floor the right offset. The resulting
1756         lines will be up to 1 pixel shorter than they potentially could be.
1757         (RenderBlock):
1758         (WebCore::RenderBlock::FloatingObject::pixelSnappedX): Using corresponding pixelSnappedX value from
1759         LayoutRects.
1760         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX): Ditto.
1761         (WebCore::RenderBlock::FloatingObject::pixelSnappedY): Ditto.
1762         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY): Ditto.
1763         (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth): Ditto.
1764         (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight): Ditto.
1765         * rendering/RenderBlockLineLayout.cpp:
1766         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): LogicalHeight is a LayoutUnit. Also
1767         flooring textIndentOffset to an integer to match old behavior.
1768         (WebCore::LineWidth::fitBelowFloats): Using LayoutUnits for float logical top and bottoms.
1769         (WebCore::LineLayoutState::endLineLogicalTop): Changing to a LayoutUnit.
1770         (WebCore::LineLayoutState::setEndLineLogicalTop): Ditto.
1771         (LineLayoutState): Ditto.
1772         (WebCore::RenderBlock::linkToEndLineIfNeeded): Calculating overflow with LayoutUnits.
1773         (WebCore::RenderBlock::layoutInlineChildren): LowestAllowedPosition should be subpixel.
1774         (WebCore::RenderBlock::checkLinesForTextOverflow): Reverting ellipsis width calculation to integers
1775         as this value can be seen as representing pixels on screen.
1776
1777 2012-03-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1778
1779         Follow up to: window.innerWidth/Height should not include page scale
1780         https://bugs.webkit.org/show_bug.cgi?id=76555
1781
1782         Reviewed by Simon Hausmann.
1783
1784         Introduce mapping methods for converting between CSS and layout units.
1785
1786         * page/DOMWindow.cpp:
1787         (WebCore::DOMWindow::innerHeight):
1788         (WebCore::DOMWindow::innerWidth):
1789         (WebCore::DOMWindow::scrollX):
1790         (WebCore::DOMWindow::scrollY):
1791         (WebCore::DOMWindow::scrollTo):
1792         * page/FrameView.h:
1793         (FrameView):
1794         (WebCore::FrameView::mapFromLayoutToCSSUnits):
1795         (WebCore):
1796         (WebCore::FrameView::mapFromCSSToLayoutUnits):
1797
1798 2012-03-16  Ian Vollick  <vollick@chromium.org>
1799
1800         [chromium] Threaded opacity animation jump to opacity of 0
1801         https://bugs.webkit.org/show_bug.cgi?id=80744
1802
1803         Reviewed by James Robinson.
1804
1805         Tested in CCLayerTreeHostTestDoNotSkipLayersWithAnimatedOpacity
1806
1807         * platform/graphics/chromium/LayerChromium.cpp:
1808         (WebCore::LayerChromium::LayerChromium):
1809         (WebCore::LayerChromium::opacityIsAnimating):
1810         (WebCore):
1811         (WebCore::LayerChromium::transformIsAnimating):
1812         * platform/graphics/chromium/LayerChromium.h:
1813         (LayerChromium):
1814         (WebCore::LayerChromium::drawOpacityIsAnimating):
1815         (WebCore::LayerChromium::setDrawOpacityIsAnimating):
1816         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1817         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
1818         * platform/graphics/chromium/RenderSurfaceChromium.h:
1819         (WebCore::RenderSurfaceChromium::drawOpacityIsAnimating):
1820         (WebCore::RenderSurfaceChromium::setDrawOpacityIsAnimating):
1821         (RenderSurfaceChromium):
1822         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1823         (WebCore::CCLayerAnimationController::isAnimatingProperty):
1824         (WebCore):
1825         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
1826         (CCLayerAnimationController):
1827         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
1828         (WebCore::CCLayerAnimationControllerImpl::isAnimatingProperty):
1829         (WebCore):
1830         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
1831         (CCLayerAnimationControllerImpl):
1832         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1833         (WebCore::CCLayerImpl::CCLayerImpl):
1834         (WebCore::CCLayerImpl::opacityIsAnimating):
1835         (WebCore):
1836         (WebCore::CCLayerImpl::transformIsAnimating):
1837         * platform/graphics/chromium/cc/CCLayerImpl.h:
1838         (CCLayerImpl):
1839         (WebCore::CCLayerImpl::drawOpacityIsAnimating):
1840         (WebCore::CCLayerImpl::setDrawOpacityIsAnimating):
1841         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1842         (WebCore::CCLayerTreeHost::paintLayerContents):
1843         (WebCore::CCLayerTreeHost::updateCompositorResources):
1844         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1845         (WebCore::layerShouldBeSkipped):
1846         (WebCore::subtreeShouldBeSkipped):
1847         (WebCore):
1848         (WebCore::LayerChromium):
1849         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1850         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1851         (WebCore::CCRenderSurface::CCRenderSurface):
1852         * platform/graphics/chromium/cc/CCRenderSurface.h:
1853         (WebCore::CCRenderSurface::drawOpacityIsAnimating):
1854         (WebCore::CCRenderSurface::setDrawOpacityIsAnimating):
1855         (CCRenderSurface):
1856
1857 2012-03-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1858
1859         [TexMap] Reuse textures following the same rules as they do internally.
1860         https://bugs.webkit.org/show_bug.cgi?id=80843
1861
1862         Reviewed by Noam Rosenthal.
1863
1864         BitmapTextures were recently changed to be the same size as their contents.
1865         This would obsolete the logic in acquireTextureFromPool which would
1866         assume that a BitmapTexture has good chances of being reused if its
1867         size is bigger or equal to the new size.
1868
1869         This asks the texture instead if it can be reused which now simply
1870         check for an exact size match.
1871
1872         * platform/graphics/texmap/TextureMapper.cpp:
1873         (WebCore::TextureMapper::acquireTextureFromPool):
1874         * platform/graphics/texmap/TextureMapper.h:
1875         (WebCore::BitmapTexture::canReuseWith):
1876         (WebCore::BitmapTexture::reset):
1877         (WebCore::BitmapTexture::didReset):
1878         * platform/graphics/texmap/TextureMapperGL.cpp:
1879         (WebCore::BitmapTextureGL::canReuseWith):
1880         (WebCore):
1881         * platform/graphics/texmap/TextureMapperGL.h:
1882         (BitmapTextureGL):
1883
1884 2012-03-16  Robert Kroeger  <rjkroege@chromium.org>
1885
1886         Connect up fling event delivery to gesture curve animation framework
1887         https://bugs.webkit.org/show_bug.cgi?id=80858
1888
1889         Reviewed by Adam Barth.
1890
1891         * platform/ScrollAnimatorNone.cpp:
1892         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
1893
1894 2012-03-16  Nate Chapin  <japhet@chromium.org>
1895
1896         Remove duplicate error() impls in CachedResource subclasses
1897         https://bugs.webkit.org/show_bug.cgi?id=81161
1898
1899         Reviewed by Alexey Proskuryakov.
1900
1901         No new tests, refactor only.
1902
1903         * loader/cache/CachedCSSStyleSheet.cpp:
1904         * loader/cache/CachedCSSStyleSheet.h:
1905         * loader/cache/CachedFont.cpp:
1906         * loader/cache/CachedFont.h:
1907         * loader/cache/CachedImage.cpp:
1908         * loader/cache/CachedResource.h: Make checkNotify()
1909              virtual, so the right checkNotify() gets called in error().
1910         * loader/cache/CachedScript.cpp:
1911         * loader/cache/CachedScript.h:
1912         * loader/cache/CachedXSLStyleSheet.cpp:
1913         * loader/cache/CachedXSLStyleSheet.h:
1914
1915 2012-03-16  Dana Jansens  <danakj@chromium.org>
1916
1917         [chromium] Changes to overdraw metrics to allow upload tracking
1918         https://bugs.webkit.org/show_bug.cgi?id=81222
1919
1920         Reviewed by Adrienne Walker.
1921
1922         Stick CCOverdrawMetrics into CCOcclusionTracker, so that it is available
1923         everywhere that culling/drawing/painting is going on. Then we can stop
1924         plumbing a metrics object through CCQuadCuller.
1925
1926         Rename the CCOverdrawMetrics "painting" stuff to "uploading" as this will
1927         measure texture uploads rather than pixels painted in main memory.
1928
1929         Covered by existing tests.
1930
1931         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1932         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1933         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1934         (WebCore::::CCOcclusionTrackerBase):
1935         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1936         (CCOcclusionTrackerBase):
1937         (WebCore::CCOcclusionTrackerBase::overdrawMetrics):
1938         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
1939         (WebCore::CCOverdrawMetrics::didCull):
1940         (WebCore):
1941         (WebCore::CCOverdrawMetrics::didDraw):
1942         (WebCore::CCOverdrawMetrics::recordMetrics):
1943         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
1944         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
1945         (WebCore):
1946         (WebCore::CCOverdrawMetrics::create):
1947         (CCOverdrawMetrics):
1948         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1949         (WebCore::CCQuadCuller::CCQuadCuller):
1950         (WebCore::CCQuadCuller::append):
1951         * platform/graphics/chromium/cc/CCQuadCuller.h:
1952         (CCQuadCuller):
1953         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1954         (WebCore::CCRenderPass::appendQuadsForLayer):
1955         * platform/graphics/chromium/cc/CCRenderPass.h:
1956         (WebCore):
1957         (CCRenderPass):
1958
1959 2012-03-16  Greg Billock  <gbillock@google.com>
1960
1961         Add TransferList IDL modifier, with support in V8 code gen.
1962         https://bugs.webkit.org/show_bug.cgi?id=81127
1963
1964         Reviewed by Adam Barth.
1965
1966         * bindings/scripts/CodeGeneratorV8.pm:
1967         (GenerateFunctionCallback):
1968         (GetIndexOf):
1969         (GenerateParametersCheck):
1970         (GenerateConstructorCallback):
1971         (GenerateNamedConstructorCallback):
1972         (GenerateFunctionCallString):
1973         * bindings/scripts/IDLAttributes.txt:
1974         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
1975         (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
1976         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
1977         (WebDOMTestSerializedScriptValueInterface):
1978         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1979         (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
1980         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1981         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1982         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
1983         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
1984         (WebCore):
1985         (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot):
1986         (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertyDescriptor):
1987         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
1988         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1989         (JSTestSerializedScriptValueInterfacePrototype):
1990         (WebCore):
1991         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
1992         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
1993         (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
1994         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1995         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1996         (WebCore::TestSerializedScriptValueInterfaceInternal::acceptTransferListCallback):
1997         (TestSerializedScriptValueInterfaceInternal):
1998         (WebCore):
1999         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2000         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
2001
2002 2012-03-16  Dana Jansens  <danakj@chromium.org>
2003
2004         [chromium] Quads that become fully opaque after culling should not use blending
2005         https://bugs.webkit.org/show_bug.cgi?id=81235
2006
2007         Reviewed by Adrienne Walker.
2008
2009         Unit test: CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
2010
2011         * platform/graphics/chromium/cc/CCDrawQuad.h:
2012         (WebCore::CCDrawQuad::needsBlending):
2013
2014 2012-03-16  Xiaomei Ji  <xji@chromium.org>
2015
2016         Using ICU break iterator to simplify visual word movement implementation.
2017         https://bugs.webkit.org/show_bug.cgi?id=78856
2018
2019         Reviewed by Ryosuke Niwa.
2020
2021         This patch relies on ICU word break iterator and cursor visual movement by character to get the word break
2022         position in visual order. It reduces the complexity of old implementation.
2023
2024         Test: editing/selection/move-by-word-visually-wrong-left-right.html
2025
2026         * editing/FrameSelection.cpp: Exclude WinCE from visual word movement since isWordTextBreak is not implemented.
2027         (WebCore::FrameSelection::modifyMovingRight):
2028         (WebCore::FrameSelection::modifyMovingLeft):
2029         * editing/visible_units.cpp:
2030         (WebCore):
2031         (WebCore::previousLeafWithSameEditability): Just moving to the top without functionality change.
2032         (WebCore::enclosingNodeWithNonInlineRenderer): ditto.
2033         (WebCore::nextLeafWithSameEditability): ditto.
2034         (WebCore::previousRootInlineBox): return previous RootInlineBox which is in different renderer.
2035         (WebCore::nextRootInlineBox): return next RootInlineBox which is in different renderer.
2036         (WebCore::boxIndexInVector):
2037         (WebCore::previousBoxInLine): returns logically previous box in one line.
2038         (WebCore::logicallyPreviousBox): returns logically previous box.
2039         (WebCore::nextBoxInLine): returns logically next box in one line.
2040         (WebCore::logicallyNextBox): returns logically next box.
2041         (WebCore::wordBreakIteratorForMinOffsetBoundary): create word break iterator for position that is a box's min offset.
2042         (WebCore::wordBreakIteratorForMaxOffsetBoundary): create word break iterator for position that is a box's max offset.
2043         (WebCore::isLogicalStartOfWord): return whether a position is logically start of word.
2044         (WebCore::islogicalEndOfWord): return whether a position is logically end of word.
2045         (WebCore::visualWordPosition): returns the visual left or right word position.
2046         (WebCore::leftWordPosition):
2047         (WebCore::rightWordPosition):
2048         * platform/text/TextBreakIterator.h: Add isWordTextBreak().
2049         (WebCore):
2050         * platform/text/TextBreakIteratorICU.cpp:
2051         (WebCore::isWordTextBreak):
2052         (WebCore):
2053         * platform/text/gtk/TextBreakIteratorGtk.cpp:
2054         (WebCore::isWordTextBreak):
2055         (WebCore):
2056         * platform/text/qt/TextBreakIteratorQt.cpp:
2057         (WebCore::isWordTextBreak):
2058         (WebCore):
2059         * platform/text/wince/TextBreakIteratorWinCE.cpp:
2060         (WebCore::isWordTextBreak):
2061         (WebCore):
2062
2063 2012-03-16  Dana Jansens  <danakj@chromium.org>
2064
2065         [chromium] Don't create a quad for video layers without a frame (avoid use of uninitialized m_format)
2066         https://bugs.webkit.org/show_bug.cgi?id=81250
2067
2068         Reviewed by James Robinson.
2069
2070         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2071         (WebCore::CCVideoLayerImpl::appendQuads):
2072
2073 2012-03-16  Hajime Morrita  <morrita@chromium.org>
2074
2075         Unreviewed attempt to fix Chromium windows build.
2076
2077         * Modules/speech/SpeechRecognition.h:
2078         (SpeechRecognition):
2079
2080 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
2081
2082         Move DOMWindowFileSystem to Modules/filesystem/
2083         https://bugs.webkit.org/show_bug.cgi?id=81030
2084
2085         Reviewed by Adam Barth.
2086
2087         No new tests, all existing tests pass.
2088
2089         * CMakeLists.txt:
2090         * DerivedSources.make:
2091         * DerivedSources.pri:
2092         * GNUmakefile.am:
2093         * GNUmakefile.list.am:
2094         * Modules/filesystem/DOMWindowFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.cpp.
2095         * Modules/filesystem/DOMWindowFileSystem.h: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.h.
2096         * Modules/filesystem/DOMWindowFileSystem.idl: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.idl.
2097         * Target.pri:
2098         * WebCore.gyp/WebCore.gyp:
2099         * WebCore.gypi:
2100         * WebCore.vcproj/WebCore.vcproj:
2101         * WebCore.vcproj/WebCoreCommon.vsprops:
2102         * WebCore.vcproj/copyForwardingHeaders.cmd:
2103         * fileapi/DOMWindowFileSystem.cpp: Removed.
2104         * fileapi/DOMWindowFileSystem.h: Removed.
2105         * fileapi/DOMWindowFileSystem.idl: Removed.
2106
2107 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2108
2109         Unreviewed, rolling out r110951.
2110         http://trac.webkit.org/changeset/110951
2111         https://bugs.webkit.org/show_bug.cgi?id=81316
2112
2113         Does not build on apple-mac (Requested by abarth on #webkit).
2114
2115         * platform/audio/DynamicsCompressor.h:
2116         (DynamicsCompressor):
2117         * webaudio/DynamicsCompressorNode.cpp:
2118         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2119         (WebCore::DynamicsCompressorNode::process):
2120         * webaudio/DynamicsCompressorNode.h:
2121         (DynamicsCompressorNode):
2122         * webaudio/DynamicsCompressorNode.idl:
2123
2124 2012-03-16  Seo Sanghyeon  <sh4.seo@samsung.com>
2125
2126         Cleanup empty attribute list in IDLs
2127         https://bugs.webkit.org/show_bug.cgi?id=81228
2128
2129         Reviewed by Adam Barth.
2130
2131         No tests. No change in behavior.
2132
2133         * css/WebKitCSSRegionRule.idl:
2134
2135 2012-03-16  Pratik Solanki  <psolanki@apple.com>
2136
2137         onorientationchange event should have JSWindowEventListener attribute
2138         https://bugs.webkit.org/show_bug.cgi?id=79513
2139
2140         Reviewed by Kentaro Hara.
2141
2142         * html/HTMLFrameSetElement.idl:
2143
2144 2012-03-15  Gao Chun  <chun.gao@intel.com>
2145
2146         Expose attack, release as DynamicsCompressorNode's attributes.
2147         https://bugs.webkit.org/show_bug.cgi?id=81221
2148
2149         Reviewed by Chris Rogers.
2150
2151         Test: webaudio/dynamicscompressor-basic.html
2152
2153         * platform/audio/DynamicsCompressor.h:
2154         (DynamicsCompressor):
2155         * webaudio/DynamicsCompressorNode.cpp:
2156         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2157         (WebCore::DynamicsCompressorNode::process):
2158         * webaudio/DynamicsCompressorNode.h:
2159         (WebCore::DynamicsCompressorNode::attack):
2160         (WebCore::DynamicsCompressorNode::release):
2161         (DynamicsCompressorNode):
2162         * webaudio/DynamicsCompressorNode.idl:
2163
2164 2012-03-15  Hans Wennborg  <hans@chromium.org>
2165
2166         Speech JavaScript API: SpeechRecognition, Controller and Client
2167         https://bugs.webkit.org/show_bug.cgi?id=81096
2168
2169         Reviewed by Adam Barth.
2170
2171         Add implementation stub for SpeechRecognition. Add the
2172         SpeechRecognitionController class and SpeechRecognitionClient
2173         interface.
2174
2175         Test: fast/speech/scripted/basics.html
2176
2177         * Modules/speech/DOMWindowSpeech.idl:
2178         * Modules/speech/SpeechRecognition.cpp: Added.
2179         (WebCore):
2180         (WebCore::SpeechRecognition::create):
2181         (WebCore::SpeechRecognition::start):
2182         (WebCore::SpeechRecognition::stopFunction):
2183         (WebCore::SpeechRecognition::abort):
2184         (WebCore::SpeechRecognition::audioStartCallback):
2185         (WebCore::SpeechRecognition::soundStartCallback):
2186         (WebCore::SpeechRecognition::speechStartCallback):
2187         (WebCore::SpeechRecognition::speechEndCallback):
2188         (WebCore::SpeechRecognition::audioEndCallback):
2189         (WebCore::SpeechRecognition::resultCallback):
2190         (WebCore::SpeechRecognition::noMatchCallback):
2191         (WebCore::SpeechRecognition::resultDeletedCallback):
2192         (WebCore::SpeechRecognition::errorCallback):
2193         (WebCore::SpeechRecognition::startCallback):
2194         (WebCore::SpeechRecognition::endCallback):
2195         (WebCore::SpeechRecognition::interfaceName):
2196         (WebCore::SpeechRecognition::scriptExecutionContext):
2197         (WebCore::SpeechRecognition::SpeechRecognition):
2198         (WebCore::SpeechRecognition::~SpeechRecognition):
2199         * Modules/speech/SpeechRecognition.h: Added.
2200         (WebCore):
2201         (SpeechRecognition):
2202         (WebCore::SpeechRecognition::grammars):
2203         (WebCore::SpeechRecognition::setGrammars):
2204         (WebCore::SpeechRecognition::lang):
2205         (WebCore::SpeechRecognition::setLang):
2206         (WebCore::SpeechRecognition::continuous):
2207         (WebCore::SpeechRecognition::setContinuous):
2208         * Modules/speech/SpeechRecognition.idl:
2209         * Modules/speech/SpeechRecognitionClient.h:
2210         (WebCore):
2211         (SpeechRecognitionClient):
2212         (WebCore::SpeechRecognitionClient::~SpeechRecognitionClient):
2213         * Modules/speech/SpeechRecognitionController.cpp:
2214         (WebCore):
2215         (WebCore::SpeechRecognitionController::supplementName):
2216         (WebCore::SpeechRecognitionController::SpeechRecognitionController):
2217         (WebCore::SpeechRecognitionController::~SpeechRecognitionController):
2218         (WebCore::SpeechRecognitionController::create):
2219         (WebCore::provideSpeechRecognitionTo):
2220         * Modules/speech/SpeechRecognitionController.h: Added.
2221         (WebCore):
2222         (SpeechRecognitionController):
2223         (WebCore::SpeechRecognitionController::start):
2224         (WebCore::SpeechRecognitionController::stop):
2225         (WebCore::SpeechRecognitionController::abort):
2226         (WebCore::SpeechRecognitionController::visibilityHidden):
2227         (WebCore::SpeechRecognitionController::unregisterSpeechRecognition):
2228         (WebCore::SpeechRecognitionController::from):
2229         * WebCore.gypi:
2230         * dom/EventTargetFactory.in:
2231
2232 2012-03-15  Michal Ciepielski  <m.ciepielski@samsung.com>
2233
2234         [EFL] Sets alpha channel for new buffers.
2235         https://bugs.webkit.org/show_bug.cgi?id=77101
2236
2237         Reviewed by Hajime Morita.
2238
2239         No new tests.
2240
2241         By default EFL creates buffers without alpha channel.
2242         This causes improper rendering of HTML controls (i.e. radio buttons, checkboxes).
2243         This commits sets alpha channel for all newly created buffers by EFL.
2244
2245         * platform/efl/RenderThemeEfl.cpp:
2246         (WebCore::RenderThemeEfl::cacheThemePartNew):
2247
2248 2012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2249
2250         Unreviewed, rolling out r110941.
2251         http://trac.webkit.org/changeset/110941
2252         https://bugs.webkit.org/show_bug.cgi?id=81307
2253
2254         the revert looks innocent. (Requested by morrita on #webkit).
2255
2256         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2257         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2258         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2259         (Canvas2DLayerChromium):
2260         * platform/graphics/chromium/ContentLayerChromium.cpp:
2261         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2262         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
2263         * platform/graphics/chromium/ContentLayerChromium.h:
2264         (WebCore):
2265         (ContentLayerChromium):
2266         * platform/graphics/chromium/ImageLayerChromium.cpp:
2267         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2268         * platform/graphics/chromium/ImageLayerChromium.h:
2269         (WebCore):
2270         (ImageLayerChromium):
2271         * platform/graphics/chromium/LayerChromium.h:
2272         (WebCore::LayerChromium::paintContentsIfDirty):
2273         (WebCore::LayerChromium::idlePaintContentsIfDirty):
2274         * platform/graphics/chromium/TiledLayerChromium.cpp:
2275         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2276         (WebCore::TiledLayerChromium::prepareToUpdate):
2277         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2278         * platform/graphics/chromium/TiledLayerChromium.h:
2279         (TiledLayerChromium):
2280         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2281         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
2282         * platform/graphics/chromium/WebGLLayerChromium.h:
2283         (WebGLLayerChromium):
2284         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2285         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
2286         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
2287         (WebCore::CCLayerTreeHost::paintLayerContents):
2288         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2289
2290 2012-03-15  Tommy Widenflycht  <tommyw@google.com>
2291
2292         MediaStream API (JSEP): Introducing SessionDescription
2293         https://bugs.webkit.org/show_bug.cgi?id=81206
2294
2295         Reviewed by Adam Barth.
2296
2297         Patch #3 in a series of patches to change the PeerConnection from ROAP to JSEP,
2298         see bug 80589 for more information.
2299         Adding the SessionDescription JS object and its platform counterpart SessionDescriptionDescriptor.
2300
2301         Not possible to test until the entire JSEP feature is commited.
2302
2303         * GNUmakefile.list.am:
2304         * Modules/mediastream/SessionDescription.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2305         (WebCore):
2306         (WebCore::SessionDescription::create):
2307         (WebCore::SessionDescription::SessionDescription):
2308         (WebCore::SessionDescription::~SessionDescription):
2309         (WebCore::SessionDescription::addCandidate):
2310         (WebCore::SessionDescription::toSdp):
2311         (WebCore::SessionDescription::descriptor):
2312         * Modules/mediastream/SessionDescription.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2313         (WebCore):
2314         (SessionDescription):
2315         * Modules/mediastream/SessionDescription.idl: Added.
2316         * WebCore.gypi:
2317         * platform/mediastream/MediaStreamCenter.cpp:
2318         (WebCore::MediaStreamCenter::constructSdp):
2319         (WebCore):
2320         * platform/mediastream/MediaStreamCenter.h:
2321         (WebCore):
2322         (MediaStreamCenter):
2323         * platform/mediastream/SessionDescriptionDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2324         (WebCore):
2325         (WebCore::SessionDescriptionDescriptor::create):
2326         (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
2327         (WebCore::SessionDescriptionDescriptor::~SessionDescriptionDescriptor):
2328         (WebCore::SessionDescriptionDescriptor::addCandidate):
2329         (WebCore::SessionDescriptionDescriptor::toSdp):
2330         (WebCore::SessionDescriptionDescriptor::numberOfAddedCandidates):
2331         (WebCore::SessionDescriptionDescriptor::candidate):
2332         (WebCore::SessionDescriptionDescriptor::initialSdp):
2333         * platform/mediastream/SessionDescriptionDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2334         (WebCore):
2335         (SessionDescriptionDescriptor):
2336
2337 2012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2338
2339         Unreviewed, rolling out r110929.
2340         http://trac.webkit.org/changeset/110929
2341         https://bugs.webkit.org/show_bug.cgi?id=81306
2342
2343         breaking webkit_unit_tests (Requested by morrita on #webkit).
2344
2345         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2346         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2347         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2348         (Canvas2DLayerChromium):
2349         * platform/graphics/chromium/ContentLayerChromium.cpp:
2350         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2351         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
2352         * platform/graphics/chromium/ContentLayerChromium.h:
2353         (WebCore):
2354         (ContentLayerChromium):
2355         * platform/graphics/chromium/ImageLayerChromium.cpp:
2356         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2357         * platform/graphics/chromium/ImageLayerChromium.h:
2358         (WebCore):
2359         (ImageLayerChromium):
2360         * platform/graphics/chromium/LayerChromium.h:
2361         (WebCore::LayerChromium::paintContentsIfDirty):
2362         (WebCore::LayerChromium::idlePaintContentsIfDirty):
2363         * platform/graphics/chromium/TiledLayerChromium.cpp:
2364         (WebCore):
2365         (WebCore::contentToLayerTransform):
2366         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2367         (WebCore::TiledLayerChromium::prepareToUpdate):
2368         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2369         * platform/graphics/chromium/TiledLayerChromium.h:
2370         (WebCore):
2371         (TiledLayerChromium):
2372         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2373         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
2374         * platform/graphics/chromium/WebGLLayerChromium.h:
2375         (WebGLLayerChromium):
2376         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2377         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
2378         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
2379         (WebCore::CCLayerTreeHost::paintLayerContents):
2380         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2381
2382 2012-03-15  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2383
2384         REGRESSION(r106232): The resize handler is always called after loading.
2385         https://bugs.webkit.org/show_bug.cgi?id=80242
2386
2387         Reviewed by Kenneth Rohde Christiansen.
2388
2389         Ensure resize-events are not emitted when layout-size changes due to added
2390         scrollbars. For fixed layout, scrollbars are never subtracted or added, so
2391         we can compare fixedLayoutSize directly. For normal layout, use the full
2392         visible rect size which is the same as layout size plus scrollbars.
2393
2394         Test: fast/events/resize-events.html
2395
2396         * page/FrameView.cpp:
2397         (WebCore::FrameView::reset):
2398         (WebCore::FrameView::layout):
2399         (WebCore::FrameView::performPostLayoutTasks):
2400         * page/FrameView.h:
2401         (FrameView):
2402
2403 2012-03-15  Tommy Widenflycht  <tommyw@google.com>
2404
2405         MediaStream API (JSEP): Introducing MediaHints and IceOptions
2406         https://bugs.webkit.org/show_bug.cgi?id=81207
2407
2408         Reviewed by Adam Barth.
2409
2410         Patch #4 in a series of patches to change the PeerConnection from ROAP to JSEP,
2411         see bug 80589 for more information.
2412         Introducing the platform MediaHints and IceOptions helper classes.
2413
2414         Not possible to test until the entire JSEP feature is commited.
2415
2416         * GNUmakefile.list.am:
2417         * WebCore.gypi:
2418         * platform/mediastream/IceOptions.cpp: Added.
2419         (WebCore):
2420         (WebCore::IceOptions::create):
2421         * platform/mediastream/IceOptions.h: Added.
2422         (WebCore):
2423         (IceOptions):
2424         (WebCore::IceOptions::~IceOptions):
2425         (WebCore::IceOptions::useCandidates):
2426         (WebCore::IceOptions::IceOptions):
2427         * platform/mediastream/MediaHints.cpp: Added.
2428         (WebCore):
2429         (WebCore::MediaHints::create):
2430         (WebCore::MediaHints::audio):
2431         (WebCore::MediaHints::video):
2432         * platform/mediastream/MediaHints.h: Added.
2433         (WebCore):
2434         (MediaHints):
2435         (WebCore::MediaHints::~MediaHints):
2436         (WebCore::MediaHints::MediaHints):
2437
2438 2012-03-15  Shinya Kawanaka  <shinyak@chromium.org>
2439
2440         [Crash] Adding <content> into a ShadowRoot causes crash.
2441         https://bugs.webkit.org/show_bug.cgi?id=80020
2442
2443         Reviewed by Hajime Morita.
2444
2445         The problem is <content> tries to select host children though it is not prepared.
2446         Since populating host children for insertion points is performed just before
2447         attaching a shadow tree, we should recalculate whole shadow tree if <content> is
2448         appended as a child.
2449
2450         However, element->appendChild() does not know the element is in a shadow tree or not.
2451         We have to ensure reattaching whole shadow tree here.
2452
2453         So this patch adds some phases to HTMLContentSelector so that we can check node
2454         distribution algorihm is begin processed or not. If not we cannot select anything,
2455         but we have to enable a flag to reattach whole shadow tree.
2456
2457         Tests: fast/dom/shadow/shadow-content-crash-expected.html
2458                fast/dom/shadow/shadow-content-crash.html
2459
2460         * dom/ShadowTree.cpp:
2461         (WebCore::ShadowTree::attach):
2462         (WebCore::ShadowTree::insertionPointFor):
2463         * dom/ShadowTree.h:
2464         (WebCore):
2465         (ShadowTree):
2466         (WebCore::ShadowTree::selector):
2467         * html/shadow/HTMLContentSelector.cpp:
2468         (WebCore::HTMLContentSelector::HTMLContentSelector):
2469         (WebCore::HTMLContentSelector::select):
2470         (WebCore::HTMLContentSelector::willSelect):
2471         (WebCore):
2472         (WebCore::HTMLContentSelector::didSelect):
2473         (WebCore::HTMLContentSelector::populateIfNecessary):
2474         * html/shadow/HTMLContentSelector.h:
2475         (HTMLContentSelector):
2476         (WebCore::HTMLContentSelector::isSelecting):
2477         (WebCore):
2478         (WebCore::HTMLContentSelector::hasPopulated):
2479         * html/shadow/InsertionPoint.cpp:
2480         (WebCore::InsertionPoint::distributeHostChildren):
2481         (WebCore::InsertionPoint::clearDistribution):
2482
2483 2012-03-15  Mike Lawther  <mikelawther@chromium.org>
2484
2485         CSS3 calc: mixed percent/absolute expressions for gradients
2486         https://bugs.webkit.org/show_bug.cgi?id=81182
2487
2488         Reviewed by Ojan Vafai.
2489
2490         * css/CSSGradientValue.cpp:
2491         (WebCore::CSSGradientValue::addStops):
2492         (WebCore::positionFromValue):
2493
2494 2012-03-15  Leo Yang  <leo.yang@torchmobile.com.cn>
2495
2496         [BlackBerry] Sync up MIMETypeRegistry.cpp
2497         https://bugs.webkit.org/show_bug.cgi?id=81191
2498
2499         Reviewed by Rob Buis.
2500
2501         Add png and jpeg to supportedImageMIMETypesForEncoding for BlackBerry.
2502
2503         * platform/MIMETypeRegistry.cpp:
2504         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2505
2506 2012-03-15  Dana Jansens  <danakj@chromium.org>
2507
2508         [chromium] Decide occlusion in paint culling with CCOcclusionTracker
2509         https://bugs.webkit.org/show_bug.cgi?id=81181
2510
2511         Reviewed by Adrienne Walker.
2512
2513         Plumb a CCOcclusionTracker* around instead of a bare Region, so that it
2514         can make a more informed decision if a tile is occluded or not during
2515         paint.
2516
2517         Covered by existing tests.
2518
2519         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2520         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2521         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2522         (Canvas2DLayerChromium):
2523         * platform/graphics/chromium/ContentLayerChromium.cpp:
2524         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2525         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
2526         * platform/graphics/chromium/ContentLayerChromium.h:
2527         (WebCore):
2528         (ContentLayerChromium):
2529         * platform/graphics/chromium/ImageLayerChromium.cpp:
2530         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2531         * platform/graphics/chromium/ImageLayerChromium.h:
2532         (WebCore):
2533         (ImageLayerChromium):
2534         * platform/graphics/chromium/LayerChromium.h:
2535         (WebCore::LayerChromium::paintContentsIfDirty):
2536         (WebCore::LayerChromium::idlePaintContentsIfDirty):
2537         * platform/graphics/chromium/TiledLayerChromium.cpp:
2538         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2539         (WebCore::TiledLayerChromium::prepareToUpdate):
2540         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2541         * platform/graphics/chromium/TiledLayerChromium.h:
2542         (TiledLayerChromium):
2543         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2544         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
2545         * platform/graphics/chromium/WebGLLayerChromium.h:
2546         (WebGLLayerChromium):
2547         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2548         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
2549         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
2550         (WebCore::CCLayerTreeHost::paintLayerContents):
2551         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2552
2553 2012-03-15  Yoshifumi Inoue  <yosin@chromium.org>
2554
2555         [Forms] The "meter" element should not be a form-associated element.
2556         https://bugs.webkit.org/show_bug.cgi?id=80380
2557
2558         Reviewed by Kent Tamura.
2559
2560         This patch changes base class of HTMLMeterElement to LabelableElement from
2561         HTMLFormControlElement for saving memory space and iteration time of
2562         extra "meter" elements in HTMLFormElement::m_formAssociatedElements
2563         and matching the HTML5 specification for ease of maintenance.
2564
2565         This patch renames isLabelable method to supportLabels and makes isLabelable
2566         as predicate of an instance of LabelableElement or not.
2567
2568         Changes of TextIterator is lead by usage of isFormControlElement. This
2569         changes will be replaced with more meaningful predicate as part of
2570         https://bugs.webkit.org/show_bug.cgi?id=80381
2571
2572         No new tests. Update existing tests to cover this change.
2573
2574         * editing/TextIterator.cpp:
2575         (WebCore::TextIterator::advance): Check HTMLMeterElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
2576         * html/HTMLButton.h:
2577         (WebCore::HTMLButtonElement::supportLabels): Renamed from isLabelable
2578         * html/HTMLElement.h:
2579         (WebCore::HTMLElement::isLabelable): Added. A predicate for an instance of LabelableElement.
2580         * html/HTMLInputElement.h:
2581         (WebCore::HTMLInputElement::supportLabels): Renamed from isLabelable
2582         * html/HTMLKeygenElement.h:
2583         (WebCore::HTMLKeygenElement::supportLabels): Renamed from isLabelable
2584          * html/HTMLLabelElement.cpp:
2585         (WebCore::nodeAsLabelableElement): Changed to return LabelableElement instead of HTMLFormControlElement.
2586         (WebCore::HTMLLabelElement::control): Changed to return LabelableElement instead of HTMLFormControlElement.
2587         * html/HTMLLabelElement.h:
2588         (HTMLLabelElement):
2589         * html/HTMLMeterElement.cpp:
2590         (WebCore::HTMLMeterElement::HTMLMeterElement): Changed base class to LabelableElement.
2591         (WebCore::HTMLMeterElement::create): Remove form parameter.
2592         (WebCore::HTMLMeterElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
2593         (WebCore::HTMLMeterElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement
2594         (WebCore::HTMLMeterElement::attach): Replace HTMLFormControlElement to LabelableElement
2595         * html/HTMLMeterElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
2596         * html/HTMLMeterElement.h:
2597         (HTMLMeterElement):
2598         (WebCore::HTMLMeterElement::supportLabels): Renamed from isLabelable
2599         * html/HTMLOutputElement.h:
2600         (WebCore::HTMLOutputElement::supportLabels): Renamed from isLabelable
2601         * html/HTMLProgressElement.h:
2602         (WebCore::HTMLProgressElement::supportLabels): Renamed from isLabelable
2603          * html/HTMLSelectElement.h:
2604         (WebCore::HTMLSelectElement::supportLabels): Renamed from isLabelable
2605         * html/HTMLTextAreaElement.h:
2606         (WebCore::HTMLTextAreaElement::supportLabels): Renamed from isLabelable
2607         * html/HiddenInputType.h:
2608         (WebCore::HiddenInputType::supportLabels): Renamed from isLabelable
2609         * html/InputType.h:
2610         (WebCore::InputType::supportLabels): Renamed from isLabelable
2611         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
2612         * html/LabelableElement.cpp:
2613         (WebCore::LabelableElement::labels): Replace isLabelable to supportLabels
2614         * html/LabelableElement.h:
2615         (LabelableElement):
2616
2617 2012-03-15  Adam Klein  <adamk@chromium.org>
2618
2619         REGRESSION(r103452): 100% CPU usage and 5s pause after clicking on a link in Yahoo Mail
2620         https://bugs.webkit.org/show_bug.cgi?id=81141
2621
2622         Reviewed by Ojan Vafai.
2623
2624         Revert the behavior change from r103452: don't fire DOMSubtreeModified
2625         events when an attribute value merely changes. Still fire that event
2626         when an attribute is added or removed from an element.
2627
2628         Though this contradicts the DOM3 spec, it matches legacy WebKit behavior,
2629         and given that Mutation Events are deprecated, it seems unwise to make
2630         any additions to WebKit's implementation of them.
2631
2632         Test: fast/dom/subtree-modified-attributes.html
2633
2634         * dom/Element.cpp:
2635         (WebCore::Element::didAddAttribute): Renamed from didModifyAttribute.
2636         (WebCore::Element::didModifyAttribute): Remove the call to dispatchSubtreeModifiedEvent.
2637         (WebCore):
2638         * dom/Element.h:
2639         (Element):
2640         * dom/ElementAttributeData.cpp:
2641         (WebCore::ElementAttributeData::addAttribute): Call didAddAttribute instead of didModifyAttribute.
2642
2643 2012-03-15  Dana Jansens  <danakj@chromium.org>
2644
2645         [chromium] Move overdraw metrics into a templated class for both paint and draw metrics.
2646         https://bugs.webkit.org/show_bug.cgi?id=81156
2647
2648         Reviewed by Adrienne Walker.
2649
2650         Creates CCOverdrawMetrics which can be called to inform it about
2651         draws/paints. At the end of the frame, the CCOverdrawMetrics
2652         recordMetrics() method will put its data into histograms, a
2653         TRACE_COUNTER for culling information, and a TRACE_EVENT for details
2654         about the number of opaque/translucent pixels.
2655
2656         Covered by existing tests.
2657
2658         * WebCore.gypi:
2659         * platform/chromium/TraceEvent.h:
2660         (TraceEvent):
2661         (WebCore::TraceEvent::addTraceEvent):
2662         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2663         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2664         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Added.
2665         (WebCore):
2666         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
2667         (WebCore::wedgeProduct):
2668         (WebCore::quadArea):
2669         (WebCore::CCOverdrawMetrics::didDraw):
2670         (WebCore::CCOverdrawMetrics::recordMetrics):
2671         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
2672         * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Added.
2673         (WebCore):
2674         (CCOverdrawMetrics):
2675         (WebCore::CCOverdrawMetrics::pixelsDrawnOpaque):
2676         (WebCore::CCOverdrawMetrics::pixelsDrawnTranslucent):
2677         (WebCore::CCOverdrawMetrics::pixelsCulled):
2678         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2679         (WebCore::CCQuadCuller::CCQuadCuller):
2680         (WebCore::CCQuadCuller::append):
2681         * platform/graphics/chromium/cc/CCQuadCuller.h:
2682         (WebCore):
2683         (CCQuadCuller):
2684         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2685         (WebCore::CCRenderPass::appendQuadsForLayer):
2686         * platform/graphics/chromium/cc/CCRenderPass.h:
2687         (WebCore):
2688         (CCRenderPass):
2689
2690 2012-03-15  James Robinson  <jamesr@chromium.org>
2691
2692         [chromium] RateLimiter should hold a reference to its context
2693         https://bugs.webkit.org/show_bug.cgi?id=80761
2694
2695         Reviewed by Stephen White.
2696
2697         * platform/graphics/chromium/RateLimiter.h:
2698         (RateLimiter):
2699
2700 2012-03-15  Adam Klein  <adamk@chromium.org>
2701
2702         Share code in FormAssociatedElement by resetting the form owner whenever insertedIntoTree is called
2703         https://bugs.webkit.org/show_bug.cgi?id=81160
2704
2705         Reviewed by Kent Tamura.
2706
2707         The only difference between the previous insertedIntoTree method and
2708         resetFormOwner was a missing element->inDocument() check in the
2709         former. But that check is actually important, as seen by the included test case.
2710
2711         Test: fast/forms/form-attribute-not-in-document.html
2712
2713         * html/FormAssociatedElement.cpp:
2714         (WebCore::FormAssociatedElement::insertedIntoTree):
2715
2716 2012-03-15  Kentaro Hara  <haraken@chromium.org>
2717
2718         [Refactoring] Rename StringBuilder variables in MarkupAccumulator.{h,cpp}
2719         https://bugs.webkit.org/show_bug.cgi?id=81288
2720
2721         Reviewed by Adam Barth.
2722
2723         This is a refactoring for fixing bug 81214. Currently MarkupAccumulator mixes
2724         'out' and 'result' for variable names of StringBuilder. This patch unifies them
2725         to 'result'.
2726
2727         No tests. No change in behavior.
2728
2729         * editing/MarkupAccumulator.cpp: Renamed 'out' to 'result'.
2730         (WebCore::appendCharactersReplacingEntities):
2731         (WebCore::MarkupAccumulator::serializeNodes): Renamed 'node' to 'targetNode' for clarification
2732         (and for avoiding style check error in MarkupAccumulator.h).
2733         (WebCore::MarkupAccumulator::concatenateMarkup):
2734         (WebCore::MarkupAccumulator::appendNodeValue):
2735         (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
2736         (WebCore::MarkupAccumulator::appendNamespace):
2737         (WebCore::MarkupAccumulator::entityMaskForText):
2738         (WebCore::MarkupAccumulator::appendText):
2739         (WebCore::MarkupAccumulator::appendComment):
2740         (WebCore::MarkupAccumulator::appendProcessingInstruction):
2741         (WebCore::MarkupAccumulator::appendElement):
2742         (WebCore::MarkupAccumulator::appendOpenTag):
2743         (WebCore::MarkupAccumulator::appendCloseTag):
2744         (WebCore::MarkupAccumulator::appendAttribute):
2745         (WebCore::MarkupAccumulator::appendCDATASection):
2746         (WebCore::MarkupAccumulator::elementCannotHaveEndTag):
2747         * editing/MarkupAccumulator.h: Removed redundant variable names.
2748         (MarkupAccumulator):
2749         (WebCore):
2750
2751 2012-03-15  Brent Fulgham  <bfulgham@webkit.org>
2752
2753         [WinCairo] Correct <wtf/*.h> include paths.
2754         https://bugs.webkit.org/show_bug.cgi?id=81278
2755
2756         Reviewed by Eric Seidel.
2757
2758         Modify the #include declarations for several Cairo-related files
2759         so that the wtf types are included using the full path.
2760
2761         * platform/graphics/FontPlatformData.h:
2762         * platform/graphics/cairo/OwnPtrCairo.h:
2763         * platform/graphics/cairo/RefPtrCairo.h:
2764
2765 2012-03-15  Anders Carlsson  <andersca@apple.com>
2766
2767         only some tiles rendered when zoomed in
2768         https://bugs.webkit.org/show_bug.cgi?id=81282
2769         <rdar://problem/11058898>
2770
2771         Reviewed by Andreas Kling.
2772
2773         * platform/graphics/ca/mac/TileCache.mm:
2774         (WebCore::TileCache::rectForTileIndex):
2775         Make sure that the tile cache bounds are scaled accordingly.
2776
2777 2012-03-15  Zeno Albisser  <zeno@webkit.org>
2778
2779         [Qt] RenderThemeQt::fileListNameForWidth should override function in base class RenderTheme. (r110560)
2780         https://bugs.webkit.org/show_bug.cgi?id=81107
2781
2782         Add "bool multipleFilesAllowed" to the parameter list of RenderThemeQt::fileListNameForWidth.
2783         This way the base class function is properly overridden.
2784         The need for this change became obvious after r110560 where the OVERRIDE keyword had been
2785         added to the function signature.
2786
2787         Reviewed by Simon Hausmann.
2788
2789         * platform/qt/RenderThemeQt.cpp:
2790         (WebCore::RenderThemeQt::fileListNameForWidth):
2791         * platform/qt/RenderThemeQt.h:
2792         (RenderThemeQt):
2793
2794 2012-03-07  Jon Lee  <jonlee@apple.com>
2795
2796         Move NotificationContents into Notification
2797         https://bugs.webkit.org/show_bug.cgi?id=80487
2798         <rdar://problem/10965519>
2799
2800         Reviewed by Jian Li.
2801
2802         * notifications/Notification.cpp: Alter signature of constructor to take the fields directly instead of
2803         a NotificationContents instance.
2804         (WebCore::Notification::Notification): Derive KURL from string representation of icon.
2805         (WebCore::Notification::create):
2806         * notifications/Notification.h:
2807         (Notification): Remove contents() accessor and replace with get for title and body. iconURL()
2808         already existed, but use local variable instead of going through NotificationContents.
2809         (WebCore::Notification::iconURL):
2810         (WebCore::Notification::title):
2811         (WebCore::Notification::body):
2812         * notifications/NotificationCenter.h:
2813         (WebCore::NotificationCenter::createNotification): Refactor to use new constructor.
2814         * notifications/NotificationContents.h: Removed.
2815
2816         Remove NotificationContents.h from project files
2817         * GNUmakefile.list.am:
2818         * Target.pri:
2819         * WebCore.gypi:
2820         * WebCore.vcproj/WebCore.vcproj:
2821         * WebCore.xcodeproj/project.pbxproj:
2822
2823 2012-03-13  Jon Lee  <jonlee@apple.com>
2824
2825         Deprecate ondisplay()
2826         https://bugs.webkit.org/show_bug.cgi?id=80483
2827         <rdar://problem/10912432>
2828
2829         Reviewed by Jian Li.
2830
2831         The appropriate event listener for notifications is onshow().
2832
2833         * notifications/Notification.h: Wrap ondisplay in ENABLE(LEGACY_NOTIFICATIONS).
2834         * notifications/Notification.idl: Wrap ondisplay in ENABLE_LEGACY_NOTIFICATIONS.
2835
2836 2012-03-14  W. James MacLean  <wjmaclean@chromium.org>
2837
2838         [chromium] Wire up PlatformGestureCurves for CC, ScrollAnimatorNone.
2839         https://bugs.webkit.org/show_bug.cgi?id=80607
2840
2841         Reviewed by James Robinson.
2842
2843         Unit tests added. Layout tests to follow.
2844
2845         Provides implementation of PlatformGestureCurves in Chrome Compositor, and basic
2846         support in ScrollAnimatorNone, for fling gestures.
2847
2848         * GNUmakefile.list.am:
2849         * platform/ActivePlatformGestureAnimation.cpp:
2850         (WebCore::ActivePlatformGestureAnimation::create):
2851         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
2852         (WebCore::ActivePlatformGestureAnimation::animate):
2853         * platform/ActivePlatformGestureAnimation.h:
2854         (ActivePlatformGestureAnimation):
2855         * platform/PlatformGestureCurveTarget.h:
2856         (PlatformGestureCurveTarget):
2857         * platform/ScrollAnimatorNone.cpp:
2858         (WebCore::ScrollAnimatorNone::cancelAnimations):
2859         (WebCore::ScrollAnimatorNone::animationTimerFired):
2860         (WebCore::ScrollAnimatorNone::scrollBy):
2861         (WebCore):
2862         * platform/ScrollAnimatorNone.h:
2863         (WebCore):
2864         (ScrollAnimatorNone):
2865         * platform/TouchFlingPlatformGestureCurve.cpp:
2866         (WebCore::TouchFlingPlatformGestureCurve::apply):
2867         * platform/WheelFlingPlatformGestureCurve.cpp:
2868         (WebCore::WheelFlingPlatformGestureCurve::apply):
2869         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
2870         (WebCore::CCActiveGestureAnimation::create):
2871         (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
2872         (WebCore::CCActiveGestureAnimation::animate):
2873         * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
2874         (CCActiveGestureAnimation):
2875         * platform/graphics/chromium/cc/CCGestureCurve.h:
2876         (CCGestureCurveTarget):
2877         * platform/graphics/chromium/cc/CCInputHandler.h:
2878         (WebCore):
2879         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2880         (WebCore::CCLayerTreeHostImpl::animate):
2881         (WebCore::CCLayerTreeHostImpl::setActiveGestureAnimation):
2882         (WebCore):
2883         (WebCore::CCLayerTreeHostImpl::animateGestures):
2884         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2885         (WebCore):
2886         (WebCore::CCLayerTreeHostImpl::activeGestureAnimation):
2887         (CCLayerTreeHostImpl):
2888
2889 2012-03-15  Patrick Gansterer  <paroga@webkit.org>
2890
2891         [EFL] Make zlib a general build requirement
2892         https://bugs.webkit.org/show_bug.cgi?id=80153
2893
2894         Reviewed by Hajime Morita.
2895
2896         After r109538 WebSocket module needs zlib to support deflate-frame extension.
2897
2898         * PlatformEfl.cmake:
2899
2900 2012-03-15  Robert Kroeger  <rjkroege@chromium.org>
2901
2902         REGRESSION (r110371): broke platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
2903         https://bugs.webkit.org/show_bug.cgi?id=80825
2904
2905         Reviewed by James Robinson.
2906
2907         * page/EventHandler.cpp:
2908         (WebCore::EventHandler::handleWheelEvent): Corrected a typo.
2909
2910 2012-03-15  Scott Byer  <scottbyer@chromium.org>
2911
2912         Fix crbug 117957 - get settings scrolling with the wheel again.
2913         https://bugs.webkit.org/show_bug.cgi?id=81247
2914
2915         Reviewed by James Robinson.
2916
2917         Tests to follow.
2918
2919         * page/FrameView.cpp:
2920         (WebCore::FrameView::serviceScriptedAnimations):
2921
2922 2012-03-15  David Hyatt  <hyatt@apple.com>
2923
2924         https://bugs.webkit.org/show_bug.cgi?id=81258
2925
2926         Add a preference for enabling the new multi-column layout code that will be based on regions.
2927
2928         Reviewed by Beth Dakin.
2929
2930         * page/Settings.cpp:
2931         (WebCore::Settings::Settings):
2932         * page/Settings.h:
2933         (WebCore::Settings::setRegionBasedColumnsEnabled):
2934         (WebCore::Settings::regionBasedColumnsEnabled):
2935         (Settings):
2936
2937 2012-03-15  Andreas Kling  <kling@webkit.org>
2938
2939         RenderStyle: Return Color objects by value instead of as const references.
2940         <http://webkit.org/b/81180>
2941
2942         Reviewed by Antti Koivisto.
2943
2944         Make RenderStyle getters return "Color" rather than "const Color&". This is preparation
2945         for storing some color values in a more space-efficient fashion.
2946
2947         * css/CSSStyleApplyProperty.cpp:
2948         (WebCore::ApplyPropertyColor::applyInheritValue):
2949         * page/animation/AnimationBase.cpp:
2950         (PropertyWrapperColor):
2951         (WebCore::PropertyWrapperColor::PropertyWrapperColor):
2952         (WebCore::PropertyWrapperColor::blend):
2953         (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
2954         (PropertyWrapperMaybeInvalidColor):
2955         (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
2956         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
2957         (PropertyWrapperSVGPaint):
2958         * platform/graphics/Color.h:
2959         (WebCore::Color::Color):
2960         * rendering/style/RenderStyle.h:
2961
2962 2012-03-15  Jessie Berlin  <jberlin@apple.com>
2963
2964         Assertion failures in WebCore::Page::goBackOrForward causing multiple "crashes" on Lion Intel
2965         Debug WebKit2 testers
2966         https://bugs.webkit.org/show_bug.cgi?id=81159
2967
2968         Rubber-stamped by Brady Eidson.
2969
2970         It is plausible that history could change in between the time a navigation request is
2971         scheduled and the timer is fired, so the request index could be out of the b/f list range.
2972         Hence, the assertion is invalid and should be removed.
2973
2974         * page/Page.cpp:
2975         (WebCore::Page::goBackOrForward):
2976
2977 2012-03-15  Alexey Proskuryakov  <ap@apple.com>
2978
2979         Assertion failures in checkEncodedString when running WebKit2 tests
2980         https://bugs.webkit.org/show_bug.cgi?id=67425
2981         <rdar://problem/11043492>
2982
2983         Reviewed by Anders Carlsson.
2984
2985         * platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::cfError):
2986         * platform/network/mac/ResourceErrorMac.mm: (WebCore::ResourceError::nsError):
2987         The failing URL is certainly not guaranteed to be valid, so it's not correct to put it back
2988         into a URL as if it's been normalized by KURL.
2989
2990 2012-03-15  Brady Eidson  <beidson@apple.com>
2991
2992         <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
2993         REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
2994
2995         Reviewed by Sam Weinig.
2996
2997         Test: editing/pasteboard/copy-two-pasteboard-types-both-work.html
2998
2999         Add the non-destructive "addTypes" to supplement the destructive "setTypes"
3000         * platform/PasteboardStrategy.h:
3001         (PasteboardStrategy):
3002         * platform/PlatformPasteboard.h:
3003         (PlatformPasteboard):
3004         * platform/mac/PlatformPasteboardMac.mm:
3005         (WebCore::PlatformPasteboard::addTypes):
3006         * WebCore.exp.in:
3007
3008         * platform/mac/ClipboardMac.mm:
3009         (WebCore::ClipboardMac::setData): Call the non-destructive "addTypes" instead of
3010           the destructive "setTypes"
3011
3012 2012-03-15  Dana Jansens  <danakj@chromium.org>
3013
3014         [Chromium] REGRESSION(r110596) CCQuadCullerTest.verifyCullChildLinesUpTopLeft fails on Windows
3015         https://bugs.webkit.org/show_bug.cgi?id=81083
3016
3017         Reviewed by Adrienne Walker.
3018
3019         The surface pointer on the occlusion tracker stack is uninitialized, and
3020         can be non-null, but the layer's target surface is null, causing asserts
3021         to fail. Fixes the TestCCOcclusionTrackerImpl to initialize the stack's
3022         surface to be null.
3023
3024         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3025         (WebCore::::enterTargetRenderSurface):
3026         (WebCore::::unoccludedContentRect):
3027         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
3028         (WebCore::CCOcclusionTrackerBase::StackObject::StackObject):
3029
3030 2012-03-15  David Levin  <levin@chromium.org>
3031
3032         Various autoresize fixes.
3033         https://bugs.webkit.org/show_bug.cgi?id=81199
3034
3035         Reviewed by Darin Fisher.
3036
3037         Tested by WebViewTest additions.
3038
3039         * page/FrameView.cpp:
3040         (WebCore::FrameView::autoSizeIfEnabled): Fixed a bug that caused a horizontal
3041         scrollbar to appear when the size was width was fixed and height overflowed which
3042         is one of the tests that was added.
3043
3044 2012-03-15  Andrey Kosyakov  <caseq@chromium.org>
3045
3046         Web Inspector: normalize vertical overview bars by longest bar, not by longest frame
3047         https://bugs.webkit.org/show_bug.cgi?id=81231
3048
3049         Reviewed by Vsevolod Vlasov.
3050
3051         * inspector/front-end/TimelineOverviewPane.js:
3052         (WebInspector.TimelineOverviewPane):
3053         (WebInspector.TimelineOverviewPane.prototype.reset):
3054         (WebInspector.TimelineOverviewPane.prototype.accept):
3055         (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
3056         (WebInspector.TimelineVerticalOverview.prototype.reset):
3057         (WebInspector.TimelineVerticalOverview.prototype.update):
3058         (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
3059         (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
3060         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
3061
3062 2012-03-15  Andrey Kosyakov  <caseq@chromium.org>
3063
3064         Web Inspector: crash in InspectorTimelineAgent when trying to add children to cancelable records
3065         https://bugs.webkit.org/show_bug.cgi?id=81245
3066
3067         Reviewed by Vsevolod Vlasov.
3068
3069         * inspector/InspectorTimelineAgent.cpp:
3070         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
3071         (WebCore):
3072         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
3073         (WebCore::InspectorTimelineAgent::appendRecord):
3074         (WebCore::InspectorTimelineAgent::commitCancelableRecords):
3075         * inspector/InspectorTimelineAgent.h:
3076         (InspectorTimelineAgent):
3077
3078 2012-03-15  Pavel Podivilov  <podivilov@chromium.org>
3079
3080         Web Inspector: live locations could be disposed twice.
3081         https://bugs.webkit.org/show_bug.cgi?id=81249
3082
3083         Reviewed by Vsevolod Vlasov.
3084
3085         * inspector/front-end/ScriptMapping.js:
3086         (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
3087
3088 2012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3089
3090         [GTK] Implement unicode submenu items
3091         https://bugs.webkit.org/show_bug.cgi?id=81117
3092
3093         Reviewed by Martin Robinson.
3094
3095         * loader/EmptyClients.h:
3096         (WebCore::EmptyEditorClient::shouldShowUnicodeMenu): Just return
3097         false.
3098         * page/ContextMenuController.cpp:
3099         (WebCore::insertUnicodeCharacter): Helper function to insert a
3100         unicode character.
3101         (WebCore::ContextMenuController::contextMenuItemSelected):
3102         Implement unicode menu items using insertUnicodeCharacter() to
3103         insert the apropriate unicode character.
3104         (WebCore::ContextMenuController::createAndAppendUnicodeSubMenu):
3105         Create the unicode submenu.
3106         (WebCore::ContextMenuController::populate): Add unicode submenu
3107         item for editable content.
3108         (WebCore::ContextMenuController::checkOrEnableIfNeeded): Add
3109         unicode submenu items to the switch.
3110         * page/ContextMenuController.h:
3111         * page/EditorClient.h:
3112         (EditorClient): Add shouldShowUnicodeMenu() for GTK platform.
3113         * platform/ContextMenuItem.h:
3114         * platform/LocalizedStrings.h:
3115         * platform/gtk/LocalizedStringsGtk.cpp:
3116         (WebCore::contextMenuItemTagUnicodeInsertLRMMark): Add localized
3117         string for the unicode menu item.
3118         (WebCore::contextMenuItemTagUnicodeInsertRLMMark): Ditto.
3119         (WebCore::contextMenuItemTagUnicodeInsertLREMark): Ditto.
3120         (WebCore::contextMenuItemTagUnicodeInsertRLEMark): Ditto.
3121         (WebCore::contextMenuItemTagUnicodeInsertLROMark): Ditto.
3122         (WebCore::contextMenuItemTagUnicodeInsertRLOMark): Ditto.
3123         (WebCore::contextMenuItemTagUnicodeInsertPDFMark): Ditto.
3124         (WebCore::contextMenuItemTagUnicodeInsertZWSMark): Ditto.
3125         (WebCore::contextMenuItemTagUnicodeInsertZWJMark): Ditto.
3126         (WebCore::contextMenuItemTagUnicodeInsertZWNJMark): Ditto.
3127
3128 2012-03-15  Vsevolod Vlasov  <vsevik@chromium.org>
3129
3130         Web Inspector: MainScriptMapping should detect snippet scripts by means of sourceURL set before evaluation.
3131         https://bugs.webkit.org/show_bug.cgi?id=81031
3132
3133         Reviewed by Pavel Feldman.
3134
3135         * inspector/front-end/SnippetsModel.js:
3136         (WebInspector.SnippetsModel):
3137         (WebInspector.SnippetsModel.prototype._saveSettings):
3138         (WebInspector.SnippetsModel.prototype.deleteSnippet):
3139         (WebInspector.SnippetsModel.prototype._snippetAdded):
3140         (WebInspector.SnippetsModel.prototype._sourceURLForSnippet):
3141         (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
3142         (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
3143         (WebInspector.Snippet.prototype.evaluate):
3144         (WebInspector.SnippetsScriptMapping):
3145         (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation.get if):
3146         (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation):
3147         (WebInspector.SnippetsScriptMapping.prototype._releasedUISourceCodes):
3148         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
3149         (WebInspector.SnippetsScriptMapping.prototype._snippetWillBeEvaluated):
3150         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
3151         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
3152
3153 2012-03-15  Kevin Ollivier  <kevino@theolliviers.com>
3154
3155         [wx] Unreviewed. Build fixes for Mac and DOM bindings.
3156
3157         * bindings/cpp/WebDOMEventTarget.cpp:
3158         (toWebKit):
3159         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
3160         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
3161
3162 2012-03-14  Pavel Podivilov  <podivilov@chromium.org>
3163
3164         Web Inspector: extract CompilerScriptMapping from RawSourceCode.
3165         https://bugs.webkit.org/show_bug.cgi?id=81088
3166
3167         Reviewed by Vsevolod Vlasov.
3168
3169         * WebCore.gypi:
3170         * WebCore.vcproj/WebCore.vcproj:
3171         * inspector/compile-front-end.py:
3172         * inspector/front-end/CompilerScriptMapping.js: Added.
3173         (WebInspector.CompilerScriptMapping):
3174         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
3175         (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodeList):
3176         (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
3177         (WebInspector.CompilerScriptMapping.prototype.addScript):
3178         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
3179         (WebInspector.CompilerScriptMapping.prototype.reset):
3180         * inspector/front-end/RawSourceCode.js:
3181         (WebInspector.RawSourceCode):
3182         (WebInspector.RawSourceCode.prototype.setFormatted):
3183         (WebInspector.RawSourceCode.prototype._resourceFinished):
3184         (WebInspector.RawSourceCode.prototype._createUISourceCode):
3185         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
3186         * inspector/front-end/ResourceScriptMapping.js:
3187         (WebInspector.ResourceScriptMapping.prototype.addScript):
3188         * inspector/front-end/ScriptMapping.js:
3189         (WebInspector.MainScriptMapping):
3190         * inspector/front-end/WebKit.qrc:
3191         * inspector/front-end/inspector.html:
3192
3193 2012-03-15  Peter Rybin  <peter.rybin@gmail.com>
3194
3195         Web Inspector: Move all includes behind ENABLE(INSPECTOR) guards
3196         https://bugs.webkit.org/show_bug.cgi?id=81132
3197
3198         Reviewed by Yury Semikhatsky.
3199
3200         Include directives are moved several lines down in .cpp files and in
3201         generator templates.
3202
3203         * inspector/CodeGeneratorInspector.py:
3204         * inspector/ContentSearchUtils.cpp:
3205         * inspector/DOMEditor.cpp:
3206         * inspector/DOMNodeHighlighter.cpp:
3207         * inspector/DOMPatchSupport.cpp:
3208         * inspector/IdentifiersFactory.cpp:
3209         * inspector/InjectedScript.cpp:
3210         * inspector/InjectedScriptHost.cpp:
3211         * inspector/InjectedScriptManager.cpp:
3212         * inspector/InspectorAgent.cpp:
3213         * inspector/InspectorApplicationCacheAgent.cpp:
3214         * inspector/InspectorBaseAgent.cpp:
3215         * inspector/InspectorCSSAgent.cpp:
3216         * inspector/InspectorClient.cpp:
3217         * inspector/InspectorConsoleAgent.cpp:
3218         * inspector/InspectorController.cpp:
3219         * inspector/InspectorCounters.cpp:
3220         * inspector/InspectorDOMAgent.cpp:
3221         * inspector/InspectorDOMDebuggerAgent.cpp:
3222         * inspector/InspectorDOMStorageAgent.cpp:
3223         * inspector/InspectorDatabaseAgent.cpp:
3224         * inspector/InspectorDatabaseResource.cpp:
3225         * inspector/InspectorDebuggerAgent.cpp:
3226         * inspector/InspectorFileSystemAgent.cpp:
3227         * inspector/InspectorFrontendClientLocal.cpp:
3228         * inspector/InspectorFrontendHost.cpp:
3229         * inspector/InspectorHistory.cpp:
3230         * inspector/InspectorIndexedDBAgent.cpp:
3231         * inspector/InspectorInstrumentation.cpp:
3232         * inspector/InspectorMemoryAgent.cpp:
3233         * inspector/InspectorPageAgent.cpp:
3234         * inspector/InspectorProfilerAgent.cpp:
3235         * inspector/InspectorResourceAgent.cpp:
3236         * inspector/InspectorRuntimeAgent.cpp:
3237         * inspector/InspectorState.cpp:
3238         * inspector/InspectorStyleSheet.cpp:
3239         * inspector/InspectorStyleTextEditor.cpp:
3240         * inspector/InspectorTimelineAgent.cpp:
3241         * inspector/InspectorValues.cpp:
3242         * inspector/InstrumentingAgents.cpp:
3243         * inspector/NetworkResourcesData.cpp:
3244         * inspector/PageConsoleAgent.cpp:
3245         * inspector/PageDebuggerAgent.cpp:
3246         * inspector/PageRuntimeAgent.cpp:
3247         * inspector/TimelineRecordFactory.cpp:
3248         * inspector/WorkerConsoleAgent.cpp:
3249         * inspector/WorkerDebuggerAgent.cpp:
3250         * inspector/WorkerRuntimeAgent.cpp:
3251
3252 2012-03-15  Yury Semikhatsky  <yurys@chromium.org>
3253
3254         Web Inspector: improve HeapSnapshot._buildReversIndex performance
3255         https://bugs.webkit.org/show_bug.cgi?id=81224
3256
3257         Caching node indexes and node count in local variables instead of
3258         calling getters each time reduces the method run time by
3259         factor of 1.5
3260
3261         Reviewed by Pavel Feldman.
3262
3263         * inspector/front-end/HeapSnapshot.js:
3264         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
3265
3266 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3267
3268         SVG Animations update baseVal instead of animVal
3269         https://bugs.webkit.org/show_bug.cgi?id=12437
3270
3271         Rubber-stamped by Rob Buis.
3272
3273         Rename constructFromCopy to constructFromVariant, and currentBaseValue to currentBaseValueVariant, to clarify what it actually does.
3274
3275         * svg/SVGAnimateElement.cpp:
3276         (WebCore::SVGAnimateElement::resetToBaseValue):
3277         * svg/SVGAnimatedLength.cpp:
3278         (WebCore::SVGAnimatedLengthAnimator::constructFromVariant):
3279         * svg/SVGAnimatedLength.h:
3280         (SVGAnimatedLengthAnimator):
3281         * svg/SVGAnimatedLengthList.cpp:
3282         (WebCore::SVGAnimatedLengthListAnimator::constructFromVariant):
3283         * svg/SVGAnimatedLengthList.h:
3284         (SVGAnimatedLengthListAnimator):
3285         * svg/SVGAnimatedNumber.cpp:
3286         (WebCore::SVGAnimatedNumberAnimator::constructFromVariant):
3287         * svg/SVGAnimatedNumber.h:
3288         (SVGAnimatedNumberAnimator):
3289         * svg/SVGAnimatedNumberList.cpp:
3290         (WebCore::SVGAnimatedNumberListAnimator::constructFromVariant):
3291         * svg/SVGAnimatedNumberList.h:
3292         (SVGAnimatedNumberListAnimator):
3293         * svg/SVGAnimatedTransformList.cpp:
3294         (WebCore::SVGAnimatedTransformListAnimator::constructFromVariant):
3295         * svg/SVGAnimatedTransformList.h:
3296         (SVGAnimatedTransformListAnimator):
3297         * svg/SVGAnimatedTypeAnimator.h:
3298         (WebCore::SVGAnimatedTypeAnimator::constructFromVariant):
3299         * svg/properties/SVGAnimatedListPropertyTearOff.h:
3300         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
3301         * svg/properties/SVGAnimatedProperty.h:
3302         (SVGAnimatedProperty):
3303         * svg/properties/SVGAnimatedPropertyTearOff.h:
3304         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
3305         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
3306         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
3307
3308 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3309
3310         Enable animVal support for SVGNumberList
3311         https://bugs.webkit.org/show_bug.cgi?id=81219
3312
3313         Reviewed by Rob Buis.
3314
3315         Enable animVal support for SVGNumberList. Easy patch, we just need to add the missing
3316         constructFromCopy() method to SVGAnumatedNumberListAnimator and report AnimatedNumberList
3317         as supporting animVal.
3318
3319         Covered by existing tests.
3320
3321         * svg/SVGAnimatedNumberList.cpp:
3322         (WebCore::SVGAnimatedNumberListAnimator::constructFromCopy):
3323         (WebCore):
3324         * svg/SVGAnimatedNumberList.h:
3325         (WebCore):
3326         (SVGAnimatedNumberListAnimator):
3327         * svg/SVGAnimatedType.cpp:
3328         (WebCore::SVGAnimatedType::supportsAnimVal):
3329         (WebCore::SVGAnimatedType::setVariantValue):
3330
3331 2012-03-15  Rob Buis  <rbuis@rim.com>
3332
3333         Fix cast-align GCC warnings
3334         https://bugs.webkit.org/show_bug.cgi?id=80790
3335
3336         Reviewed by Nikolas Zimmermann.
3337
3338         * platform/graphics/WOFFFileFormat.cpp:
3339         (WebCore::writeUInt32):
3340         (WebCore::writeUInt16):
3341         (WebCore::convertWOFFToSfnt):
3342
3343 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3344
3345         Not reviewed. Forgot to preserve copyrights, per reviewer comment.
3346
3347         * svg/SVGAnimatedTransformList.cpp:
3348
3349 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3350
3351         Enable animVal support for SVGNumber
3352         https://bugs.webkit.org/show_bug.cgi?id=81212
3353
3354         Reviewed by Rob Buis.
3355
3356         Enable animVal support for SVGNumber. This aligns SVGAnimatedStaticPropertyTearOff,
3357         with the other SVGListPropertyTearOff & SVGPropertyTearOff, as all support animVal now.
3358         Converting the rest of the types can be done in small patches now.
3359
3360         Test: svg/animations/svgnumber-animation-4.html
3361
3362         * svg/SVGAnimatedNumber.cpp:
3363         (WebCore::SVGAnimatedNumberAnimator::constructFromCopy):
3364         (WebCore):
3365         * svg/SVGAnimatedNumber.h:
3366         (WebCore):
3367         (SVGAnimatedNumberAnimator):
3368         * svg/SVGAnimatedType.cpp:
3369         (WebCore::SVGAnimatedType::supportsAnimVal):
3370         (WebCore::SVGAnimatedType::setVariantValue):
3371         * svg/properties/SVGAnimatedProperty.h:
3372         (SVGAnimatedProperty):
3373         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
3374         (WebCore::SVGAnimatedStaticPropertyTearOff::animVal):
3375         (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
3376         (SVGAnimatedStaticPropertyTearOff):
3377         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
3378         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
3379         (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
3380         (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueWillChange):
3381         (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueDidChange):
3382         (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
3383
3384 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3385
3386         Enable animVal support for SVGTransformList
3387         https://bugs.webkit.org/show_bug.cgi?id=80758
3388
3389         Reviewed by Antti Koivisto.
3390
3391         Enable animVal support for SVGTransformList. SVGTransformLists are only animatable
3392         via <animateTransform>, not via <animate> directly. Still we can handle it in the
3393         same framework as all other types used for <animate>, as we also need proper animVal
3394         support for <animateTransform>.
3395
3396         This patch removes the special <animateTransform> implementation, and lets
3397         SVGAnimateTransformElement inherit from SVGAnimateElement, just like its done
3398         for SVGAnimateColorElement & SVGSetElement.
3399
3400         All existing code (calculateFromAndToValues/FromAndByValues/etc..) are moved from
3401         SVGAnimateTransform right into the SVGAnimatedTransformListAnimator.
3402
3403         This doesn't change <animateTransform> behavior, it just simplies the code
3404         and enables animVal support for SVGTransformLists - all covered by existing tests.
3405
3406         * CMakeLists.txt:
3407         * GNUmakefile.list.am:
3408         * Target.pri:
3409         * WebCore.gypi:
3410         * WebCore.xcodeproj/project.pbxproj:
3411         * svg/SVGAllInOne.cpp:
3412         * svg/SVGAnimateElement.cpp:
3413         (WebCore::SVGAnimateElement::SVGAnimateElement):
3414         (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
3415         (WebCore::SVGAnimateElement::calculateAnimatedValue):
3416         (WebCore::SVGAnimateElement::applyResultsToTarget):
3417         * svg/SVGAnimateTransformElement.cpp:
3418         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
3419         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
3420         (WebCore::SVGAnimateTransformElement::parseAttribute):
3421         * svg/SVGAnimateTransformElement.h:
3422         (WebCore::SVGAnimateTransformElement::transformType):
3423         (SVGAnimateTransformElement):
3424         * svg/SVGAnimatedTransformList.cpp: Added.
3425         (WebCore):
3426         (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
3427         (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
3428         (WebCore::SVGAnimatedTransformListAnimator::constructFromCopy):
3429         (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndToValues):
3430         (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndByValues):
3431         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
3432         (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
3433         * svg/SVGAnimatedTransformList.h:
3434         (WebCore):
3435         (SVGAnimatedTransformListAnimator):
3436         (WebCore::SVGAnimatedTransformListAnimator::~SVGAnimatedTransformListAnimator):
3437         * svg/SVGAnimatedType.cpp:
3438         (WebCore::SVGAnimatedType::~SVGAnimatedType):
3439         (WebCore::SVGAnimatedType::createTransformList):
3440         (WebCore):
3441         (WebCore::SVGAnimatedType::transformList):
3442         (WebCore::SVGAnimatedType::valueAsString):
3443         (WebCore::SVGAnimatedType::setValueAsString):
3444         (WebCore::SVGAnimatedType::supportsAnimVal):
3445         (WebCore::SVGAnimatedType::setVariantValue):
3446         * svg/SVGAnimatedType.h:
3447         (WebCore):
3448         (SVGAnimatedType):
3449         * svg/SVGAnimatorFactory.h:
3450         (WebCore::SVGAnimatorFactory::create):
3451         * svg/SVGGradientElement.cpp:
3452         (WebCore::SVGGradientElement::parseAttribute):
3453         * svg/SVGPatternElement.cpp:
3454         (WebCore::SVGPatternElement::parseAttribute):
3455         * svg/SVGStyledTransformableElement.cpp:
3456         (WebCore::SVGStyledTransformableElement::parseAttribute):
<