A quick early-out for Region::contains() test
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-19  Dana Jansens  <danakj@chromium.org>
2
3         A quick early-out for Region::contains() test
4         https://bugs.webkit.org/show_bug.cgi?id=81625
5
6         Reviewed by Anders Carlsson.
7
8         If the bounds of region B include a row/column that is outside the bounds of
9         region A, then region B contains a pixel within that row/column that is
10         outside of region A.
11
12         * platform/graphics/Region.cpp:
13         (WebCore::Region::contains):
14
15 2012-03-19  Eric Seidel  <eric@webkit.org>
16
17         Unreviewed attempt to fix the EFL build.
18
19         * platform/graphics/efl/IconEfl.cpp:
20
21 2012-03-19  Eric Seidel  <eric@webkit.org>
22
23         Fix more WTF header include paths in WebCore
24         https://bugs.webkit.org/show_bug.cgi?id=81602
25
26         Reviewed by Martin Robinson.
27
28         Chromium, Mac and Win already build w/o including wtf subdirectories
29         in their include paths for WebCore/WebKit.  Gtk, Qt, and other ports
30         should eventually do the same.  This patch fixes up a few loose
31         wtf includes in these ports using some search/replace across WebCore.
32         If the EWS bots pass this patch doesn't really need any other review.
33
34         * accessibility/gtk/AXObjectCacheAtk.cpp:
35         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
36         * platform/KURL.cpp:
37         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
38         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
39         * platform/audio/gtk/AudioBusGtk.cpp:
40         * platform/clutter/GRefPtrClutter.h:
41         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
42         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
43         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
44         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
45         * platform/graphics/gtk/ImageBufferGtk.cpp:
46         * platform/graphics/pango/FontPango.cpp:
47         * platform/graphics/qt/ImageBufferDataQt.h:
48         * platform/graphics/wx/ImageBufferDataWx.h:
49         * platform/gtk/ContextMenuGtk.cpp:
50         * platform/gtk/ContextMenuItemGtk.cpp:
51         * platform/gtk/FileSystemGtk.cpp:
52         * platform/gtk/GOwnPtrGtk.h:
53         * platform/gtk/GtkAuthenticationDialog.h:
54         * platform/gtk/GtkPopupMenu.cpp:
55         * platform/gtk/LanguageGtk.cpp:
56         * platform/gtk/LocalizedStringsGtk.cpp:
57         * platform/gtk/PopupMenuGtk.cpp:
58         * platform/gtk/RenderThemeGtk.cpp:
59         * platform/gtk/RenderThemeGtk.h:
60         * platform/network/soup/GOwnPtrSoup.h:
61         * platform/network/soup/ResourceRequestSoup.cpp:
62         * platform/network/soup/ResourceResponseSoup.cpp:
63         * platform/network/soup/SocketStreamHandle.h:
64         * platform/network/soup/SoupURIUtils.cpp:
65         * platform/text/TextEncoding.cpp:
66         * platform/text/gtk/TextBreakIteratorGtk.cpp:
67         * platform/text/gtk/TextCodecGtk.cpp:
68         * platform/text/gtk/TextCodecGtk.h:
69
70 2012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
71
72         Move the extra logical height distribution into RenderTable as a new step in our layout algorithm
73         https://bugs.webkit.org/show_bug.cgi?id=81548
74
75         Reviewed by Tony Chang.
76
77         Refactoring, no expected change in behavior.
78
79         Moving the distribution step into RenderTable is needed to implement a better distribution algorithm that would
80         span several RenderTableSection (which is what IE and FF are doing right now).
81
82         * rendering/RenderTable.cpp:
83         (WebCore::RenderTable::distributeExtraLogicalHeight):
84         (WebCore::RenderTable::layout):
85         Moved the distribution step into distributeExtraLogicalHeight. While at it, changed the code to make use of the helper
86         methods to iterate over the sections and explicitly floor the LayoutUnit before calling distributeExtraLogicalHeight.
87
88         * rendering/RenderTable.h:
89         Added distributeExtraLogicalHeight.
90
91         * rendering/RenderTableSection.cpp:
92         (WebCore::RenderTableSection::layoutRows):
93         Changed the method signature as it doesn't handle the distribution step anymore.
94
95         * rendering/RenderTableSection.h:
96         Updated layoutRows signature and exposed distributeExtraLogicalHeightToRows for RenderTable use.
97
98 2012-03-19  Anders Carlsson  <andersca@apple.com>
99
100         Another attempt at fixing the Windows build.
101
102         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
103         (WebCore::LayerClient::platformCALayerDeviceScaleFactor):
104
105 2012-03-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
106
107         [EFL] Fix build break because of PlatformString.h
108         https://bugs.webkit.org/show_bug.cgi?id=81619
109
110         Unreviewed. Fix build break because of PlatformString.h.
111
112         * platform/graphics/efl/IconEfl.cpp: Include PlatformString.h from text directory.
113
114 2012-03-19  Eric Seidel  <eric@webkit.org>
115
116         Fix CrWin build after r111258.
117         https://bugs.webkit.org/show_bug.cgi?id=81281
118
119         Unreviewed build fix.
120         I also fixed similarly incorrect wtf/ includes for other ports
121         (which aren't yet as strict as Chromium about wtf includes).
122
123         * platform/blackberry/CookieManager.cpp:
124         * platform/blackberry/CookieParser.cpp:
125         * platform/blackberry/ParsedCookie.cpp:
126         * platform/blackberry/SharedTimerBlackBerry.cpp:
127         * platform/graphics/qt/GraphicsLayerQt.cpp:
128         * platform/graphics/texmap/TextureMapperAnimation.cpp:
129         * rendering/RenderThemeChromiumWin.cpp:
130         (WebCore):
131
132 2012-03-19  Eric Seidel  <eric@webkit.org>
133
134         Fix CrWin build after r111258.
135         https://bugs.webkit.org/show_bug.cgi?id=81281
136
137         Unreviewed build fix.
138
139         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
140         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
141         * platform/graphics/texmap/TextureMapperAnimation.h:
142
143 2012-03-19  Tony Chang  <tony@chromium.org>
144
145         add css parsing of flex-line-pack
146         https://bugs.webkit.org/show_bug.cgi?id=81427
147
148         Reviewed by Ojan Vafai.
149
150         Spec: http://dev.w3.org/csswg/css3-flexbox/#flex-line-pack
151
152         Updated tests in css3/flexbox/css-properties.html
153
154         * css/CSSComputedStyleDeclaration.cpp:
155         (WebCore):
156         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
157         * css/CSSParser.cpp:
158         (WebCore::CSSParser::parseValue):
159         * css/CSSPrimitiveValueMappings.h:
160         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
161         (WebCore):
162         (WebCore::CSSPrimitiveValue::operator EFlexLinePack):
163         * css/CSSProperty.cpp:
164         (WebCore::CSSProperty::isInheritedProperty):
165         * css/CSSPropertyNames.in:
166         * css/CSSStyleApplyProperty.cpp:
167         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
168         * css/CSSStyleSelector.cpp:
169         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
170         * css/CSSValueKeywords.in:
171         * rendering/style/RenderStyle.h:
172         * rendering/style/RenderStyleConstants.h:
173         * rendering/style/StyleFlexibleBoxData.cpp:
174         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
175         (WebCore::StyleFlexibleBoxData::operator==):
176         * rendering/style/StyleFlexibleBoxData.h:
177         (StyleFlexibleBoxData):
178
179 2012-03-19  Gustavo Noronha Silva  <gns@gnome.org>
180
181         [GTK] libWebCore.la has become too big for make
182         https://bugs.webkit.org/show_bug.cgi?id=81582
183
184         Unreviewed build fix.
185
186         * GNUmakefile.am: build an intermediate library for modules, so that the list
187         of source files used to build WebCore can be split and not reach make's limits;
188         also try to force relinking libWebCore.la and libWebCoreModules.la when the
189         GNUmakefile.am or GNUmakefile.list.am change
190
191 2012-03-19  Dana Jansens  <danakj@chromium.org>
192
193         [chromium] Push culled tiles that are prepainted
194         https://bugs.webkit.org/show_bug.cgi?id=81552
195
196         Reviewed by Adrienne Walker.
197
198         If a tile was culled during paint, but then prepainted in the following
199         idle paint pass, it was still marked as culled (and thus dirty) and not
200         pushed to the impl side.
201
202         Renames tile->m_updateCulled to tile->m_updated. This value is true if
203         the tile is updated any time during a commit, and remains false if it
204         is culled every time the layer is painted.
205
206         Unit test: TiledLayerChromiumTest.pushIdlePaintedOccludedTiles
207
208         * platform/graphics/chromium/TiledLayerChromium.cpp:
209         (WebCore::UpdatableTile::isDirtyForCurrentFrame):
210         (UpdatableTile):
211         (WebCore::UpdatableTile::UpdatableTile):
212         (WebCore::TiledLayerChromium::updateCompositorResources):
213         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
214         (WebCore::TiledLayerChromium::resetUpdateState):
215
216 2012-03-19  Anders Carlsson  <andersca@apple.com>
217
218         Fix Snow Leopard build.
219
220         * platform/graphics/ca/mac/TileCache.mm:
221         (WebCore::TileCache::createTileLayer):
222
223 2012-03-19  Michal Mocny  <mmocny@google.com>
224
225         [chromium] Adding support for GL_EXT_discard_framebuffer.
226         https://bugs.webkit.org/show_bug.cgi?id=81383
227
228         Reviewed by James Robinson.
229
230         * platform/graphics/chromium/Extensions3DChromium.h:
231
232 2012-03-19  Adam Klein  <adamk@chromium.org>
233
234         Refactor ContainerNode::replaceChild to match other mutation methods and share code
235         https://bugs.webkit.org/show_bug.cgi?id=81579
236
237         Reviewed by Ojan Vafai.
238
239         A future change will make use of the consistency among insertBefore/appendChild/replaceChild
240         to handle insertion of DocumentFragments more cleanly.
241
242         No new tests, no change in behavior.
243
244         * dom/ContainerNode.cpp:
245         (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
246         Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
247         (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
248         (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.
249
250 2012-03-19  Ian Vollick  <vollick@chromium.org>
251
252         [chromium] Times in the cc should be expressed in seconds.
253         https://bugs.webkit.org/show_bug.cgi?id=80514
254
255         Reviewed by James Robinson.
256
257         Updated timer tests to use seconds.
258
259         * platform/TouchFlingPlatformGestureCurve.h:
260         (TouchFlingPlatformGestureCurve):
261         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
262         (WebCore::CCActiveGestureAnimation::animate):
263         * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
264         (CCActiveGestureAnimation):
265         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
266         (WebCore::CCDelayBasedTimeSource::create):
267         (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
268         (WebCore::CCDelayBasedTimeSource::setActive):
269         (WebCore::CCDelayBasedTimeSource::onTimerFired):
270         (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
271         (WebCore):
272         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
273         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
274         (CCDelayBasedTimeSource):
275         * platform/graphics/chromium/cc/CCGestureCurve.h:
276         (CCGestureCurve):
277         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
278         (WTF):
279         (WebCore::CCThreadProxy::beginContextRecreation):
280         (WebCore::CCThreadProxy::tryToRecreateContext):
281         (WebCore::CCThreadProxy::initializeImplOnImplThread):
282         * platform/graphics/chromium/cc/CCTimer.cpp:
283         (WebCore::CCTimer::startOneShot):
284         * platform/graphics/chromium/cc/CCTimer.h:
285         (CCTimer):
286
287 2012-03-19  Florin Malita  <fmalita@google.com>
288
289         Relative-height block SVG root not layed out on container height change
290         https://bugs.webkit.org/show_bug.cgi?id=81513
291
292         Reviewed by Dirk Schulze.
293
294         Tests: svg/custom/svg-percent-scale-block-expected.html
295                svg/custom/svg-percent-scale-block.html
296
297         A couple of places still have style()->logical{Min,Max,}Height percent checks,
298         which do not work for SVG elements. This patch adds a virtual hasRelativeLogicalHeight()
299         RenderBox method to replace the explicit style checks.
300
301         * rendering/RenderBlock.cpp:
302         (WebCore::RenderBlock::layoutBlockChildren):
303         Use virtual hasRelativeLogicalHeight() instead of logical height style checks.
304
305         * rendering/RenderBox.cpp:
306         (WebCore::RenderBox::hasRelativeLogicalHeight):
307         (WebCore):
308         * rendering/RenderBox.h:
309         (RenderBox):
310         Add virtual hasRelativeLogicalHeight().
311
312         * rendering/RenderView.cpp:
313         (WebCore::RenderView::layout):
314         Use virtual hasRelativeLogicalHeight() instead of logical height style checks, if possible.
315
316         * rendering/svg/RenderSVGRoot.cpp:
317         (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
318         (WebCore):
319         * rendering/svg/RenderSVGRoot.h:
320         (RenderSVGRoot):
321         Add hasRelativeLogicalHeight() override.
322
323 2012-03-19  Jer Noble  <jer.noble@apple.com>
324
325         Assertion failure in RenderBlock::addChildIgnoringAnonymousColumnBlocks when running fullscreen/full-screen-twice-crash.html 
326         causing "crashes" on the Lion Intel Debug WebKit2 test bots.
327         https://bugs.webkit.org/show_bug.cgi?id=81171
328
329         Reviewed by Dan Bernstein.
330
331         No new tests; fixes fullscreen/* tests when running in WebKitTestRunner (WebKit2).
332
333         Add a special-case check if the parent anonymous container is a full screen renderer or placeholder.
334
335         * rendering/RenderBlock.cpp:
336         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
337
338 2012-03-19  Enrica Casucci  <enrica@apple.com>
339
340         WebKit2: create sandbox extensions for files that are dropped in an input control.
341         https://bugs.webkit.org/show_bug.cgi?id=81153
342         <rdar://problem/11031207>
343
344         Reviewed by Alexey Proskuryakov.
345
346         Now the pasteboard access is performed only in the UI process, it is
347         necessary to create sandbox extensions for each file that is dropped into
348         an input type=file element. The extensions are created at the time the files
349         are dropped and consumed immediately.
350
351         * page/DragActions.h: Added new drag action to be used by the WebDragClient.
352         * page/DragController.cpp:
353         (WebCore::DragController::concludeEditDrag): Added call to the drag client with the new action.
354
355 2012-03-19  Eric Seidel  <eric@webkit.org>
356
357         Fix Chromium Win
358         https://bugs.webkit.org/show_bug.cgi?id=81281
359
360         Unreviewed build fix.
361
362         * platform/graphics/chromium/TransparencyWin.h:
363
364 2012-03-19  Eric Seidel  <eric@webkit.org>
365
366         Fix the chromium world.
367         https://bugs.webkit.org/show_bug.cgi?id=81281
368
369         Unreviewed build fix.
370
371         * rendering/RenderThemeChromiumSkia.cpp:
372
373 2012-03-19  Brady Eidson  <beidson@apple.com>
374
375         <rdar://problem/10917120> and https://bugs.webkit.org/show_bug.cgi?id=81066
376         Crash in 3rd party WebKit apps under XHR/Cache code
377
378         Reviewed by Antti Koivisto.
379
380         No new layout tests.
381         TestWebKitAPI test MemoryCachePruneWithinResourceLoadDelegate included
382
383         A CachedResource representing an XHR was being deleted by cache pruning during a delegate callback.
384         This worked until http://trac.webkit.org/changeset/98380
385
386         * history/PageCache.cpp:
387         (WebCore::PageCache::releaseAutoreleasedPagesNow): Only trigger pruning after the page cache
388           autorelease if it was enabled before.
389
390         * loader/cache/CachedResourceLoader.cpp:
391         (WebCore::CachedResourceLoader::loadResource): Disable pruning before loading the resource and
392           re-enable it afterwards if necessary.
393
394         * loader/cache/MemoryCache.h:
395         (WebCore::MemoryCache::pruneEnabled):
396
397 2012-03-19  Anders Carlsson  <andersca@apple.com>
398
399         Fix Windows build.
400
401         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
402         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDeviceScaleFactor):
403
404 2012-03-18  James Robinson  <jamesr@chromium.org>
405
406         [chromium] Implement fling-by-wheel on compositor thread
407         https://bugs.webkit.org/show_bug.cgi?id=81462
408
409         Reviewed by Adrienne Walker.
410
411         Adds compositor thread support for a fling type implemented as a sequence of wheel scrolls. Covered by new tests
412         in WebCompositorInputHandlerImplTests.
413
414         * platform/graphics/chromium/cc/CCInputHandler.h:
415         (CCInputHandler):
416         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
417         (WebCore::CCLayerTreeHostImpl::scheduleAnimation):
418         (WebCore):
419         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
420         (CCLayerTreeHostImpl):
421         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
422         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
423
424 2012-03-19  Emil A Eklund  <eae@chromium.org>
425
426         [mac/chromium] Change platform code to use pixelSnappedRect methods
427         https://bugs.webkit.org/show_bug.cgi?id=81016
428
429         Reviewed by Eric Seidel.
430
431         Change platform code to use Node::getPixelSnappedRect,
432         pixelSnappedBoundingBoxRect and pixelSnappedAbsoluteClippedOverflowRect
433         to avoid exposing subpixel types to the platform layer.
434
435         No new tests.
436
437         * WebCore.exp.in:
438         * rendering/RenderObject.cpp:
439         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
440         Add pixelSnapped version of absoluteClippedOverflowRect
441         
442         (WebCore):
443         * rendering/RenderObject.h:
444         (RenderObject):
445
446 2012-03-19  Brady Eidson  <beidson@apple.com>
447
448         <rdar://problem/10848575> and https://bugs.webkit.org/show_bug.cgi?id=81516
449         REGRESSION (r107435) URLs copied from WebKit apps aren't in the right pasteboard format
450
451         Reviewed by Enrica Casucci.
452
453         r107435 started saving/restoring URLs as strings.
454         We need to go back to setting the URL on the pasteboard using AppKit URL pasteboard APIs.
455
456         WebKit API test: ContextMenuCanCopyURL
457         No WebKit2 API test possible at this time.
458
459         * platform/mac/PlatformPasteboardMac.mm:
460         (WebCore::PlatformPasteboard::setURL):
461
462 2012-03-19  Anders Carlsson  <andersca@apple.com>
463
464         Make the TileCache work with HiDPI again
465         https://bugs.webkit.org/show_bug.cgi?id=81569
466         <rdar://problem/11031542>
467
468         Reviewed by Sam Weinig.
469
470         Set the contentsScale of the individual tile layers to be the same as the device scale factor.
471         Also, take into account the fact that the value passed to TileCache::setScale is the product of the
472         page scale factor and the device scale factor, so divide it by the device scale factor before storing
473         it in m_scale.
474
475         * platform/graphics/ca/GraphicsLayerCA.cpp:
476         (WebCore::GraphicsLayerCA::platformCALayerDeviceScaleFactor):
477         (WebCore):
478         * platform/graphics/ca/GraphicsLayerCA.h:
479         (GraphicsLayerCA):
480         * platform/graphics/ca/PlatformCALayerClient.h:
481         (PlatformCALayerClient):
482         * platform/graphics/ca/mac/TileCache.h:
483         (TileCache):
484         * platform/graphics/ca/mac/TileCache.mm:
485         (WebCore::TileCache::TileCache):
486         (WebCore::TileCache::setScale):
487         (WebCore::TileCache::createTileLayer):
488
489 2012-03-19  Abhishek Arya  <inferno@chromium.org>
490
491         Crash due to layer tree information not updated when moving run-in children.
492         https://bugs.webkit.org/show_bug.cgi?id=81265
493
494         Reviewed by Julien Chaffraix.
495
496         We need to do a full removal as the run-in child is getting inserted into
497         the neighbouring block and |blockRunIn| is going to be destroyed later
498         in the function.
499
500         Test: fast/runin/run-in-layer-not-removed-crash.html
501
502         * rendering/RenderBlock.cpp:
503         (WebCore::RenderBlock::handleRunInChild):
504
505 2012-03-19  Dana Jansens  <danakj@chromium.org>
506
507         [chromium] Remove misleading double-if
508         https://bugs.webkit.org/show_bug.cgi?id=81557
509
510         Reviewed by Adrienne Walker.
511
512         Simple code cleanup, no functionality change.
513
514         * platform/graphics/chromium/TiledLayerChromium.cpp:
515         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
516
517 2012-03-19  Eric Seidel  <eric@webkit.org>
518
519         Fix WTF header include discipline in Chromium WebKit
520         https://bugs.webkit.org/show_bug.cgi?id=81281
521
522         Reviewed by James Robinson.
523
524         I also fixed some bad include dicipline for other ports
525         as well.  Those changes are not yet necessary for those ports
526         to keep building, but soon should be as those authors
527         remove all the extra WTF includes from WebCore and other non-WTF projects.
528
529         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
530         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
531         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
532         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
533         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
534         * bindings/v8/NPV8Object.cpp:
535         * bindings/v8/SerializedScriptValue.cpp:
536         * bindings/v8/SerializedScriptValue.h:
537         * bindings/v8/V8Binding.cpp:
538         * bindings/v8/V8Binding.h:
539         * bindings/v8/V8DOMWrapper.cpp:
540         * bindings/v8/V8Utilities.cpp:
541         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
542         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
543         * bindings/v8/custom/V8AudioContextCustom.cpp:
544         * bindings/v8/custom/V8DOMWindowCustom.cpp:
545         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
546         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
547         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
548         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
549         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
550         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
551         * bindings/v8/custom/V8MessagePortCustom.cpp:
552         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
553         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
554         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
555         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
556         * bindings/v8/custom/V8WorkerCustom.cpp:
557         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
558         * bridge/qt/qt_runtime.cpp:
559         * editing/gtk/FrameSelectionGtk.cpp:
560         * loader/archive/mhtml/MHTMLArchive.cpp:
561         * platform/ScrollAnimatorNone.cpp:
562         * platform/blackberry/CookieMap.h:
563         * platform/blackberry/CookieParser.h:
564         * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:
565         * platform/chromium/DragImageChromiumSkia.cpp:
566         * platform/chromium/PlatformCursor.h:
567         * platform/chromium/PlatformSupport.h:
568         * platform/chromium/PopupMenuPrivate.h:
569         * platform/chromium/TraceEvent.h:
570         * platform/chromium/WidgetChromium.cpp:
571         * platform/efl/RefPtrEfl.h:
572         * platform/graphics/cairo/RefPtrCairo.h:
573         * platform/graphics/chromium/RateLimiter.h:
574         * platform/graphics/chromium/TiledLayerChromium.cpp:
575         * platform/graphics/efl/IconEfl.cpp:
576         * platform/graphics/gstreamer/GStreamerGWorld.h:
577         * platform/graphics/gtk/IconGtk.cpp:
578         * platform/graphics/skia/PlatformContextSkia.h:
579         * platform/graphics/texmap/TextureMapperBackingStore.h:
580         * platform/graphics/texmap/TextureMapperLayer.cpp:
581         * platform/graphics/wx/TransformationMatrixWx.cpp:
582         * platform/gtk/PlatformMouseEventGtk.cpp:
583         * platform/leveldb/LevelDBSlice.h:
584         * platform/mediastream/MediaStreamCenter.cpp:
585         * platform/network/soup/SocketStreamHandleSoup.cpp:
586         * platform/network/win/ResourceHandleWin.cpp:
587         * platform/qt/RenderThemeQtMobile.cpp:
588         * platform/wx/MouseEventWx.cpp:
589         * platform/wx/wxcode/win/fontprops.cpp:
590
591 2012-03-19  Dana Jansens  <danakj@chromium.org>
592
593         [chromium] Invalidate/update evicted tiles during commit
594         https://bugs.webkit.org/show_bug.cgi?id=81529
595
596         Reviewed by Adrienne Walker.
597
598         A previous change caused a regression where evicted (invalid) tiles
599         were no longer marked as dirty and updated. The regress was caused
600         in https://bugs.webkit.org/show_bug.cgi?id=81175 and is fixed here.
601
602         Unit test: TiledLayerChromiumTest.pushDeletedTiles
603
604         * platform/graphics/chromium/TiledLayerChromium.cpp:
605         (WebCore::UpdatableTile::copyAndClearDirty):
606         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
607
608 2012-03-19  Adam Barth  <abarth@webkit.org>
609
610         Remove PLATFORM(TORCHMOBILE) ifdef from MainResourceLoader.cpp
611         https://bugs.webkit.org/show_bug.cgi?id=81549
612
613         Reviewed by Eric Seidel.
614
615         This appears to be the only PLATFORM(TORCHMOBILE) ifdef in WebCore.  I
616         don't believe this ifdef is needed anymore.
617
618         * loader/MainResourceLoader.cpp:
619         (WebCore::shouldLoadAsEmptyDocument):
620         (WebCore):
621
622 2012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
623
624         Unreviewed, rolling out r111207.
625         http://trac.webkit.org/changeset/111207
626         https://bugs.webkit.org/show_bug.cgi?id=81561
627
628         Causing chromium unit test failure (Requested by reveman on
629         #webkit).
630
631         * platform/graphics/chromium/Extensions3DChromium.h:
632         (Extensions3DChromium):
633
634 2012-03-19  Anders Carlsson  <andersca@apple.com>
635
636         Remove unnecessary CALayer overrides from WebTileCacheLayer
637         https://bugs.webkit.org/show_bug.cgi?id=81562
638
639         Reviewed by Dan Bernstein.
640
641         * platform/graphics/ca/mac/TileCache.h:
642         (TileCache):
643         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
644
645 2012-03-19  Emil A Eklund  <eae@chromium.org>
646
647         Correct usage of LayoutUnits in page code in preparation for turning on subpixel layout
648         https://bugs.webkit.org/show_bug.cgi?id=81538
649
650         Reviewed by Eric Seidel.
651
652         Fix usage of LayoutUnits and conversions between types in page code.
653
654         No new tests.
655
656         * page/DOMWindow.cpp:
657         (WebCore::DOMWindow::innerHeight):
658         (WebCore::DOMWindow::innerWidth):
659         Explicitly cast long to int. InspectorInstrumentation requires a long and
660         FractionalLayoutUnit has no constructor that takes long.
661         
662         * page/EventHandler.cpp:
663         (WebCore::EventHandler::sendContextMenuEventForKey):
664         Pixel snap overflow rect as selection rects are integer based.
665         
666         * page/FrameView.cpp:
667         (WebCore::FrameView::scrollContentsFastPath):
668         Pixel snap repaint rects when computing update rect as all scrolling is
669         done on integer bounds.
670         
671         * page/GestureTapHighlighter.cpp:
672         Change rects vector to IntRect as addFocusRingRects operates on IntRects.
673         
674         * page/Page.cpp:
675         (WebCore::Page::addRelevantRepaintedObject):
676         (WebCore::Page::addRelevantUnpaintedObject):
677         Change paint methods to take a LayoutRect paint rect.
678         
679         * page/SpatialNavigation.cpp:
680         (WebCore::distanceDataForNode):
681         Change distance calculation to use floats instead of converting to float
682         at the end.
683
684 2012-03-19  David Hyatt  <hyatt@apple.com>
685
686         https://bugs.webkit.org/show_bug.cgi?id=81553
687         
688         [New Multicolumn] Stub out classes to represent sets of column region boxes.
689
690         RenderRegionSet is an abstract class representing a set of contiguous anonymous
691         same-size regions.
692         
693         RenderMultiColumnSet derives from RenderRegionSet and represents a set of contiguous
694         columns. It will also handle unique column behavior like column rule painting.
695         
696         Eventually there will be a RenderPageSet derived class for printing/pages, but
697         that will come later after I finish rebuilding multi-column layout.
698
699         Reviewed by Dan Bernstein.
700
701         * GNUmakefile.list.am:
702         * Target.pri:
703         * WebCore.gypi:
704         * WebCore.vcproj/WebCore.vcproj:
705         * WebCore.xcodeproj/project.pbxproj:
706         * rendering/RenderMultiColumnSet.cpp: Added.
707         (WebCore):
708         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
709         (WebCore::RenderMultiColumnSet::renderName):
710         * rendering/RenderMultiColumnSet.h: Added.
711         (WebCore):
712         (RenderMultiColumnSet):
713         * rendering/RenderRegionSet.cpp: Added.
714         (WebCore):
715         (WebCore::RenderRegionSet::RenderRegionSet):
716         * rendering/RenderRegionSet.h: Added.
717         (WebCore):
718         (RenderRegionSet):
719
720 2012-03-19  Raymond Toy  <rtoy@google.com>
721
722         Add playback state for AudioBufferSourceNode and add number of active nodes
723         https://bugs.webkit.org/show_bug.cgi?id=79701
724
725         Add a playback state to AudioBufferSourceNode so that the user can
726         tell if the node is scheduled, playing, or finished.
727
728         For an AudioContext, add a count of the number of
729         AudioBufferSourceNode's that are active (playing audio).
730
731         Deleted m_isPlaying and m_hasFinished. For the record, m_isPlaying
732         is the same as a playbackState of SCHEDULED_STATE or PLAYING_STATE.
733         m_hasFinished is equivalent to a playbackState of FINISHED_STATE.
734         
735         Reviewed by Chris Rogers.
736
737         Test: webaudio/audiobuffersource-playbackState.html
738
739         * webaudio/AudioBufferSourceNode.cpp:
740         (WebCore):
741         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
742         initialize playbackState, remove m_isPlaying, m_hasFinished.
743         (WebCore::AudioBufferSourceNode::process): Update playbackState
744         (WebCore::AudioBufferSourceNode::finish): Update playbackState
745         (WebCore::AudioBufferSourceNode::noteOn): Update playbackState
746         (WebCore::AudioBufferSourceNode::noteGrainOn): Update playbackState
747         (WebCore::AudioBufferSourceNode::noteOff): Use playbackState 
748         * webaudio/AudioBufferSourceNode.h:
749         (AudioBufferSourceNode): Define states, remove m_isPlaying, m_hasFinished.
750         (WebCore::AudioBufferSourceNode::playbackState): Added.
751         * webaudio/AudioBufferSourceNode.idl: Define constants for the
752         playback state, add attribute playbackState.
753         * webaudio/AudioContext.cpp:
754         (WebCore::AudioContext::activeSourceCount): Added.
755         (WebCore::AudioContext::incrementActiveSourceCount): Added.
756         (WebCore::AudioContext::decrementActiveSourceCount): Added.
757         * webaudio/AudioContext.h:
758         (AudioContext):
759         * webaudio/AudioContext.idl: Add attribute activeSourceCount.
760
761 2012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
762
763         Unreviewed, rolling out r109014.
764         http://trac.webkit.org/changeset/109014
765         https://bugs.webkit.org/show_bug.cgi?id=81551
766
767         Causing crashes (Requested by inferno-sec on #webkit).
768
769         * rendering/style/RenderStyle.h:
770
771 2012-03-19  Tony Chang  <tony@chromium.org>
772
773         Unreviewed, remove headers that no longer exist or moved in WebCore.gypi.
774
775         * WebCore.gypi:
776
777 2012-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
778
779         [CSSRegions]Implement NamedFlow::contentNodes attribute
780         https://bugs.webkit.org/show_bug.cgi?id=80134
781
782         Reviewed by David Hyatt.
783
784         The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
785         In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
786         The list of nodes is returned as a static node list.
787
788         Test: fast/regions/webkit-named-flow-content-nodes.html
789
790         * dom/Document.cpp:
791         (WebCore::Document::webkitGetFlowByName):
792         * dom/Document.h:
793         * dom/Element.cpp:
794         (WebCore::Element::detach):
795         * dom/NodeRenderingContext.cpp:
796         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
797         * dom/WebKitNamedFlow.cpp:
798         (WebCore::WebKitNamedFlow::contentNodes):
799         (WebCore):
800         (WebCore::WebKitNamedFlow::registerContentNode):
801         * dom/WebKitNamedFlow.h:
802         (WebCore):
803         (WebKitNamedFlow):
804         (WebCore::WebKitNamedFlow::unregisterContentNode):
805         * dom/WebKitNamedFlow.idl:
806
807 2012-03-19  Xingnan Wang  <xingnan.wang@intel.com>
808
809         ConvolverNode should not incur processing latency
810         https://bugs.webkit.org/show_bug.cgi?id=75564
811
812         Reviewed by Chris Rogers.
813
814         Add the DirectConvolver instead of FFTConvolver for the processing of the leading portion of impulse response.
815
816         * WebCore.gypi:
817         * platform/audio/DirectConvolver.cpp: Added.
818         (WebCore):
819         (WebCore::DirectConvolver::DirectConvolver):
820         (WebCore::DirectConvolver::process):
821         (WebCore::DirectConvolver::reset):
822         * platform/audio/DirectConvolver.h: Added.
823         (WebCore):
824         (DirectConvolver):
825         (WebCore::DirectConvolver::convolveSize):
826         * platform/audio/ReverbConvolver.cpp:
827         (WebCore::ReverbConvolver::ReverbConvolver):
828         * platform/audio/ReverbConvolver.h:
829         * platform/audio/ReverbConvolverStage.cpp:
830         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
831         (WebCore::ReverbConvolverStage::process):
832         (WebCore::ReverbConvolverStage::reset):
833         * platform/audio/ReverbConvolverStage.h:
834         (WebCore):
835         (ReverbConvolverStage):
836
837 2012-03-19  Anders Carlsson  <andersca@apple.com>
838
839         Find in page highlights get out of place when scrolling
840         https://bugs.webkit.org/show_bug.cgi?id=81543
841
842         Reviewed by Sam Weinig.
843
844         Remove a now unused function from GraphicsLayer.
845
846         * platform/graphics/GraphicsLayer.h:
847         (GraphicsLayer):
848         * platform/graphics/ca/GraphicsLayerCA.h:
849         (GraphicsLayerCA):
850
851 2012-03-19  David Hyatt  <hyatt@apple.com>
852
853         https://bugs.webkit.org/show_bug.cgi?id=81534
854
855         [New Multicolumn] Make the multi-column block re-layout its children when the column width/count change.
856         Cache the count/width on the multi-column block for easy access.
857
858         Reviewed by Antti Koivisto.
859
860         * rendering/RenderBlock.cpp:
861         (WebCore::RenderBlock::recomputeLogicalWidth):
862         (WebCore::RenderBlock::layoutBlock):
863         * rendering/RenderBlock.h:
864         Virtualize the code that recomputes the logical width for a block and sets relayoutChildren to true,
865         so that column code can subclass the method to also check for changes in the column width/count.
866
867         * rendering/RenderMultiColumnBlock.cpp:
868         (WebCore::RenderMultiColumnBlock::computeColumnCountAndWidth):
869         The column count/width determination algorithm in one method on the RenderMultiColumnBlock. It's a copy
870         of the code from RenderBlock (which will be going away eventually).
871
872         (WebCore::RenderMultiColumnBlock::recomputeLogicalWidth):
873         * rendering/RenderMultiColumnBlock.h:
874         (RenderMultiColumnBlock):
875         Subclassed method to also check for changes in the column width to set relayoutChildren to true.
876
877 2012-03-19  Michal Mocny  <mmocny@google.com>
878
879         [chromium] Updating WebGraphicsContext3D MemoryAllocation callback to accept a struct with have backbuffer suggestion.
880         https://bugs.webkit.org/show_bug.cgi?id=81279
881
882         Reviewed by James Robinson.
883
884         * platform/graphics/chromium/Extensions3DChromium.h:
885         (GpuMemoryAllocationCHROMIUM):
886         (WebCore::Extensions3DChromium::GpuMemoryAllocationCHROMIUM::GpuMemoryAllocationCHROMIUM):
887         (GpuMemoryAllocationChangedCallbackCHROMIUM):
888
889 2012-03-19  Tony Chang  <tony@chromium.org>
890
891         flex-item-align: stretch should only grow, never shrink
892         https://bugs.webkit.org/show_bug.cgi?id=80882
893
894         Reviewed by Ojan Vafai.
895
896         New test cases in css3/flexbox/flex-align-stretch.html.
897
898         * rendering/RenderFlexibleBox.cpp:
899         (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
900         (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
901         (WebCore):
902         * rendering/RenderFlexibleBox.h:
903         (RenderFlexibleBox):
904
905 2012-03-19  Vsevolod Vlasov  <vsevik@chromium.org>
906
907         Web Inspector: Implement snippets evaluation.
908         https://bugs.webkit.org/show_bug.cgi?id=81334
909
910         Reviewed by Pavel Feldman.
911
912         * inspector/front-end/ConsoleView.js:
913         (WebInspector.ConsoleView.prototype.evaluateUsingTextPrompt):
914         (WebInspector.ConsoleView.prototype._enterKeyPressed):
915         * inspector/front-end/ScriptMapping.js:
916         (WebInspector.MainScriptMapping):
917         * inspector/front-end/SnippetsModel.js:
918         * inspector/front-end/externs.js:
919         (WebInspector.evaluateInConsole):
920         * inspector/front-end/inspector.js:
921         (WebInspector.evaluateInConsole):
922
923 2012-03-19  Tommy Widenflycht  <tommyw@google.com>
924
925         MediaStream API (JSEP): Introducing PeerConnection00Handler
926         https://bugs.webkit.org/show_bug.cgi?id=81333
927
928         Reviewed by Adam Barth.
929
930         In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
931
932         Not possible to test until the entire JSEP feature is commited.
933
934         * GNUmakefile.list.am:
935         * WebCore.gypi:
936         * platform/mediastream/PeerConnection00Handler.cpp: Added.
937         (WebCore):
938         (WebCore::PeerConnection00Handler::create):
939         (WebCore::PeerConnection00Handler::PeerConnection00Handler):
940         (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
941         (WebCore::PeerConnection00Handler::createOffer):
942         (WebCore::PeerConnection00Handler::createAnswer):
943         (WebCore::PeerConnection00Handler::setLocalDescription):
944         (WebCore::PeerConnection00Handler::setRemoteDescription):
945         (WebCore::PeerConnection00Handler::localDescription):
946         (WebCore::PeerConnection00Handler::remoteDescription):
947         (WebCore::PeerConnection00Handler::startIce):
948         (WebCore::PeerConnection00Handler::processIceMessage):
949         (WebCore::PeerConnection00Handler::addStream):
950         (WebCore::PeerConnection00Handler::removeStream):
951         (WebCore::PeerConnection00Handler::stop):
952         * platform/mediastream/PeerConnection00Handler.h: Added.
953         (WebCore):
954         (PeerConnection00Handler):
955         * platform/mediastream/PeerConnection00HandlerClient.h: Added.
956         (WebCore):
957         (PeerConnection00HandlerClient):
958         (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
959
960 2012-03-19  David Reveman  <reveman@chromium.org>
961
962         [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
963         https://bugs.webkit.org/show_bug.cgi?id=80988
964
965         Reviewed by Adrienne Walker.
966
967         Expose EXT_occlusion_query API to WebKit compositor. Add
968         GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
969         enums.
970
971         * platform/graphics/chromium/Extensions3DChromium.h:
972         (Extensions3DChromium):
973
974 2012-03-19  Mike Lawther  <mikelawther@chromium.org>
975
976         CSS3 calc: make mask images work with mixed percent/absolute
977         https://bugs.webkit.org/show_bug.cgi?id=81477
978
979         Reviewed by Ojan Vafai.
980
981         Test: css3/calc/simple-composited-mask-expected.html
982
983         * css/CSSStyleSelector.cpp:
984         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
985
986 2012-03-19  Mark Pilgrim  <pilgrim@chromium.org>
987
988         Style cleanup in Modules/filesystem/
989         https://bugs.webkit.org/show_bug.cgi?id=81520
990
991         Reviewed by Adam Barth.
992
993         No new tests, all existing tests pass.
994
995         * Modules/filesystem/AsyncFileWriter.h:
996         (WebCore::AsyncFileWriter::~AsyncFileWriter):
997         * Modules/filesystem/AsyncFileWriterClient.h:
998         (WebCore::AsyncFileWriterClient::~AsyncFileWriterClient):
999         * Modules/filesystem/DOMFilePath.cpp:
1000         (WebCore::DOMFilePath::getDirectory):
1001         * Modules/filesystem/DOMFilePath.h:
1002         (DOMFilePath):
1003         * Modules/filesystem/DOMFileSystemBase.h:
1004         (DOMFileSystemBase):
1005         * Modules/filesystem/DirectoryEntry.h:
1006         * Modules/filesystem/DirectoryEntrySync.h:
1007         * Modules/filesystem/EntryArray.h:
1008         (EntryArray):
1009         * Modules/filesystem/FileEntry.h:
1010         (FileEntry):
1011         * Modules/filesystem/FileSystemCallbacks.h:
1012         (FileSystemCallbacksBase):
1013         * Modules/filesystem/FileWriter.cpp:
1014         (WebCore::FileWriter::abort):
1015
1016 2012-03-19  Mike Lawther  <mikelawther@chromium.org>
1017
1018         CSS3 calc: background positioning works with mixed percent/absolute expressions
1019         https://bugs.webkit.org/show_bug.cgi?id=81478
1020
1021         Reviewed by Ojan Vafai.
1022
1023         Test: css3/calc/background-position-parsing-expected.html
1024
1025         * css/CSSStyleSelector.cpp:
1026         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1027
1028 2012-03-19  Alexander Færøy  <alexander.faeroy@nokia.com>
1029
1030         Add NodeRenderStyle.h to TouchAdjustment.cpp
1031
1032         Unreviewed build fix after r111185.
1033
1034         * page/TouchAdjustment.cpp:
1035
1036 2012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>
1037
1038         [BlackBerry] Add PlatformMediaEngineClassName for blackberry in platform/graphics/MediaPlayer.cpp
1039         https://bugs.webkit.org/show_bug.cgi?id=81489
1040
1041         Reviewed by Rob Buis.
1042
1043         * platform/graphics/MediaPlayer.cpp:
1044
1045 2012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>
1046
1047         [BlackBerry] Upstream the BlackBerry change to platform/PlatformKeyboardEvent.h
1048         https://bugs.webkit.org/show_bug.cgi?id=81312
1049
1050         Reviewed by Rob Buis.
1051
1052         * platform/PlatformKeyboardEvent.h:
1053         (Platform):
1054         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1055         (PlatformKeyboardEvent):
1056         (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
1057         Add BlackBerry specific constructor and member fields.
1058         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
1059         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1060         Change the parameter type to const reference type to adapt to the declaration.
1061
1062 2012-03-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1063
1064         Select best target for tap gesture.
1065         https://bugs.webkit.org/show_bug.cgi?id=78801
1066
1067         Reviewed by Kenneth Rohde Christiansen.
1068         IntRect changes reviewed by Dave Hyatt.
1069
1070         The new API is available through EventHandler::bestClickableNodeForTouchPoint, but
1071         implementation details have been placed in page/TouchAdjustment.
1072
1073         The default hit detection is performed by measuring the distance to the center
1074         lines of the absolute rects of the hit nodes. Absolute rects are used instead
1075         of bounding rects to make hit-detecting against links over line breaks. Distance
1076         to center line is used to make it easier to hit small links next to large links.
1077         For line-rects the distance to the center-line is a better expression of the distance
1078         to a rectangles center than the distance to the center-point.
1079
1080         Tests: touchadjustment/event-triggered-widgets.html
1081                touchadjustment/html-label.html
1082                touchadjustment/nested-touch.html
1083                touchadjustment/touch-inlines.html
1084
1085         * Target.pri:
1086         * page/EventHandler.cpp:
1087         (WebCore::EventHandler::handleGestureTap):
1088         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
1089         * page/EventHandler.h:
1090         * page/TouchAdjustment.cpp: Added.
1091         (WebCore::TouchAdjustment::QuadForHitTest::QuadForHitTest):
1092         (WebCore::TouchAdjustment::QuadForHitTest::node):
1093         (WebCore::TouchAdjustment::QuadForHitTest::quad):
1094         (WebCore::TouchAdjustment::QuadForHitTest::boundingBox):
1095         (WebCore::TouchAdjustment::nodeRespondsToTapGesture):
1096         (WebCore::TouchAdjustment::appendAbsoluteQuadsForNodeToHitTestList):
1097         (WebCore::TouchAdjustment::compileQuadsForHitTesting):
1098         (WebCore::TouchAdjustment::distanceSquaredToQuadCenterLine):
1099         (WebCore::TouchAdjustment::findNodeWithLowestMetric):
1100         (WebCore::findBestClickableCandidate):
1101         * page/TouchAdjustment.h: Added.
1102         * platform/graphics/FloatQuad.h:
1103         (WebCore::FloatQuad::center):
1104         * platform/graphics/IntPoint.h:
1105         (WebCore::IntPoint::distanceSquaredToPoint):
1106         * platform/graphics/IntRect.cpp:
1107         (WebCore::distanceToInterval):
1108         (WebCore::IntRect::differenceToPoint):
1109         (WebCore::IntRect::differenceFromCenterLineToPoint):
1110         * platform/graphics/IntRect.h:
1111         (WebCore::IntRect::distanceSquaredToPoint):
1112         (WebCore::IntRect::distanceSquaredFromCenterLineToPoint):
1113         * platform/graphics/IntSize.h:
1114         (WebCore::IntSize::diagonalLengthSquared):
1115         * testing/Internals.cpp:
1116         (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
1117         (WebCore::Internals::touchNodeAdjustedToBestClickableNode):
1118         * testing/Internals.h:
1119         * testing/Internals.idl:
1120
1121 2012-03-19  Mark Pilgrim  <pilgrim@chromium.org>
1122
1123         Add ENABLED(FILE_SYSTEM) to DOMFilePath.h
1124         https://bugs.webkit.org/show_bug.cgi?id=81393
1125
1126         Reviewed by Kentaro Hara.
1127
1128         No new tests, all existing tests pass.
1129
1130         * Modules/filesystem/DOMFilePath.h:
1131
1132 2012-03-19  Max Vujovic  <mvujovic@adobe.com>
1133
1134         inspector highlight of SVG root element with viewbox does not match dimensions of element
1135         https://bugs.webkit.org/show_bug.cgi?id=78037
1136
1137         Reviewed by Nikolas Zimmermann.
1138
1139         Functions such as RenderBox::absoluteQuads and DOMNodeHighlighter::getOrDrawNodeHighlight
1140         eventually call RenderSVGRoot::mapLocalToContainer, passing along local CSS box coordinates.
1141
1142         However, before this patch, RenderSVGRoot::mapLocalToContainer expected local SVG viewport
1143         coordinates. This caused the inspector highlight to be incorrectly sized and positioned.
1144
1145         Now, RenderSVGRoot::mapLocalToContainer expects local CSS box coordinates, like other HTML
1146         renderers.
1147
1148         Test: inspector/elements/highlight-svg-root.html
1149
1150         * dom/Element.cpp:
1151         (WebCore::Element::getBoundingClientRect):
1152             Now, the SVG root element can use the code path for elements with CSS boxes to calculate
1153             its bounding client rect.
1154
1155         * rendering/svg/RenderSVGRoot.cpp:
1156         (WebCore::RenderSVGRoot::mapLocalToContainer):
1157             RenderSVGRoot::mapLocalToContainer no longer needs to apply the
1158             localToBorderBoxTransform to convert from local SVG viewport coordinates to local CSS
1159             box coordinates. Now, it receives local CSS box coordinates.
1160
1161         * rendering/svg/RenderSVGRoot.h:
1162         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
1163             RenderSVGRoot::localToBorderBoxTransform has been exposed for child elements in the SVG
1164             namespace to use when mapping from local SVG viewport coordinates to local CSS box
1165             coordinates.
1166
1167         (RenderSVGRoot):
1168         * rendering/svg/SVGRenderSupport.cpp:
1169         (WebCore::SVGRenderSupport::mapLocalToContainer):
1170             Elements in the SVG namespace should now apply the localToBorderBoxTransform at the
1171             SVG/HTML boundary (aka RenderSVGRoot) when mapping their coordinates up the render tree.
1172
1173         * svg/SVGSVGElement.cpp:
1174         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
1175             Same as above. This method is eventually used in the SVGLocatable::getScreenCTM
1176             calculation.
1177
1178 2012-03-19  Hironori Bono  <hbono@chromium.org>
1179
1180         Add a copy constructor to CollapsedBorderValue
1181         https://bugs.webkit.org/show_bug.cgi?id=81502
1182
1183         Reviewed by Hajime Morita.
1184
1185         Due to the lack of this copy constructor, GCC (x86) creates a broken copy
1186         constructor and it causes a build break on Google Chrome.
1187
1188         * rendering/style/CollapsedBorderValue.h:
1189         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
1190         (CollapsedBorderValue):
1191
1192 2012-03-18  Matt Falkenhagen  <falken@chromium.org>
1193
1194         Fallback to common script when per-script font setting is the empty string
1195         https://bugs.webkit.org/show_bug.cgi?id=81329
1196
1197         Reviewed by Kent Tamura.
1198
1199         Tests: fast/text/international/font-fallback-to-common-script.html
1200
1201         * page/Settings.cpp:
1202         (WebCore::setGenericFontFamilyForScript): Remove the setting when the per-script font family is the empty string.
1203
1204 2012-03-18  Luke Macpherson   <macpherson@chromium.org>
1205
1206         Remove remnants of code that assume Lengths are 28 bit integers.
1207         https://bugs.webkit.org/show_bug.cgi?id=67976
1208
1209         Reviewed by Eric Seidel.
1210
1211         Test: LayoutTests/fast/table/max-width-integer-overflow-expected.html
1212
1213         * css/CSSPrimitiveValue.cpp:
1214         (WebCore::CSSPrimitiveValue::computeLength):
1215         Bound by INT_MAX and INT_MIN instead of 28 bit bounds.
1216         * css/CSSStyleApplyProperty.cpp:
1217         (WebCore::ApplyPropertyBorderRadius::applyValue):
1218         Use PrimitiveValue::computeLength function directly.
1219         * platform/Length.h:
1220         Remove 28 bit integer limit constants.
1221         * rendering/AutoTableLayout.cpp:
1222         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
1223         Use std::numeric_limits.
1224
1225 2012-03-16  Shinya Kawanaka  <shinyak@chromium.org>
1226
1227         Should remove RuntimeEnabledFeatures::multipleShadowSubtreesEnabled
1228         https://bugs.webkit.org/show_bug.cgi?id=79307
1229
1230         Reviewed by Dimitri Glazkov.
1231
1232         Since RuntimeEnabledFeatures::multipleShadowSubtreesEnabled was introduced for
1233         temporal unstability of multiple shadow roots. We should remove it now, and
1234         enable it by default.
1235
1236         Test: fast/dom/shadow/shadow-root-js-api.html should cover this change.
1237         The other shadow related tests should also covers this change.
1238
1239         * WebCore.exp.in:
1240         * bindings/generic/RuntimeEnabledFeatures.cpp:
1241         (WebCore):
1242         * bindings/generic/RuntimeEnabledFeatures.h:
1243         (RuntimeEnabledFeatures):
1244         * dom/ShadowRoot.cpp:
1245         (WebCore::ShadowRoot::create):
1246         * dom/ShadowTree.cpp:
1247         (WebCore::ShadowTree::addShadowRoot):
1248         * testing/Internals.cpp:
1249         * testing/Internals.h:
1250         (Internals):
1251         * testing/Internals.idl:
1252
1253 2012-03-18  Dana Jansens  <danakj@chromium.org>
1254
1255         [chromium] Don't occlude on main-thread behind layers/surfaces with impl-thread animations
1256         https://bugs.webkit.org/show_bug.cgi?id=81354
1257
1258         Reviewed by Adrienne Walker.
1259
1260         Layers and surfaces can have an animating opacity or translation on the
1261         impl thread. In this case, the main thread does not know their actual
1262         values, and treats these values as "unknowns". This means we can't use
1263         them for marking areas of the screen as occluded, and we can't consider
1264         a part of a layer occluded in a space that we can not reliably transform
1265         to.
1266
1267         Unit test: CCOcclusionTrackerTestAnimationOpacity0OnMainThread
1268                    CCOcclusionTrackerTestAnimationOpacity1OnMainThread
1269                    CCOcclusionTrackerTestAnimationTranslateOnMainThread
1270
1271         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1272         (WebCore::layerOpacityKnown):
1273         (WebCore::layerTransformsToTargetKnown):
1274         (WebCore::layerTransformsToScreenKnown):
1275         (WebCore):
1276         (WebCore::surfaceOpacityUnknown):
1277         (WebCore::surfaceTransformsToTargetUnknown):
1278         (WebCore::surfaceTransformsToScreenUnknown):
1279         (WebCore::::finishedTargetRenderSurface):
1280         (WebCore::contentToScreenSpaceTransform):
1281         (WebCore::contentToTargetSurfaceTransform):
1282         (WebCore::::markOccludedBehindLayer):
1283         (WebCore::::occluded):
1284         (WebCore::::unoccludedContentRect):
1285
1286 2012-03-18  Dana Jansens  <danakj@chromium.org>
1287
1288         [chromium] Animating opacity is not opaque and should create a render surface on main thread
1289         https://bugs.webkit.org/show_bug.cgi?id=81401
1290
1291         Reviewed by James Robinson.
1292
1293         Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
1294
1295         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1296         (WebCore::layerOpacityIsOpaque):
1297         (WebCore):
1298         (WebCore::subtreeShouldRenderToSeparateSurface):
1299
1300 2012-03-18  Sam Weinig  <sam@webkit.org>
1301
1302         WebCore::BitmapImage::getCGImageRef should not be used off the main thread.
1303         https://bugs.webkit.org/show_bug.cgi?id=81441
1304
1305         Reviewed by Anders Carlsson.
1306
1307         Covered by existing tests.
1308
1309         * loader/cache/MemoryCache.cpp:
1310         (WebCore::memoryCache):
1311         (WebCore::MemoryCache::add):
1312         (WebCore::MemoryCache::revalidationFailed):
1313         (WebCore::MemoryCache::resourceForURL):
1314         (WebCore::MemoryCache::evict):
1315         Add back main thread assertions.
1316
1317         * platform/graphics/cg/PatternCG.cpp:
1318         (PatternCallbackData):
1319         (WebCore::patternCallback):
1320         (WebCore::patternReleaseOnMainThreadCallback):
1321         (WebCore::Pattern::createPlatformPattern):
1322         Instead of pulling out the CGImageRef in the pattern callback, do it upfront.
1323
1324 2012-03-18  Alexander Færøy  <alexander.faeroy@nokia.com>
1325
1326         [Qt] Don't prepare SQL statements when the database is not open
1327         https://bugs.webkit.org/show_bug.cgi?id=81470
1328
1329         Reviewed by Kenneth Rohde Christiansen.
1330
1331         Already covered by existing tests.
1332
1333         * platform/qt/CookieJarQt.cpp:
1334         (WebCore::SharedCookieJarQt::deleteCookiesForHostname):
1335         (WebCore::SharedCookieJarQt::deleteAllCookies):
1336         (WebCore::SharedCookieJarQt::setCookiesFromUrl):
1337         (WebCore::SharedCookieJarQt::loadCookies):
1338
1339 2012-03-18  Kentaro Hara  <haraken@chromium.org>
1340
1341         Unreviewed, rolling out r110994 due to Chromium crash
1342
1343         * CMakeLists.txt:
1344         * DerivedSources.make:
1345         * DerivedSources.pri:
1346         * GNUmakefile.list.am:
1347         * Target.pri:
1348         * WebCore.gypi:
1349         * WebCore.vcproj/WebCore.vcproj:
1350         * WebCore.xcodeproj/project.pbxproj:
1351         * notifications/DOMWindowNotifications.cpp: Removed.
1352         * notifications/DOMWindowNotifications.h: Removed.
1353         * notifications/DOMWindowNotifications.idl: Removed.
1354         * page/DOMWindow.cpp:
1355         (WebCore::DOMWindow::~DOMWindow):
1356         (WebCore::DOMWindow::willDetachPage):
1357         (WebCore::DOMWindow::disconnectDOMWindowProperties):
1358         (WebCore::DOMWindow::clearDOMWindowProperties):
1359         (WebCore):
1360         (WebCore::DOMWindow::webkitNotifications):
1361         (WebCore::DOMWindow::resetNotifications):
1362         * page/DOMWindow.h:
1363         (WebCore):
1364         (DOMWindow):
1365         * page/DOMWindow.idl:
1366         * page/Frame.cpp:
1367         (WebCore::Frame::willDetachPage):
1368         (WebCore::Frame::transferChildFrameToNewDocument):
1369
1370 2012-03-18  Kentaro Hara  <haraken@chromium.org>
1371
1372         Unreviewed, rolling out r111086.
1373         http://trac.webkit.org/changeset/111086
1374         https://bugs.webkit.org/show_bug.cgi?id=81374
1375
1376         Chromium crash
1377
1378         * notifications/DOMWindowNotifications.cpp:
1379         (WebCore::DOMWindowNotifications::disconnectFrame):
1380
1381 2012-03-18  David Reveman  <reveman@chromium.org>
1382
1383         Invalidation issue when creating backing layer for fixed positioned element.
1384         https://bugs.webkit.org/show_bug.cgi?id=80647
1385
1386         Reviewed by James Robinson.
1387
1388         Ensure that root layer is correctly invalidated by handling scroll and
1389         invalidation from movement of fixed position elements prior to creating
1390         any backing layers.
1391
1392         Test: compositing/layer-creation/fixed-position-scroll.html
1393
1394         * page/FrameView.cpp:
1395         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
1396         (WebCore):
1397         (WebCore::FrameView::updateFixedElementsAfterScrolling):
1398         * page/FrameView.h:
1399         (FrameView):
1400         * platform/ScrollView.cpp:
1401         (WebCore::ScrollView::scrollTo):
1402         * platform/ScrollView.h:
1403         (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
1404         (WebCore::ScrollView::updateFixedElementsAfterScrolling):
1405
1406 2012-03-18  Dana Jansens  <danakj@chromium.org>
1407
1408         [chromium] Transform animation state should be inherited from parents
1409         https://bugs.webkit.org/show_bug.cgi?id=81363
1410
1411         Reviewed by Adrienne Walker.
1412
1413         Adds a drawTransformIsAnimating() and screenSpaceTransformIsAnimating()
1414         to the layer classes, and similar to the surface classes. These inherit
1415         the values from their parents in the same way that the transforms
1416         themselves do, and reflect if the layer's transform is being affected
1417         by some active animation.
1418
1419         These can be used in main-thread culling when determining if the layer's
1420         position is static in the given coordinate space or being animated.
1421
1422         Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
1423
1424         * platform/graphics/chromium/LayerChromium.cpp:
1425         (WebCore::LayerChromium::LayerChromium):
1426         * platform/graphics/chromium/LayerChromium.h:
1427         (LayerChromium):
1428         (WebCore::LayerChromium::drawTransformIsAnimating):
1429         (WebCore::LayerChromium::setDrawTransformIsAnimating):
1430         (WebCore::LayerChromium::screenSpaceTransformIsAnimating):
1431         (WebCore::LayerChromium::setScreenSpaceTransformIsAnimating):
1432         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1433         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
1434         * platform/graphics/chromium/RenderSurfaceChromium.h:
1435         (WebCore::RenderSurfaceChromium::targetSurfaceTransformsAreAnimating):
1436         (WebCore::RenderSurfaceChromium::setTargetSurfaceTransformsAreAnimating):
1437         (WebCore::RenderSurfaceChromium::screenSpaceTransformsAreAnimating):
1438         (WebCore::RenderSurfaceChromium::setScreenSpaceTransformsAreAnimating):
1439         (RenderSurfaceChromium):
1440         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1441         (WebCore::CCLayerImpl::CCLayerImpl):
1442         * platform/graphics/chromium/cc/CCLayerImpl.h:
1443         (CCLayerImpl):
1444         (WebCore::CCLayerImpl::drawTransformIsAnimating):
1445         (WebCore::CCLayerImpl::setDrawTransformIsAnimating):
1446         (WebCore::CCLayerImpl::screenSpaceTransformIsAnimating):
1447         (WebCore::CCLayerImpl::setScreenSpaceTransformIsAnimating):
1448         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1449         (WebCore::subtreeShouldBeSkipped):
1450         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1451         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1452         (WebCore::CCRenderSurface::CCRenderSurface):
1453         * platform/graphics/chromium/cc/CCRenderSurface.h:
1454         (WebCore::CCRenderSurface::targetSurfaceTransformsAreAnimating):
1455         (WebCore::CCRenderSurface::setTargetSurfaceTransformsAreAnimating):
1456         (WebCore::CCRenderSurface::screenSpaceTransformsAreAnimating):
1457         (WebCore::CCRenderSurface::setScreenSpaceTransformsAreAnimating):
1458         (CCRenderSurface):
1459
1460 2012-03-18  Pratik Solanki  <psolanki@apple.com>
1461
1462         Fix compile when FULLSCREEN_API is not enabled on Mac
1463         https://bugs.webkit.org/show_bug.cgi?id=81474
1464
1465         Reviewed by Ada Chan.
1466
1467         Guard the full screen api code inside ENABLE(FULLSCREEN_API).
1468
1469         No new tests because no functional changes.
1470
1471         * platform/mac/WebCoreFullScreenWindow.h:
1472         * platform/mac/WebCoreFullScreenWindow.mm:
1473
1474 2012-03-18  Kentaro Hara  <haraken@chromium.org>
1475
1476         Change the initial buffer size of a plain text
1477         https://bugs.webkit.org/show_bug.cgi?id=81192
1478
1479         Reviewed by Dimitri Glazkov.
1480
1481         r111109 changed the initial buffer size of a plain text
1482         from 1<<16 to 1<<15 in Chromium/Mac only, for the following reasons:
1483
1484         - As far as I experimented locally, while 1<<15 is better than 1<<16 in Chromium/Mac,
1485         1<<15 and 1<<16 are the same in AppleWebKit/Mac and Chromium/Linux (their performance
1486         "gap" exists at between 1<<17 and 1<<18).
1487         - The reason why I changed 1<<16 to 1<<15 in Chromium/Mac only is that
1488         the value highly depends on the underlying malloc system and I was a bit afraid
1489         that changing to 1<<15 _might_ cause unintentional performance regression in some
1490         platform.
1491
1492         That being said, it seems that 1<<15 would not be worse than 1<<16 in all platforms,
1493         and we should just keep the value consistent. In the first place, according to anttik
1494         (who wrote 1<<16 a long time ago), there was no strong reason for 1<<16.
1495
1496         Based on these observations (See https://bugs.webkit.org/show_bug.cgi?id=81192
1497         for more details), this patch unifies the value to 1<<15 in all platforms.
1498
1499         No tests. No change in behavior.
1500
1501         * editing/TextIterator.cpp:
1502         (WebCore::plainTextToMallocAllocatedBuffer):
1503
1504 2012-02-13  Robert Hogan  <robert@webkit.org>
1505
1506         CSS 2.1 failure: eof-003.htm fails
1507         https://bugs.webkit.org/show_bug.cgi?id=78538
1508
1509         Reviewed by Antti Koivisto.
1510
1511         Tests: css2.1/20110323/eof-001.htm
1512                css2.1/20110323/eof-003.htm
1513                css2.1/20110323/eof-004.htm
1514                css2.1/20110323/eof-005.htm
1515                css2.1/20110323/eof-006.htm
1516                css2.1/20110323/eof-007.htm
1517
1518         This patch fixes eof-003.htm, eof-005.htm and eof-006.htm. The other eof-* tests already pass.
1519
1520         * css/CSSGrammar.y: Allow EOF as well as ';' to terminate import rules.
1521                             This should probably be done for other rules in a separate patch.
1522         * css/CSSParser.cpp:
1523         (WebCore::CSSParser::checkAndSkipString): Allow strings to end with EOF.
1524         (WebCore::CSSParser::parseString): ditto
1525
1526 2012-03-17  David Reveman  <reveman@chromium.org>
1527
1528         [Chromium] PlatformContextSkia::m_drawingToImageBuffer is not correctly set when using per-tile painting.
1529         https://bugs.webkit.org/show_bug.cgi?id=81463
1530
1531         Reviewed by James Robinson.
1532
1533         Call PlatformContextSkia::setDrawingToImageBuffer() from
1534         SkPictureCanvasLayerTextureUpdater::prepareToUpdate so that sub-pixel
1535         text rendering is not used incorrectly with per-tile painting.
1536
1537         No new tests.
1538
1539         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
1540         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
1541
1542 2012-03-17  Robert Kroeger  <rjkroege@chromium.org>
1543
1544         [chromium] Make pixel-accurate wheel scrolling be unanimated
1545         https://bugs.webkit.org/show_bug.cgi?id=81457
1546
1547         Reviewed by James Robinson.
1548
1549         * platform/ScrollAnimatorNone.cpp:
1550         (WebCore::ScrollAnimatorNone::scroll):
1551
1552 2012-03-17  Rob Buis  <rbuis@rim.com>
1553
1554         [BlackBerry] Implement openTemporaryFile in FileSystem
1555         https://bugs.webkit.org/show_bug.cgi?id=81373
1556
1557         Reviewed by George Staikos.
1558
1559         Move the Efl implementation to Posix, this way BlackBerry port can reuse it.
1560
1561         * platform/blackberry/FileSystemBlackBerry.cpp:
1562         * platform/efl/FileSystemEfl.cpp:
1563         * platform/posix/FileSystemPOSIX.cpp:
1564         (WebCore::openTemporaryFile):
1565         (WebCore):
1566
1567 2012-03-17  Joe Thomas  <joethomas@motorola.com>
1568
1569         move calc*Value functions out from Length (and platform)
1570         https://bugs.webkit.org/show_bug.cgi?id=80897
1571
1572         Moving the Length calc*Value functions out from Length structure and also from /WebCore/platform/ folder.
1573         This helps to avoid the layering violation while length calculation. Otherwise layer violation can be avoided only by adding a virtual interface(bug 27160).
1574
1575         Reviewed by Antti Koivisto.
1576
1577         * GNUmakefile.list.am: Build system changes for adding new files.
1578         * Target.pri: Ditto.
1579         * WebCore.gypi: Ditto.
1580         * WebCore.vcproj/WebCore.vcproj: Ditto.
1581         * WebCore.xcodeproj/project.pbxproj: Ditto.
1582         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
1583         (getAttributeSetForAccessibilityObject):
1584         * css/CSSComputedStyleDeclaration.cpp:
1585         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1586         * css/LengthFunctions.h: Added. Moved calc*Value functions of Length.
1587         (WebCore):
1588         (WebCore::calculateMinimumValue):
1589         (WebCore::calculateValue):
1590         (WebCore::calculateFloatValue):
1591         * dom/Document.cpp:
1592         (WebCore::Document::pageSizeAndMarginsInPixels):
1593         * html/HTMLAreaElement.cpp:
1594         (WebCore::HTMLAreaElement::getRegion):
1595         * platform/CalculationValue.h:
1596         (WebCore::CalcExpressionLength::evaluate):
1597         * platform/Length.h: Removed the calc*Value functions from Length structure.
1598         (Length):
1599         (WebCore::Length::getFloatValue):
1600         (WebCore::Length::getIntValue):
1601         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1602         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1603         (PlatformCALayer::setFilters):
1604         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1605         (WebCore::CCRenderSurfaceFilters::apply):
1606         * platform/graphics/filters/FilterOperations.cpp:
1607         (WebCore::FilterOperations::getOutsets):
1608         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
1609         (WebCore::PerspectiveTransformOperation::blend):
1610         * platform/graphics/transforms/PerspectiveTransformOperation.h:
1611         (WebCore::PerspectiveTransformOperation::isIdentity):
1612         (WebCore::PerspectiveTransformOperation::apply):
1613         * platform/graphics/transforms/TranslateTransformOperation.h:
1614         (WebCore::TranslateTransformOperation::x):
1615         (WebCore::TranslateTransformOperation::y):
1616         (WebCore::TranslateTransformOperation::z):
1617         (WebCore::TranslateTransformOperation::isIdentity):
1618         * platform/win/PopupMenuWin.cpp:
1619         (WebCore::PopupMenuWin::paint):
1620         * rendering/AutoTableLayout.cpp:
1621         (WebCore::AutoTableLayout::layout):
1622         * rendering/FilterEffectRenderer.cpp:
1623         (WebCore::FilterEffectRenderer::build):
1624         * rendering/FixedTableLayout.cpp:
1625         (WebCore::FixedTableLayout::layout):
1626         * rendering/RenderBlock.cpp:
1627         (WebCore::RenderBlock::textIndentOffset):
1628         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
1629         * rendering/RenderBox.cpp:
1630         (WebCore::RenderBox::reflectionOffset):
1631         (WebCore::RenderBox::clipRect):
1632         (WebCore::RenderBox::computeLogicalWidthInRegion):
1633         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1634         (WebCore::RenderBox::computeInlineDirectionMargins):
1635         (WebCore::RenderBox::computePercentageLogicalHeight):
1636         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1637         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1638         (WebCore::RenderBox::availableLogicalHeightUsing):
1639         (WebCore::RenderBox::computeBlockDirectionMargins):
1640         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1641         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
1642         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1643         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
1644         * rendering/RenderBoxModelObject.cpp:
1645         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
1646         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
1647         (WebCore::RenderBoxModelObject::paddingTop):
1648         (WebCore::RenderBoxModelObject::paddingBottom):
1649         (WebCore::RenderBoxModelObject::paddingLeft):
1650         (WebCore::RenderBoxModelObject::paddingRight):
1651         (WebCore::RenderBoxModelObject::paddingBefore):
1652         (WebCore::RenderBoxModelObject::paddingAfter):
1653         (WebCore::RenderBoxModelObject::paddingStart):
1654         (WebCore::RenderBoxModelObject::paddingEnd):
1655         (WebCore::RenderBoxModelObject::calculateFillTileSize):
1656         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1657         (WebCore::computeBorderImageSide):
1658         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1659         * rendering/RenderFlexibleBox.cpp:
1660         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
1661         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
1662         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
1663         * rendering/RenderFrameSet.cpp:
1664         (WebCore::RenderFrameSet::layOutAxis):
1665         * rendering/RenderInline.cpp:
1666         (WebCore::computeMargin):
1667         * rendering/RenderLayer.cpp:
1668         (WebCore::RenderLayer::perspectiveTransform):
1669         (WebCore::RenderLayer::perspectiveOrigin):
1670         * rendering/RenderLayerBacking.cpp:
1671         (WebCore::RenderLayerBacking::computeTransformOrigin):
1672         (WebCore::RenderLayerBacking::computePerspectiveOrigin):
1673         * rendering/RenderMarquee.cpp:
1674         (WebCore::RenderMarquee::timerFired):
1675         * rendering/RenderMenuList.cpp:
1676         (WebCore::RenderMenuList::updateOptionsWidth):
1677         * rendering/RenderObject.cpp:
1678         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1679         * rendering/RenderReplaced.cpp:
1680         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
1681         * rendering/RenderScrollbarPart.cpp:
1682         (WebCore::calcScrollbarThicknessUsing):
1683         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
1684         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
1685         * rendering/RenderTable.cpp:
1686         (WebCore::RenderTable::computeLogicalWidth):
1687         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
1688         * rendering/RenderTableCell.cpp:
1689         (WebCore::RenderTableCell::logicalHeightForRowSizing):
1690         * rendering/RenderTableSection.cpp:
1691         (WebCore::RenderTableSection::calcRowLogicalHeight):
1692         * rendering/RenderText.h:
1693         (WebCore::RenderText::marginLeft):
1694         (WebCore::RenderText::marginRight):
1695         * rendering/RootInlineBox.cpp:
1696         (WebCore::RootInlineBox::verticalPositionForBox):
1697         * rendering/style/RenderStyle.cpp:
1698         (WebCore::RenderStyle::applyTransform):
1699         (WebCore::calcRadiiFor):
1700         * rendering/style/RenderStyle.h:
1701         * rendering/svg/RenderSVGRoot.cpp:
1702         (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
1703         (WebCore::resolveLengthAttributeForSVG):
1704         * svg/SVGSVGElement.cpp:
1705         (WebCore::SVGSVGElement::currentViewBoxRect):
1706         (WebCore::SVGSVGElement::currentViewportSize):
1707         * svg/graphics/SVGImage.cpp:
1708         (WebCore::SVGImage::computeIntrinsicDimensions):
1709
1710 2012-03-17  Nikolas Zimmermann  <nzimmermann@rim.com>
1711
1712         Enable animVal support for SVGNumberOptionalNumber
1713         https://bugs.webkit.org/show_bug.cgi?id=81448
1714
1715         Reviewed by Antti Koivisto.
1716
1717         Enable animVal support for SVGNumberOptionalNumber. Its a special case as two SVG DOM properties
1718         eg. stdDeviationX/stdDeviationY are mapped to a single XML attribute: SVGNames::stdDeviationAttr.
1719
1720         When animating properties like this, both animVal wrappers need to reflect changes.
1721         Generalize the current animVal code to support more than one SVGAnimatedProperty that gets
1722         animated for a single attributeName. This allows us to remove SVGAnimatedType::variantValue/setVariantValue
1723         which paves the way for removing SVGGenericAnimatedType from even more places.
1724
1725         Covered by existing tests.
1726
1727         * svg/SVGAnimateElement.cpp:
1728         (WebCore::SVGAnimateElement::SVGAnimateElement):
1729         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1730         (WebCore::SVGAnimateElement::resetToBaseValue):
1731         (WebCore::SVGAnimateElement::targetElementWillChange):
1732         * svg/SVGAnimateElement.h:
1733         (SVGAnimateElement):
1734         * svg/SVGAnimatedLength.cpp:
1735         (WebCore::SVGAnimatedLengthAnimator::constructFromBaseValue):
1736         (WebCore):
1737         (WebCore::SVGAnimatedLengthAnimator::resetAnimatedTypeToBaseValue):
1738         * svg/SVGAnimatedLength.h:
1739         (SVGAnimatedLengthAnimator):
1740         * svg/SVGAnimatedLengthList.cpp:
1741         (WebCore::SVGAnimatedLengthListAnimator::constructFromBaseValue):
1742         (WebCore):
1743         (WebCore::SVGAnimatedLengthListAnimator::resetAnimatedTypeToBaseValue):
1744         * svg/SVGAnimatedLengthList.h:
1745         (SVGAnimatedLengthListAnimator):
1746         * svg/SVGAnimatedNumber.cpp:
1747         (WebCore::SVGAnimatedNumberAnimator::constructFromBaseValue):
1748         (WebCore):
1749         (WebCore::SVGAnimatedNumberAnimator::resetAnimatedTypeToBaseValue):
1750         * svg/SVGAnimatedNumber.h:
1751         (SVGAnimatedNumberAnimator):
1752         * svg/SVGAnimatedNumberList.cpp:
1753         (WebCore::SVGAnimatedNumberListAnimator::constructFromBaseValue):
1754         (WebCore):
1755         (WebCore::SVGAnimatedNumberListAnimator::resetAnimatedTypeToBaseValue):
1756         * svg/SVGAnimatedNumberList.h:
1757         (SVGAnimatedNumberListAnimator):
1758         * svg/SVGAnimatedNumberOptionalNumber.cpp:
1759         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromBaseValue):
1760         (WebCore):
1761         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimatedTypeToBaseValue):
1762         * svg/SVGAnimatedNumberOptionalNumber.h:
1763         (WebCore):
1764         (SVGAnimatedNumberOptionalNumberAnimator):
1765         * svg/SVGAnimatedTransformList.cpp:
1766         (WebCore::SVGAnimatedTransformListAnimator::constructFromBaseValue):
1767         (WebCore::SVGAnimatedTransformListAnimator::resetAnimatedTypeToBaseValue):
1768         (WebCore):
1769         * svg/SVGAnimatedTransformList.h:
1770         (SVGAnimatedTransformListAnimator):
1771         * svg/SVGAnimatedType.cpp:
1772         (WebCore::SVGAnimatedType::supportsAnimVal):
1773         * svg/SVGAnimatedType.h:
1774         (SVGAnimatedType):
1775         * svg/SVGAnimatedTypeAnimator.h:
1776         (SVGAnimatedTypeAnimator):
1777         (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
1778         (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeToBaseValue):
1779         (WebCore::SVGAnimatedTypeAnimator::currentBaseValueVariant):
1780         (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
1781         (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeFromOneBaseValue):
1782         (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
1783         (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeFromTwoBaseValues):
1784         * svg/SVGAnimationElement.cpp:
1785         (WebCore::findMatchingAnimatedProperties):
1786         (WebCore::SVGAnimationElement::applyAnimatedValue):
1787         (WebCore::notifyAnimatedPropertyAboutAnimationBeginEnd):
1788         (WebCore::SVGAnimationElement::animationStarted):
1789         (WebCore::SVGAnimationElement::animationEnded):
1790         (WebCore::SVGAnimationElement::animatedPropertiesForType):
1791         * svg/SVGAnimationElement.h:
1792         * svg/properties/SVGAnimatedListPropertyTearOff.h:
1793         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
1794         (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
1795         * svg/properties/SVGAnimatedProperty.h:
1796         (SVGAnimatedProperty):
1797         * svg/properties/SVGAnimatedPropertyTearOff.h:
1798         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
1799         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
1800         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
1801         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
1802         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
1803
1804 2012-03-12  Philippe Normand  <pnormand@igalia.com>
1805
1806         [GStreamer] run AudioFileReader in a nested loop
1807         https://bugs.webkit.org/show_bug.cgi?id=80823
1808
1809         Reviewed by Martin Robinson.
1810
1811         Use a separate main loop for the file reader, this approach is
1812         much cleaner than polling the default GLib main context.
1813
1814         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1815         (AudioFileReader):
1816         (WebCore::enteredMainLoopCallback):
1817         (WebCore):
1818         (WebCore::AudioFileReader::AudioFileReader):
1819         (WebCore::AudioFileReader::handleMessage):
1820         (WebCore::AudioFileReader::start):
1821         (WebCore::AudioFileReader::createBus):
1822
1823 2012-02-07  Robert Hogan  <robert@webkit.org>
1824
1825         CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail
1826         https://bugs.webkit.org/show_bug.cgi?id=78027
1827
1828         Reviewed by Julien Chaffraix.
1829
1830         Both of these test the (slightly implicit) rule that width set on column-groups cannot
1831         affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
1832         FF, Opera and IE all pass these two tests.
1833
1834         Tests: css2.1/20110323/fixed-table-layout-013.htm
1835                css2.1/20110323/fixed-table-layout-015.htm
1836                fast/table/fixed-table-layout-toggle-colwidth.html
1837
1838         * rendering/FixedTableLayout.cpp:
1839         (WebCore::nextCol): A helper function for finding the next column along.
1840         (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups.
1841         * rendering/RenderTableCol.h:
1842         (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups.
1843
1844 2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
1845
1846         [BlackBerry] Add BlackBerry to NavigatorBase.cpp
1847         https://bugs.webkit.org/show_bug.cgi?id=81303
1848
1849         Reviewed by Rob Buis.
1850
1851         * page/NavigatorBase.cpp:
1852
1853 2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
1854
1855         [BlackBerry] Add typedef of DragDataRef for blackberry
1856         https://bugs.webkit.org/show_bug.cgi?id=81301
1857
1858         Reviewed by Rob Buis.
1859
1860         * platform/DragData.h:
1861
1862 2012-03-16  James Robinson  <jamesr@chromium.org>
1863
1864         [chromium] Unify the drawing logic for different layer types that output textures to the compositor
1865         https://bugs.webkit.org/show_bug.cgi?id=81286
1866
1867         Reviewed by Adrienne Walker.
1868
1869         Currently canvas 2d, webgl, and plugin layers all export a texture to the compositor that then needs to be
1870         drawn.  There are a small set of operations that can be applied to the texture at draw time - do a Y flip,
1871         stretch a subrect to the layer bounds, set the blend mode etc but they are fundamentally the same thing. This
1872         collapses the nearly-redundant code into a single impl-side layer type for a texture-backed layer that can
1873         handle the union of the bits needed for each layer type.
1874
1875         Canvas 2d, WebGL and plugin composited rendering are all covered by layout tests.
1876
1877         * WebCore.gypi:
1878         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1879         (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
1880         * platform/graphics/chromium/CanvasLayerChromium.cpp:
1881         (WebCore::CanvasLayerChromium::createCCLayerImpl):
1882         * platform/graphics/chromium/LayerRendererChromium.cpp:
1883         (WebCore::LayerRendererChromium::drawQuad):
1884         (WebCore::TexStretchTextureProgramBinding::set):
1885         (WebCore::TexTransformTextureProgramBinding::set):
1886         (WebCore::LayerRendererChromium::drawTextureQuad):
1887         (WebCore::LayerRendererChromium::textureLayerProgramFlip):
1888         (WebCore::LayerRendererChromium::textureLayerProgramStretch):
1889         (WebCore::LayerRendererChromium::textureLayerProgramStretchFlip):
1890         (WebCore::LayerRendererChromium::textureLayerTexRectProgram):
1891         (WebCore::LayerRendererChromium::textureLayerTexRectProgramFlip):
1892         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1893         * platform/graphics/chromium/LayerRendererChromium.h:
1894         (WebCore):
1895         (LayerRendererChromium):
1896         * platform/graphics/chromium/PluginLayerChromium.cpp:
1897         (WebCore::PluginLayerChromium::PluginLayerChromium):
1898         (WebCore::PluginLayerChromium::createCCLayerImpl):
1899         (WebCore::PluginLayerChromium::setIOSurfaceProperties):
1900         (WebCore::PluginLayerChromium::pushPropertiesTo):
1901         * platform/graphics/chromium/PluginLayerChromium.h:
1902         (PluginLayerChromium):
1903         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1904         (WebCore::WebGLLayerChromium::pushPropertiesTo):
1905         * platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp: Removed.
1906         * platform/graphics/chromium/cc/CCCanvasDrawQuad.h: Removed.
1907         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Removed.
1908         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Removed.
1909         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
1910         (WebCore::CCDrawQuad::toTextureDrawQuad):
1911         * platform/graphics/chromium/cc/CCDrawQuad.h:
1912         (WebCore):
1913         (CCDrawQuad):
1914         * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginDrawQuad.cpp.
1915         (WebCore):
1916         (WebCore::CCTextureDrawQuad::create):
1917         (WebCore::CCTextureDrawQuad::CCTextureDrawQuad):
1918         * platform/graphics/chromium/cc/CCTextureDrawQuad.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginDrawQuad.h.
1919         (WebCore):
1920         (CCTextureDrawQuad):
1921         (WebCore::CCTextureDrawQuad::textureId):
1922         (WebCore::CCTextureDrawQuad::hasAlpha):
1923         (WebCore::CCTextureDrawQuad::premultipliedAlpha):
1924         (WebCore::CCTextureDrawQuad::uvRect):
1925         (WebCore::CCTextureDrawQuad::flipped):
1926         (WebCore::CCTextureDrawQuad::ioSurfaceSize):
1927         (WebCore::CCTextureDrawQuad::ioSurfaceTextureId):
1928         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.cpp.
1929         (WebCore):
1930         (WebCore::CCTextureLayerImpl::CCTextureLayerImpl):
1931         (WebCore::CCTextureLayerImpl::~CCTextureLayerImpl):
1932         (WebCore::CCTextureLayerImpl::willDraw):
1933         (WebCore::CCTextureLayerImpl::appendQuads):
1934         (WebCore::CCTextureLayerImpl::dumpLayerProperties):
1935         (WebCore::CCTextureLayerImpl::didLoseContext):
1936         (WebCore::CCTextureLayerImpl::setIOSurfaceProperties):
1937         * platform/graphics/chromium/cc/CCTextureLayerImpl.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.h.
1938         (WebCore):
1939         (CCTextureLayerImpl):
1940         (WebCore::CCTextureLayerImpl::create):
1941         (WebCore::CCTextureLayerImpl::textureId):
1942         (WebCore::CCTextureLayerImpl::setTextureId):
1943         (WebCore::CCTextureLayerImpl::setHasAlpha):
1944         (WebCore::CCTextureLayerImpl::setPremultipliedAlpha):
1945         (WebCore::CCTextureLayerImpl::setFlipped):
1946         (WebCore::CCTextureLayerImpl::setUVRect):
1947         (WebCore::CCTextureLayerImpl::layerTypeAsString):
1948
1949 2012-03-16  Martin Robinson  <mrobinson@igalia.com>
1950
1951         [Cairo] Text extent of shadowed text is calculated incorrectly
1952         https://bugs.webkit.org/show_bug.cgi?id=65035
1953
1954         Reviewed by Martin Robinson.
1955
1956         No new tests. This is already covered by fast/canvas/fillText-shadow.html.
1957
1958         Correct determine the size of rendered text using x and y bearing from the font
1959         extents.
1960
1961         * platform/graphics/cairo/FontCairo.cpp:
1962         (WebCore::drawGlyphsShadow): Use the x and y bearing to calculate text extents.
1963         This gives a more accurate sizing and avoids clipping the edges of the shadow.
1964
1965 2012-03-16  Kentaro Hara  <haraken@chromium.org>
1966
1967         [Chromium][Performance] Optimize innerText and outerText in Chromium/Mac
1968         https://bugs.webkit.org/show_bug.cgi?id=81192
1969
1970         Reviewed by Dimitri Glazkov.
1971
1972         This patch makes innerText and outerText 4 times faster on Chromium/Mac.
1973         A similar performance improvement will be also observed in APIs that are using
1974         TextIterator::plainText() (e.g. Editting, SpellChecker, Clipboard, Pasteboard etc).
1975
1976         Performance test: https://bugs.webkit.org/attachment.cgi?id=131989
1977
1978         - AppleWebKit/JavaScriptCore/Mac:
1979         div.innerText : 2978.4ms
1980         div.outerText : 2944.4ms
1981
1982         - Chromium/V8/Mac without the patch:
1983         div.innerText : 10050.8ms
1984         div.outerText : 10072.2ms
1985
1986         - Chromium/V8/Mac with the patch:
1987         div.innerText: 2536.4ms
1988         div.outerText: 2714ms
1989
1990         This patch just changes the initial buffer size of a plain text buffer on Chromium/Mac.
1991         As shown below, in my local Chromium/Mac environment the performance changes
1992         dramatically between 1<<15 and 1<<16, and in my local Chromium/Linux environment
1993         the performance changes between 1<<17 and 1<<18. I am not yet sure what determines
1994         these figures, but it seems there exists a performance gap at some point
1995         depending on a malloc mechanism.
1996
1997         - div.innerText results on Chromium/V8/Mac:
1998         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 14 ==> 2465.6 ms
1999         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 15 ==> 2447.2 ms   <--- after this patch
2000         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 16 ==> 10250.8 ms  <--- before this patch
2001         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 17 ==> 10278.2 ms
2002
2003         - div.innerText results on Chromium/V8/Linux:
2004         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 14 ==> 1569.8 ms
2005         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 15 ==> 1531.8 ms
2006         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 16 ==> 1543.2 ms  <--- before/after this patch
2007         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 17 ==> 1541.6 ms
2008         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 18 ==> 12540.8 ms
2009         WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 19 ==> 12340.8 ms
2010
2011         * editing/TextIterator.cpp:
2012         (WebCore::plainTextToMallocAllocatedBuffer):
2013
2014 2012-03-16  Dmitry Titov  <dimich@chromium.org>
2015
2016         HTMLFrameElementBase::m_remainsAliveOnRemovalFromTree can be cleared without unloading the frame.
2017         https://bugs.webkit.org/show_bug.cgi?id=80766
2018
2019         Reviewed by Adam Barth.
2020
2021         * html/HTMLFrameElementBase.cpp:
2022         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
2023         (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree):
2024         if adoptNode() is called on a detached iframe or with a detached document,
2025         unload the iframe to avoid live iframe to hang around w/o being attached to
2026         a document.
2027
2028 2012-03-16  Joe Thomas  <joethomas@motorola.com>
2029
2030         Xcode project file is not sorted.
2031         https://bugs.webkit.org/show_bug.cgi?id=81439
2032
2033         Sorted the project file entries using sort-Xcode-project-file script.
2034
2035         Reviewed by Eric Seidel.
2036
2037         * WebCore.xcodeproj/project.pbxproj:
2038
2039 2012-03-16  Yael Aharon  <yael.aharon@nokia.com>
2040
2041         Unreviewed build fix after r111075.
2042         Correct the path of WebKitBlobBuilder.idl.
2043
2044         * DerivedSources.pri:
2045
2046 2012-03-16  David Levin  <levin@chromium.org>
2047
2048         Fix for test runs for non-chromium platforms.
2049
2050         * loader/cache/MemoryCache.cpp:
2051         (WebCore::memoryCache):
2052         (WebCore::MemoryCache::add):
2053         (WebCore::MemoryCache::revalidationFailed):
2054         (WebCore::MemoryCache::resourceForURL):
2055         (WebCore::MemoryCache::evict):
2056
2057 2012-03-16  Tony Chang  <tony@chromium.org>
2058
2059         Unreviewed, rolling out r111094.
2060         http://trac.webkit.org/changeset/111094
2061         https://bugs.webkit.org/show_bug.cgi?id=80882
2062
2063         broke test on chromium-win
2064
2065         * rendering/RenderFlexibleBox.cpp:
2066         (WebCore::RenderFlexibleBox::alignChildren):
2067         * rendering/RenderFlexibleBox.h:
2068         (RenderFlexibleBox):
2069
2070 2012-03-16  Anders Carlsson  <andersca@apple.com>
2071
2072         REGRESSION (r110737): Height element changes on scrolled page causes failure
2073         https://bugs.webkit.org/show_bug.cgi?id=81381
2074         <rdar://problem/11066006>
2075
2076         Reviewed by Sam Weinig.
2077
2078         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.
2079
2080         * platform/ScrollAnimator.h:
2081         (WebCore::ScrollAnimator::isRubberBandInProgress):
2082         (ScrollAnimator):
2083         * platform/ScrollView.cpp:
2084         (WebCore::ScrollView::updateScrollbars):
2085         * platform/mac/ScrollAnimatorMac.h:
2086         (ScrollAnimatorMac):
2087         * platform/mac/ScrollAnimatorMac.mm:
2088         (WebCore::ScrollAnimatorMac::isRubberBandInProgress):
2089         (WebCore):
2090         * platform/mac/ScrollElasticityController.h:
2091         (ScrollElasticityController):
2092         * platform/mac/ScrollElasticityController.mm:
2093         (WebCore::ScrollElasticityController::isRubberBandInProgress):
2094         (WebCore):
2095
2096 2012-03-16  Robert Kroeger  <rjkroege@chromium.org>
2097
2098         GestureTapDown needs to pin in-progress flings
2099         https://bugs.webkit.org/show_bug.cgi?id=80875
2100
2101         Reviewed by Adam Barth.
2102
2103         * page/EventHandler.cpp:
2104         (WebCore):
2105         (WebCore::EventHandler::handleGestureTapDown):
2106         * page/EventHandler.h:
2107         (EventHandler):
2108
2109 2012-03-16  Chris Rogers  <crogers@google.com>
2110
2111         Account for sample-rate in convolution normalization
2112         https://bugs.webkit.org/show_bug.cgi?id=81432
2113
2114         Reviewed by James Robinson.
2115
2116         * platform/audio/Reverb.cpp:
2117         (WebCore):
2118         (WebCore::calculateNormalizationScale):
2119         * webaudio/ConvolverNode.cpp:
2120         (WebCore::ConvolverNode::setBuffer):
2121
2122 2012-03-16  Tom Sepez  <tsepez@chromium.org>
2123
2124         Make V8 window.open.call(), window.open.showModalDialog() results more closely match JSC. 
2125         https://bugs.webkit.org/show_bug.cgi?id=81260
2126         https://bugs.webkit.org/show_bug.cgi?id=39897
2127
2128         Reviewed by Adam Barth.
2129
2130         Tested via http/tests/security/cross-frame-access-call.htm
2131
2132         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2133         (WebCore::V8DOMWindow::showModalDialogCallback):
2134         (WebCore::V8DOMWindow::openCallback):
2135
2136 2012-03-16  Matt Lilek  <mrl@apple.com>
2137
2138         Use modern NSNumberFormatter API in LocalizedNumberMac.mm
2139         https://bugs.webkit.org/show_bug.cgi?id=81429
2140
2141         Reviewed by Dan Bernstein.
2142
2143         No new tests as no change in behavior.
2144
2145         * platform/text/mac/LocalizedNumberMac.mm:
2146         (WebCore::createFormatterForCurrentLocaleForDisplay):
2147
2148 2012-03-16  Tony Chang  <tony@chromium.org>
2149
2150         flex-item-align: stretch should only grow, never shrink
2151         https://bugs.webkit.org/show_bug.cgi?id=80882
2152
2153         Reviewed by Ojan Vafai.
2154
2155         New test cases in css3/flexbox/flex-align-stretch.html.
2156
2157         * rendering/RenderFlexibleBox.cpp:
2158         (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
2159         (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
2160         (WebCore):
2161         * rendering/RenderFlexibleBox.h:
2162         (RenderFlexibleBox):
2163
2164 2012-03-16  Raphael Kubo da Costa  <kubo@profusion.mobi>
2165
2166         [EFL] Unreviewed, fix build after r111041.
2167
2168         * platform/efl/RenderThemeEfl.cpp:
2169         (WebCore::RenderThemeEfl::emitMediaButtonSignal): Rename
2170         MediaFullscreenButton to MediaEnterFullscreenButton.
2171         (WebCore::RenderThemeEfl::paintMediaFullscreenButton): Ditto.
2172
2173 2012-03-16  Dmitry Lomov  <dslomov@google.com>
2174
2175         REGRESSION: DOMURL::revokeObjectURL accesses memoryCache on worker thread.
2176         https://bugs.webkit.org/show_bug.cgi?id=80889
2177         On worker threads, post a task to main thread to evict from cache.
2178         ASSERT that MemoryCache is only accessed from main thread.
2179
2180         Reviewed by David Levin.
2181
2182         * html/DOMURL.cpp:
2183         (WebCore::DOMURL::revokeObjectURL):
2184         * loader/cache/MemoryCache.cpp:
2185         (WebCore::memoryCache):
2186         (WebCore::MemoryCache::add):
2187         (WebCore::MemoryCache::revalidationFailed):
2188         (WebCore::MemoryCache::resourceForURL):
2189         (WebCore::MemoryCache::evict):
2190         (WebCore):
2191         (WebCore::MemoryCache::removeUrlFromCache):
2192         (WebCore::MemoryCache::removeUrlFromCacheImpl):
2193         * loader/cache/MemoryCache.h:
2194         (WebCore):
2195         (MemoryCache):
2196
2197 2012-03-16  Jacky Jiang  <zhajiang@rim.com>
2198
2199         [BlackBerry] Upstream ScriptControllerBlackBerry.cpp
2200         https://bugs.webkit.org/show_bug.cgi?id=81397
2201
2202         Reviewed by Rob Buis.
2203
2204         Initial upstream, no new tests.
2205
2206         * bindings/js/ScriptControllerBlackBerry.cpp: Added.
2207
2208 2012-03-16  Adam Barth  <abarth@webkit.org>
2209
2210         remove-body-during-body-replacement2.html is triggering crashes on all platforms
2211         https://bugs.webkit.org/show_bug.cgi?id=81374
2212
2213         Reviewed by Eric Seidel.
2214
2215         When overriding disconnectFrame, we need to call the base class version
2216         of the method so that it can clear the m_frame pointer.
2217
2218         Tests: This patch fixes a large number of crashes in tests.
2219
2220         * notifications/DOMWindowNotifications.cpp:
2221         (WebCore::DOMWindowNotifications::disconnectFrame):
2222
2223 2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
2224
2225         [BlackBerry] Upstream the BlackBerry change to platform/Widget.h
2226         https://bugs.webkit.org/show_bug.cgi?id=81304
2227
2228         Reviewed by Rob Buis.
2229
2230         typedefs of PlatformWidget and PlatformPageClient for the BlackBerry.
2231
2232         * platform/Widget.h:
2233
2234 2012-03-16  David Barton  <dbarton@mathscribe.com>
2235
2236         MathML internals - factor code for almost anonymous blocks
2237         https://bugs.webkit.org/show_bug.cgi?id=81387
2238
2239         Reviewed by Eric Seidel.
2240
2241         MathML uses "almost anonymous" blocks to layout parts of mathematical expressions. These
2242         will be converted to true anonymous blocks in a later patch. Here we factor out the code
2243         to create them into RenderMathMLBlock::createAlmostAnonymousBlock().
2244
2245         No new tests. Some tree dump output is modified for existing tests. <munder>, <mover>,
2246         and <munderover> renderers already used true anonymous blocks, so we change them to call
2247         RenderBlock::createAnonymousBlock(). In the other direction, <mroot>'s almost anonymous
2248         blocks are now made RenderMathMLBlock not just RenderBlock, in agreement with other
2249         current MathML renderers.
2250
2251         * rendering/mathml/RenderMathMLBlock.cpp:
2252         (WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):
2253         * rendering/mathml/RenderMathMLBlock.h:
2254         (RenderMathMLBlock):
2255         (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
2256         * rendering/mathml/RenderMathMLFenced.cpp:
2257         (WebCore::RenderMathMLFenced::addChild):
2258         * rendering/mathml/RenderMathMLFraction.cpp:
2259         (WebCore::RenderMathMLFraction::updateFromElement):
2260             - improve some variable names
2261         (WebCore::RenderMathMLFraction::addChild):
2262         (WebCore::RenderMathMLFraction::layout):
2263         (WebCore::RenderMathMLFraction::paint):
2264         (WebCore::RenderMathMLFraction::baselinePosition):
2265         * rendering/mathml/RenderMathMLRoot.cpp:
2266         (WebCore::RenderMathMLRoot::addChild):
2267         * rendering/mathml/RenderMathMLSubSup.cpp:
2268         (WebCore::RenderMathMLSubSup::addChild):
2269         * rendering/mathml/RenderMathMLSubSup.h:
2270         * rendering/mathml/RenderMathMLUnderOver.cpp:
2271         (WebCore::RenderMathMLUnderOver::addChild):
2272
2273 2012-03-16  Levi Weintraub  <leviw@chromium.org>
2274
2275         Prepare RenderObject for FractionalLayoutUnits
2276         https://bugs.webkit.org/show_bug.cgi?id=81178
2277
2278         Reviewed by Eric Seidel.
2279
2280         This readies RenderObject to deal with FractionalLayoutUnits as a backend for the
2281         LayoutUnit abstraction.
2282
2283         No new tests. No change in behavior.
2284
2285         * rendering/RenderObject.cpp:
2286         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect): Convenience method to be
2287         used instead of absouluteClippedOverflowRect in platform code. Platform updates will come
2288         in a separate patch.
2289         (WebCore):
2290         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Borders remain ints when we move to
2291         sub-pixel layout. This adjusts border variables for this, and adds compiler fixes when
2292         using std::max and std::min with mixed int/LayoutUnits.
2293         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Outlines, like borders, remain
2294         ints in the new sub-pixel world. Using variables that reflect that.
2295         * rendering/RenderObject.h:
2296         (RenderObject):
2297         (WebCore::adjustForAbsoluteZoom): Handles FractionalLayoutUnit values. Flooring is what
2298         JavaScript requires since this is used with values that must return ints.
2299         (WebCore): Adding FractionalLayoutUnit.h to support the new adjusteForAbsoluteZoom method.
2300
2301 2012-03-16  Brady Eidson  <beidson@apple.com>
2302
2303         <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
2304         REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
2305
2306         Reviewed by Geoff Garen.
2307
2308         WebKit API test WebViewCanPasteURL.mm added.
2309
2310         * WebCore.exp.in:
2311
2312         Add a strategy method specifically for getting the URL:
2313         * platform/PasteboardStrategy.h:
2314
2315         Use that strategy method when creating the fragment for a URL:
2316         * platform/mac/PasteboardMac.mm:
2317         (WebCore::Pasteboard::documentFragment):
2318
2319         Add a platform pasteboard accessor to "do the right thing" for getting a URL:
2320         * platform/PlatformPasteboard.h:
2321         * platform/mac/PlatformPasteboardMac.mm:
2322         (WebCore::PlatformPasteboard::url):
2323
2324 2012-03-16  Joseph Pecoraro  <pecoraro@apple.com>
2325
2326         <http://webkit.org/b/81380> clang warning unused variable when ENABLE(TEXT_CARET) is disabled
2327
2328         Reviewed by Dan Bernstein.
2329
2330         * editing/FrameSelection.cpp:
2331         (WebCore::FrameSelection::recomputeCaretRect):
2332         Put the variable inside of a guard because it is only
2333         used inside of a guard.
2334
2335 2012-03-16  Andreas Kling  <kling@webkit.org>
2336
2337         Shrink BorderValue.
2338         <http://webkit.org/b/69521>
2339
2340         Reviewed by Anders Carlsson.
2341
2342         Split BorderValue's Color member into RGBA32/bool buddies and stash the bool in
2343         the BorderValue bitfield.
2344
2345         This shrinks BorderValue by 4 bytes, in turn shrinking BorderData by 16 bytes.
2346         Altogether this yields ~800 kB in reduced memory consumption when viewing the full
2347         HTML5 spec at <http://whatwg.org/c>
2348
2349         * rendering/style/BorderValue.h:
2350         (WebCore::BorderValue::BorderValue):
2351         (WebCore::BorderValue::isTransparent):
2352         (WebCore::BorderValue::operator==):
2353         (BorderValue):
2354         (WebCore::BorderValue::setColor):
2355         (WebCore::BorderValue::color):
2356         * rendering/style/OutlineValue.h:
2357         (WebCore::OutlineValue::operator==):
2358         * rendering/style/RenderStyle.cpp:
2359         (SameSizeAsBorderValue):
2360         * rendering/style/RenderStyle.h:
2361
2362 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
2363
2364         Moves remaining filesystem files to Modules/filesystem/
2365         https://bugs.webkit.org/show_bug.cgi?id=81353
2366
2367         Reviewed by Adam Barth.
2368
2369         No new tests, all existing tests pass.
2370
2371         * CMakeLists.txt:
2372         * DerivedSources.make:
2373         * DerivedSources.pri:
2374         * GNUmakefile.list.am:
2375         * Modules/filesystem/AsyncFileWriter.h: Copied from Source/WebCore/fileapi/AsyncFileWriter.h.
2376         * Modules/filesystem/AsyncFileWriterClient.h: Copied from Source/WebCore/fileapi/AsyncFileWriterClient.h.
2377         * Modules/filesystem/DOMFilePath.cpp: Copied from Source/WebCore/fileapi/DOMFilePath.cpp.
2378         * Modules/filesystem/DOMFilePath.h: Copied from Source/WebCore/fileapi/DOMFilePath.h.
2379         * Modules/filesystem/DOMFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMFileSystem.cpp.
2380         * Modules/filesystem/DOMFileSystem.h: Copied from Source/WebCore/fileapi/DOMFileSystem.h.
2381         * Modules/filesystem/DOMFileSystem.idl: Copied from Source/WebCore/fileapi/DOMFileSystem.idl.
2382         * Modules/filesystem/DOMFileSystemBase.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemBase.cpp.
2383         * Modules/filesystem/DOMFileSystemBase.h: Copied from Source/WebCore/fileapi/DOMFileSystemBase.h.
2384         * Modules/filesystem/DOMFileSystemSync.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemSync.cpp.
2385         * Modules/filesystem/DOMFileSystemSync.h: Copied from Source/WebCore/fileapi/DOMFileSystemSync.h.
2386         * Modules/filesystem/DOMFileSystemSync.idl: Copied from Source/WebCore/fileapi/DOMFileSystemSync.idl.
2387         * Modules/filesystem/Entry.cpp: Copied from Source/WebCore/fileapi/Entry.cpp.
2388         * Modules/filesystem/Entry.h: Copied from Source/WebCore/fileapi/Entry.h.
2389         * Modules/filesystem/Entry.idl: Copied from Source/WebCore/fileapi/Entry.idl.
2390         * Modules/filesystem/EntryArray.cpp: Copied from Source/WebCore/fileapi/EntryArray.cpp.
2391         * Modules/filesystem/EntryArray.h: Copied from Source/WebCore/fileapi/EntryArray.h.
2392         * Modules/filesystem/EntryArray.idl: Copied from Source/WebCore/fileapi/EntryArray.idl.
2393         * Modules/filesystem/EntryArraySync.cpp: Copied from Source/WebCore/fileapi/EntryArraySync.cpp.
2394         * Modules/filesystem/EntryArraySync.h: Copied from Source/WebCore/fileapi/EntryArraySync.h.
2395         * Modules/filesystem/EntryArraySync.idl: Copied from Source/WebCore/fileapi/EntryArraySync.idl.
2396         * Modules/filesystem/EntryBase.cpp: Copied from Source/WebCore/fileapi/EntryBase.cpp.
2397         * Modules/filesystem/EntryBase.h: Copied from Source/WebCore/fileapi/EntryBase.h.
2398         * Modules/filesystem/EntryCallback.h: Copied from Source/WebCore/fileapi/EntryCallback.h.
2399         * Modules/filesystem/EntryCallback.idl: Copied from Source/WebCore/fileapi/EntryCallback.idl.
2400         * Modules/filesystem/EntrySync.cpp: Copied from Source/WebCore/fileapi/EntrySync.cpp.
2401         * Modules/filesystem/EntrySync.h: Copied from Source/WebCore/fileapi/EntrySync.h.
2402         * Modules/filesystem/EntrySync.idl: Copied from Source/WebCore/fileapi/EntrySync.idl.
2403         * Modules/filesystem/ErrorCallback.h: Copied from Source/WebCore/fileapi/ErrorCallback.h.
2404         * Modules/filesystem/ErrorCallback.idl: Copied from Source/WebCore/fileapi/ErrorCallback.idl.
2405         * Modules/filesystem/FileCallback.h: Copied from Source/WebCore/fileapi/FileCallback.h.
2406         * Modules/filesystem/FileCallback.idl: Copied from Source/WebCore/fileapi/FileCallback.idl.
2407         * Modules/filesystem/FileEntry.cpp: Copied from Source/WebCore/fileapi/FileEntry.cpp.
2408         * Modules/filesystem/FileEntry.h: Copied from Source/WebCore/fileapi/FileEntry.h.
2409         * Modules/filesystem/FileEntry.idl: Copied from Source/WebCore/fileapi/FileEntry.idl.
2410         * Modules/filesystem/FileEntrySync.cpp: Copied from Source/WebCore/fileapi/FileEntrySync.cpp.
2411         * Modules/filesystem/FileEntrySync.h: Copied from Source/WebCore/fileapi/FileEntrySync.h.
2412         * Modules/filesystem/FileEntrySync.idl: Copied from Source/WebCore/fileapi/FileEntrySync.idl.
2413         * Modules/filesystem/FileSystemCallback.h: Copied from Source/WebCore/fileapi/FileSystemCallback.h.
2414         * Modules/filesystem/FileSystemCallback.idl: Copied from Source/WebCore/fileapi/FileSystemCallback.idl.
2415         * Modules/filesystem/FileSystemCallbacks.cpp: Copied from Source/WebCore/fileapi/FileSystemCallbacks.cpp.
2416         * Modules/filesystem/FileSystemCallbacks.h: Copied from Source/WebCore/fileapi/FileSystemCallbacks.h.
2417         * Modules/filesystem/FileWriter.cpp: Copied from Source/WebCore/fileapi/FileWriter.cpp.
2418         * Modules/filesystem/FileWriter.h: Copied from Source/WebCore/fileapi/FileWriter.h.
2419         * Modules/filesystem/FileWriter.idl: Copied from Source/WebCore/fileapi/FileWriter.idl.
2420         * Modules/filesystem/FileWriterBase.cpp: Copied from Source/WebCore/fileapi/FileWriterBase.cpp.
2421         * Modules/filesystem/FileWriterBase.h: Copied from Source/WebCore/fileapi/FileWriterBase.h.
2422         * Modules/filesystem/FileWriterBaseCallback.h: Copied from Source/WebCore/fileapi/FileWriterBaseCallback.h.
2423         * Modules/filesystem/FileWriterCallback.h: Copied from Source/WebCore/fileapi/FileWriterCallback.h.
2424         * Modules/filesystem/FileWriterCallback.idl: Copied from Source/WebCore/fileapi/FileWriterCallback.idl.
2425         * Modules/filesystem/FileWriterSync.cpp: Copied from Source/WebCore/fileapi/FileWriterSync.cpp.
2426         * Modules/filesystem/FileWriterSync.h: Copied from Source/WebCore/fileapi/FileWriterSync.h.
2427         * Modules/filesystem/FileWriterSync.idl: Copied from Source/WebCore/fileapi/FileWriterSync.idl.
2428         * Modules/filesystem/LocalFileSystem.cpp: Copied from Source/WebCore/fileapi/LocalFileSystem.cpp.
2429         * Modules/filesystem/LocalFileSystem.h: Copied from Source/WebCore/fileapi/LocalFileSystem.h.
2430         * Modules/filesystem/Metadata.h: Copied from Source/WebCore/fileapi/Metadata.h.
2431         * Modules/filesystem/Metadata.idl: Copied from Source/WebCore/fileapi/Metadata.idl.
2432         * Modules/filesystem/MetadataCallback.h: Copied from Source/WebCore/fileapi/MetadataCallback.h.
2433         * Modules/filesystem/MetadataCallback.idl: Copied from Source/WebCore/fileapi/MetadataCallback.idl.
2434         * Modules/filesystem/SyncCallbackHelper.h: Copied from Source/WebCore/fileapi/SyncCallbackHelper.h.
2435         * Modules/filesystem/WebKitFlags.h: Copied from Source/WebCore/fileapi/WebKitFlags.h.
2436         * Modules/filesystem/WorkerContextFileSystem.cpp: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.cpp.
2437         * Modules/filesystem/WorkerContextFileSystem.h: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.h.
2438         * Modules/filesystem/WorkerContextFileSystem.idl: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.idl.
2439         * Target.pri:
2440         * WebCore.gyp/WebCore.gyp:
2441         * WebCore.gypi:
2442         * WebCore.vcproj/WebCore.vcproj:
2443         * WebCore.xcodeproj/project.pbxproj:
2444         * fileapi/AsyncFileWriter.h: Removed.
2445         * fileapi/AsyncFileWriterClient.h: Removed.
2446         * fileapi/DOMFilePath.cpp: Removed.
2447         * fileapi/DOMFilePath.h: Removed.
2448         * fileapi/DOMFileSystem.cpp: Removed.
2449         * fileapi/DOMFileSystem.h: Removed.
2450         * fileapi/DOMFileSystem.idl: Removed.
2451         * fileapi/DOMFileSystemBase.cpp: Removed.
2452         * fileapi/DOMFileSystemBase.h: Removed.
2453         * fileapi/DOMFileSystemSync.cpp: Removed.
2454         * fileapi/DOMFileSystemSync.h: Removed.
2455         * fileapi/DOMFileSystemSync.idl: Removed.
2456         * fileapi/Entry.cpp: Removed.
2457         * fileapi/Entry.h: Removed.
2458         * fileapi/Entry.idl: Removed.
2459         * fileapi/EntryArray.cpp: Removed.
2460         * fileapi/EntryArray.h: Removed.
2461         * fileapi/EntryArray.idl: Removed.
2462         * fileapi/EntryArraySync.cpp: Removed.
2463         * fileapi/EntryArraySync.h: Removed.
2464         * fileapi/EntryArraySync.idl: Removed.
2465         * fileapi/EntryBase.cpp: Removed.
2466         * fileapi/EntryBase.h: Removed.
2467         * fileapi/EntryCallback.h: Removed.
2468         * fileapi/EntryCallback.idl: Removed.
2469         * fileapi/EntrySync.cpp: Removed.
2470         * fileapi/EntrySync.h: Removed.
2471         * fileapi/EntrySync.idl: Removed.
2472         * fileapi/ErrorCallback.h: Removed.
2473         * fileapi/ErrorCallback.idl: Removed.
2474         * fileapi/FileCallback.h: Removed.
2475         * fileapi/FileCallback.idl: Removed.
2476         * fileapi/FileEntry.cpp: Removed.
2477         * fileapi/FileEntry.h: Removed.
2478         * fileapi/FileEntry.idl: Removed.
2479         * fileapi/FileEntrySync.cpp: Removed.
2480         * fileapi/FileEntrySync.h: Removed.
2481         * fileapi/FileEntrySync.idl: Removed.
2482         * fileapi/FileSystemCallback.h: Removed.
2483         * fileapi/FileSystemCallback.idl: Removed.
2484         * fileapi/FileSystemCallbacks.cpp: Removed.
2485         * fileapi/FileSystemCallbacks.h: Removed.
2486         * fileapi/FileWriter.cpp: Removed.
2487         * fileapi/FileWriter.h: Removed.
2488         * fileapi/FileWriter.idl: Removed.
2489         * fileapi/FileWriterBase.cpp: Removed.
2490         * fileapi/FileWriterBase.h: Removed.
2491         * fileapi/FileWriterBaseCallback.h: Removed.
2492         * fileapi/FileWriterCallback.h: Removed.
2493         * fileapi/FileWriterCallback.idl: Removed.
2494         * fileapi/FileWriterSync.cpp: Removed.
2495         * fileapi/FileWriterSync.h: Removed.
2496         * fileapi/FileWriterSync.idl: Removed.
2497         * fileapi/LocalFileSystem.cpp: Removed.
2498         * fileapi/LocalFileSystem.h: Removed.
2499         * fileapi/Metadata.h: Removed.
2500         * fileapi/Metadata.idl: Removed.
2501         * fileapi/MetadataCallback.h: Removed.
2502         * fileapi/MetadataCallback.idl: Removed.
2503         * fileapi/SyncCallbackHelper.h: Removed.
2504         * fileapi/WebKitFlags.h: Removed.
2505         * fileapi/WorkerContextFileSystem.cpp: Removed.
2506         * fileapi/WorkerContextFileSystem.h: Removed.
2507         * fileapi/WorkerContextFileSystem.idl: Removed.
2508
2509 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
2510
2511         Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB) in OperationNotAllowedException.idl
2512         https://bugs.webkit.org/show_bug.cgi?id=81391
2513
2514         Reviewed by Adam Barth.
2515
2516         No new tests, all existing tests pass.
2517
2518         * fileapi/OperationNotAllowedException.idl:
2519
2520 2012-03-16  Emil A Eklund  <eae@chromium.org>
2521
2522         Fix rounding and usage of LayoutUnits in RenderBoxModelObject
2523         https://bugs.webkit.org/show_bug.cgi?id=81057
2524
2525         Reviewed by Julien Chaffraix.
2526
2527         No new tests.
2528
2529         (WebCore):
2530         * rendering/RenderBoxModelObject.cpp:
2531         (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
2532         (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
2533         Fix implementation of pixelSnappedOffsetWidth/Height. The location
2534         parameter will be ignored until we enable subpixel support.
2535
2536         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2537         Use ints for border widths.
2538         
2539         (WebCore::resolveWidthForRatio):
2540         (WebCore::resolveHeightForRatio):
2541         (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio):
2542         (WebCore::resolveAgainstIntrinsicRatio):
2543         Change resolve*Ratio methods to operate on IntSizes as none of the
2544         callers need subpixel precision.
2545
2546         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2547         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2548         Pixel snap paintRect when computing image geometry.
2549
2550 2012-03-16  Terry Anderson  <tdanderson@chromium.org>
2551
2552         100% height elements to not respond to vertical browser rescaling
2553         https://bugs.webkit.org/show_bug.cgi?id=43022
2554
2555         Reviewed by Julien Chaffraix.
2556
2557         Test: fast/replaced/vertical-resize-100percent-element.html
2558
2559         * rendering/RenderBox.cpp:
2560         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2561             For the case where a replaced element has a percentage height,
2562             we update the entries in RenderBlock::gPercentHeightDescendantsMap
2563             corresponding to all ancestors of the replaced element.
2564
2565 2012-03-15  Daniel Cheng  <dcheng@chromium.org>
2566
2567         [chromium] Refactor ClipboardChromium and DataTransferItemList/DataTransferItem to support HTML spec
2568         https://bugs.webkit.org/show_bug.cgi?id=76598
2569
2570         Reviewed by Tony Chang.
2571
2572         We no longer store drag/clipboard data in named fields. We used to maintain the data store
2573         list separately, which resulted in a lot of complicated code to try to make sure that
2574         ChromiumDataObject and this list stayed in sync. We now just store what is essentially a
2575         list MIME type/data pairs directly in ChromiumDataObject. This has the benefit of letting us
2576         easily add write support during dragstart/copy operations using DataTransferItemList.
2577
2578         Tests: fast/events/clipboard-dataTransferItemList.html
2579                fast/events/drag-dataTransferItemList.html
2580
2581         * platform/chromium/ChromiumDataObject.cpp:
2582         (WebCore::findItem):
2583         (WebCore::ChromiumDataObject::createFromPasteboard):
2584         (WebCore::ChromiumDataObject::create):
2585         (WebCore::ChromiumDataObject::copy):
2586         (WebCore::ChromiumDataObject::items):
2587         (WebCore::ChromiumDataObject::clearData):
2588         (WebCore::ChromiumDataObject::clearAll):
2589         (WebCore::ChromiumDataObject::clearAllExceptFiles):
2590         (WebCore::ChromiumDataObject::types):
2591         (WebCore::ChromiumDataObject::getData):
2592         (WebCore::ChromiumDataObject::setData):
2593         (WebCore::ChromiumDataObject::urlAndTitle):
2594         (WebCore::ChromiumDataObject::setURLAndTitle):
2595         (WebCore::ChromiumDataObject::htmlAndBaseURL):
2596         (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
2597         (WebCore::ChromiumDataObject::containsFilenames):
2598         (WebCore):
2599         (WebCore::ChromiumDataObject::filenames):
2600         (WebCore::ChromiumDataObject::addFilename):
2601         (WebCore::ChromiumDataObject::addSharedBuffer):
2602         (WebCore::ChromiumDataObject::ChromiumDataObject):
2603         * platform/chromium/ChromiumDataObject.h:
2604         (WebCore):
2605         (ChromiumDataObject):
2606         * platform/chromium/ClipboardChromium.cpp:
2607         (WebCore::normalizeType):
2608         (WebCore::ClipboardChromium::ClipboardChromium):
2609         (WebCore::ClipboardChromium::clearData):
2610         (WebCore::ClipboardChromium::clearAllData):
2611         (WebCore::ClipboardChromium::getData):
2612         (WebCore::ClipboardChromium::setData):
2613         (WebCore::ClipboardChromium::types):
2614         (WebCore::ClipboardChromium::files):
2615         (WebCore::writeImageToDataObject):
2616         (WebCore::ClipboardChromium::declareAndWriteDragImage):
2617         (WebCore::ClipboardChromium::writeURL):
2618         (WebCore::ClipboardChromium::writeRange):
2619         (WebCore::ClipboardChromium::writePlainText):
2620         (WebCore::ClipboardChromium::hasData):
2621         (WebCore::ClipboardChromium::items):
2622         * platform/chromium/ClipboardChromium.h:
2623         (WebCore):
2624         (ClipboardChromium):
2625         (WebCore::ClipboardChromium::frame):
2626         * platform/chromium/ClipboardUtilitiesChromium.cpp:
2627         (WebCore::convertURIListToURL):
2628         (WebCore):
2629         * platform/chromium/ClipboardUtilitiesChromium.h:
2630         (WebCore):
2631         * platform/chromium/DataTransferItemChromium.cpp:
2632         (WebCore::DataTransferItemChromium::createFromString):
2633         (WebCore::DataTransferItemChromium::createFromFile):
2634         (WebCore::DataTransferItemChromium::createFromURL):
2635         (WebCore::DataTransferItemChromium::createFromHTML):
2636         (WebCore):
2637         (WebCore::DataTransferItemChromium::createFromSharedBuffer):
2638         (WebCore::DataTransferItemChromium::createFromPasteboard):
2639         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
2640         (WebCore::DataTransferItemChromium::getAsString):
2641         (WebCore::DataTransferItemChromium::getAsFile):
2642         (WebCore::DataTransferItemChromium::internalGetAsString):
2643         (WebCore::DataTransferItemChromium::isFilename):
2644         * platform/chromium/DataTransferItemChromium.h:
2645         (WebCore):
2646         (DataTransferItemChromium):
2647         (WebCore::DataTransferItemChromium::kind):
2648         (WebCore::DataTransferItemChromium::type):
2649         (WebCore::DataTransferItemChromium::sharedBuffer):
2650         (WebCore::DataTransferItemChromium::title):
2651         (WebCore::DataTransferItemChromium::baseURL):
2652         * platform/chromium/DataTransferItemListChromium.cpp:
2653         (WebCore::DataTransferItemListChromium::create):
2654         (WebCore::DataTransferItemListChromium::createFromPasteboard):
2655         (WebCore):
2656         (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
2657         (WebCore::DataTransferItemListChromium::length):
2658         (WebCore::DataTransferItemListChromium::item):
2659         (WebCore::DataTransferItemListChromium::deleteItem):
2660         (WebCore::DataTransferItemListChromium::clear):
2661         (WebCore::DataTransferItemListChromium::add):
2662         (WebCore::DataTransferItemListChromium::internalAddStringItem):
2663         (WebCore::DataTransferItemListChromium::internalAddFileItem):
2664         * platform/chromium/DataTransferItemListChromium.h:
2665         (WebCore):
2666         (DataTransferItemListChromium):
2667         * platform/chromium/DragDataChromium.cpp:
2668         (WebCore::DragData::asURL):
2669         (WebCore::DragData::asPlainText):
2670         (WebCore::DragData::asFragment):
2671
2672 2012-03-16  Matt Lilek  <mrl@apple.com>
2673
2674         Don't install libWebCoreTestSupport on OS X production builds
2675         https://bugs.webkit.org/show_bug.cgi?id=81087
2676
2677         Reviewed by Mark Rowe.
2678
2679         * Configurations/WebCoreTestSupport.xcconfig:
2680
2681 2012-03-16  Tony Chang  <tony@chromium.org>
2682
2683         incorrectly removing scrollbar height for auto height flexbox children
2684         https://bugs.webkit.org/show_bug.cgi?id=81388
2685
2686         Reviewed by Ojan Vafai.
2687
2688         In a column flexbox, when computing the preferred height of an auto
2689         height child, we were subtracting out the horizontal scrollbar height.
2690
2691         New test case in css3/flexbox/columns-auto-size.html.
2692
2693         * rendering/RenderFlexibleBox.cpp:
2694         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
2695
2696 2012-03-16  Adam Klein  <adamk@chromium.org>
2697
2698         Out-of-document radio buttons should be grouped when associated with a form
2699         https://bugs.webkit.org/show_bug.cgi?id=81268
2700
2701         Reviewed by Kent Tamura.
2702
2703         Per the HTML spec, and the behavior of Firefox and IE 8/9, radio buttons
2704         with a form owner should be grouped, even if that form is not in the document.
2705
2706         r104668 added many inDocument() tests to radio button grouping code.
2707         While those are necessary to avoid unattached <input type=radio>
2708         elements being grouped together, it also kept them from being grouped
2709         when associated with a form outside the document.
2710
2711         This patch changes the HTMLInputElement::checkedRadioButtons() method
2712         to return either a pointer to the proper CheckedRadioButtons instance
2713         (either the document's or a form's), but will return null if the
2714         element should not be associated with any radio button group.
2715
2716         The main fallout of this was that the callers of checkedRadioButtons()
2717         now have to check for null, resulting in the creation of a few helper
2718         methods in HTMLInputElement to wrap the null checks.
2719
2720         This refactoring has the pleasant side-effect of exposing a cleaner API between
2721         HTMLInputElement and RadioInputType, and making a clearer contract
2722         between HTMLInputElement and CheckedRadioButtons (e.g., all
2723         CheckedRadioButtons methods that take an element can now assume that
2724         it is a radio button, where previously some checked for that and
2725         others asserted it).
2726
2727         Test: fast/forms/radio/radio-group-in-detached-form.html
2728
2729         * dom/CheckedRadioButtons.cpp:
2730         (WebCore): Removed shouldMakeRadioGroup() helper function.
2731         (WebCore::CheckedRadioButtons::addButton): Replace call to shouldMakeRadioGroup
2732         with appropriate assert and name check.
2733         (WebCore::CheckedRadioButtons::updateCheckedState): ditto.
2734         (WebCore::CheckedRadioButtons::requiredAttributeChanged): ditto.
2735         (WebCore::CheckedRadioButtons::isRequiredGroup): Renamed from isInRequiredGroup,
2736         changed to take only a group name, not an element.
2737         (WebCore::CheckedRadioButtons::removeButton): Replace call to shouldMakeRadioGroup.
2738         with appropriate assert and name check.
2739         * dom/CheckedRadioButtons.h:
2740         (CheckedRadioButtons):
2741         * html/HTMLInputElement.cpp:
2742         (WebCore::HTMLInputElement::~HTMLInputElement): Added isRadioButton check
2743         now that it's asserted in CheckedRadioButtons.
2744         (WebCore::HTMLInputElement::updateType): Call helper method instead of
2745         calling directly into CheckedRadioButtons.
2746         (WebCore::HTMLInputElement::parseAttribute): ditto.
2747         (WebCore::HTMLInputElement::setChecked): ditto.
2748         (WebCore::HTMLInputElement::willChangeForm): ditto.
2749         (WebCore::HTMLInputElement::didChangeForm): ditto.
2750         (WebCore::HTMLInputElement::insertedIntoDocument): ditto.
2751         (WebCore::HTMLInputElement::removedFromDocument): ditto.
2752         (WebCore::HTMLInputElement::didMoveToNewDocument): Added isRadioButton check.
2753         (WebCore::HTMLInputElement::requiredAttributeChanged): Check for membership in a group
2754         before calling into CheckedRadioButtons.
2755         (WebCore::HTMLInputElement::isInRequiredRadioButtonGroup): Added helper method for use by RadioInputType.
2756         (WebCore):
2757         (WebCore::HTMLInputElement::checkedRadioButtonForGroup): ditto.
2758         (WebCore::HTMLInputElement::checkedRadioButtons): Changed to return a
2759         pointer, only return non-null if actually a member of a group.
2760         (WebCore::HTMLInputElement::addToRadioButtonGroup): Helper method for
2761         use in HTMLInputElement.
2762         (WebCore::HTMLInputElement::removeFromRadioButtonGroup): ditto.
2763         * html/HTMLInputElement.h:
2764         (HTMLInputElement): Added/removed methods, removed outdated comment about visibility.
2765         * html/RadioInputType.cpp:
2766         (WebCore::RadioInputType::valueMissing): Call new HTMLInputElement methods instead
2767         of interacting directly with CheckedRadioButtons.
2768         (WebCore::RadioInputType::isKeyboardFocusable): ditto.
2769         (WebCore::RadioInputType::willDispatchClick): ditto.
2770
2771 2012-03-16  David Hyatt  <hyatt@apple.com>
2772
2773         https://bugs.webkit.org/show_bug.cgi?id=81366
2774         
2775         Add RenderMultiColumnBlock subclass of RenderBlock. This new class will hold all of the multi-column
2776         logic (as well as painting/hit testing). That way the column code can be kept out of the base class
2777         and be more cleanly factored.
2778
2779         Patch Node::diff so that we detach and re-attach the renderer if column counts or widths change
2780         from auto to non-auto (and vice versa) to ensure the right renderer gets made.
2781         
2782         Patch RenderObject::createObject to make a RenderMultiColumnBlock if either the column count or
2783         column width is non-auto.
2784         
2785         Patch RenderBlock::calcColumnWidth to "turn off" the old implementation of columns if the pref to use
2786         the new column implementation is set. This single chokepoint should be sufficient for disabling the old
2787         columns in favor of the new.
2788
2789         Reviewed by Dan Bernstein.
2790
2791         * CMakeLists.txt:
2792         * GNUmakefile.list.am:
2793         * WebCore.gypi:
2794         * WebCore.vcproj/WebCore.vcproj:
2795         * WebCore.xcodeproj/project.pbxproj:
2796         * dom/Document.cpp:
2797         (WebCore::Document::regionBasedColumnsEnabled):
2798         (WebCore):
2799         (WebCore::Document::recalcStyle):
2800         * dom/Document.h:
2801         (Document):
2802         * dom/Element.cpp:
2803         (WebCore::Element::recalcStyle):
2804         * dom/Node.cpp:
2805         (WebCore::Node::diff):
2806         * dom/Node.h:
2807         * rendering/RenderBlock.cpp:
2808         (WebCore::RenderBlock::calcColumnWidth):
2809         (WebCore::RenderBlock::updateFirstLetterStyle):
2810         * rendering/RenderMultiColumnBlock.cpp: Added.
2811         (WebCore):
2812         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
2813         (WebCore::RenderMultiColumnBlock::renderName):
2814         * rendering/RenderMultiColumnBlock.h: Added.
2815         (WebCore):
2816         (RenderMultiColumnBlock):
2817         * rendering/RenderObject.cpp:
2818         (WebCore::RenderObject::createObject):
2819         * rendering/RenderObjectChildList.cpp:
2820         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2821
2822 2012-03-16  Stephen White  <senorblanco@chromium.org>
2823
2824         [chromium] Improve CSS3 filter blur performance.
2825         https://bugs.webkit.org/show_bug.cgi?id=81360
2826
2827         This change improves blur performance by 2-2.5X on blurred CSS
2828         3D transforms and accelerated canvas demos by skipping an unnecessary
2829         texture allocation and bitmap draw.
2830
2831         Reviewed by James Robinson.
2832
2833         Covered by existing layout tests in css3/filters.
2834
2835         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
2836         (WebCore::CCRenderSurfaceFilters::apply):
2837         Call SkCanvas::drawSprite() directly instead of using
2838         saveLayer()/restore().
2839
2840 2012-03-16  Joshua Bell  <jsbell@chromium.org>
2841
2842         [Chromium] IndexedDB: Assertion failure when storing File objects
2843         https://bugs.webkit.org/show_bug.cgi?id=76746
2844
2845         The blob data in Blob/File/FileList objects is serialized "by reference" (the
2846         internal URL) rather than "by value" (the actual data); this is sufficient for
2847         postMessage() but not for IndexedDB since the referenced data is not retained
2848         Expose a mechanism to enumerate the URLs so that SSVs can be rejected by IDB
2849         until blob data serialization can is implemented (outside the SSV mechanism, and
2850         potentially asynchronously).
2851
2852         Also, correct issue in V8DOMWrapper::instantiateV8Object where context is assumed
2853         to be a Worker context if it's not a Window, which is incorrect for the
2854         Chromium utility process; this is hit if Blobs are not blocked.
2855
2856         Reviewed by Tony Chang.
2857
2858         Test: storage/indexeddb/noblobs.html
2859
2860         * Modules/indexeddb/IDBCursor.cpp:
2861         (WebCore::IDBCursor::update): Reject SSVs that contain blob references.
2862         * Modules/indexeddb/IDBObjectStore.cpp:
2863         (WebCore::IDBObjectStore::add): Reject SSVs that contain blob references.
2864         (WebCore::IDBObjectStore::put): Reject SSVs that contain blob references.
2865         * bindings/js/SerializedScriptValue.cpp:
2866         (WebCore::CloneSerializer::serialize):
2867         (WebCore::CloneSerializer::CloneSerializer):
2868         (WebCore::CloneSerializer::dumpIfTerminal):
2869         (WebCore::CloneSerializer::write):
2870         (CloneSerializer):
2871         (WebCore::SerializedScriptValue::SerializedScriptValue):
2872         (WebCore::SerializedScriptValue::create):
2873         (WebCore::SerializedScriptValue::undefinedValue):
2874         (WebCore::SerializedScriptValue::booleanValue):
2875         * bindings/js/SerializedScriptValue.h: New API to enable the clients to be picky.
2876         * bindings/v8/SerializedScriptValue.cpp:
2877         (WebCore::SerializedScriptValue::SerializedScriptValue):
2878         * bindings/v8/SerializedScriptValue.h: New API to enable the clients to be picky.
2879         (WebCore::SerializedScriptValue::blobURLs):
2880         (SerializedScriptValue):
2881         * bindings/v8/V8DOMWrapper.cpp:
2882         (WebCore::V8DOMWrapper::instantiateV8Object):  Ensure context is a worker context before treating it as such.
2883
2884 2012-03-16  Erik Arvidsson  <arv@chromium.org>
2885
2886         [V8] Ensure that invalid syntax in inline event handlers does not cause a crash
2887         https://bugs.webkit.org/show_bug.cgi?id=81385
2888
2889         Reviewed by Nate Chapin.
2890
2891         The way that V8 does its inline event handler involves concatting strings and
2892         if the attribute value is crafted in a special way this could cause a crash.
2893
2894         Test: fast/dom/inline-event-attributes-crash.html
2895
2896         * bindings/v8/V8LazyEventListener.cpp:
2897         (WebCore::V8LazyEventListener::prepareListenerObject):
2898
2899 2012-03-14  Jer Noble  <jer.noble@apple.com>
2900
2901         Wrong icon to restore to windowed mode in full screen video panel
2902         https://bugs.webkit.org/show_bug.cgi?id=70437
2903
2904         Reviewed by Eric Carlson.
2905
2906         No new tests. Updated platform/mac/accessibility/media-element-expected.txt.
2907
2908         Renamed MediaFullscreenButton to MediaEnterFullscreenButton and added MediaExitFullscreenButton:
2909         * accessibility/AccessibilityMediaControls.cpp:
2910         (WebCore::AccessibilityMediaControl::controlTypeName):
2911         (WebCore::AccessibilityMediaControl::roleValue):
2912         * html/shadow/MediaControlElements.cpp:
2913         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
2914         * css/CSSPrimitiveValueMappings.h:
2915         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2916         * css/CSSValueKeywords.in:
2917         * platform/ThemeTypes.h:
2918
2919         Added setIsFullscreen which controls the display of the enter/exit fullscreen button:
2920         * html/shadow/MediaControlElements.cpp:
2921         (WebCore::MediaControlFullscreenButtonElement::setIsFullscreen): Added.
2922         * html/shadow/MediaControlElements.h:
2923         * html/shadow/MediaControlRootElement.cpp:
2924         (WebCore::MediaControlRootElement::enteredFullscreen):
2925         (WebCore::MediaControlRootElement::exitedFullscreen):
2926
2927         Paint the enter/exit fullscreen button accordingly:
2928         * rendering/RenderMediaControlsChromium.cpp:
2929         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2930         * rendering/RenderTheme.cpp:
2931         (WebCore::RenderTheme::paint):
2932         * rendering/RenderThemeChromiumAndroid.cpp:
2933         (WebCore::RenderThemeChromiumAndroid::paintMediaFullscreenButton):
2934         * rendering/RenderThemeMac.mm:
2935         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
2936         * rendering/RenderMediaControls.cpp:
2937         (WebCore::RenderMediaControls::paintMediaControlsPart):
2938         * rendering/RenderThemeSafari.cpp:
2939         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
2940
2941         Update the localized strings for the exit and enter fullscreen buttons:
2942         * English.lproj/Localizable.strings:
2943         * platform/LocalizedStrings.cpp:
2944         (WebCore::localizedMediaControlElementString):
2945         * platform/gtk/LocalizedStringsGtk.cpp:
2946         (WebCore::localizedMediaControlElementString):
2947         (WebCore::localizedMediaControlElementHelpText):
2948         * platform/qt/LocalizedStringsQt.cpp:
2949         (WebCore::localizedMediaControlElementString):
2950         (WebCore::localizedMediaControlElementHelpText):
2951
2952 2012-03-16  Levi Weintraub  <leviw@chromium.org>
2953
2954         Update LayoutUnit usage in RenderListBox
2955         https://bugs.webkit.org/show_bug.cgi?id=81038
2956
2957         Reviewed by Julien Chaffraix.
2958
2959         Bringing RenderListBox in line with the rules listed in
2960         https://trac.webkit.org/wiki/LayoutUnit
2961
2962         No new tests. No change in behavior.
2963
2964         * rendering/RenderListBox.cpp:
2965         (WebCore::RenderListBox::paintScrollbar): Pixel snapping before handing off scrollbar
2966         painting to the platform.
2967         (WebCore::RenderListBox::paintItemForeground): Rounding the offset for text painting.
2968         (WebCore::RenderListBox::paintItemBackground): Pixel snapping the background rect.
2969         (WebCore::RenderListBox::panScroll): EventHandler::currentMousePosition is an IntPoint,
2970         so it doesn't require additional rounding in RenderListBox.
2971
2972 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2973
2974         Unreviewed, rolling out r111020.
2975         http://trac.webkit.org/changeset/111020
2976         https://bugs.webkit.org/show_bug.cgi?id=81377
2977
2978         Broke Chromium Win compile (Requested by pkasting on #webkit).
2979
2980         * GNUmakefile.list.am:
2981         * WebCore.gypi:
2982         * platform/mediastream/PeerConnection00Handler.cpp: Removed.
2983         * platform/mediastream/PeerConnection00Handler.h: Removed.
2984         * platform/mediastream/PeerConnection00HandlerClient.h: Removed.
2985
2986 2012-03-16  Dominic Mazzoni  <dmazzoni@google.com>
2987
2988         File input control accessibility can cause a crash
2989         https://bugs.webkit.org/show_bug.cgi?id=80896
2990
2991         Reviewed by Chris Fleizach.
2992
2993         Test: accessibility/input-file-causes-crash.html
2994
2995         * accessibility/AccessibilityRenderObject.cpp:
2996         (WebCore::AccessibilityRenderObject::textUnderElement):
2997
2998 2012-03-08  Jer Noble  <jer.noble@apple.com>
2999
3000         Support W3C Full Screen API proposal
3001         https://bugs.webkit.org/show_bug.cgi?id=80660
3002
3003         Reviewed by Alexey Proskuryakov.
3004
3005         Tests: fullscreen/full-screen-element-stack.html
3006                fullscreen/full-screen-enabled.html
3007                fullscreen/full-screen-restrictions.html
3008
3009         The W3C proposal for taking arbitrary elements into full-screen mode is significantly
3010         different than the Mozilla proposal. For example, the W3C has proposed a lower-case "s"
3011         in "Fullscreen", which means the W3C and Mozilla "requestFullscreen" APIs differ only by
3012         in that lower-case "s". Annoying as this is, it does allow us to retain the semantics for
3013         the Mozilla case (har!).
3014
3015         A significant difficulty is obeying the new W3C spec rules is that we would like to apply the
3016         fullscreen CSS rules while exiting fullscreen mode, though the W3C spec insists that the
3017         webkitFullscreenElement returns the new value immediately.  As such, we retain the m_fullScreenElement
3018         variable (distinct from the top of the m_fullScreenElements stack) which is controlled by the
3019         webkit{Will,Did}{Enter,Exit}FullScreen functions.
3020
3021         New APIs for the W3C Fullscreen spec:
3022         * dom/Document.h:
3023         (WebCore::Document::webkitFullscreenElement):
3024         (WebCore::Document::webkitFullscreenEnabled):
3025         * dom/Document.idl:
3026         * dom/Element.cpp:
3027         (WebCore::Element::webkitRequestFullscreen):
3028         * dom/Element.h:
3029         * dom/Element.idl:
3030
3031         * dom/Document.cpp:
3032         (WebCore::Document::removedLastRef): Clear m_fullScreenElementStack.
3033         (WebCore::Document::requestFullScreenForElement): Implement the W3C requirements.
3034         (WebCore::Document::webkitExitFullscreen): Ditto.
3035         (WebCore::Document::webkitCancelFullScreen): Implement in terms of webkitCancelFullscreen.
3036         (WebCore::Document::webkitDidEnterFullScreenForElement): 
3037         (WebCore::Document::webkitWillExitFullScreenForElement):
3038         (WebCore::Document::webkitDidExitFullScreenForElement):
3039         (WebCore::Document::fullScreenChangeDelayTimerFired): Protect against items being
3040             added to the event and error queue by swapping out empty queues before starting.
3041         (WebCore::Document::clearFullscreenElementStack): Simple accessor.
3042         (WebCore::Document::popFullscreenElementStack): Ditto.
3043         (WebCore::Document::pushFullscreenElementStack): Ditto.
3044         * dom/Element.cpp:
3045         (WebCore::Element::webkitRequestFullScreen):
3046
3047         Add new RuntimeEnabledFeatures functions for the added Document and Element functions.
3048         * bindings/generic/RuntimeEnabledFeatures.h:
3049         (RuntimeEnabledFeatures):
3050         (WebCore::RuntimeEnabledFeatures::webkitFullscreenEnabledEnabled):
3051         (WebCore::RuntimeEnabledFeatures::webkitFullscreenElementEnabled):
3052         (WebCore::RuntimeEnabledFeatures::webkitExitFullscreenEnabled):
3053         (WebCore::RuntimeEnabledFeatures::webkitRequestFullscreenEnabled):
3054
3055
3056 2012-03-16  Adam Klein  <adamk@chromium.org>
3057
3058         Make HTMLInputElement::isRadioButton non-virtual and remove unused HTMLFormControlElement::isRadioButton method
3059         https://bugs.webkit.org/show_bug.cgi?id=81255
3060
3061         Reviewed by Kent Tamura.
3062
3063         No new tests, no change in behavior.
3064
3065         * html/HTMLFormControlElement.h:
3066         * html/HTMLInputElement.h:
3067         (HTMLInputElement):
3068
3069 2012-03-16  Tay Grigg  <tgrigg@rim.com>
3070
3071         [BlackBerry] Update NetworkJob to accept batched headers
3072         https://bugs.webkit.org/show_bug.cgi?id=81273
3073
3074         Batch up the headers into a vector before they come into
3075         webkit to increase performance, and simplify the API.
3076
3077         Reviewed by George Staikos.
3078
3079         * platform/network/blackberry/NetworkJob.cpp:
3080         (WebCore::NetworkJob::notifyHeadersReceived):
3081         * platform/network/blackberry/NetworkJob.h:
3082         (NetworkJob):
3083
3084 2012-03-16  Dana Jansens  <danakj@chromium.org>
3085
3086         [chromium] Add overdraw metrics for texture uploads
3087         https://bugs.webkit.org/show_bug.cgi?id=81175
3088
3089         Reviewed by Adrienne Walker.
3090
3091         Record texture upload metrics during paint. To properly record
3092         the amount of pixels culled, we must compute the amount of pixels we
3093         would have uploaded for a tile. This requires knowing the dirty rect of
3094         the tile, but the dirty rect can be changed by WebKit during a paint, so
3095         we always store the dirtyRect in the tile's updateRect. We add an
3096         m_updateCulled bool to the UpdatableTile structure, to identify tiles
3097         that were not updated, and know a tile was updated if updateRect is not
3098         empty and updateCulled is false.
3099
3100         Tested by all TiledLayerChromiumTests that use occlusion tracker.
3101
3102         * platform/graphics/chromium/TiledLayerChromium.cpp:
3103         (UpdatableTile):
3104         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
3105         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3106         (WebCore::CCLayerTreeHost::paintLayerContents):
3107
3108 2012-03-16  Jer Noble  <jer.noble@apple.com>
3109
3110         Allow AudioContext::create() to emit an ExceptionCode.
3111         https://bugs.webkit.org/show_bug.cgi?id=81049
3112
3113         Reviewed by Kentaro Hara.
3114
3115         No new tests; no change in functionality.
3116
3117         Pass through an ExceptionCode parameter to AudioContext::create().  It is currently
3118         never modified, but exceptions will be added in the future.
3119
3120         * bindings/js/JSAudioContextCustom.cpp:
3121         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
3122         * bindings/v8/custom/V8AudioContextCustom.cpp:
3123         (WebCore::V8AudioContext::constructorCallback):
3124         * webaudio/AudioContext.cpp:
3125         (WebCore::AudioContext::create):
3126         * webaudio/AudioContext.h:
3127
3128 2012-03-16  Dana Jansens  <danakj@chromium.org>
3129
3130         [chromium] Remove surface damage client from occlusion tracker
3131         https://bugs.webkit.org/show_bug.cgi?id=81242
3132
3133         Reviewed by Adrienne Walker.
3134
3135         Code was not used yet, so no new tests. Removing tests instead!
3136
3137         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3138         (WebCore::::CCOcclusionTrackerBase):
3139         (WebCore::::layerScissorRectInTargetSurface):
3140         (WebCore):
3141         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
3142         (WebCore):
3143         (CCOcclusionTrackerBase):
3144
3145 2012-03-16  Tommy Widenflycht  <tommyw@google.com>
3146
3147         MediaStream API (JSEP): Introducing PeerConnection00Handler
3148         https://bugs.webkit.org/show_bug.cgi?id=81333
3149
3150         Reviewed by Adam Barth.
3151
3152         In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
3153
3154         Not possible to test until the entire JSEP feature is commited.
3155
3156         * GNUmakefile.list.am:
3157         * WebCore.gypi:
3158         * platform/mediastream/PeerConnection00Handler.cpp: Added.
3159         (WebCore):
3160         (WebCore::PeerConnection00Handler::create):
3161         (WebCore::PeerConnection00Handler::PeerConnection00Handler):
3162         (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
3163         (WebCore::PeerConnection00Handler::createOffer):
3164         (WebCore::PeerConnection00Handler::createAnswer):
3165         (WebCore::PeerConnection00Handler::setLocalDescription):
3166         (WebCore::PeerConnection00Handler::setRemoteDescription):
3167         (WebCore::PeerConnection00Handler::localDescription):
3168         (WebCore::PeerConnection00Handler::remoteDescription):
3169         (WebCore::PeerConnection00Handler::startIce):
3170         (WebCore::PeerConnection00Handler::processIceMessage):
3171         (WebCore::PeerConnection00Handler::addStream):
3172         (WebCore::PeerConnection00Handler::removeStream):
3173         (WebCore::PeerConnection00Handler::stop):
3174         * platform/mediastream/PeerConnection00Handler.h: Added.
3175         (WebCore):
3176         (PeerConnection00Handler):
3177         * platform/mediastream/PeerConnection00HandlerClient.h: Added.
3178         (WebCore):
3179         (PeerConnection00HandlerClient):
3180         (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
3181
3182 2012-03-16  Pavel Podivilov  <podivilov@chromium.org>
3183
3184         Web Inspector: fix exception when hovering over bound function in heap profiler.
3185         https://bugs.webkit.org/show_bug.cgi?id=81362
3186
3187         Reviewed by Yury Semikhatsky.
3188
3189         * inspector/front-end/DebuggerPresentationModel.js:
3190         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
3191
3192 2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
3193
3194         [Forms] The "progress" element should not be a form-associated element.
3195         https://bugs.webkit.org/show_bug.cgi?id=80240
3196
3197         Reviewed by Kent Tamura.
3198
3199         This patch changes base class of HTMLProgressElement to LabelableElement from
3200         HTMLFormControlElement for saving memory space and iteration time of
3201         extra "progress" elements in HTMLFormElement::m_formAssociatedElements
3202         and matching the HTML5 specification for ease of maintenance.
3203
3204         Changes of TextIterator is lead by usage of isFormControlElement. This
3205         changes will be replaced with more meaningful predicate as part of
3206         https://bugs.webkit.org/show_bug.cgi?id=80381
3207
3208         No new tests. Update existing tests to cover this change.
3209
3210         * css/CSSStyleSelector.cpp:
3211         (WebCore::CSSStyleSelector::canShareStyleWithElement): Moved the "progress" element support code from canShareStyleWithControl.
3212         (WebCore::CSSStyleSelector::canShareStyleWithControl):
3213         * css/SelectorChecker.cpp:
3214         (WebCore::SelectorChecker::checkOneSelector): Remove isFormControlElement check for PseudoIndeterminate.
3215         * editing/TextIterator.cpp:
3216         (WebCore::TextIterator::advance): Check HTMLProgressElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
3217         * html/HTMLProgressElement.cpp: Remove unused include file.
3218         (WebCore::HTMLProgressElement::HTMLProgressElement): Changed base class to LabelableElement.
3219         (WebCore::HTMLProgressElement::create): Remove form paraprogress.
3220         (WebCore::HTMLProgressElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement.
3221         (WebCore::HTMLProgressElement::attach): Replace HTMLFormControlElement to LabelableElement.
3222         * html/HTMLProgressElement.h:
3223         (HTMLProgressElement):
3224         * html/HTMLProgressElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
3225         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
3226
3227 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
3228
3229         Web Inspector: Heap Snapshot: Unreviewed single line fix for isWindow getter.
3230
3231         * inspector/front-end/HeapSnapshot.js:
3232         (WebInspector.HeapSnapshotNode.prototype.get isWindow):
3233
3234 2012-03-16  Tommy Widenflycht  <tommyw@google.com>
3235
3236         MediaStream API (JSEP): Fixing a few nits
3237         https://bugs.webkit.org/show_bug.cgi?id=81322
3238
3239         Reviewed by Adam Barth.
3240
3241         Addressing the nits from bugs 81206 and 81207.
3242
3243         Nothing to test.
3244
3245         * Modules/mediastream/SessionDescription.idl:
3246         * platform/mediastream/IceOptions.h:
3247         (WebCore::IceOptions::IceOptions):
3248         * platform/mediastream/SessionDescriptionDescriptor.h:
3249         (SessionDescriptionDescriptor):
3250
3251 2012-03-16  Peter Rybin  <peter.rybin@gmail.com>
3252
3253         Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
3254         https://bugs.webkit.org/show_bug.cgi?id=80789
3255
3256         Reviewed by Yury Semikhatsky.
3257
3258         OptOutput class is added for optional return parameters.
3259
3260         Strict mode added to Generator that makes all parameter types strict
3261         and drop pre-set default values for return parameters.
3262
3263         Debugger and Page domain is switched to strict mode.
3264
3265         * inspector/CodeGeneratorInspector.py:
3266         (CommandReturnPassModel.OptOutput):
3267         (CommandReturnPassModel.OptOutput.__init__):
3268         (CommandReturnPassModel.OptOutput.get_return_var_type):
3269         (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
3270         (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
3271         (CommandReturnPassModel.OptOutput.get_output_parameter_type):
3272         (CommandReturnPassModel):
3273         (CommandReturnPassModel.OptOutput.get_set_return_condition):
3274         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
3275         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
3276         (OptOutput):
3277         (Generator.process_event):
3278         (Generator.process_command):
3279         * inspector/ContentSearchUtils.cpp:
3280         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
3281         (WebCore::ContentSearchUtils::searchInTextByLines):
3282         * inspector/ContentSearchUtils.h:
3283         (ContentSearchUtils):
3284         * inspector/InjectedScript.cpp:
3285         (WebCore::InjectedScript::evaluate):
3286         (WebCore::InjectedScript::callFunctionOn):
3287         (WebCore::InjectedScript::evaluateOnCallFrame):
3288         (WebCore::InjectedScript::makeEvalCall):
3289         * inspector/InjectedScript.h:
3290         (InjectedScript):
3291         * inspector/InspectorDOMDebuggerAgent.cpp:
3292         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
3293         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
3294         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
3295         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
3296         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
3297         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
3298         * inspector/InspectorDebuggerAgent.cpp:
3299         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3300         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3301         (WebCore::InspectorDebuggerAgent::searchInContent):
3302         (WebCore::InspectorDebuggerAgent::setScriptSource):
3303         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
3304         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
3305         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3306         (WebCore::InspectorDebuggerAgent::didPause):
3307         (WebCore::InspectorDebuggerAgent::breakProgram):
3308         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
3309         * inspector/InspectorDebuggerAgent.h:
3310         (InspectorDebuggerAgent):
3311         * inspector/InspectorPageAgent.cpp:
3312         (WebCore::buildObjectForCookie):
3313         (WebCore::buildArrayForCookies):
3314         (WebCore::InspectorPageAgent::getCookies):
3315         (WebCore::InspectorPageAgent::getResourceTree):
3316         (WebCore::InspectorPageAgent::searchInResource):
3317         (WebCore::InspectorPageAgent::searchInResources):
3318         (WebCore::InspectorPageAgent::buildObjectForFrame):
3319         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
3320         * inspector/InspectorPageAgent.h:
3321         * inspector/InspectorRuntimeAgent.cpp:
3322         (WebCore::InspectorRuntimeAgent::evaluate):
3323         (WebCore::InspectorRuntimeAgent::callFunctionOn):
3324
3325 2012-03-16  Kentaro Hara  <haraken@chromium.org>
3326
3327         The IDL parser should support sequence<T> type
3328         https://bugs.webkit.org/show_bug.cgi?id=81345
3329
3330         Reviewed by Adam Barth.
3331
3332         This patch makes the IDL parser support sequence<T> type.
3333         This patch just makes sequence<T> parseable, and the generated code
3334         for sequence<T> is wrong. This issue will be soon fixed in bug 80696.
3335         This is a preparing patch for bug 80696.
3336
3337         Test: bindings/scripts/test/TestObj.idl
3338
3339         * bindings/scripts/test/TestObj.idl: Added tests for sequence<T>.
3340
3341         * bindings/scripts/IDLStructure.pm: Updated the regular expressions to support sequence<T>.
3342
3343         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
3344         (WebDOMTestObj::sequenceAttr):
3345         (WebDOMTestObj::setSequenceAttr):
3346         (WebDOMTestObj::methodWithSequenceArg):
3347         (WebDOMTestObj::methodReturningSequence):
3348         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3349         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3350         (webkit_dom_test_obj_method_with_sequence_arg):
3351         (webkit_dom_test_obj_method_returning_sequence):
3352         (webkit_dom_test_obj_get_sequence_attr):
3353         (webkit_dom_test_obj_set_sequence_attr):
3354         (webkit_dom_test_obj_get_property):
3355         (webkit_dom_test_obj_class_init):
3356         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3357         * bindings/scripts/test/JS/JSTestObj.cpp:
3358         (WebCore):
3359         (WebCore::jsTestObjSequenceAttr):
3360         (WebCore::setJSTestObjSequenceAttr):
3361         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
3362         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
3363         * bindings/scripts/test/JS/JSTestObj.h:
3364         (WebCore):
3365         * bindings/scripts/test/ObjC/DOMTestObj.h:
3366         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3367         (-[DOMTestObj sequenceAttr]):
3368         (-[DOMTestObj setSequenceAttr:]):
3369         (-[DOMTestObj methodWithSequenceArg:]):
3370         (-[DOMTestObj methodReturningSequence:]):
3371         * bindings/scripts/test/V8/V8TestObj.cpp:
3372         (WebCore::TestObjInternal::sequenceAttrAttrGetter):
3373         (TestObjInternal):
3374         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
3375         (WebCore::TestObjInternal::methodWithSequenceArgCallback):
3376         (WebCore::TestObjInternal::methodReturningSequenceCallback):
3377         (WebCore):
3378         (WebCore::ConfigureV8TestObjTemplate):
3379
3380 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
3381
3382         Web Inspector: HeapSnapshot: merge two long operations into one.
3383         https://bugs.webkit.org/show_bug.cgi?id=81347
3384
3385         Reviewed by Yury Semikhatsky.
3386
3387         * inspector/front-end/HeapSnapshot.js:
3388         (WebInspector.HeapSnapshot.prototype.aggregates):
3389         (WebInspector.HeapSnapshot.prototype._buildAggregates):
3390         (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
3391
3392 2012-03-16  Gavin Peters  <gavinp@chromium.org>
3393
3394         Add asserts and improve logging in PageCache.
3395         https://bugs.webkit.org/show_bug.cgi?id=81179
3396
3397         Reviewed by Brady Eidson.
3398
3399         The early exits from logCanCacheFrameDecision had the potential to skew histogram data.  Moving
3400         the DocumentLoader check to the top, but eliminating the early exits is a compromise that keeps
3401         the logged data mostly accurate.
3402
3403         * history/PageCache.cpp:
3404         (WebCore::logCanCacheFrameDecision):
3405
3406 2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
3407
3408         [Forms] label.form attribute doesn't work
3409         https://bugs.webkit.org/show_bug.cgi?id=80499
3410
3411         Reviewed by Kent Tamura.
3412
3413         This patch changes implementation of label.form of IDL attribute to
3414         compute it to the form element specified by the "form" HTML attribute
3415         or form ancestor when the "form" HTML attribute isn't in HTML.
3416
3417         This patch introduces new function FormAssociatedElement::findAssociatedForm
3418         for sharing code among FormAssociateElement::insertedIntoTree, resetFormOwner
3419         and HTMLLabelElement::form.
3420
3421         No new tests. Update existing tests.
3422
3423         * html/FormAssociatedElement.cpp:
3424         (WebCore::FormAssociatedElement::findAssociatedForm): Added.
3425         (WebCore):
3426         (WebCore::FormAssociatedElement::insertedIntoTree):
3427         (WebCore::FormAssociatedElement::resetFormOwner):
3428         * html/FormAssociatedElement.h:
3429         (FormAssociatedElement):
3430         * html/HTMLLabelElement.cpp: Remove unused include files
3431         (WebCore::HTMLLabelElement::form): Added.
3432
3433 2012-03-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3434
3435         Use the normalize method of FloatPoint instead of normalizing manually
3436         https://bugs.webkit.org/show_bug.cgi?id=81343
3437
3438         Reviewed by Simon Hausmann.
3439
3440         * platform/graphics/TiledBackingStore.cpp:
3441         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
3442         (WebCore::TiledBackingStore::computeCoverAndKeepRect):
3443
3444 2012-03-16  Kentaro Hara  <haraken@chromium.org>
3445
3446         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl
3447         https://bugs.webkit.org/show_bug.cgi?id=79636
3448
3449         Reviewed by Adam Barth.
3450
3451         For WebKit modularization, this patch moves Notifications-related APIs
3452         from DOMWindow.idl to DOMWindowNotifications.idl.
3453
3454         Tests: fast/notifications/* (No change in test results)
3455
3456         * CMakeLists.txt: Added DOMWindowNotifications.{h,cpp,idl}.
3457         * DerivedSources.make: Ditto.
3458         * DerivedSources.pri: Ditto.
3459         * GNUmakefile.list.am: Ditto.
3460         * Target.pri: Ditto.
3461         * WebCore.gypi: Ditto.
3462         * WebCore.vcproj/WebCore.vcproj: Ditto.
3463
3464         * WebCore.exp.in: Added mangled signatures of webkitNotifications().
3465
3466         * notifications/DOMWindowNotifications.cpp: Added.
3467         (WebCore):
3468         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
3469         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
3470         (WebCore::DOMWindowNotifications::from):
3471         (WebCore::DOMWindowNotifications::webkitNotifications):
3472         (WebCore::DOMWindowNotifications::ensureWebkitNotifications):