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