a36180e70d4a445b1329cc46f6add68ae1c6d8b0
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-05  Anders Carlsson  <andersca@apple.com>
2
3         Address review comments from https://bugs.webkit.org/show_bug.cgi?id=80368
4
5         * platform/graphics/ca/mac/TileCache.mm:
6         (WebCore::TileCache::setNeedsDisplayInRect):
7
8 2012-03-05  Yoshifumi Inoue  <yosin@chromium.org>
9
10         [Forms] HTMLFieldSetForms.idl doesn't have type attribute.
11         https://bugs.webkit.org/show_bug.cgi?id=80109
12
13         Reviewed by Hajime Morita.
14
15         Test: fast/forms/fieldset/fieldset-type.html
16
17         * html/HTMLFieldSetElement.idl: Add attribute "type"
18
19 2012-03-05  Anders Carlsson  <andersca@apple.com>
20
21         Fix build.
22
23         * platform/graphics/ca/mac/TileCache.mm:
24         (WebCore::TileCache::setScale):
25
26 2012-03-05  Anders Carlsson  <andersca@apple.com>
27
28         pinch-to-zoom and double-tap flicker when using the new scrolling model
29         https://bugs.webkit.org/show_bug.cgi?id=80368
30         <rdar://problem/10866221>
31
32         Reviewed by Sam Weinig.
33
34         In order to work better with zooming, make the tile cache undo the scale transformation
35         and handle the scaling manually. This avoids creating huge tile backing stores when zoomed in.
36
37         * platform/graphics/ca/mac/TileCache.mm:
38         (WebCore::TileCache::TileCache):
39         Initialize m_scale to 1.
40
41         (WebCore::TileCache::setNeedsDisplayInRect):
42         Scale the given rect appropriately.
43
44         (WebCore::TileCache::drawLayer):
45         Apply a scale context transform.
46
47         (WebCore::TileCache::setScale):
48         No longer set the contents scale. Instead, update the scale and revalidate the tiles.
49
50         (WebCore::TileCache::revalidateTiles):
51         Return early if the bounds are empty. This avoids showing a single tile if that happens due to a race condition.
52
53         (WebCore::TileCache::getTileIndexRangeForRect):
54         Apply the scale to the bounds.
55
56         (WebCore::TileCache::createTileLayer):
57         Don't set the contents scale.
58
59         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
60         (-[WebTileCacheLayer setContentsScale:]):
61         Call TileCache::setScale.
62
63         * rendering/RenderLayerBacking.cpp:
64         (WebCore::RenderLayerBacking::updateCompositedBounds):
65         Make sure to give the tile cache layer sane composited bounds, even if the page has absolutely positioned
66         elements that are outside of the page.
67
68 2012-03-05  Leo Yang  <leo.yang@torchmobile.com.cn>
69
70         GraphicsContext3D.h should include RefCounted.h explicitly
71         https://bugs.webkit.org/show_bug.cgi?id=80251
72
73         Reviewed by Rob Buis.
74
75         GraphicsContext3D.h was using RefCounted but including RefCounted.h indirectly
76         through GraphicsLayer.h through Animation.h. However Animation.h is included
77         by GraphicsLayer.h only when ACCELERATED_COMPOSITING is on. For some configurations
78         that don't use ACCELERATED_COMPOSITING but use GraphicsContext3D, like the
79         BlackBerry x86 configuration, the indirect inclusion will fail.
80
81         This patch is adding explicit inclusion of RefCounted.h to avoid that kind of
82         problem.
83
84         * platform/graphics/GraphicsContext3D.h:
85
86 2012-03-05  Kenichi Ishibashi  <bashi@chromium.org>
87
88         [WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
89         https://bugs.webkit.org/show_bug.cgi?id=80103
90
91         Reviewed by Kent Tamura.
92
93         Add UTF8 validation checks for WebSocket message and close reason.
94
95         Tests: http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html
96                http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html
97
98         * Modules/websockets/WebSocket.cpp:
99         (WebCore::WebSocket::send): Raise SYNTAX_ERR if the message is invalid.
100         (WebCore::WebSocket::close):Raise SYNTAX_ERR if the reason is invalid.
101         * Modules/websockets/WebSocketChannel.cpp:
102         (WebCore::WebSocketChannel::send): Check whether message is a valid UTF8 string.
103
104 2012-03-05  Kenneth Russell  <kbr@google.com>
105
106         [chromium] Notify CCLayerImpl tree of context loss and restoration
107         https://bugs.webkit.org/show_bug.cgi?id=80339
108
109         Reviewed by James Robinson.
110
111         Tested by manually killing GPU process while playing Flash video.
112         Video continues to play after compositor restores its context.
113
114         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
115         (WebCore::CCLayerImpl::didLoseAndRecreateGraphicsContext):
116         (WebCore):
117         * platform/graphics/chromium/cc/CCLayerImpl.h:
118         (CCLayerImpl):
119         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
120         (WebCore::CCLayerTreeHostImpl::sendContextLostAndRestoredNotification):
121         (WebCore):
122         (WebCore::CCLayerTreeHostImpl::sendContextLostAndRestoredNotificationRecursive):
123         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
124         (CCLayerTreeHostImpl):
125         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
126         (WebCore::CCPluginLayerImpl::didLoseAndRecreateGraphicsContext):
127         (WebCore):
128         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
129         (CCPluginLayerImpl):
130         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
131         (WebCore::CCSingleThreadProxy::recreateContext):
132
133 2012-03-05  Changhun Kang  <temoochin@company100.net>
134
135         Change the argument orders to match OpenGL's in GraphicsContext3D functions
136         https://bugs.webkit.org/show_bug.cgi?id=80120
137
138         Reviewed by Kenneth Russell.
139
140         No new tests because this patch just change the order of arguments.
141
142         * html/canvas/WebGLRenderingContext.cpp:
143         (WebCore):
144         (WebCore::WebGLRenderingContext::uniform1fv):
145         (WebCore::WebGLRenderingContext::uniform1iv):
146         (WebCore::WebGLRenderingContext::uniform2fv):
147         (WebCore::WebGLRenderingContext::uniform2iv):
148         (WebCore::WebGLRenderingContext::uniform3fv):
149         (WebCore::WebGLRenderingContext::uniform3iv):
150         (WebCore::WebGLRenderingContext::uniform4fv):
151         (WebCore::WebGLRenderingContext::uniform4iv):
152         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
153         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
154         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
155         * platform/graphics/GraphicsContext3D.h:
156         * platform/graphics/chromium/LayerRendererChromium.cpp:
157         (WebCore::LayerRendererChromium::drawDebugBorderQuad):
158         (WebCore::LayerRendererChromium::drawTileQuad):
159         (WebCore::LayerRendererChromium::drawYUV):
160         (WebCore::LayerRendererChromium::drawStreamTexture):
161         (WebCore::LayerRendererChromium::drawTexturedQuad):
162         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
163         (WebCore::CCRenderSurface::drawSurface):
164         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
165         (WebCore::GraphicsContext3D::uniform1fv):
166         (WebCore::GraphicsContext3D::uniform1iv):
167         (WebCore::GraphicsContext3D::uniform2fv):
168         (WebCore::GraphicsContext3D::uniform2iv):
169         (WebCore::GraphicsContext3D::uniform3fv):
170         (WebCore::GraphicsContext3D::uniform3iv):
171         (WebCore::GraphicsContext3D::uniform4fv):
172         (WebCore::GraphicsContext3D::uniform4iv):
173         (WebCore::GraphicsContext3D::uniformMatrix2fv):
174         (WebCore::GraphicsContext3D::uniformMatrix3fv):
175         (WebCore::GraphicsContext3D::uniformMatrix4fv):
176         * platform/graphics/filters/FECustomFilter.cpp:
177         (WebCore::FECustomFilter::bindProgramAndBuffers):
178         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
179         (WebCore::GraphicsContext3D::uniform1fv):
180         (WebCore::GraphicsContext3D::uniform2fv):
181         (WebCore::GraphicsContext3D::uniform3fv):
182         (WebCore::GraphicsContext3D::uniform4fv):
183         (WebCore::GraphicsContext3D::uniform1iv):
184         (WebCore::GraphicsContext3D::uniform2iv):
185         (WebCore::GraphicsContext3D::uniform3iv):
186         (WebCore::GraphicsContext3D::uniform4iv):
187         (WebCore::GraphicsContext3D::uniformMatrix2fv):
188         (WebCore::GraphicsContext3D::uniformMatrix3fv):
189         (WebCore::GraphicsContext3D::uniformMatrix4fv):
190         * platform/graphics/qt/GraphicsContext3DQt.cpp:
191         (WebCore::GraphicsContext3D::uniform1fv):
192         (WebCore::GraphicsContext3D::uniform2fv):
193         (WebCore::GraphicsContext3D::uniform3fv):
194         (WebCore::GraphicsContext3D::uniform4fv):
195         (WebCore::GraphicsContext3D::uniform1iv):
196         (WebCore::GraphicsContext3D::uniform2iv):
197         (WebCore::GraphicsContext3D::uniform3iv):
198         (WebCore::GraphicsContext3D::uniform4iv):
199         (WebCore::GraphicsContext3D::uniformMatrix2fv):
200         (WebCore::GraphicsContext3D::uniformMatrix3fv):
201         (WebCore::GraphicsContext3D::uniformMatrix4fv):
202
203 2012-03-05  Yoshifumi Inoue  <yosin@chromium.org>
204
205         [Forms] HTMLFieldSetForms.idl doesn't have name attribute.
206         https://bugs.webkit.org/show_bug.cgi?id=80108
207
208         Reviewed by Hajime Morita.
209
210         Test: fast/forms/fieldset/fieldset-name.html
211
212         * html/HTMLFieldSetElement.idl: Add "name" attribute.
213
214 2012-03-05  Levi Weintraub  <leviw@chromium.org>
215
216         Update usage of LayoutUnits in RenderBox
217         https://bugs.webkit.org/show_bug.cgi?id=80039
218
219         Reviewed by Julien Chaffraix.
220
221         Updating the usage of integers versus LayoutUnits in RenderBox to mirror the
222         subpixellayout branch. This reverts absoluteRects, intrinsicSize, and focusRingRects
223         methods to use integers, and flipForWritingMode functions to LayoutUnits.
224
225         No new tests. No change in behavior.
226
227         * platform/graphics/FractionalLayoutRect.h:
228         (WebCore::FractionalLayoutRect::pixelSnappedX): Convenience methods that only calculate
229         the needed values. This requires less computation than pixelSnappedIntRect(r).x().
230         (WebCore::FractionalLayoutRect::pixelSnappedY): Ditto.
231         (WebCore::FractionalLayoutRect::pixelSnappedWidth): Ditto.
232         (WebCore::FractionalLayoutRect::pixelSnappedHeight): Ditto.
233         (WebCore::FractionalLayoutRect::pixelSnappedMaxX): Ditto.
234         (WebCore::FractionalLayoutRect::pixelSnappedMaxY): Ditto.
235         (FractionalLayoutRect):
236         * platform/graphics/IntRect.h:
237         (IntRect):
238         (WebCore::IntRect::pixelSnappedX): Stub methods to allow us to use IntRects like we do
239         FractionalLayoutRects.
240         (WebCore::IntRect::pixelSnappedY): Ditto.
241         (WebCore::IntRect::pixelSnappedMaxX): Ditto.
242         (WebCore::IntRect::pixelSnappedMaxY): Ditto.
243         (WebCore::IntRect::pixelSnappedWidth): Ditto.
244         (WebCore::IntRect::pixelSnappedHeight): Ditto.
245         * rendering/LayoutTypes.h:
246         (WebCore::pixelSnappedIntRect): Convenience method for building a pixelSnappedIntRect from
247         a LayoutPoint and LayoutSize without constructing an intermediate LayoutRect.
248         (WebCore):
249         (WebCore::snapSizeToPixel): Stub method for snapping a LayoutUnit representing a size to
250         its pixel value using its location.
251         * rendering/RenderBox.cpp:
252         (WebCore::RenderBox::pixelSnappedClientWidth): Changing to actually call snapSizeToPixel.
253         (WebCore::RenderBox::pixelSnappedClientHeight): Ditto.
254         (WebCore::RenderBox::absoluteRects): Switching to return IntRects that represent the actual
255         rendered location on screen.
256         (WebCore::RenderBox::addFocusRingRects): Ditto.
257         (WebCore::RenderBox::paintFillLayer): One-liner switching an IntSize() to LayoutSize() to
258         avoid unnecessary conversion.
259         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): Preparing for the conversion by
260         replacing 0 with zeroLayoutUnit.
261         (WebCore::RenderBox::positionLineBox): Preparing for conversion by replacing lroundf
262         with roundedLayoutUnit.
263         (WebCore::RenderBox::flipForWritingMode): Switching to use LayoutUnits.
264         * rendering/RenderBox.h:
265         (RenderBox):
266         (WebCore::RenderBox::pixelSnappedBorderBoxRect): Convenience method.
267         (WebCore::RenderBox::borderBoundingBox): Converting to a pixelSnappedIntRect.
268         (WebCore::RenderBox::intrinsicSize): Intrinsic sizes should always be integers.
269
270 2012-03-05  Adam Barth  <abarth@webkit.org>
271
272         WorkerContext shouldn't need to know about SQLDatabase
273         https://bugs.webkit.org/show_bug.cgi?id=80352
274
275         Reviewed by Eric Seidel.
276
277         This patch removes the SQLDatabase functions from WorkerContext in
278         preparation for moving the SQLDatabase code into a module.  These
279         functions don't interact with the rest of WorkerContext.
280
281         * CMakeLists.txt:
282         * DerivedSources.make:
283         * DerivedSources.pri:
284         * GNUmakefile.list.am:
285         * Target.pri:
286         * WebCore.gypi:
287         * WebCore.vcproj/WebCore.vcproj:
288         * WebCore.xcodeproj/project.pbxproj:
289         * storage/DOMWindowSQLDatabase.cpp:
290         * storage/WorkerContextSQLDatabase.cpp: Added.
291         (WebCore):
292         (WebCore::WorkerContextSQLDatabase::openDatabase):
293         (WebCore::WorkerContextSQLDatabase::openDatabaseSync):
294         * storage/WorkerContextSQLDatabase.h: Added.
295         (WebCore):
296         (WorkerContextSQLDatabase):
297         (WebCore::WorkerContextSQLDatabase::WorkerContextSQLDatabase):
298         (WebCore::WorkerContextSQLDatabase::~WorkerContextSQLDatabase):
299         * storage/WorkerContextSQLDatabase.idl: Added.
300         * workers/WorkerContext.cpp:
301         (WebCore):
302         * workers/WorkerContext.h:
303         (WebCore):
304         (WorkerContext):
305         * workers/WorkerContext.idl:
306
307 2012-03-05  Kenichi Ishibashi  <bashi@chromium.org>
308
309         [WebSocket] Introduce ThreadableWebSocketChannel::SendResult
310         https://bugs.webkit.org/show_bug.cgi?id=80356
311
312         Reviewed by Kent Tamura.
313
314         Introduced ThreadableWebSocketChannel::SendResult type so that
315         WebSocketChannel can pass the validation result.
316
317         No new test. No changes in behavior.
318
319         * Modules/websockets/ThreadableWebSocketChannel.h: Added SendResult.
320         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
321         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
322         (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult): Use ThreadableWebSocketChannel::SendResult instead of bool.
323         (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult): Ditto.
324         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
325         (ThreadableWebSocketChannelClientWrapper):
326         * Modules/websockets/WebSocketChannel.cpp:
327         (WebCore::WebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool. Pass Cstring to enqueTextFrame instead of String.
328         (WebCore::WebSocketChannel::enqueueTextFrame): Ditto.
329         (WebCore::WebSocketChannel::processOutgoingFrameQueue): Ditto.
330         * Modules/websockets/WebSocketChannel.h:
331         (WebSocketChannel):
332         (QueuedFrame): Changed the type of stringData from String to CString.
333         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
334         (WebCore::WorkerThreadableWebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool.
335         (WebCore::workerContextDidSend): Ditto.
336         (WebCore::WorkerThreadableWebSocketChannel::Peer::send): Ditto.
337         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto.
338         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
339         (WorkerThreadableWebSocketChannel): ditto.
340         (Bridge): Ditto.
341
342 2012-03-05  Kentaro Hara  <haraken@chromium.org>
343
344         [JSC] Cache the CSSPropertyID in JSCSSStyleDeclaration
345         https://bugs.webkit.org/show_bug.cgi?id=80250
346
347         Reviewed by Benjamin Poulain.
348
349         V8CSSStyleDeclaration caches the calculated CSSPropertyID.
350         Similarly, we can implement the cache in JSCSSStyleDeclaration.
351
352         In my local Mac environment, this optimization improves the performance
353         of CSS property getters by 35%, and the performance of CSS property setters
354         by 8%.
355
356         CSS property getter: for (var i = 0; i < 1000000; i++) span.style.fontWeight;
357         CSS property setter: for (var i = 0; i < 1000000; i++) span.style.fontWeight = "bold";
358
359         Tests: fast/dom/CSSStyleDeclaration/* (No change in test results)
360
361         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
362         (CSSPropertyInfo):
363         (WebCore):
364         (WebCore::cssPropertyIDForJSCSSPropertyName):
365         (WebCore::JSCSSStyleDeclaration::nameGetter):
366         (WebCore::JSCSSStyleDeclaration::putDelegate):
367
368 2012-03-05  Joshua Bell  <jsbell@chromium.org>
369
370         IndexedDB: Handle LevelDB database corruption
371         https://bugs.webkit.org/show_bug.cgi?id=79413
372
373         Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.
374
375         Reviewed by Tony Chang.
376
377         Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'
378
379         * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
380         (WebCore::IDBLevelDBBackingStore::open):
381         * platform/leveldb/LevelDBDatabase.cpp:
382         (WebCore::LevelDBDatabase::destroy):
383         (WebCore):
384         * platform/leveldb/LevelDBDatabase.h:
385         (LevelDBDatabase):
386
387 2012-03-05  Stephen Chenney  <schenney@chromium.org>
388
389         [Chromium] SVG Composite of Offset crashes
390         https://bugs.webkit.org/show_bug.cgi?id=77245
391
392         Reviewed by Stephen White.
393
394         The feComposite arithmetic mode filter could readily be made to
395         generate invalid pre-multiplied pixel values which would then go on to
396         pollute other filters and cause invalid final output pixels. This
397         patch checks for filters that require valid inputs, and checks that a
398         result is valid, and corrects the result if necessary. This matches
399         the behavior of FF and Opera while preventing crashes or other
400         undesirable behavior.
401
402         Test: svg/filters/feComposite-arithmetic-invalid-rgba.svg
403
404         * platform/graphics/filters/FEComposite.h: Override the default validity checks and image cleanup methods.
405         * platform/graphics/filters/FEComposite.cpp:
406         (WebCore::FEComposite::correctFilterResultIfNeeded): Force valid pixels if this is an arithmetic filter
407         * platform/graphics/filters/FilterEffect.cpp:
408         (WebCore::FilterEffect::apply): Check for validity status and correct
409         (WebCore::FilterEffect::forceValidPremultipliedPixels): Make an image valid
410         (WebCore):
411         * platform/graphics/filters/FilterEffect.h: New virtual methods for image validity.
412         (FilterEffect):
413         (WebCore::FilterEffect::requiresValidPreMulultipliedPixels):
414         (WebCore::FilterEffect::forceValidPremultipliedPixels):
415         (WebCore::FilterEffect::correctFilterResultIfNeeded):
416         * rendering/svg/RenderSVGResourceFilter.cpp:
417         (WebCore::RenderSVGResourceFilter::postApplyResource): Check that the final filter result is valid
418
419 2012-03-05  Alexis Menard  <alexis.menard@openbossa.org>
420
421         getComputedStyle gives incorrect information for 'height' property
422         https://bugs.webkit.org/show_bug.cgi?id=33593
423
424         Reviewed by David Hyatt.
425
426         Make sure that the contentBoxRect doesn't take into account the
427         intrinsic padding when querying it. As stated by http://www.w3.org/TR/css3-box/#the-lsquo0
428         the height is the content area which doesn't include the intrinsic padding, the border, and
429         the padding.
430
431         Test: fast/css/getComputedStyle/getComputedStyle-height.html
432
433         * css/CSSComputedStyleDeclaration.cpp:
434         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
435         * editing/DeleteSelectionCommand.cpp:
436         (WebCore::DeleteSelectionCommand::removeNode):
437         * rendering/RenderBox.h:
438         (WebCore::RenderBox::contentBoxRect):
439         (WebCore::RenderBox::contentWidth):
440         (WebCore::RenderBox::contentHeight):
441         (WebCore::RenderBox::contentLogicalWidth):
442         (WebCore::RenderBox::contentLogicalHeight):
443         * rendering/RenderBoxModelObject.cpp:
444         (WebCore::RenderBoxModelObject::paddingTop):
445         (WebCore::RenderBoxModelObject::paddingBottom):
446         (WebCore::RenderBoxModelObject::paddingLeft):
447         (WebCore::RenderBoxModelObject::paddingRight):
448         (WebCore::RenderBoxModelObject::paddingBefore):
449         (WebCore::RenderBoxModelObject::paddingAfter):
450         (WebCore::RenderBoxModelObject::paddingStart):
451         (WebCore::RenderBoxModelObject::paddingEnd):
452         * rendering/RenderBoxModelObject.h:
453         (RenderBoxModelObject):
454         * rendering/RenderTableCell.cpp:
455         (WebCore::RenderTableCell::paddingTop):
456         (WebCore::RenderTableCell::paddingBottom):
457         (WebCore::RenderTableCell::paddingLeft):
458         (WebCore::RenderTableCell::paddingRight):
459         (WebCore::RenderTableCell::paddingBefore):
460         (WebCore::RenderTableCell::paddingAfter):
461         (WebCore::RenderTableCell::cellBaselinePosition):
462         * rendering/RenderTableCell.h:
463         (RenderTableCell):
464         * rendering/RenderTableSection.cpp:
465         (WebCore::RenderTableSection::firstLineBoxBaseline):
466
467 2012-03-05  MORITA Hajime  <morrita@google.com>
468
469         https://bugs.webkit.org/show_bug.cgi?id=80257
470         Lifecycle of InternalSettings should be simplified.
471
472         Reviewed by Ryosuke Niwa.
473
474         - Moved settings update code to separate restoreTo() method.
475         - Eliminated flags which indidate the changed field.
476           Now these modifiable parameters are backed up at the initialization.
477
478         No new tests. Refactoring.
479
480         * testing/InternalSettings.cpp:
481         (WebCore::InternalSettings::create):
482         (WebCore::InternalSettings::InternalSettings):
483         (WebCore):
484         (WebCore::InternalSettings::restoreTo):
485         * testing/InternalSettings.h:
486         (InternalSettings):
487         * testing/Internals.cpp:
488         (WebCore::Internals::reset):
489
490 2012-03-05  Anders Carlsson  <andersca@apple.com>
491
492         Be more aggressive about repainting page overlays
493         https://bugs.webkit.org/show_bug.cgi?id=80336
494         <rdar://problem/10965943>
495
496         Reviewed by Simon Fraser.
497
498         Add a way to find out if a given GraphicsLayer is going to be repainted.
499
500         * WebCore.exp.in:
501         * platform/graphics/GraphicsLayer.h:
502         (WebCore::GraphicsLayer::needsDisplay):
503         (GraphicsLayer):
504         * platform/graphics/ca/GraphicsLayerCA.h:
505
506 2012-03-05  Robin Cao  <robin.cao@torchmobile.com.cn>
507
508         [BlackBerry] Upstream LayerRendererSurface.{cpp, h}
509         https://bugs.webkit.org/show_bug.cgi?id=80122
510
511         Reviewed by Rob Buis.
512
513         Initial upstream, no new tests.
514
515         * PlatformBlackBerry.cmake:
516         * platform/graphics/blackberry/LayerRendererSurface.cpp: Added.
517         (WebCore):
518         (WebCore::LayerRendererSurface::LayerRendererSurface):
519         (WebCore::LayerRendererSurface::~LayerRendererSurface):
520         (WebCore::LayerRendererSurface::setContentRect):
521         (WebCore::LayerRendererSurface::drawRect):
522         (WebCore::LayerRendererSurface::ensureTexture):
523         (WebCore::LayerRendererSurface::releaseTexture):
524         * platform/graphics/blackberry/LayerRendererSurface.h: Added.
525         (WebCore):
526         (LayerRendererSurface):
527         (WebCore::LayerRendererSurface::size):
528         (WebCore::LayerRendererSurface::contentRect):
529         (WebCore::LayerRendererSurface::clipRect):
530         (WebCore::LayerRendererSurface::setClipRect):
531         (WebCore::LayerRendererSurface::setDrawTransform):
532         (WebCore::LayerRendererSurface::drawTransform):
533         (WebCore::LayerRendererSurface::setReplicaDrawTransform):
534         (WebCore::LayerRendererSurface::replicaDrawTransform):
535         (WebCore::LayerRendererSurface::texture):
536         (WebCore::LayerRendererSurface::drawOpacity):
537         (WebCore::LayerRendererSurface::setDrawOpacity):
538
539 2012-03-05  Mihnea Ovidenie  <mihnea@adobe.com>
540
541         [CSSRegions][CSSOM]Prevent creation of NamedFlow object for invalid flow name
542         https://bugs.webkit.org/show_bug.cgi?id=79685
543
544         Reviewed by David Hyatt.
545
546         Asking for a named flow with an invalid flow name should return a null object.
547
548         Test: fast/regions/webkit-named-flow-invalid-name.html
549
550         * css/CSSParser.cpp:
551         (WebCore::CSSParser::parseFlowThread):
552         (WebCore):
553         * css/CSSParser.h:
554         * dom/Document.cpp:
555         (WebCore::validFlowName):
556         (WebCore):
557         (WebCore::Document::webkitGetFlowByName):
558
559 2012-03-05  Ryosuke Niwa  <rniwa@webkit.org>
560
561         unicode-bidi should support isolate override and override isolate
562         https://bugs.webkit.org/show_bug.cgi?id=73164
563
564         Reviewed by Eric Seidel.
565
566         Updated CSS parser and CSS style selector to support the union of bidi-override and isolate in
567         unicode-bidi property. Added OverrideIsolate to EUnicodeBidi instead of turning Override and Isolate
568         into bit flags to avoid increasing the number of bits required to store the unicodeBidi flag.
569
570         Also fixed a bug in RenderBlock::constructTextRun to actually check whether an isolated run's direction
571         is overridden or not when constructing one.
572
573         Tests: fast/css/unicode-bidi-computed-value.html
574                fast/text/bidi-override-isolate.html
575
576         * css/CSSComputedStyleDeclaration.cpp:
577         (WebCore::renderUnicodeBidiFlagsToCSSValue): Added; Create a CSSValueList when unicode-bidi has both
578         isolate and bidi-override specified.
579         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):  Calls renderUnicodeBidiFlagsToCSSValue.
580         * css/CSSParser.cpp:
581         (WebCore::CSSParser::parseValue): Support parsing combinations of -webkit-isolate and bidi-override;
582         Create a CSSValueList in such cases.
583         * css/CSSPrimitiveValueMappings.h:
584         (WebCore):
585         * css/CSSStyleApplyProperty.cpp:
586         (ApplyPropertyUnicodeBidi):
587         (WebCore::ApplyPropertyUnicodeBidi::applyValue): Support combinations of -webkit-isolate and
588         bidi-override. Set the unicodeBidi flag to OverrideIsolate in such cases.
589         (WebCore::ApplyPropertyUnicodeBidi::createHandler):
590         (WebCore):
591         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
592         * html/canvas/CanvasRenderingContext2D.cpp:
593         (WebCore::CanvasRenderingContext2D::drawTextInternal):
594         * platform/text/UnicodeBidi.h: Added OverrideIsolate. We don't use bit flags to avoid increasing the
595         number of bits required to store flags especially because isolate and bidi-override are only values
596         that can be combined.
597         (WebCore::isIsolated):
598         (WebCore):
599         (WebCore::isOverride):
600         * rendering/RenderBlock.cpp:
601         (WebCore::RenderBlock::constructTextRun):
602         * rendering/RenderBlockLineLayout.cpp:
603         (WebCore::statusWithDirection): Takes isOverride; we used to assume it's always false.
604         (WebCore::constructBidiRuns): Instantiate isolatedResolver with a proper value of isOverride.
605         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
606         (WebCore::RenderBlock::determineStartPosition):
607         * rendering/RenderListBox.cpp:
608         (WebCore::RenderListBox::paintItemForeground):
609         * rendering/RenderMenuList.cpp:
610         (WebCore::RenderMenuList::itemStyle):
611         (WebCore::RenderMenuList::menuStyle):
612         * rendering/RenderTextControlSingleLine.cpp:
613         (WebCore::RenderTextControlSingleLine::menuStyle):
614         * rendering/svg/SVGTextMetrics.cpp:
615         (WebCore::SVGTextMetrics::constructTextRun):
616
617 2012-03-05  Emil A Eklund  <eae@chromium.org>
618
619         Replace uses of x(), y() and width(), height() pairs with locationOffset and size()
620         https://bugs.webkit.org/show_bug.cgi?id=80196
621
622         Reviewed by Julien Chaffraix.
623
624         Replace IntSize(x(), y()) with locationOffset()
625         Replace IntSize(width(), height()) with size()
626         Replace IntRect(0, 0, width(), height()) with IntRect(IntPoint(), size())
627         Replace IntRect::move(x(), y()) with IntRect::move(locationOffset())
628
629         No new tests.
630
631         * html/HTMLCanvasElement.cpp:
632         (WebCore::HTMLCanvasElement::createImageBuffer):
633         (WebCore::HTMLCanvasElement::baseTransform):
634         * rendering/RenderBlock.cpp:
635         (WebCore::RenderBlock::simplifiedLayout):
636         * rendering/RenderBox.cpp:
637         (WebCore::RenderBox::mapLocalToContainer):
638         (WebCore::RenderBox::computeRectForRepaint):
639         * rendering/RenderBox.h:
640         (WebCore::RenderBox::borderBoxRect):
641         * rendering/RenderDeprecatedFlexibleBox.cpp:
642         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
643         * rendering/RenderFlexibleBox.cpp:
644         (WebCore::RenderFlexibleBox::layoutBlock):
645         * rendering/RenderListMarker.cpp:
646         (WebCore::RenderListMarker::localSelectionRect):
647         * rendering/RenderReplaced.cpp:
648         (WebCore::RenderReplaced::localSelectionRect):
649         * rendering/RenderScrollbar.cpp:
650         (WebCore::RenderScrollbar::updateScrollbarParts):
651         (WebCore::RenderScrollbar::buttonRect):
652         * rendering/RenderTableSection.cpp:
653         (WebCore::RenderTableSection::setCellLogicalWidths):
654         (WebCore::RenderTableSection::layoutRows):
655         * rendering/RenderView.cpp:
656         (WebCore::RenderView::viewRect):
657         * rendering/svg/RenderSVGRoot.cpp:
658         (WebCore::RenderSVGRoot::layout):
659
660 2012-03-05  Anders Carlsson  <andersca@apple.com>
661
662         Always update the scroll layer position on the main thread when we have an overlay
663         https://bugs.webkit.org/show_bug.cgi?id=80324
664
665         Reviewed by Sam Weinig.
666
667         Add a way to ensure that scroll layer position updates happen on the main thread.
668
669         * WebCore.exp.in:
670         * page/scrolling/ScrollingCoordinator.cpp:
671         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
672         (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
673         (WebCore):
674         (WebCore::ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates):
675         * page/scrolling/ScrollingCoordinator.h:
676         (ScrollingCoordinator):
677
678 2012-03-05  Tony Chang  <tony@chromium.org>
679
680         Implement flex-wrap: wrap
681         https://bugs.webkit.org/show_bug.cgi?id=79930
682
683         Reviewed by David Hyatt.
684
685         Tests: css3/flexbox/multiline-align.html
686                css3/flexbox/multiline.html
687
688         * rendering/RenderBox.cpp:
689         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth): Don't apply column+stretch optimization to multiline.
690         * rendering/RenderFlexibleBox.cpp:
691         (WebCore::RenderFlexibleBox::FlexOrderIterator::FlexOrderIterator):
692         (WebCore::RenderFlexibleBox::FlexOrderIterator::currentChild): Expose the current child so we can pause
693         in the middle of iteration and resume later.
694         (RenderFlexibleBox::FlexOrderIterator):
695         (WebCore::RenderFlexibleBox::isMultiline):
696         (WebCore):
697         (WebCore::RenderFlexibleBox::layoutFlexItems): Loop per line.
698         (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Use the line space, not the whole container space.
699         (WebCore::RenderFlexibleBox::computeFlexOrder): Return true for each line.
700         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use the line offset. Also compute the line height as we go.
701         (WebCore::RenderFlexibleBox::layoutColumnReverse): Use the line offset.
702         (WebCore::RenderFlexibleBox::alignChildren): Align based on the line height. For multiline + column, we have to relayout
703         since the width may change (same as the row case above). We'll have to do something smarter when we implement flex-line-pack.
704         * rendering/RenderFlexibleBox.h:
705         (RenderFlexibleBox):
706
707 2012-03-05  Ben Vanik  <benvanik@google.com>
708
709         Implement WebGL extension EXT_texture_filter_anisotropic
710         https://bugs.webkit.org/show_bug.cgi?id=79541
711
712         This exports the EXT_texture_filter_anisotropic extension with the WEBKIT_ prefix as defined at
713         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/extensions/proposals/EXT_texture_filter_anisotropic/index.html
714
715         Reviewed by Kenneth Russell.
716
717         Tested with the Khronos conformance test for the extension, available at https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/extensions/ext-texture-filter-anisotropic.html
718
719         * CMakeLists.txt:
720         * DerivedSources.make:
721         * DerivedSources.pri:
722         * GNUmakefile.list.am:
723         * Target.pri:
724         * WebCore.gypi:
725         * WebCore.xcodeproj/project.pbxproj:
726         * bindings/js/JSWebGLRenderingContextCustom.cpp:
727         (WebCore::toJS):
728         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
729         (WebCore::toV8Object):
730         * html/canvas/EXTTextureFilterAnisotropic.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
731         (WebCore):
732         (WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
733         (WebCore::EXTTextureFilterAnisotropic::~EXTTextureFilterAnisotropic):
734         (WebCore::EXTTextureFilterAnisotropic::getName):
735         (WebCore::EXTTextureFilterAnisotropic::create):
736         * html/canvas/EXTTextureFilterAnisotropic.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
737         (WebCore):
738         (EXTTextureFilterAnisotropic):
739         * html/canvas/EXTTextureFilterAnisotropic.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
740         * html/canvas/WebGLExtension.h:
741         * html/canvas/WebGLObject.cpp:
742         * html/canvas/WebGLRenderingContext.cpp:
743         (WebCore):
744         (WebCore::WebGLRenderingContext::getExtension):
745         (WebCore::WebGLRenderingContext::getParameter):
746         (WebCore::WebGLRenderingContext::getSupportedExtensions):
747         (WebCore::WebGLRenderingContext::getTexParameter):
748         (WebCore::WebGLRenderingContext::texParameter):
749         * html/canvas/WebGLRenderingContext.h:
750         (WebCore):
751         (WebGLRenderingContext):
752         * platform/graphics/Extensions3D.h:
753         (Extensions3D):
754         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
755         (WebCore::Extensions3DOpenGL::supports):
756
757 2012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
758
759         Unreviewed, rolling out r109760.
760         http://trac.webkit.org/changeset/109760
761         https://bugs.webkit.org/show_bug.cgi?id=80320
762
763         Caused many GTK+ tests to crash (Requested by mrobinson on
764         #webkit).
765
766         * platform/network/ResourceHandleClient.h:
767         * platform/network/soup/ResourceHandleSoup.cpp:
768         (WebCoreSynchronousLoader):
769         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
770         (WebCore):
771         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
772         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
773         (WebCore::WebCoreSynchronousLoader::didReceiveData):
774         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
775         (WebCore::WebCoreSynchronousLoader::didFail):
776         (WebCore::WebCoreSynchronousLoader::run):
777         (WebCore::closeCallback):
778         (WebCore::readCallback):
779         (WebCore::ResourceHandle::defaultSession):
780
781 2012-03-05  Adam Klein  <adamk@chromium.org>
782
783         Never dispatch mutation events in shadow DOM
784         https://bugs.webkit.org/show_bug.cgi?id=79278
785
786         Reviewed by Ryosuke Niwa.
787
788         Test: fast/dom/shadow/suppress-mutation-events-in-shadow.html
789
790         * dom/ContainerNode.cpp:
791         (WebCore::ContainerNode::removeChildren): Move allowEventDispatch() call later,
792         now that childrenChanged won't trigger mutation events in shadow dom.
793         (WebCore::dispatchChildInsertionEvents): Bail out if in shadow tree.
794         (WebCore::dispatchChildRemovalEvents): ditto.
795         * dom/Node.cpp:
796         (WebCore::Node::dispatchSubtreeModifiedEvent): ditto.
797
798 2012-03-05  Alexey Proskuryakov  <ap@apple.com>
799
800         BlobResourceHandle should keep a reference to itself when calling client code.
801         https://bugs.webkit.org/show_bug.cgi?id=80318
802
803         Reviewed by Brady Eidson.
804
805         * platform/network/BlobResourceHandle.cpp:
806         (WebCore::BlobResourceHandle::doStart):
807         (WebCore::BlobResourceHandle::getSizeForNext):
808         (WebCore::BlobResourceHandle::readSync):
809         (WebCore::BlobResourceHandle::readDataAsync):
810         (WebCore::BlobResourceHandle::consumeData):
811         (WebCore::BlobResourceHandle::failed):
812         Added RefPtrs in functions that can result in calling client code, and use "this" object afterwards.
813
814 2012-03-05  Anders Carlsson  <andersca@apple.com>
815
816         Let RenderLayerCompositor set the tile cache visible rect
817         https://bugs.webkit.org/show_bug.cgi?id=80317
818
819         Reviewed by Simon Fraser.
820
821         We can't compute the visible rect from CALayers, because that breaks when we're updating
822         the scroll layer position on the main thread (since by the time visibleRectChanged() is called,
823         the CALayers won't yet have been updated).
824
825         * platform/graphics/GraphicsLayer.h:
826         (WebCore::GraphicsLayer::visibleRectChanged):
827         * platform/graphics/ca/GraphicsLayerCA.cpp:
828         (WebCore::GraphicsLayerCA::visibleRectChanged):
829         * platform/graphics/ca/GraphicsLayerCA.h:
830         (GraphicsLayerCA):
831         * platform/graphics/ca/PlatformCALayer.h:
832         (PlatformCALayer):
833         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
834         (PlatformCALayer::visibleRectChanged):
835         * platform/graphics/ca/mac/TileCache.h:
836         (TileCache):
837         * platform/graphics/ca/mac/TileCache.mm:
838         (WebCore::TileCache::visibleRectChanged):
839         (WebCore::TileCache::revalidateTiles):
840         * platform/graphics/ca/mac/WebTileCacheLayer.h:
841         (WebCore):
842         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
843         (-[WebTileCacheLayer visibleRectChanged:]):
844         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
845         (PlatformCALayer::visibleRectChanged):
846         * rendering/RenderLayerCompositor.cpp:
847         (WebCore::RenderLayerCompositor::frameViewDidScroll):
848
849 2012-03-05  Kangil Han  <kangil.han@samsung.com>
850
851         [CMake][DRT] Add WebCoreTestSupport.
852         https://bugs.webkit.org/show_bug.cgi?id=79896
853
854         Reviewed by Daniel Bates.
855
856         Add WebCoreTestSupport library for DRT in CMake.
857         We will use internals object by linking this library on DRT.
858
859         * CMakeLists.txt:
860         * UseJSC.cmake:
861         * UseV8.cmake:
862
863 2012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
864
865         Unreviewed, rolling out r109656.
866         http://trac.webkit.org/changeset/109656
867         https://bugs.webkit.org/show_bug.cgi?id=80316
868
869         This seems to have regressed Parser/html5-full-render by about
870         10% (Requested by anttik on #webkit).
871
872         * css/CSSComputedStyleDeclaration.cpp:
873         (WebCore::getPositionOffsetValue):
874         (WebCore::getBorderRadiusCornerValues):
875         (WebCore::getBorderRadiusCornerValue):
876         (WebCore::getBorderRadiusShorthandValue):
877         (WebCore::lineHeightFromStyle):
878         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
879         * css/CSSGrammar.y:
880         * css/CSSParser.cpp:
881         (WebCore::CSSParser::validUnit):
882         (WebCore::CSSParser::createPrimitiveNumericValue):
883         (WebCore::unitFromString):
884         (WebCore::CSSParser::parseValidPrimitive):
885         (WebCore::CSSParser::detectNumberToken):
886         * css/CSSPrimitiveValue.cpp:
887         (WebCore::isValidCSSUnitTypeForDoubleConversion):
888         (WebCore::unitCategory):
889         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
890         (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
891         (WebCore::CSSPrimitiveValue::customCssText):
892         * css/CSSPrimitiveValue.h:
893         (CSSPrimitiveValue):
894         * css/CSSPrimitiveValue.idl:
895         * css/CSSStyleApplyProperty.cpp:
896         (WebCore::ApplyPropertyLength::applyValue):
897         (WebCore::ApplyPropertyBorderRadius::applyValue):
898         (WebCore::ApplyPropertyFontSize::applyValue):
899         (WebCore::ApplyPropertyLineHeight::applyValue):
900         (WebCore::ApplyPropertyVerticalAlign::applyValue):
901         * css/CSSStyleSelector.cpp:
902         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
903         * dom/Document.cpp:
904         (WebCore::Document::pageSizeAndMarginsInPixels):
905         (WebCore):
906         * dom/Document.h:
907         (Document):
908         * html/HTMLAreaElement.cpp:
909         (WebCore::HTMLAreaElement::getRegion):
910         * platform/Length.h:
911         (WebCore::Length::calcValue):
912         (WebCore::Length::calcMinValue):
913         (WebCore::Length::calcFloatValue):
914         (WebCore::Length::blend):
915         * rendering/RenderBR.cpp:
916         (WebCore::RenderBR::lineHeight):
917         * rendering/RenderBlock.cpp:
918         (WebCore::RenderBlock::lineHeight):
919         * rendering/RenderBox.cpp:
920         (WebCore::RenderBox::reflectionOffset):
921         (WebCore::RenderBox::paintBoxDecorations):
922         (WebCore::RenderBox::clipRect):
923         (WebCore::RenderBox::computeLogicalWidthInRegion):
924         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
925         (WebCore::RenderBox::computeInlineDirectionMargins):
926         (WebCore::RenderBox::computeLogicalHeightUsing):
927         (WebCore::RenderBox::computePercentageLogicalHeight):
928         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
929         (WebCore::RenderBox::computeBlockDirectionMargins):
930         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
931         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
932         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
933         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
934         * rendering/RenderBoxModelObject.cpp:
935         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
936         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
937         (WebCore::RenderBoxModelObject::paddingTop):
938         (WebCore::RenderBoxModelObject::paddingBottom):
939         (WebCore::RenderBoxModelObject::paddingLeft):
940         (WebCore::RenderBoxModelObject::paddingRight):
941         (WebCore::RenderBoxModelObject::paddingBefore):
942         (WebCore::RenderBoxModelObject::paddingAfter):
943         (WebCore::RenderBoxModelObject::paddingStart):
944         (WebCore::RenderBoxModelObject::paddingEnd):
945         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
946         (WebCore::RenderBoxModelObject::calculateFillTileSize):
947         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
948         (WebCore::computeBorderImageSide):
949         (WebCore::RenderBoxModelObject::paintNinePieceImage):
950         (WebCore::RenderBoxModelObject::paintBorder):
951         (WebCore::RenderBoxModelObject::paintBoxShadow):
952         * rendering/RenderFlexibleBox.cpp:
953         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
954         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
955         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
956         * rendering/RenderInline.cpp:
957         (WebCore::computeMargin):
958         (WebCore::RenderInline::lineHeight):
959         * rendering/RenderMenuList.cpp:
960         (WebCore::RenderMenuList::updateOptionsWidth):
961         * rendering/RenderObject.cpp:
962         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
963         * rendering/RenderObject.h:
964         (RenderObject):
965         * rendering/RenderReplaced.cpp:
966         (WebCore::RenderReplaced::paint):
967         * rendering/RenderScrollbarPart.cpp:
968         (WebCore::calcScrollbarThicknessUsing):
969         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
970         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
971         * rendering/RenderTable.cpp:
972         (WebCore::RenderTable::computeLogicalWidth):
973         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
974         * rendering/RenderTableCell.cpp:
975         (WebCore::RenderTableCell::logicalHeightForRowSizing):
976         * rendering/RenderTableSection.cpp:
977         (WebCore::RenderTableSection::calcRowLogicalHeight):
978         * rendering/RenderText.h:
979         (WebCore::RenderText::marginLeft):
980         (WebCore::RenderText::marginRight):
981         * rendering/RenderThemeMac.mm:
982         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
983         * rendering/RenderWidget.cpp:
984         (WebCore::RenderWidget::paint):
985         * rendering/RootInlineBox.cpp:
986         (WebCore::RootInlineBox::verticalPositionForBox):
987         * rendering/style/RenderStyle.cpp:
988         (WebCore::calcRadiiFor):
989         (WebCore::RenderStyle::getRoundedBorderFor):
990         * rendering/style/RenderStyle.h:
991         * rendering/svg/RenderSVGRoot.cpp:
992         (WebCore::resolveLengthAttributeForSVG):
993         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
994         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
995
996 2012-03-05  Rob Buis  <rbuis@rim.com>
997
998         [BlackBerry] Add missing method to PasteboardBlackBerry.cpp
999         https://bugs.webkit.org/show_bug.cgi?id=80326
1000
1001         Reviewed by Antonio Gomes.
1002
1003         Add missing method.
1004
1005         * platform/blackberry/PasteboardBlackBerry.cpp:
1006         (WebCore::Pasteboard::writeClipboard):
1007         (WebCore):
1008
1009 2012-03-05  Rob Buis  <rbuis@rim.com>
1010
1011         [BlackBerry] UTF chars printed back from cookie through php shows as ???
1012         https://bugs.webkit.org/show_bug.cgi?id=80307
1013
1014         Reviewed by Antonio Gomes.
1015
1016         PR: 130055
1017
1018         we need to check the cookies encoding first and encode the cookie header data
1019         to pass to the request.
1020
1021         * platform/network/blackberry/NetworkManager.cpp:
1022         (WebCore::NetworkManager::startJob):
1023
1024 2012-03-05  Dana Jansens  <danakj@chromium.org>
1025
1026         [chromium] Remove old cleanupResources() code
1027         https://bugs.webkit.org/show_bug.cgi?id=80290
1028
1029         Reviewed by Adrienne Walker.
1030
1031         cleanupResources() is only called by destructors, and adds no
1032         value, any more, beyond the destructors themselves, but complicates
1033         the code path.
1034
1035         Covered by existing tests.
1036
1037         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1038         * platform/graphics/chromium/cc/CCLayerImpl.h:
1039         (CCLayerImpl):
1040         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
1041         (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
1042         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
1043         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1044         (WebCore::CCRenderSurface::~CCRenderSurface):
1045         * platform/graphics/chromium/cc/CCRenderSurface.h:
1046         (CCRenderSurface):
1047         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1048         (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
1049
1050 2012-03-05  Sami Kyostila  <skyostil@chromium.org>
1051
1052         Partially loaded JPEGs should have alpha channel
1053         https://bugs.webkit.org/show_bug.cgi?id=78239
1054
1055         Reviewed by Kenneth Russell.
1056
1057         While a JPEG image is loading, the area outside the decoded region
1058         should be fully transparent. Since currently all JPEG frames are marked
1059         as opaque, a renderer respecting this flag will draw the partially
1060         loaded image with garbage outside the valid image region.
1061
1062         Hence, a partially loaded JPEG image should be marked as having an alpha
1063         channel while decoding is in progress. For performance reasons we mark
1064         the image opaque after decoding has finished.
1065
1066         Graphics corruption caused by this bug was recently observed on
1067         Chromium (http://code.google.com/p/chromium/issues/detail?id=113171). A
1068         recent Skia change (r3036) changed SkBitmap::extractSubset() to produce
1069         a bitmap with the same opaqueness flag as the parent. This meant that
1070         the renderer was now seeing an opaque image from the JPEG decoder, and
1071         drawing it appropriately resulted in garbage outside the decoded region.
1072
1073         Test: http/tests/incremental/partial-jpeg.html
1074
1075         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1076         (WebCore::JPEGImageDecoder::outputScanlines):
1077         (WebCore::JPEGImageDecoder::jpegComplete):
1078
1079 2012-03-05  James Robinson  <jamesr@chromium.org>
1080
1081         [chromium] Initialize CCOverdrawCounts struct to zero
1082         https://bugs.webkit.org/show_bug.cgi?id=80204
1083
1084         Reviewed by Adrienne Walker.
1085
1086         CCOverdrawCounts is stack allocated but not explicitly initialized, so the values are garbage. This adds a c'tor
1087         to zero out the fields, which is the desired behavior.  Bug was initially caught by valgrind, see
1088         http://crbug.com/116475
1089
1090         * platform/graphics/chromium/cc/CCRenderPass.h:
1091         (WebCore::CCOverdrawCounts::CCOverdrawCounts):
1092
1093 2012-03-05  Min Qin  <qinmin@google.com>
1094
1095         Add media control css for chromium on android
1096         https://bugs.webkit.org/show_bug.cgi?id=79550
1097
1098         Reviewed by Adam Barth.
1099
1100         This should not change the any test results as it does not affect the any current bots. New test expectations will be added if we have a android bot on webkit.
1101
1102         * WebCore.gyp/WebCore.gyp:
1103         * css/mediaControlsChromiumAndroid.css: Added.
1104         (body:-webkit-full-page-media):
1105         (audio):
1106         (audio:-webkit-full-page-media, video:-webkit-full-page-media):
1107         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1108         (video:-webkit-full-page-media::-webkit-media-controls-panel):
1109         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1110         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
1111         (audio::-webkit-media-controls-timeline-container):
1112         (video::-webkit-media-controls-timeline-container):
1113         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
1114         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
1115         (video::-webkit-media-controls-fullscreen-button):
1116         (audio::-webkit-media-controls-fullscreen-button):
1117         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1118         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
1119         * rendering/RenderMediaControlsChromium.cpp:
1120         (WebCore::paintMediaFullscreenButton):
1121         (WebCore):
1122         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
1123         * rendering/RenderThemeChromiumAndroid.cpp:
1124         (WebCore::RenderThemeChromiumAndroid::extraMediaControlsStyleSheet):
1125         (WebCore):
1126         (WebCore::RenderThemeChromiumAndroid::paintMediaFullscreenButton):
1127         * rendering/RenderThemeChromiumAndroid.h:
1128
1129 2012-03-05  Anders Carlsson  <andersca@apple.com>
1130
1131         Fix crash in ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition
1132         https://bugs.webkit.org/show_bug.cgi?id=80303
1133         <rdar://problem/10953682>
1134
1135         Reviewed by Beth Dakin.
1136
1137         Add the same null checks that already exist in updateMainFrameScrollPosition.
1138
1139         * page/scrolling/ScrollingCoordinator.cpp:
1140         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
1141
1142 2012-03-05  Alexander Pavlov  <apavlov@chromium.org>
1143
1144         Web Inspector: CSS inactive property check should account for vendor prefixes
1145         https://bugs.webkit.org/show_bug.cgi?id=80225
1146
1147         Reviewed by Pavel Feldman.
1148
1149         Test: inspector/styles/vendor-prefixes.html
1150
1151         * inspector/InspectorStyleSheet.cpp:
1152         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
1153         * inspector/front-end/StylesSidebarPane.js:
1154         (WebInspector.StylesSidebarPane.alteredHexNumber):
1155         (WebInspector.StylesSidebarPane.canonicalPropertyName):
1156         (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
1157         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
1158
1159 2012-03-05  Adam Barth  <abarth@webkit.org>
1160
1161         Geolocation should use a ScriptExecutionContext as its context object
1162         https://bugs.webkit.org/show_bug.cgi?id=80248
1163
1164         Reviewed by Kentaro Hara.
1165
1166         This patch updates Geolocation to use some more modern WebCore
1167         mechanisms.  Previously, Geolocation used a Frame as a context object,
1168         which required a bunch of manual integration with the PageCache as well
1169         as custom signaling for Geolocation::reset().  After this patch,
1170         Geolocation subclasses ActiveDOMObject, which does all this work
1171         automatically.
1172
1173         * Modules/geolocation/Geolocation.cpp:
1174         (WebCore::Geolocation::create):
1175         (WebCore):
1176         (WebCore::Geolocation::Geolocation):
1177         (WebCore::Geolocation::~Geolocation):
1178         (WebCore::Geolocation::document):
1179         (WebCore::Geolocation::frame):
1180         (WebCore::Geolocation::page):
1181         (WebCore::Geolocation::stop):
1182         (WebCore::Geolocation::getCurrentPosition):
1183         (WebCore::Geolocation::watchPosition):
1184         (WebCore::Geolocation::requestPermission):
1185         (WebCore::Geolocation::clearWatch):
1186         (WebCore::Geolocation::setIsAllowed):
1187         * Modules/geolocation/Geolocation.h:
1188         (WebCore):
1189         (Geolocation):
1190         * Modules/geolocation/NavigatorGeolocation.cpp:
1191         (WebCore):
1192         (WebCore::NavigatorGeolocation::geolocation):
1193         * Modules/geolocation/NavigatorGeolocation.h:
1194         (NavigatorGeolocation):
1195         * dom/Document.cpp:
1196         (WebCore::Document::Document):
1197         * dom/Document.h:
1198         (Document):
1199         * history/PageCache.cpp:
1200         (WebCore::logCanCacheFrameDecision):
1201         (WebCore::PageCache::canCachePageContainingThisFrame):
1202
1203 2012-03-05  Martin Robinson  <mrobinson@igalia.com>
1204
1205         [soup] Crash while loading http://www.jusco.cn
1206         https://bugs.webkit.org/show_bug.cgi?id=68238
1207
1208         Reviewed by Philippe Normand.
1209
1210         Test: http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers.html
1211
1212         When running synchronous XMLHttpRequests, push a new inner thread default
1213         context, so that other sources from timers and network activity do not run.
1214         This will make synchronous requests truly synchronous with the rest of
1215         WebCore.
1216
1217         * platform/network/soup/ResourceHandleSoup.cpp:
1218         (WebCoreSynchronousLoader): Clean up the method definitions a bit by writing them inline.
1219         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Push a new thread default
1220         context to prevent other sources from running.
1221         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Pop the inner thread default context.
1222         (WebCore::closeCallback): If the client is synchronous call didFinishLoading now.
1223         (WebCore::readCallback): Only call didFinishLoading if the client isn't synchronous.
1224         (WebCore::ResourceHandle::defaultSession): Activate use-thread-context so that the soup session
1225         respects the inner thread context.
1226         (ResourceHandleClient):
1227         (WebCore::ResourceHandleClient::isSynchronousClient): Added this virtual method.
1228
1229 2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
1230
1231         Remove pointer to timer and use the timers directly in the tiled backing store
1232         https://bugs.webkit.org/show_bug.cgi?id=80283
1233
1234         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
1235
1236         Reviewed by Simon Hausmann.
1237
1238         * platform/graphics/TiledBackingStore.cpp:
1239         (WebCore::TiledBackingStore::TiledBackingStore):
1240         (WebCore::TiledBackingStore::~TiledBackingStore):
1241         (WebCore::TiledBackingStore::createTiles):
1242         (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
1243         (WebCore::TiledBackingStore::startTileCreationTimer):
1244         * platform/graphics/TiledBackingStore.h:
1245         (TiledBackingStore):
1246
1247 2012-03-05  Alexander Pavlov  <apavlov@chromium.org>
1248
1249         Web Inspector: [Styles] Tabbing an empty new property in the middle of style moves the editor to the next section
1250         https://bugs.webkit.org/show_bug.cgi?id=80264
1251
1252         Reviewed by Pavel Feldman.
1253
1254         * inspector/front-end/StylesSidebarPane.js:
1255         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection.alreadyNew):
1256         (WebInspector.StylePropertyTreeElement.prototype):
1257
1258 2012-03-05  Rob Buis  <rbuis@rim.com>
1259
1260         [BlackBerry] Update LocalizedStringsBlackBerry.cpp
1261         https://bugs.webkit.org/show_bug.cgi?id=80278
1262
1263         Reviewed by Antonio Gomes.
1264
1265         Update LocalizedStringsBlackBerry.cpp to current HEAD.
1266
1267         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
1268         (WebCore::inputElementAltText): fall back to "Submit".
1269         (WebCore::imageTitle): choose the format "filename(widthxheight)" like Chrome does.
1270         (WebCore::fileButtonNoFilesSelectedLabel): fall back to "No File Chosen" translation like Chrome does.
1271         (WebCore):
1272
1273 2012-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
1274
1275         Web Inspector: [chromium] introduce HeapSnapshot performance test.
1276         https://bugs.webkit.org/show_bug.cgi?id=80280
1277
1278         Reviewed by Pavel Feldman.
1279
1280         * inspector/front-end/HeapSnapshotProxy.js:
1281         (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
1282         (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
1283         (WebInspector.HeapSnapshotLoaderProxy.prototype._callLoadCallbacks):
1284
1285 2012-03-05  Pavel Feldman  <pfeldman@chromium.org>
1286
1287         Web Inspector: cannot be launched when localStorage is disabled
1288         https://bugs.webkit.org/show_bug.cgi?id=80252
1289
1290         Reviewed by Vsevolod Vlasov.
1291
1292         * inspector/front-end/Settings.js:
1293
1294 2012-03-05  Pavel Feldman  <pfeldman@chromium.org>
1295
1296         Web Inspector: check for the number of parsed css properties.
1297         https://bugs.webkit.org/show_bug.cgi?id=80268
1298
1299         Reviewed by Vsevolod Vlasov.
1300
1301         Test: inspector/styles/set-property-boundaries.html
1302
1303         * inspector/InspectorCSSAgent.cpp:
1304         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
1305         * inspector/InspectorStyleSheet.cpp:
1306         (WebCore::InspectorStyle::setPropertyText):
1307
1308 2012-03-05  Vsevolod Vlasov  <vsevik@chromium.org>
1309
1310         Web Inspector: Tabbed pane should redraw tab elements when tab is closed.
1311         https://bugs.webkit.org/show_bug.cgi?id=80273
1312
1313         Reviewed by Pavel Feldman.
1314
1315         * inspector/front-end/TabbedPane.js:
1316         (WebInspector.TabbedPane.prototype.closeTab):
1317
1318 2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
1319
1320         Improve comments in the tiled backing store
1321         https://bugs.webkit.org/show_bug.cgi?id=80279
1322
1323         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
1324
1325         Reviewed by Simon Hausmann.
1326
1327         * platform/graphics/TiledBackingStore.cpp:
1328         (WebCore::TiledBackingStore::createTiles):
1329
1330 2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
1331
1332         TiledBackingStore.{h,cpp} contains unclear variable names
1333         https://bugs.webkit.org/show_bug.cgi?id=80276
1334
1335         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
1336
1337         Reviewed by Simon Hausmann.
1338
1339         This patch renames some of the variables in TiledBackingStore.cpp to
1340         enhance the clearity and for consistence.
1341
1342         The visibleContentsRect is renamed to visibleRect as it is not in
1343         contents coordinates.
1344
1345         The panningTrajectoryVector and m_visibleRectTrajectoryVector are
1346         renamed to just *[m_]trajectoryVector, as that is descriptive enough.
1347
1348         The previous prefix has also been removed, as it is being used as the
1349         current one in the code. This avoids confusion.
1350
1351         * platform/graphics/TiledBackingStore.cpp:
1352         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
1353         (WebCore::TiledBackingStore::visibleRect):
1354         (WebCore::TiledBackingStore::visibleAreaIsCovered):
1355         (WebCore::TiledBackingStore::createTiles):
1356         (WebCore::TiledBackingStore::computeCoverAndKeepRect):
1357         (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
1358         * platform/graphics/TiledBackingStore.h:
1359         (TiledBackingStore):
1360
1361 2012-03-05  Simon Hausmann  <simon.hausmann@nokia.com>
1362
1363         [Qt] Fix build with Qt 5 and OpenGL ES 2.0
1364
1365         Reviewed by Noam Rosenthal.
1366
1367         * platform/graphics/texmap/TextureMapper.h: Since we don't do QT += opengl with Qt 5 anymore
1368         here in WebCore, we cannot check for QT_OPENGL_LIB. But since this is Qt5, we know that the
1369         GLES setting comes qconfig.h and we can rely on it.
1370
1371 2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
1372
1373         Whitespace clean-up of TiledBackingStore.cpp.
1374
1375         Rubber-stamped by Kenneth Rohde Christiansen.
1376
1377         Already covered by existing tests.
1378
1379         * platform/graphics/TiledBackingStore.cpp:
1380         (WebCore):
1381         (WebCore::TiledBackingStore::updateTileBuffers):
1382         (WebCore::TiledBackingStore::paint):
1383
1384 2012-03-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1385
1386         Unreviewed. Fix make distcheck.
1387
1388         * GNUmakefile.list.am: Add missing header file.
1389
1390 2012-03-05  Alexander Pavlov  <apavlov@chromium.org>
1391
1392         Web Inspector: Incorrect appropriateSelectorFor() suggestion for when a DOMNode has more than 2 CSS classes
1393         https://bugs.webkit.org/show_bug.cgi?id=80258
1394
1395         Reviewed by Pavel Feldman.
1396
1397         * inspector/front-end/DOMAgent.js:
1398         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
1399
1400 2012-03-02  Alexander Pavlov  <apavlov@chromium.org>
1401
1402         Web Inspector: [Styles] [CRASH] Handle rule addition and inline style editing failure due to Content-Security-Policy in the page
1403         https://bugs.webkit.org/show_bug.cgi?id=80024
1404
1405         Reviewed by Pavel Feldman.
1406
1407         Test: inspector/styles/add-new-rule-inline-style-csp.html
1408
1409         * inspector/InspectorCSSAgent.cpp:
1410         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
1411         * inspector/InspectorCSSAgent.h:
1412         (InlineStyleOverrideScope):
1413         (WebCore::InspectorCSSAgent::InlineStyleOverrideScope::InlineStyleOverrideScope):
1414         (WebCore::InspectorCSSAgent::InlineStyleOverrideScope::~InlineStyleOverrideScope):
1415         (InspectorCSSAgent):
1416         * inspector/InspectorStyleSheet.cpp:
1417         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
1418         * page/ContentSecurityPolicy.cpp:
1419         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
1420         (WebCore::ContentSecurityPolicy::allowInlineStyle):
1421         (WebCore::ContentSecurityPolicy::setOverrideAllowInlineStyle):
1422         (WebCore):
1423         * page/ContentSecurityPolicy.h:
1424         (ContentSecurityPolicy):
1425
1426 2012-03-05  Yoshifumi Inoue  <yosin@chromium.org>
1427
1428         [Forms] The "optgroup" element should not be a form-associated element
1429         https://bugs.webkit.org/show_bug.cgi?id=80234
1430
1431         Reviewed by Kent Tamura.
1432
1433         This patch changes base class of HTMLOptGroup to HTMLElement from
1434         HTMLFormControlElement to avoid the "optgroup" element in form-associate
1435         elements collection.
1436
1437         This patch doesn't affect HTMLOptionElement::disabled's static_cast. However,
1438         it doesn't good at coding style. This patch also fix it.
1439
1440
1441         No new tests. No behavior changes.
1442
1443         * html/HTMLOptGroupElement.cpp:
1444         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): Remove "form" parameter.
1445         (WebCore::HTMLOptGroupElement::create): Remove "form" parameter.
1446         (WebCore::HTMLOptGroupElement::childrenChanged): Replace base method call.
1447         (WebCore::HTMLOptGroupElement::parseAttribute): Replace base method call.
1448         (WebCore::HTMLOptGroupElement::attach): Replace base method call.
1449         (WebCore::HTMLOptGroupElement::detach): Replace base method call.
1450         * html/HTMLOptGroupElement.h:
1451         (HTMLOptGroupElement): Change base class to HTMLElement.
1452         * html/HTMLOptionElement.cpp:
1453         (WebCore::HTMLOptionElement::disabled): Replace static_cast<HTMLFormControlElement*> to static_cast<HTMLElement*> with checking isHTMLElement.
1454         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
1455
1456 2012-03-05  Pavel Podivilov  <podivilov@chromium.org>
1457
1458         Web Inspector: fix extensions-resource.html test.
1459         https://bugs.webkit.org/show_bug.cgi?id=80183
1460
1461         Reviewed by Vsevolod Vlasov.
1462
1463         * inspector/front-end/DebuggerPresentationModel.js:
1464         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
1465
1466 2012-03-02  Andrey Kosyakov  <caseq@chromium.org>
1467
1468         Add instrumentation for frame start/end on timeline.
1469
1470         Web Inspector: add timeline instrumentation for frame events
1471         https://bugs.webkit.org/show_bug.cgi?id=80127
1472
1473         Reviewed by Pavel Feldman.
1474
1475         - display frame boundaries when vertical overview mode is on
1476         - aggregate by frame in vertical overview mode
1477         - switched event filtering criteria from index to time in vertical overview mode
1478
1479         * inspector/InspectorInstrumentation.cpp:
1480         (WebCore::InspectorInstrumentation::didBeginFrameImpl):
1481         (WebCore):
1482         * inspector/InspectorInstrumentation.h:
1483         (InspectorInstrumentation):
1484         (WebCore::InspectorInstrumentation::didBeginFrame):
1485         (WebCore):
1486         * inspector/InspectorTimelineAgent.cpp:
1487         (TimelineRecordType):
1488         (WebCore::InspectorTimelineAgent::didBeginFrame):
1489         (WebCore):
1490         * inspector/InspectorTimelineAgent.h:
1491         (InspectorTimelineAgent):
1492         * inspector/front-end/TimelineModel.js:
1493         * inspector/front-end/TimelineOverviewPane.js:
1494         (WebInspector.TimelineOverviewPane):
1495         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
1496         (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
1497         (WebInspector.TimelineOverviewPane.prototype.updateEventDividers):
1498         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
1499         (WebInspector.TimelineOverviewPane.prototype.reset):
1500         (WebInspector.TimelineOverviewPane.prototype.accept):
1501         (WebInspector.TimelineOverviewPane.prototype.windowStartTime):
1502         (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
1503         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
1504         (WebInspector.TimelineStartAtZeroOverview):
1505         (WebInspector.TimelineStartAtZeroOverview.prototype.reset):
1506         (WebInspector.TimelineStartAtZeroOverview.prototype.update):
1507         (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateFrames):
1508         (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateFrameStatistics):
1509         (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateRecords):
1510         (WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
1511         (WebInspector.TimelineStartAtZeroOverview.prototype.getWindowTimes):
1512         * inspector/front-end/TimelinePanel.js:
1513         (WebInspector.TimelinePanel.prototype._updateEventDividers):
1514         (WebInspector.TimelinePanel.prototype._createEventDivider):
1515         (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
1516         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
1517         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1518         (WebInspector.TimelinePanel.prototype._refresh):
1519         (WebInspector.TimelinePanel.prototype._refreshRecords):
1520         (WebInspector.TimelineCategoryFilter.prototype.accept):
1521         * inspector/front-end/TimelinePresentationModel.js:
1522         (WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
1523         * inspector/front-end/inspectorCommon.css:
1524         * inspector/front-end/timelinePanel.css:
1525         (#timeline-container):
1526         (.timeline .resources-event-divider):
1527         (.timeline.timeline-start-at-zero .resources-divider):
1528         (.timeline .resources-event-divider.timeline-frame-divider):
1529
1530 2012-03-05  MORITA Hajime  <morrita@google.com>
1531
1532         Unreviewed build fix for !ENABLE(SHADOW_DOM).
1533
1534         * html/shadow/HTMLContentElement.cpp:
1535         (WebCore::contentTagName):
1536
1537 2012-03-04  MORITA Hajime  <morrita@google.com>
1538
1539         Internally used HTMLContentElement subclasses should have correct wrapper.
1540         https://bugs.webkit.org/show_bug.cgi?id=80237
1541
1542         Reviewed by Kent Tamura.
1543
1544         DetailsContentElement and DetailsSummaryElement used to use
1545         <div> as their tag name. But this means they are wrapped by
1546         wrapper objects for HTMLDivElement, which is wrong. This happened
1547         to work though because HTMLDivElement has no extra state or API.
1548
1549         This change introduces "noConstructor" keyword for make_name.pl
1550         sources.  This keyword allows a tag name to specify its own
1551         wrapper without making the tag name visible from the parser, or
1552         HTMLElementFactory in precise.
1553
1554         Following this addition, this change also adds a new tag name
1555         "webkitShadowContent" for DetailsContentElement and DetailsSummaryElement,
1556         which has no constructor, and whose wrapper type is HTMLElement.
1557
1558         This change isn't visible from the page author and only matters for testing.
1559
1560         Test: fast/dom/shadow/content-element-user-agent-shadow.html
1561
1562         * dom/make_names.pl:
1563         (defaultTagPropertyHash):
1564         (buildConstructorMap):
1565         (printConstructors):
1566         (printFunctionInits):
1567         * html/HTMLDetailsElement.cpp:
1568         (WebCore::DetailsContentElement::DetailsContentElement):
1569         (WebCore::DetailsSummaryElement::DetailsSummaryElement):
1570         * html/HTMLTagNames.in:
1571         * html/shadow/HTMLContentElement.cpp:
1572         (WebCore::contentTagName):
1573
1574 2012-03-05  Shinya Kawanaka  <shinyak@chromium.org>
1575
1576         Refactoring: Move HTMLContentElement::attach to InsertionPoint::attach.
1577         https://bugs.webkit.org/show_bug.cgi?id=80243
1578
1579         Reviewed by Hajime Morita.
1580
1581         Since the current code in HTMLContentElement::attach() will be used for coming <shadow>
1582         elements, it is natural that InsertionPoint::attach() has such code.
1583
1584         No new tests, no change in behavior.
1585
1586         * html/shadow/HTMLContentElement.cpp:
1587         * html/shadow/HTMLContentElement.h:
1588         (HTMLContentElement):
1589         * html/shadow/InsertionPoint.cpp:
1590         (WebCore::InsertionPoint::attach):
1591         (WebCore):
1592         (WebCore::InsertionPoint::detach):
1593         * html/shadow/InsertionPoint.h:
1594         (InsertionPoint):
1595
1596 2012-03-05  Adam Barth  <abarth@webkit.org>
1597
1598         allowDatabaseAccess and databaseExceededQuota should be part of DatabaseContext not ScriptExecutionContext
1599         https://bugs.webkit.org/show_bug.cgi?id=80178
1600
1601         Reviewed by Eric Seidel.
1602
1603         These functions are only used by SQLDatabase, which means we can move
1604         them to DatabaseContext, removing one more tendril of the SQLDatabase
1605         code.
1606
1607         * dom/Document.cpp:
1608         (WebCore):
1609         * dom/Document.h:
1610         (Document):
1611         * dom/ScriptExecutionContext.h:
1612         (ScriptExecutionContext):
1613         * storage/DatabaseContext.cpp:
1614         (WebCore::DatabaseContext::DatabaseContext):
1615         (WebCore::DatabaseContext::from):
1616         (WebCore::DatabaseContext::allowDatabaseAccess):
1617         (WebCore):
1618         (WebCore::DatabaseContext::databaseExceededQuota):
1619         * storage/DatabaseContext.h:
1620         (DatabaseContext):
1621         * storage/DatabaseTracker.cpp:
1622         (WebCore::DatabaseTracker::canEstablishDatabase):
1623         * storage/SQLTransaction.cpp:
1624         (WebCore::SQLTransaction::executeSQL):
1625         * storage/SQLTransactionClient.cpp:
1626         (WebCore::SQLTransactionClient::didExceedQuota):
1627         * storage/SQLTransactionSync.cpp:
1628         (WebCore::SQLTransactionSync::executeSQL):
1629         * workers/WorkerContext.cpp:
1630         (WebCore):
1631         * workers/WorkerContext.h:
1632         (WorkerContext):
1633
1634 2012-03-04  Sheriff Bot  <webkit.review.bot@gmail.com>
1635
1636         Unreviewed, rolling out r107551.
1637         http://trac.webkit.org/changeset/107551
1638         https://bugs.webkit.org/show_bug.cgi?id=80245
1639
1640         caused incorrect style sharing (Requested by kling on
1641         #webkit).
1642
1643         * css/CSSStyleSelector.cpp:
1644         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1645
1646 2012-03-04  Luke Macpherson   <macpherson@chromium.org>
1647
1648         Remove unused macro HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE_WITH_VALUE.
1649         https://bugs.webkit.org/show_bug.cgi?id=80236
1650
1651         Reviewed by Eric Seidel.
1652
1653         No new tests / unused code deletion only.
1654
1655         * css/CSSStyleSelector.cpp:
1656         (WebCore):
1657
1658 2012-03-04  Filip Pizlo  <fpizlo@apple.com>
1659
1660         JIT heuristics should be hyperbolic
1661         https://bugs.webkit.org/show_bug.cgi?id=80055
1662         <rdar://problem/10922260>
1663
1664         Reviewed by Oliver Hunt.
1665
1666         No new tests, since there's no new functionality.
1667
1668         * ForwardingHeaders/wtf/SimpleStats.h: Added.
1669
1670 2012-03-04  Shinya Kawanaka  <shinyak@chromium.org>
1671
1672         Methods like firstRendererOf of NodeRenderingContext should be extracted.
1673         https://bugs.webkit.org/show_bug.cgi?id=79902
1674
1675         Reviewed by Hajime Morita.
1676
1677         firstRendererOfInsertionPoint should return the first renderer of its child, however
1678         it returns next renderer of parent. The same thing happens lastRendererOfInsertionPoint.
1679
1680         Test: content-element-move.html has another test case.
1681
1682         * dom/NodeRenderingContext.cpp:
1683         (WebCore):
1684         (WebCore::nextRendererOfInsertionPoint):
1685         (WebCore::previousRendererOfInsertionPoint):
1686         (WebCore::firstRendererOfInsertionPoint):
1687         (WebCore::lastRendererOfInsertionPoint):
1688         (WebCore::firstRendererOf):
1689         (WebCore::lastRendererOf):
1690         (WebCore::NodeRenderingContext::nextRenderer):
1691         (WebCore::NodeRenderingContext::previousRenderer):
1692
1693 2012-03-04  MORITA Hajime <morrita@google.com>
1694
1695         Unreviewed build fix for ENABLE(MATHML).
1696
1697         * mathml/MathMLElement.h:
1698         (WebCore):
1699
1700 2012-03-04  MORITA Hajime  <morrita@google.com>
1701
1702         WebKit needs toHTMLUnknownElement() and isUnknown() for sanity check.
1703         https://bugs.webkit.org/show_bug.cgi?id=80229
1704
1705         Reviewed by Kent Tamura.
1706
1707         The code generator has naked static_cast<> which could be unsafe.
1708         We can turn it into toHTMLUnknownElement() and the like.
1709
1710         No new tests. Just added a sanity check.
1711
1712         * dom/make_names.pl:
1713         (printWrapperFactoryCppFile):
1714         * html/HTMLElement.h:
1715         (HTMLElement):
1716         (WebCore::HTMLElement::isHTMLUnknownElement):
1717         * html/HTMLUnknownElement.h:
1718         (HTMLUnknownElement):
1719         (WebCore::toHTMLUnknownElement):
1720         (WebCore):
1721         * mathml/MathMLElement.h:
1722         (toMathMLElement):
1723         * svg/SVGElement.h:
1724         (WebCore::toSVGElement):
1725         (WebCore):
1726
1727 2012-03-04  Luke Macpherson   <macpherson@chromium.org>
1728
1729         Handle CSSPropertyWebkitColumnBreakAfter, CSSPropertyWebkitColumnBreakBefore and CSSPropertyWebkitColumnBreakInside in CSSStyleApplyProperty.
1730         https://bugs.webkit.org/show_bug.cgi?id=80226
1731
1732         Reviewed by Eric Seidel.
1733
1734         No new tests / refactoring only.
1735
1736         * css/CSSStyleApplyProperty.cpp:
1737         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1738         * css/CSSStyleSelector.cpp:
1739         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1740
1741 2012-03-04  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1742
1743         [BlackBerry] Credential backing store implementation
1744         https://bugs.webkit.org/show_bug.cgi?id=79650
1745
1746         Reviewed by Antonio Gomes.
1747
1748         Opened Credential database in CedentialBackingStore::instance().
1749         Added never_remember table and associated sql statment
1750         members to store the never remember sites.
1751         Removed CredentialStorage initialize codes because that
1752         won't give users a chance to re-enter the new credential
1753         information for an already stored site.
1754         Changed login update and has statement to support
1755         autofill feature of multiple credential forms in the
1756         same page; Also added url as a parameter of hasLogin() function.
1757         Added calling reset() after each statement calls step(),
1758         to make it work correctly next time.
1759         Also fixed a macro typo in HANDLE_SQL_EXEC_FAILURE.
1760
1761         No new tests.
1762
1763         * platform/network/blackberry/CredentialBackingStore.cpp:
1764         (WebCore::CredentialBackingStore::instance):
1765         (WebCore::CredentialBackingStore::CredentialBackingStore):
1766         (WebCore::CredentialBackingStore::open):
1767         (WebCore::CredentialBackingStore::close):
1768         (WebCore::CredentialBackingStore::addLogin):
1769         (WebCore::CredentialBackingStore::updateLogin):
1770         (WebCore::CredentialBackingStore::hasLogin):
1771         (WebCore::CredentialBackingStore::getLogin):
1772         (WebCore):
1773         (WebCore::CredentialBackingStore::removeLogin):
1774         (WebCore::CredentialBackingStore::addNeverRemember):
1775         (WebCore::CredentialBackingStore::hasNeverRemember):
1776         (WebCore::CredentialBackingStore::getNeverRemember):
1777         (WebCore::CredentialBackingStore::removeNeverRemember):
1778         (WebCore::CredentialBackingStore::clearLogins):
1779         (WebCore::CredentialBackingStore::clearNeverRemember):
1780         * platform/network/blackberry/CredentialBackingStore.h:
1781         (CredentialBackingStore):
1782
1783 2012-03-04  Hyowon Kim  <hw1008.kim@samsung.com>
1784
1785         [EFL] Evas_GL initialization and destruction in GraphicsContext3DPrivate
1786         https://bugs.webkit.org/show_bug.cgi?id=80211
1787
1788         Reviewed by Noam Rosenthal.
1789
1790         This patch adds initialization and destruction codes using Evas_GL APIs to GC3DPrivate.
1791
1792         No new tests. No behavior change.
1793
1794         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
1795         (WebCore::GraphicsContext3DPrivate::create):
1796         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
1797         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
1798         (WebCore::GraphicsContext3DPrivate::initialize):
1799         (WebCore::GraphicsContext3DPrivate::createSurface):
1800         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
1801         * platform/graphics/efl/GraphicsContext3DPrivate.h:
1802         (GraphicsContext3DPrivate):
1803
1804 2012-03-04  Raphael Kubo da Costa  <kubo@profusion.mobi>
1805
1806         [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
1807         https://bugs.webkit.org/show_bug.cgi?id=71507
1808
1809         Reviewed by Antonio Gomes.
1810
1811         No new tests, buildsystem change.
1812
1813         * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
1814
1815 2012-03-04  Hyowon Kim  <hw1008.kim@samsung.com>
1816
1817         [EFL] Implementation of missing functions in GraphicsContext3DPrivate
1818         https://bugs.webkit.org/show_bug.cgi?id=79759
1819
1820         Reviewed by Noam Rosenthal.
1821
1822         The initial patch (Bug 62961) only contains implementations for simple functions
1823         which call GL functions through Evas_GL_API.
1824         This patch implements a little complicated functions such as getActiveAttrib(),
1825         getShaderSource() and so on.
1826
1827         No new tests. No behavior change.
1828
1829         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
1830         (WebCore::GraphicsContext3DPrivate::getActiveAttrib):
1831         (WebCore::GraphicsContext3DPrivate::getActiveUniform):
1832         (WebCore::GraphicsContext3DPrivate::getError):
1833         (WebCore::GraphicsContext3DPrivate::getIntegerv):
1834         (WebCore::GraphicsContext3DPrivate::getProgramInfoLog):
1835         (WebCore::GraphicsContext3DPrivate::getShaderInfoLog):
1836         (WebCore::GraphicsContext3DPrivate::getShaderSource):
1837
1838 2012-03-04  Kentaro Hara  <haraken@chromium.org>
1839
1840         Revert SVG-related APIs from DOMWindowSVG.idl back to DOMWindow.idl
1841         https://bugs.webkit.org/show_bug.cgi?id=80139
1842
1843         Reviewed by Adam Barth.
1844
1845         Based on the discussion on webkit-dev@
1846         (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
1847         this patch reverts SVG-related APIs from DOMWindowSVG.idl back to DOMWindow.idl.
1848
1849         No tests. No change in behavior.
1850
1851         * CMakeLists.txt:
1852         * DerivedSources.make:
1853         * DerivedSources.pri:
1854         * GNUmakefile.list.am:
1855         * WebCore.gypi:
1856         * WebCore.xcodeproj/project.pbxproj:
1857         * page/DOMWindow.idl:
1858         * svg/DOMWindowSVG.idl: Removed.
1859
1860 2012-03-04  Kentaro Hara  <haraken@chromium.org>
1861
1862         Revert WebGL-related APIs from DOMWindowWebGL.idl back to DOMWindow.idl
1863         https://bugs.webkit.org/show_bug.cgi?id=80144
1864
1865         Reviewed by Adam Barth.
1866
1867         Based on the discussion on webkit-dev@
1868         (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
1869         this patch reverts WebGL-related APIs from DOMWindowWebGL.idl back to DOMWindow.idl.
1870
1871         No tests. No change in behavior.
1872
1873         * DerivedSources.make:
1874         * DerivedSources.pri:
1875         * GNUmakefile.list.am:
1876         * WebCore.gypi:
1877         * WebCore.xcodeproj/project.pbxproj:
1878         * html/canvas/DOMWindowWebGL.idl: Removed.
1879         * page/DOMWindow.idl:
1880
1881 2012-03-04  MORITA Hajime  <morrita@google.com>
1882
1883         Unreviewed build fix.
1884
1885         * rendering/RenderButton.cpp:
1886         (WebCore::RenderButton::canHaveGeneratedChildren):
1887
1888 2012-03-01  MORITA Hajime  <morrita@google.com>
1889
1890         REGRESSION(r108758): Assertion failure in WebCore::RenderMenuList::addChild
1891         https://bugs.webkit.org/show_bug.cgi?id=80096
1892
1893         Reviewed by Dimitri Glazkov.
1894
1895         After r108758 RenderBlock allowed <select> to have generated
1896         contents. But it shouldn't. This change stops allowing it again by
1897         replacing some canHaveChildren() invocations with
1898         less permissive canHaveGeneratedChildren().
1899
1900         This change also pulls back original canHaveChildren() logic to
1901         RenderButton to allow <button> to have generated contents.
1902
1903         Then RenderDeprecatedFlexibleBox::buttonText() is morphed to
1904         more intention revealing canHaveGeneratedChildren().
1905
1906         Test: fast/forms/select-generated-content.html
1907
1908         * rendering/RenderBlock.cpp:
1909         (WebCore):
1910         (WebCore::canHaveGeneratedChildren):
1911         (WebCore::RenderBlock::styleDidChange):
1912         (WebCore::findFirstLetterBlock):
1913         (WebCore::RenderBlock::updateFirstLetter):
1914         * rendering/RenderButton.cpp:
1915         * rendering/RenderButton.h:
1916         (RenderButton):
1917         * rendering/RenderDeprecatedFlexibleBox.h:
1918         (WebCore::RenderDeprecatedFlexibleBox::canHaveGeneratedChildren):
1919         * rendering/RenderMenuList.h:
1920
1921 2012-03-04  Robin Cao  <robin.cao@torchmobile.com.cn>
1922
1923         [BlackBerry] Upstream two helper files from platform/graphics/blackberry
1924         https://bugs.webkit.org/show_bug.cgi?id=80125
1925
1926         Reviewed by Antonio Gomes.
1927
1928         Initial upstream, no new tests.
1929
1930         * platform/graphics/blackberry/InstrumentedPlatformCanvas.h: Added.
1931         (WebCore):
1932         (InstrumentedPlatformCanvas):
1933         (WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
1934         (WebCore::InstrumentedPlatformCanvas::~InstrumentedPlatformCanvas):
1935         (WebCore::InstrumentedPlatformCanvas::isSolidColor):
1936         (WebCore::InstrumentedPlatformCanvas::solidColor):
1937         (WebCore::InstrumentedPlatformCanvas::save):
1938         (WebCore::InstrumentedPlatformCanvas::saveLayer):
1939         (WebCore::InstrumentedPlatformCanvas::restore):
1940         (WebCore::InstrumentedPlatformCanvas::translate):
1941         (WebCore::InstrumentedPlatformCanvas::scale):
1942         (WebCore::InstrumentedPlatformCanvas::rotate):
1943         (WebCore::InstrumentedPlatformCanvas::skew):
1944         (WebCore::InstrumentedPlatformCanvas::concat):
1945         (WebCore::InstrumentedPlatformCanvas::setMatrix):
1946         (WebCore::InstrumentedPlatformCanvas::clipRect):
1947         (WebCore::InstrumentedPlatformCanvas::clipPath):
1948         (WebCore::InstrumentedPlatformCanvas::clipRegion):
1949         (WebCore::InstrumentedPlatformCanvas::clear):
1950         (WebCore::InstrumentedPlatformCanvas::drawPaint):
1951         (WebCore::InstrumentedPlatformCanvas::drawPoints):
1952         (WebCore::InstrumentedPlatformCanvas::drawRect):
1953         (WebCore::InstrumentedPlatformCanvas::drawPath):
1954         (WebCore::InstrumentedPlatformCanvas::drawBitmap):
1955         (WebCore::InstrumentedPlatformCanvas::drawBitmapRect):
1956         (WebCore::InstrumentedPlatformCanvas::drawBitmapMatrix):
1957         (WebCore::InstrumentedPlatformCanvas::drawSprite):
1958         (WebCore::InstrumentedPlatformCanvas::drawText):
1959         (WebCore::InstrumentedPlatformCanvas::drawPosText):
1960         (WebCore::InstrumentedPlatformCanvas::drawPosTextH):
1961         (WebCore::InstrumentedPlatformCanvas::drawTextOnPath):
1962         (WebCore::InstrumentedPlatformCanvas::drawPicture):
1963         (WebCore::InstrumentedPlatformCanvas::drawVertices):
1964         (WebCore::InstrumentedPlatformCanvas::drawData):
1965         * platform/graphics/blackberry/LayerMessage.h: Added.
1966         (WebCore):
1967         (WebCore::isCompositingThread):
1968         (WebCore::compositingThread):
1969         (WebCore::isWebKitThread):
1970         (WebCore::webKitThread):
1971         (WebCore::dispatchCompositingMessage):
1972         (WebCore::dispatchSyncCompositingMessage):
1973         (WebCore::dispatchWebKitMessage):
1974
1975 2012-03-04  Nikolas Zimmermann  <nzimmermann@rim.com>
1976
1977         Introduce SMIL overrideStyle, to make SVG stop mutating CSS styles directly
1978         https://bugs.webkit.org/show_bug.cgi?id=79790
1979
1980         Reviewed by Dirk Schulze.
1981
1982         Restore SMIL animation behavior back to pre-r109342.
1983         1) Always animate presentation attributes as CSS properties, regardless of the
1984         attributeTypes value. Matches Opera/FF, and makes the attribute optional again
1985         as specified in both SMIL & SVG.
1986
1987         Extend existing svg/animations/attributesTypes.html to verify this.
1988
1989         2) Switch setInstancesUpdatesBlocked calls to the right locations again, to
1990         avoid chromium assertions (and/or extra work being done). Fixing that reveals another
1991         problem: in the instance updating code path, we always called setTargetAttributeAnimatedCSSValue
1992         even for XML animations.
1993
1994         * svg/SVGAnimationElement.cpp:
1995         (WebCore::SVGAnimationElement::shouldApplyAnimation): Restore old logic.
1996         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): Fix typo, move setInstancesUpdatesBlocked calls.
1997
1998 2012-03-04  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1999
2000         [BlackBerry] upstream MediaPlayerPrivateBlackBerry.[cpp|h]
2001         https://bugs.webkit.org/show_bug.cgi?id=79729
2002
2003         Reviewed by Rob Buis and Antonio Gomes.
2004
2005         Implementation of MediaPlayerPrivate for BlackBerry porting.
2006         Initial upstream, No new tests.
2007
2008         * PlatformBlackBerry.cmake:
2009         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: Added.
2010         (WebCore):
2011         (WebCore::MediaPlayerPrivate::create):
2012         (WebCore::MediaPlayerPrivate::registerMediaEngine):
2013         (WebCore::MediaPlayerPrivate::getSupportedTypes):
2014         (WebCore::MediaPlayerPrivate::supportsType):
2015         (WebCore::MediaPlayerPrivate::notifyAppActivatedEvent):
2016         (WebCore::MediaPlayerPrivate::setCertificatePath):
2017         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2018         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2019         (WebCore::MediaPlayerPrivate::load):
2020         (WebCore::MediaPlayerPrivate::cancelLoad):
2021         (WebCore::MediaPlayerPrivate::prepareToPlay):
2022         (WebCore::MediaPlayerPrivate::play):
2023         (WebCore::MediaPlayerPrivate::pause):
2024         (WebCore::MediaPlayerPrivate::supportsFullscreen):
2025         (WebCore::MediaPlayerPrivate::naturalSize):
2026         (WebCore::MediaPlayerPrivate::hasVideo):
2027         (WebCore::MediaPlayerPrivate::hasAudio):
2028         (WebCore::MediaPlayerPrivate::setVisible):
2029         (WebCore::MediaPlayerPrivate::duration):
2030         (WebCore::MediaPlayerPrivate::currentTime):
2031         (WebCore::MediaPlayerPrivate::seek):
2032         (WebCore::MediaPlayerPrivate::userDrivenSeekTimerFired):
2033         (WebCore::MediaPlayerPrivate::seeking):
2034         (WebCore::MediaPlayerPrivate::setRate):
2035         (WebCore::MediaPlayerPrivate::paused):
2036         (WebCore::MediaPlayerPrivate::setVolume):
2037         (WebCore::MediaPlayerPrivate::networkState):
2038         (WebCore::MediaPlayerPrivate::readyState):
2039         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
2040         (WebCore::MediaPlayerPrivate::buffered):
2041         (WebCore::MediaPlayerPrivate::bytesLoaded):
2042         (WebCore::MediaPlayerPrivate::setSize):
2043         (WebCore::MediaPlayerPrivate::paint):
2044         (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
2045         (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
2046         (WebCore::MediaPlayerPrivate::movieLoadType):
2047         (WebCore::MediaPlayerPrivate::userAgent):
2048         (WebCore::MediaPlayerPrivate::resizeSourceDimensions):
2049         (WebCore::MediaPlayerPrivate::setFullscreenWebPageClient):
2050         (WebCore::MediaPlayerPrivate::getWindow):
2051         (WebCore::MediaPlayerPrivate::getPeerWindow):
2052         (WebCore::MediaPlayerPrivate::getWindowPosition):
2053         (WebCore::MediaPlayerPrivate::mmrContextName):
2054         (WebCore::MediaPlayerPrivate::percentLoaded):
2055         (WebCore::MediaPlayerPrivate::sourceWidth):
2056         (WebCore::MediaPlayerPrivate::sourceHeight):
2057         (WebCore::MediaPlayerPrivate::setAllowPPSVolumeUpdates):
2058         (WebCore::MediaPlayerPrivate::updateStates):
2059         (WebCore::MediaPlayerPrivate::onStateChanged):
2060         (WebCore::MediaPlayerPrivate::onMediaStatusChanged):
2061         (WebCore::MediaPlayerPrivate::onError):
2062         (WebCore::MediaPlayerPrivate::onDurationChanged):
2063         (WebCore::MediaPlayerPrivate::onTimeChanged):
2064         (WebCore::MediaPlayerPrivate::onPauseStateChanged):
2065         (WebCore::MediaPlayerPrivate::onRateChanged):
2066         (WebCore::MediaPlayerPrivate::onVolumeChanged):
2067         (WebCore::MediaPlayerPrivate::onRepaint):
2068         (WebCore::MediaPlayerPrivate::onSizeChanged):
2069         (WebCore::MediaPlayerPrivate::onPlayNotified):
2070         (WebCore::MediaPlayerPrivate::onPauseNotified):
2071         (WebCore::MediaPlayerPrivate::onBuffering):
2072         (WebCore::MediaPlayerPrivate::showErrorDialog):
2073         (WebCore::MediaPlayerPrivate::frameView):
2074         (WebCore::MediaPlayerPrivate::platformWindow):
2075         (WebCore::MediaPlayerPrivate::isFullscreen):
2076         (WebCore::MediaPlayerPrivate::platformMedia):
2077         (WebCore::MediaPlayerPrivate::platformLayer):
2078         (WebCore::loadBufferingImageData):
2079         (WebCore::MediaPlayerPrivate::bufferingTimerFired):
2080         (WebCore::MediaPlayerPrivate::setBuffering):
2081         (WebCore::allocateTextureId):
2082         (WebCore::MediaPlayerPrivate::drawBufferingAnimation):
2083         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: Added.
2084         (WebKit):
2085         (WebCore):
2086         (MediaPlayerPrivate):
2087         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
2088         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
2089
2090 2012-03-03  Benjamin Poulain  <benjamin@webkit.org>
2091
2092         Remove the unused function WebCore::protocolIsInHTTPFamily()
2093         https://bugs.webkit.org/show_bug.cgi?id=80218
2094
2095         Reviewed by Anders Carlsson.
2096
2097         * WebCore.order:
2098         * platform/KURL.cpp:
2099         * platform/KURL.h:
2100         (WebCore):
2101
2102 2012-03-03  Benjamin Poulain  <benjamin@webkit.org>
2103
2104         Implement the basis of KURLWTFURL
2105         https://bugs.webkit.org/show_bug.cgi?id=79600
2106
2107         Reviewed by Adam Barth.
2108
2109         Add a simple, non-optimized, implementation for the main methods of KURL based
2110         on ParsedURL.
2111
2112         * platform/KURLWTFURL.cpp:
2113         (WebCore):
2114         (WebCore::detach):
2115         (WebCore::KURL::KURL):
2116         (WebCore::KURL::copy):
2117         (WebCore::KURL::isEmpty):
2118         (WebCore::KURL::isValid):
2119         (WebCore::KURL::string):
2120         (WebCore::KURL::protocol):
2121         (WebCore::KURL::host):
2122         (WebCore::KURL::hasPort):
2123         (WebCore::KURL::port):
2124         (WebCore::KURL::user):
2125         (WebCore::KURL::pass):
2126         (WebCore::KURL::hasPath):
2127         (WebCore::KURL::path):
2128         (WebCore::KURL::lastPathComponent):
2129         (WebCore::KURL::query):
2130         (WebCore::KURL::hasFragmentIdentifier):
2131         (WebCore::KURL::fragmentIdentifier):
2132         (WebCore::KURL::baseAsString):
2133         (WebCore::KURL::fileSystemPath):
2134         (WebCore::KURL::protocolIs):
2135         (WebCore::KURL::protocolIsInHTTPFamily):
2136         (WebCore::KURL::setProtocol):
2137         (WebCore::KURL::setHost):
2138         (WebCore::KURL::removePort):
2139         (WebCore::KURL::setPort):
2140         (WebCore::KURL::setHostAndPort):
2141         (WebCore::KURL::setUser):
2142         (WebCore::KURL::setPass):
2143         (WebCore::KURL::setPath):
2144         (WebCore::KURL::setQuery):
2145         (WebCore::KURL::setFragmentIdentifier):
2146         (WebCore::KURL::removeFragmentIdentifier):
2147         (WebCore::protocolHostAndPortAreEqual):
2148         * platform/KURLWTFURLImpl.h:
2149         (KURLWTFURLImpl):
2150         (WebCore::KURLWTFURLImpl::copy):
2151         (WebCore):
2152
2153 2012-03-03  Benjamin Poulain  <benjamin@webkit.org>
2154
2155         Remove the redundant method KURL::protocolInHTTPFamily()
2156         https://bugs.webkit.org/show_bug.cgi?id=80216
2157
2158         Reviewed by Anders Carlsson.
2159
2160         * loader/FrameLoader.cpp:
2161         (WebCore::FrameLoader::open):
2162         (WebCore::FrameLoader::addExtraFieldsToRequest):
2163         * loader/ResourceLoadScheduler.cpp:
2164         (WebCore::ResourceLoadScheduler::hostForURL):
2165         (WebCore::ResourceLoadScheduler::scheduleLoad):
2166         * loader/appcache/ApplicationCache.cpp:
2167         (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):
2168         * loader/cache/CachedResource.cpp:
2169         (WebCore::CachedResource::freshnessLifetime):
2170         * loader/cache/MemoryCache.cpp:
2171         (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
2172         * loader/icon/IconController.cpp:
2173         (WebCore::IconController::defaultURL):
2174         * platform/KURL.h:
2175         (KURL):
2176         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2177         * platform/network/CredentialStorage.cpp:
2178         (WebCore::CredentialStorage::set):
2179         (WebCore::findDefaultProtectionSpaceForURL):
2180         * platform/network/ResourceRequestBase.cpp:
2181         (WebCore::ResourceRequestBase::setCachePolicy):
2182         (WebCore::ResourceRequestBase::setTimeoutInterval):
2183         (WebCore::ResourceRequestBase::setHTTPMethod):
2184         (WebCore::ResourceRequestBase::setHTTPHeaderField):
2185         (WebCore::ResourceRequestBase::clearHTTPAuthorization):
2186         (WebCore::ResourceRequestBase::clearHTTPReferrer):
2187         (WebCore::ResourceRequestBase::clearHTTPOrigin):
2188         (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
2189         (WebCore::ResourceRequestBase::setHTTPBody):
2190         (WebCore::ResourceRequestBase::setAllowCookies):
2191         (WebCore::ResourceRequestBase::setPriority):
2192         (WebCore::ResourceRequestBase::addHTTPHeaderField):
2193         * platform/network/blackberry/NetworkManager.cpp:
2194         (WebCore::NetworkManager::startJob):
2195         * platform/network/cf/ResourceHandleCFNet.cpp:
2196         (WebCore::ResourceHandle::createCFURLConnection):
2197         * platform/network/mac/ResourceHandleMac.mm:
2198         (WebCore::ResourceHandle::createNSURLConnection):
2199         * platform/network/qt/QNetworkReplyHandler.cpp:
2200         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2201         * xml/XMLHttpRequest.cpp:
2202         (WebCore::XMLHttpRequest::send):
2203
2204 2012-03-03  Robin Cao  <robin.cao@torchmobile.com.cn>
2205
2206         [BlackBerry] Upstream LayerWebKitThread and its derived classes
2207         https://bugs.webkit.org/show_bug.cgi?id=79871
2208
2209         Reviewed by Antonio Gomes.
2210
2211         Initial upstream, no new tests.
2212
2213         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp: Added.
2214         (WebCore):
2215         (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
2216         (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
2217         (WebCore::CanvasLayerWebKitThread::setCanvas):
2218         (WebCore::CanvasLayerWebKitThread::setNeedsDisplay):
2219         (WebCore::CanvasLayerWebKitThread::updateTextureContentsIfNeeded):
2220         * platform/graphics/blackberry/CanvasLayerWebKitThread.h: Added.
2221         (WebCore):
2222         (CanvasLayerWebKitThread):
2223         (WebCore::CanvasLayerWebKitThread::create):
2224         * platform/graphics/blackberry/LayerData.h: Added.
2225         (WebCore):
2226         (LayerData):
2227         (WebCore::LayerData::LayerData):
2228         (WebCore::LayerData::~LayerData):
2229         (WebCore::LayerData::anchorPoint):
2230         (WebCore::LayerData::anchorPointZ):
2231         (WebCore::LayerData::backgroundColor):
2232         (WebCore::LayerData::borderColor):
2233         (WebCore::LayerData::borderWidth):
2234         (WebCore::LayerData::bounds):
2235         (WebCore::LayerData::doubleSided):
2236         (WebCore::LayerData::frame):
2237         (WebCore::LayerData::masksToBounds):
2238         (WebCore::LayerData::opacity):
2239         (WebCore::LayerData::opaque):
2240         (WebCore::LayerData::position):
2241         (WebCore::LayerData::sublayerTransform):
2242         (WebCore::LayerData::transform):
2243         (WebCore::LayerData::preserves3D):
2244         (WebCore::LayerData::getTextureID):
2245         (WebCore::LayerData::setTextureID):
2246         (WebCore::LayerData::needsTexture):
2247         (WebCore::LayerData::layerProgramShader):
2248         (WebCore::LayerData::isFixedPosition):
2249         (WebCore::LayerData::hasFixedContainer):
2250         (WebCore::LayerData::hasFixedAncestorInDOMTree):
2251         (WebCore::LayerData::pluginView):
2252         (WebCore::LayerData::holePunchRect):
2253         (WebCore::LayerData::hasHolePunchRect):
2254         (WebCore::LayerData::mediaPlayer):
2255         (WebCore::LayerData::canvas):
2256         (WebCore::LayerData::replicate):
2257         (WebCore::LayerData::layerType):
2258         (WebCore::LayerData::includeVisibility):
2259         * platform/graphics/blackberry/LayerWebKitThread.cpp: Added.
2260         (WebCore):
2261         (WebCore::LayerWebKitThread::create):
2262         (WebCore::LayerWebKitThread::LayerWebKitThread):
2263         (WebCore::LayerWebKitThread::~LayerWebKitThread):
2264         (WebCore::LayerWebKitThread::paintContents):
2265         (WebCore::LayerWebKitThread::contentsVisible):
2266         (WebCore::LayerWebKitThread::createFrontBufferLock):
2267         (WebCore::LayerWebKitThread::updateTextureContentsIfNeeded):
2268         (WebCore::LayerWebKitThread::setContents):
2269         (WebCore::LayerWebKitThread::setDrawable):
2270         (WebCore::LayerWebKitThread::setNeedsCommit):
2271         (WebCore::LayerWebKitThread::notifyAnimationStarted):
2272         (WebCore::LayerWebKitThread::commitOnWebKitThread):
2273         (WebCore::LayerWebKitThread::startAnimations):
2274         (WebCore::LayerWebKitThread::updateTextureContents):
2275         (WebCore::LayerWebKitThread::commitOnCompositingThread):
2276         (WebCore::LayerWebKitThread::addSublayer):
2277         (WebCore::LayerWebKitThread::insertSublayer):
2278         (WebCore::LayerWebKitThread::removeFromSuperlayer):
2279         (WebCore::LayerWebKitThread::removeSublayer):
2280         (WebCore::LayerWebKitThread::replaceSublayer):
2281         (WebCore::LayerWebKitThread::indexOfSublayer):
2282         (WebCore::LayerWebKitThread::setBounds):
2283         (WebCore::LayerWebKitThread::setFrame):
2284         (WebCore::LayerWebKitThread::rootLayer):
2285         (WebCore::LayerWebKitThread::removeAllSublayers):
2286         (WebCore::LayerWebKitThread::setSublayers):
2287         (WebCore::LayerWebKitThread::setNeedsDisplayInRect):
2288         (WebCore::LayerWebKitThread::setNeedsDisplay):
2289         (WebCore::LayerWebKitThread::updateLayerHierarchy):
2290         (WebCore::LayerWebKitThread::setIsMask):
2291         * platform/graphics/blackberry/LayerWebKitThread.h: Added.
2292         (WebCore):
2293         (LayerWebKitThread):
2294         (WebCore::LayerWebKitThread::setAnchorPoint):
2295         (WebCore::LayerWebKitThread::setAnchorPointZ):
2296         (WebCore::LayerWebKitThread::setBackgroundColor):
2297         (WebCore::LayerWebKitThread::setBorderColor):
2298         (WebCore::LayerWebKitThread::setBorderWidth):
2299         (WebCore::LayerWebKitThread::setDoubleSided):
2300         (WebCore::LayerWebKitThread::setMasksToBounds):
2301         (WebCore::LayerWebKitThread::setMaskLayer):
2302         (WebCore::LayerWebKitThread::maskLayer):
2303         (WebCore::LayerWebKitThread::setReplicaLayer):
2304         (WebCore::LayerWebKitThread::replicaLayer):
2305         (WebCore::LayerWebKitThread::setNeedsDisplayOnBoundsChange):
2306         (WebCore::LayerWebKitThread::setOpacity):
2307         (WebCore::LayerWebKitThread::setOpaque):
2308         (WebCore::LayerWebKitThread::setPosition):
2309         (WebCore::LayerWebKitThread::getSublayers):
2310         (WebCore::LayerWebKitThread::setSublayerTransform):
2311         (WebCore::LayerWebKitThread::superlayer):
2312         (WebCore::LayerWebKitThread::setTransform):
2313         (WebCore::LayerWebKitThread::setPreserves3D):
2314         (WebCore::LayerWebKitThread::setFixedPosition):
2315         (WebCore::LayerWebKitThread::setHasFixedContainer):
2316         (WebCore::LayerWebKitThread::setHasFixedAncestorInDOMTree):
2317         (WebCore::LayerWebKitThread::contents):
2318         (WebCore::LayerWebKitThread::setOwner):
2319         (WebCore::LayerWebKitThread::drawsContent):
2320         (WebCore::LayerWebKitThread::layerCompositingThread):
2321         (WebCore::LayerWebKitThread::setAbsoluteOffset):
2322         (WebCore::LayerWebKitThread::contentsScale):
2323         (WebCore::LayerWebKitThread::setRunningAnimations):
2324         (WebCore::LayerWebKitThread::setSuspendedAnimations):
2325         (WebCore::LayerWebKitThread::setNeedsTexture):
2326         (WebCore::LayerWebKitThread::setLayerProgramShader):
2327         (WebCore::LayerWebKitThread::isDrawable):
2328         (WebCore::LayerWebKitThread::boundsChanged):
2329         (WebCore::LayerWebKitThread::setSuperlayer):
2330         (WebCore::LayerWebKitThread::numSublayers):
2331         * platform/graphics/blackberry/PluginLayerWebKitThread.cpp: Added.
2332         (WebCore):
2333         (WebCore::PluginLayerWebKitThread::PluginLayerWebKitThread):
2334         (WebCore::PluginLayerWebKitThread::~PluginLayerWebKitThread):
2335         (WebCore::PluginLayerWebKitThread::setPluginView):
2336         (WebCore::PluginLayerWebKitThread::setHolePunchRect):
2337         (WebCore::PluginLayerWebKitThread::setNeedsDisplay):
2338         (WebCore::PluginLayerWebKitThread::updateTextureContentsIfNeeded):
2339         * platform/graphics/blackberry/PluginLayerWebKitThread.h: Added.
2340         (WebCore):
2341         (PluginLayerWebKitThread):
2342         (WebCore::PluginLayerWebKitThread::create):
2343         * platform/graphics/blackberry/VideoLayerWebKitThread.cpp: Added.
2344         (WebCore):
2345         (WebCore::VideoLayerWebKitThread::VideoLayerWebKitThread):
2346         (WebCore::VideoLayerWebKitThread::~VideoLayerWebKitThread):
2347         (WebCore::VideoLayerWebKitThread::setMediaPlayer):
2348         (WebCore::VideoLayerWebKitThread::setHolePunchRect):
2349         (WebCore::VideoLayerWebKitThread::setNeedsDisplay):
2350         (WebCore::VideoLayerWebKitThread::boundsChanged):
2351         (WebCore::VideoLayerWebKitThread::updateTextureContentsIfNeeded):
2352         * platform/graphics/blackberry/VideoLayerWebKitThread.h: Added.
2353         (WebCore):
2354         (VideoLayerWebKitThread):
2355         (WebCore::VideoLayerWebKitThread::create):
2356
2357 2012-03-03  Hans Wennborg  <hans@chromium.org>
2358
2359         Implement Speech JavaScript API
2360         https://bugs.webkit.org/show_bug.cgi?id=80019
2361
2362         Reviewed by Adam Barth.
2363
2364         Add ENABLE_SCRIPTED_SPEECH and runtime flag.
2365
2366         No functionality yet, so no new tests.
2367
2368         * Configurations/FeatureDefines.xcconfig:
2369         * GNUmakefile.am:
2370         * Target.pri:
2371         * bindings/generic/RuntimeEnabledFeatures.cpp:
2372         (WebCore):
2373         * bindings/generic/RuntimeEnabledFeatures.h:
2374         (RuntimeEnabledFeatures):
2375         (WebCore::RuntimeEnabledFeatures::setScriptedSpeechEnabled):
2376         (WebCore::RuntimeEnabledFeatures::scriptedSpeechEnabled):
2377         (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEnabled):
2378         (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionErrorEnabled):
2379         (WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarEnabled):
2380         (WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarListEnabled):
2381
2382 2012-03-03  Raymond Toy  <rtoy@google.com>
2383
2384         DelayNode has a fixed one second max delay time
2385         https://bugs.webkit.org/show_bug.cgi?id=78758
2386
2387         Change DelayNode to accept an optional parameter to specify the
2388         maximum delay allowed. If not specified, the default is 1 sec.
2389         
2390         Reviewed by Chris Rogers.
2391
2392         Test: webaudio/delaynode-maxdelay.html
2393               webaudio/delaynode-maxdelay-expected.txt
2394
2395         * webaudio/AudioContext.cpp:
2396         (WebCore::AudioContext::createDelayNode): Allow maxDelayTime
2397         parameter to specify max delay.
2398         * webaudio/AudioContext.h: Allow maxDelayTime
2399         parameter to specify max delay but default to 1.
2400         (AudioContext):
2401         * webaudio/AudioContext.idl: createDelayNode takes optional max
2402         delay time parameter.
2403         * webaudio/DelayDSPKernel.cpp:
2404         (WebCore::DelayDSPKernel::DelayDSPKernel): Remove unused
2405         DefaultMaxDelayTime. Set m_maxDelayTime from processor
2406         maxDelayTime. 
2407         * webaudio/DelayNode.cpp:
2408         (WebCore::DelayNode::DelayNode): Add maxDelayTime parameter. 
2409         * webaudio/DelayNode.h:
2410         (WebCore::DelayNode::create): Add maxDelayTime parameter. 
2411         (DelayNode): Add maxDelayTime parameter. 
2412         * webaudio/DelayProcessor.cpp:
2413         (WebCore::DelayProcessor::DelayProcessor): Add maxDelayTime
2414         parameter.  
2415         * webaudio/DelayProcessor.h:
2416         (DelayProcessor): Add maxDelayTime parameter. 
2417         (WebCore::DelayProcessor::maxDelayTime): New slot to hold
2418         maxDelayTime. 
2419
2420 2012-03-03  Raymond Toy  <rtoy@google.com>
2421
2422         Simplified discreteTimeConstantForSampleRate
2423         https://bugs.webkit.org/show_bug.cgi?id=78051
2424
2425         Remove hardcoded constant and simplify computation of discrete
2426         time constant.
2427         
2428         Reviewed by Chris Rogers.
2429
2430         No new tests needed.  Covered by existing AudioParam tests.
2431
2432         * platform/audio/AudioUtilities.cpp:
2433         (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
2434         Simplify formula.
2435         * platform/audio/AudioUtilities.h:
2436         (AudioUtilities): Update function signature.
2437         * platform/audio/DynamicsCompressorKernel.cpp:
2438         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
2439         cast to float to avoid warnings.
2440         * webaudio/AudioParamTimeline.cpp:
2441         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): cast to
2442         float to avoid warnings.
2443
2444 2012-03-03  Anders Carlsson  <andersca@apple.com>
2445
2446         Fix build with newer versions of clang.
2447
2448         * bindings/objc/DOM.mm:
2449         (-[DOMNode description]):
2450         Remove an unused parameter.
2451
2452         * bridge/objc/objc_instance.mm:
2453         (ObjcInstance::getClass):
2454         Use object_getClass instead of accessing isa directly.
2455
2456         * platform/LocalizedStrings.cpp:
2457         (WebCore::formatLocalizedString):
2458         Disable the -Wformat-nonliteral warning around the call to CFStringCreateWithFormatAndArguments.
2459
2460         * platform/graphics/mac/WebLayer.mm:
2461         (-[CALayer _descriptionWithPrefix:]):
2462         Use %p for the CALayer pointer, and use %lu for the number of sublayers.
2463
2464         * platform/mac/HTMLConverter.mm:
2465         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
2466         Cast the NSAttachmentCharacte enum to unichar.
2467
2468 2012-03-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2469
2470         Unreviewed, rolling out r109343.
2471         http://trac.webkit.org/changeset/109343
2472         https://bugs.webkit.org/show_bug.cgi?id=80212
2473
2474         Int32array can't handle values for native nodes because they
2475         have int64 ids (Requested by loislo1 on #webkit).
2476
2477         * inspector/front-end/HeapSnapshot.js:
2478         (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
2479         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
2480         (WebInspector.HeapSnapshot):
2481         (WebInspector.HeapSnapshot.prototype._init):
2482
2483 2012-03-03  Andreas Kling  <awesomekling@apple.com>
2484
2485         Free up a bit in RenderObject.
2486         http://webkit.org/b/80208
2487
2488         Reviewed by Anders Carlsson.
2489
2490         Move m_hasMarkupTruncation to RenderBlock, stealing one bit from m_lineHeight.
2491         This flag is only used by RenderBlock.
2492
2493         * rendering/RenderBlock.cpp:
2494         (WebCore::RenderBlock::RenderBlock):
2495         * rendering/RenderBlock.h:
2496         (WebCore::RenderBlock::setHasMarkupTruncation):
2497         (WebCore::RenderBlock::hasMarkupTruncation):
2498         (RenderBlock):
2499         * rendering/RenderObject.h:
2500         (RenderObject):
2501         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
2502         (RenderObjectBitfields):
2503
2504 2012-03-03  Joe Thomas  <joethomas@motorola.com>
2505
2506         Implement vw/vh/vmin (viewport sizes) from CSS 3 Values and Units
2507         https://bugs.webkit.org/show_bug.cgi?id=27160
2508
2509         The specification related to this implementation is located at http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths.
2510         vw/vh/vmin are implemented as primitive length units. Added the parsing logic for these new units and creation of primitive values.
2511
2512         Added new Length types such as ViewportRelativeWidth, ViewportRelativeHeight and ViewportRelativeMin for viewport-relative lengths
2513         and included the support for fetching the value of these relative length units based on the current viewport size.
2514
2515         Reviewed by Antti Koivisto.
2516
2517         Tests: css3/viewport-relative-lengths/css3-viewport-relative-lengths-getStyle.html
2518                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-absolute.html
2519                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh.html
2520                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-absolute.html
2521                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin.html
2522                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-absolute.html
2523                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw.html
2524
2525         * css/CSSComputedStyleDeclaration.cpp: Modified to support viewport relative Length types.
2526         (WebCore::getPositionOffsetValue): Ditto.
2527         (WebCore::getBorderRadiusCornerValues): Ditto.
2528         (WebCore::getBorderRadiusCornerValue): Ditto.
2529         (WebCore::getBorderRadiusShorthandValue): Ditto.
2530         (WebCore::lineHeightFromStyle): Ditto.
2531         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
2532         * css/CSSGrammar.y: Added vw/vh/vmin support.
2533         * css/CSSParser.cpp: Parsing of relative units and creation of CSSPrimitiveValue.
2534         (WebCore::CSSParser::validUnit): Added vw/vh/vmin to the valid units.
2535         (WebCore::CSSParser::createPrimitiveNumericValue): Added vw/vh/vmin as valid primitive units.
2536         (WebCore::unitFromString):
2537         (WebCore::CSSParser::parseValidPrimitive): Creation of CSSPrimitiveValue for vw/vh/vmin.
2538         (WebCore::CSSParser::detectNumberToken): Parsing the vw/vh/vmin tokens.
2539         * css/CSSPrimitiveValue.cpp:
2540         (WebCore::isValidCSSUnitTypeForDoubleConversion): Added support for vw/vh/vmin.
2541         (WebCore::unitCategory): Ditto.
2542         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2543         (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): Added support for vw/vh/vmin.
2544         (WebCore::CSSPrimitiveValue::customCssText): Ditto.
2545         (WebCore::CSSPrimitiveValue::viewportRelativeLength): Function to create the Length structure for the viewport-relative unit types.
2546         (WebCore):
2547         * css/CSSPrimitiveValue.h:
2548         (WebCore::CSSPrimitiveValue::isViewportRelativeLength): Checks whether the primitive value is ViewportRelative Lengths.
2549         (CSSPrimitiveValue):
2550         * css/CSSPrimitiveValue.idl: Added support for vw/vh/vmin.
2551         * css/CSSStyleApplyProperty.cpp:
2552         (WebCore::ApplyPropertyLength::applyValue): Applying relative viewport length units to the specific CSS property.
2553         (WebCore::ApplyPropertyBorderRadius::applyValue): Ditto.
2554         (WebCore::ApplyPropertyFontSize::applyValue): Ditto.
2555         (WebCore::ApplyPropertyLineHeight::applyValue): Ditto.
2556         (WebCore::ApplyPropertyVerticalAlign::applyValue): Ditto.
2557         * css/CSSStyleSelector.cpp:
2558         (WebCore::convertToLength): Added support for viewport relative units.
2559         (WebCore::createGridTrackBreadth): Ditto.
2560         (WebCore::CSSStyleSelector::mapFillSize): Ditto.
2561         (WebCore::CSSStyleSelector::mapFillXPosition): Ditto.
2562         (WebCore::CSSStyleSelector::mapFillYPosition): Ditto.
2563         * dom/Document.cpp:
2564         (WebCore::Document::pageSizeAndMarginsInPixels): Modified to support viewport relative Length types.
2565         (WebCore::Document::viewportSize): New function to fetch the current viewport size.
2566         (WebCore):
2567         * dom/Document.h: Ditto.
2568         (Document):
2569         * html/HTMLAreaElement.cpp:
2570         (WebCore::HTMLAreaElement::getRegion): Modified to support viewport relative Length types.
2571         * platform/Length.h: New LengthTypes such as ViewportRelativeWidth, ViewportRelativeHeight and ViewportRelativeMin added.
2572         (WebCore::Length::calcValue): Modified to support viewport relative Length types.
2573         (WebCore::Length::calcMinValue): Ditto.
2574         (WebCore::Length::calcFloatValue): Ditto.
2575         (Length):
2576         (WebCore::Length::isViewportRelative): To check the Length is of type ViewportRelative.
2577         (WebCore::Length::viewportRelativeLength): To get the relative value.
2578         * rendering/RenderBR.cpp:
2579         (WebCore::RenderBR::lineHeight): Modified to support viewport relative Length types.
2580         * rendering/RenderBlock.cpp:
2581         (WebCore::RenderBlock::lineHeight): Ditto.
2582         * rendering/RenderBox.cpp:
2583         (WebCore::RenderBox::reflectionOffset): Ditto.
2584         (WebCore::RenderBox::paintBoxDecorations): Ditto.
2585         (WebCore::RenderBox::clipRect): Ditto.
2586         (WebCore::RenderBox::computeLogicalWidthInRegion): Ditto.
2587         (WebCore::RenderBox::computeLogicalWidthInRegionUsing): Ditto.
2588         (WebCore::RenderBox::computeInlineDirectionMargins): Ditto.
2589         (WebCore::RenderBox::computeLogicalHeightUsing): Ditto.
2590         (WebCore::RenderBox::computePercentageLogicalHeight): Ditto.
2591         (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Ditto.
2592         (WebCore::RenderBox::computeBlockDirectionMargins): Ditto.
2593         (WebCore::RenderBox::computePositionedLogicalWidthUsing): Ditto.
2594         (WebCore::RenderBox::computePositionedLogicalHeightUsing): Ditto.
2595         (WebCore::RenderBox::computePositionedLogicalWidthReplaced): Ditto.
2596         (WebCore::RenderBox::computePositionedLogicalHeightReplaced): Ditto.
2597         * rendering/RenderBoxModelObject.cpp:
2598         (WebCore::RenderBoxModelObject::relativePositionOffsetX): Ditto.
2599         (WebCore::RenderBoxModelObject::relativePositionOffsetY): Ditto.
2600         (WebCore::RenderBoxModelObject::paddingTop): Ditto.
2601         (WebCore::RenderBoxModelObject::paddingBottom): Ditto.
2602         (WebCore::RenderBoxModelObject::paddingLeft): Ditto.
2603         (WebCore::RenderBoxModelObject::paddingRight): Ditto.
2604         (WebCore::RenderBoxModelObject::paddingBefore): Ditto.
2605         (WebCore::RenderBoxModelObject::paddingAfter): Ditto.
2606         (WebCore::RenderBoxModelObject::paddingStart): Ditto.
2607         (WebCore::RenderBoxModelObject::paddingEnd): Ditto.
2608         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect): Ditto.
2609         (WebCore::RenderBoxModelObject::calculateFillTileSize): Ditto.
2610         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Ditto.
2611         (WebCore::computeBorderImageSide): Ditto.
2612         (WebCore::RenderBoxModelObject::paintNinePieceImage): Ditto.
2613         (WebCore::RenderBoxModelObject::paintBorder): Ditto.
2614         (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.
2615         * rendering/RenderFlexibleBox.cpp:
2616         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Ditto.
2617         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Ditto.
2618         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Ditto.
2619         * rendering/RenderInline.cpp:
2620         (WebCore::computeMargin): Ditto.
2621         (WebCore::RenderInline::lineHeight): Ditto.
2622         * rendering/RenderMenuList.cpp:
2623         (WebCore::RenderMenuList::updateOptionsWidth): Ditto.
2624         * rendering/RenderObject.cpp:
2625         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Ditto.
2626         * rendering/RenderObject.h:
2627         (WebCore::RenderObject::viewportSize): New function to fetch the current viewport size.
2628         (RenderObject):
2629         * rendering/RenderReplaced.cpp:
2630         (WebCore::RenderReplaced::paint): Modified to support viewport relative Length types.
2631         * rendering/RenderScrollbarPart.cpp:
2632         (WebCore::calcScrollbarThicknessUsing): Ditto.
2633         (WebCore::RenderScrollbarPart::computeScrollbarWidth): Ditto.
2634         (WebCore::RenderScrollbarPart::computeScrollbarHeight): Ditto.
2635         * rendering/RenderTable.cpp:
2636         (WebCore::RenderTable::computeLogicalWidth): Ditto.
2637         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth): Ditto.
2638         * rendering/RenderTableCell.cpp:
2639         (WebCore::RenderTableCell::logicalHeightForRowSizing): Ditto.
2640         * rendering/RenderTableSection.cpp:
2641         (WebCore::RenderTableSection::calcRowLogicalHeight): Ditto.
2642         * rendering/RenderText.h:
2643         (WebCore::RenderText::marginLeft): Ditto.
2644         (WebCore::RenderText::marginRight): Ditto.
2645         * rendering/RenderThemeMac.mm:
2646         (WebCore::RenderThemeMac::paintMenuListButtonGradients): Ditto.
2647         * rendering/RenderWidget.cpp:
2648         (WebCore::RenderWidget::paint): Ditto.
2649         * rendering/RootInlineBox.cpp:
2650         (WebCore::RootInlineBox::verticalPositionForBox): Ditto.
2651         * rendering/style/RenderStyle.cpp:
2652         (WebCore::calcRadiiFor): Ditto.
2653         (WebCore::RenderStyle::getRoundedBorderFor): Ditto.
2654         * rendering/style/RenderStyle.h: Ditto.
2655         * rendering/svg/RenderSVGRoot.cpp:
2656         (WebCore::resolveLengthAttributeForSVG): Ditto.
2657         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Ditto.
2658         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
2659
2660 2012-03-02  Pablo Flouret  <pablof@motorola.com>
2661
2662         Editor's default paragraph separator is not reset when a frame's document is changed
2663         https://bugs.webkit.org/show_bug.cgi?id=80065
2664
2665         Reviewed by Ryosuke Niwa.
2666
2667         Test: editing/execCommand/reset-values-after-navigation.html
2668
2669         * editing/Editor.cpp:
2670         (WebCore::Editor::clear):
2671
2672 2012-03-02  Alexey Proskuryakov  <ap@apple.com>
2673
2674         Have a copy of plug-in sandboxing API header in WebCore
2675         https://bugs.webkit.org/show_bug.cgi?id=80185
2676         <rdar://problem/8242128>
2677
2678         Reviewed by Anders Carlsson.
2679
2680         * plugins/npapi-sandbox.h: Added.
2681
2682         * WebCore.xcodeproj/project.pbxproj: Added as unused file.
2683
2684 2012-03-02  Emil A Eklund  <eae@chromium.org>
2685
2686         Revert borders to integers for subpixel layout
2687         https://bugs.webkit.org/show_bug.cgi?id=80175
2688
2689         Reviewed by Eric Seidel.
2690
2691         Change border representation and calculation back to integers to ensure
2692         that borders given the same width are rendered with the same actual width.
2693
2694         This will also avoid unnecessary type conversions when we switch over
2695         to subpixel precision.
2696
2697         No new tests.
2698
2699         * rendering/LayoutTypes.h:
2700         (WebCore::pixelSnappedIntRect):
2701         (WebCore):
2702         * rendering/RenderBoxModelObject.h:
2703         (WebCore::RenderBoxModelObject::borderTop):
2704         (WebCore::RenderBoxModelObject::borderBottom):
2705         (WebCore::RenderBoxModelObject::borderLeft):
2706         (WebCore::RenderBoxModelObject::borderRight):
2707         (WebCore::RenderBoxModelObject::borderBefore):
2708         (WebCore::RenderBoxModelObject::borderAfter):
2709         (WebCore::RenderBoxModelObject::borderStart):
2710         (WebCore::RenderBoxModelObject::borderEnd):
2711         * rendering/RenderTable.cpp:
2712         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
2713         (WebCore::RenderTable::calcBorderStart):
2714         (WebCore::RenderTable::calcBorderEnd):
2715         (WebCore::RenderTable::borderBefore):
2716         (WebCore::RenderTable::borderAfter):
2717         (WebCore::RenderTable::outerBorderBefore):
2718         (WebCore::RenderTable::outerBorderAfter):
2719         (WebCore::RenderTable::outerBorderStart):
2720         (WebCore::RenderTable::outerBorderEnd):
2721         * rendering/RenderTable.h:
2722         (WebCore::RenderTable::borderStart):
2723         (WebCore::RenderTable::borderEnd):
2724         (RenderTable):
2725         (WebCore::RenderTable::borderLeft):
2726         (WebCore::RenderTable::borderRight):
2727         (WebCore::RenderTable::borderTop):
2728         (WebCore::RenderTable::borderBottom):
2729         (WebCore::RenderTable::outerBorderLeft):
2730         (WebCore::RenderTable::outerBorderRight):
2731         (WebCore::RenderTable::outerBorderTop):
2732         (WebCore::RenderTable::outerBorderBottom):
2733         * rendering/RenderTableCell.cpp:
2734         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2735         (WebCore::RenderTableCell::borderLeft):
2736         (WebCore::RenderTableCell::borderRight):
2737         (WebCore::RenderTableCell::borderTop):
2738         (WebCore::RenderTableCell::borderBottom):
2739         (WebCore::RenderTableCell::borderStart):
2740         (WebCore::RenderTableCell::borderEnd):
2741         (WebCore::RenderTableCell::borderBefore):
2742         (WebCore::RenderTableCell::borderAfter):
2743         (WebCore::RenderTableCell::borderHalfLeft):
2744         (WebCore::RenderTableCell::borderHalfRight):
2745         (WebCore::RenderTableCell::borderHalfTop):
2746         (WebCore::RenderTableCell::borderHalfBottom):
2747         (WebCore::RenderTableCell::borderHalfStart):
2748         (WebCore::RenderTableCell::borderHalfEnd):
2749         (WebCore::RenderTableCell::borderHalfBefore):
2750         (WebCore::RenderTableCell::borderHalfAfter):
2751         (WebCore::RenderTableCell::paintCollapsedBorders):
2752         * rendering/RenderTableCell.h:
2753         (RenderTableCell):
2754
2755 2012-03-01  Eric Seidel  <eric@webkit.org>
2756
2757         Chrome 18 fails html5test.com XHR Blob response test
2758         https://bugs.webkit.org/show_bug.cgi?id=76760
2759
2760         Reviewed by Adam Barth.
2761
2762         Most of the code was already there, this just fixes the FIXME
2763         which was causing this feature not to work.  Chromium already
2764         had this #ifdef enabled, but other ports (at least Mac) do not.
2765
2766         Test: fast/files/xhr-response-blob.html
2767
2768         * xml/XMLHttpRequest.cpp:
2769         (WebCore::XMLHttpRequest::didFinishLoading):
2770
2771 2012-03-02  Kentaro Hara  <haraken@chromium.org>
2772
2773         Revert Worker-related APIs from DOMWindowWorker.idl back to DOMWindow.idl
2774         https://bugs.webkit.org/show_bug.cgi?id=80151
2775
2776         Reviewed by Adam Barth.
2777
2778         Based on the discussion on webkit-dev@
2779         (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
2780         this patch reverts Worker-related APIs from DOMWindowWorker.idl back to DOMWindow.idl.
2781
2782         No tests. No change in behavior.
2783
2784         * CMakeLists.txt:
2785         * DerivedSources.make:
2786         * DerivedSources.pri:
2787         * GNUmakefile.list.am:
2788         * WebCore.gypi:
2789         * page/DOMWindow.idl:
2790         * workers/DOMWindowWorker.idl: Removed.
2791
2792 2012-03-02  Kentaro Hara  <haraken@chromium.org>
2793
2794         Revert HTML-related APIs from DOMWindowHTML.idl back to DOMWindow.idl
2795         https://bugs.webkit.org/show_bug.cgi?id=80140
2796
2797         Reviewed by Adam Barth.
2798
2799         Based on the discussion on webkit-dev@
2800         (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
2801         we should revert HTML-related APIs from DOMWindowHTML.idl back to DOMWindow.idl.
2802
2803         No tests. No change in behavior.
2804
2805         * CMakeLists.txt:
2806         * DerivedSources.make:
2807         * DerivedSources.pri:
2808         * GNUmakefile.list.am:
2809         * WebCore.gypi:
2810         * WebCore.xcodeproj/project.pbxproj:
2811         * html/DOMWindowHTML.idl: Removed.
2812         * page/DOMWindow.idl:
2813
2814 2012-03-02  Kentaro Hara  <haraken@chromium.org>
2815
2816         Revert XML-related APIs from DOMWindowXML.idl back to DOMWindow.idl
2817         https://bugs.webkit.org/show_bug.cgi?id=80148
2818
2819         Reviewed by Adam Barth.
2820
2821         Based on the discussion on webkit-dev@
2822         (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
2823         this patch reverts XML-related APIs from DOMWindowXML.idl back to DOMWindow.idl.
2824
2825         No tests. No change in behavior.
2826
2827         * CMakeLists.txt:
2828         * DerivedSources.make:
2829         * DerivedSources.pri:
2830         * GNUmakefile.list.am:
2831         * WebCore.gypi:
2832         * WebCore.xcodeproj/project.pbxproj:
2833         * page/DOMWindow.idl:
2834         * xml/DOMWindowXML.idl: Removed.
2835
2836 2012-03-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2837
2838         Implement NamedNodeMap::setNamedItem() in terms of Element::setAttributeNode() instead of the other way round
2839         https://bugs.webkit.org/show_bug.cgi?id=80188
2840
2841         Reviewed by Ryosuke Niwa.
2842
2843         Using setNamedItem() in setAttributeNode() implementation made us do unnecessary
2844         checks like whether the element existed or whether the given node was an
2845         attribute. So now setAttributeNode() do less work.
2846
2847         No new tests were added, functionality should be unchanged.
2848
2849         * dom/Element.cpp:
2850         (WebCore::Element::setAttributeNode):
2851         (WebCore::Element::setAttributeNodeNS):
2852         * dom/Element.h:
2853         (Element):
2854         (WebCore::Element::attributes): We got rid of ensureUpdatedAttributes(), next in
2855         line will be updatedAttributes().
2856         * dom/NamedNodeMap.cpp:
2857         (WebCore::NamedNodeMap::setNamedItem):
2858
2859 2012-03-02  SravanKumar Sandela  <ssandela@innominds.com>
2860
2861         Layout issue with fieldset legend element
2862         https://bugs.webkit.org/show_bug.cgi?id=78684
2863
2864         Reviewed by Dirk Pranke.
2865
2866         The clipping logic for legend element was incorrect and now it has been corrected by taking correct offset in to consideration. 
2867
2868         Test: fast/forms/fieldset-legend-padding-unclipped-fieldset-border.html
2869
2870         * rendering/RenderFieldset.cpp:
2871         (WebCore::RenderFieldset::paintBoxDecorations):
2872
2873 2012-03-02  Erik Arvidsson  <arv@chromium.org>
2874
2875         [V8] Bindings for node always check if they are a Document.
2876         https://bugs.webkit.org/show_bug.cgi?id=79947
2877
2878         Reviewed by Adam Barth.
2879
2880         This changes the generated bindings code to only generate the Document code for the Document wrappers.
2881
2882         No new tests. Covered by existing tests.
2883
2884         * bindings/scripts/CodeGeneratorV8.pm:
2885         (GenerateToV8Converters):
2886         * bindings/scripts/test/V8/V8Float64Array.cpp:
2887         (WebCore::V8Float64Array::wrapSlow):
2888         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2889         (WebCore::V8TestActiveDOMObject::wrapSlow):
2890         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2891         (WebCore::V8TestCustomNamedGetter::wrapSlow):
2892         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2893         (WebCore::V8TestEventConstructor::wrapSlow):
2894         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2895         (WebCore::V8TestEventTarget::wrapSlow):
2896         * bindings/scripts/test/V8/V8TestInterface.cpp:
2897         (WebCore::V8TestInterface::wrapSlow):
2898         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2899         (WebCore::V8TestMediaQueryListListener::wrapSlow):
2900         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2901         (WebCore::V8TestNamedConstructor::wrapSlow):
2902         * bindings/scripts/test/V8/V8TestObj.cpp:
2903         (WebCore::V8TestObj::wrapSlow):
2904         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2905         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
2906
2907 2012-03-02  Igor Oliveira  <igor.o@sisa.samsung.com>
2908
2909         animation-timing-function falls back to ease when overriding animation-name
2910         https://bugs.webkit.org/show_bug.cgi?id=71623
2911
2912         In this patch the animation name needs to be the first value declared, if
2913         a different value is found, we do not check for the animation name again.  
2914
2915         Reviewed by Dean Jackson.
2916
2917         Test: animations/animation-shorthand-overriding.html
2918
2919         * css/CSSParser.cpp:
2920         (WebCore::CSSParser::parseAnimationShorthand):
2921
2922 2012-03-02  Martin Robinson  <mrobinson@igalia.com>
2923
2924         [GTK] [AC] Connect WebGL to the TextureMapperGL code
2925         https://bugs.webkit.org/show_bug.cgi?id=78968
2926
2927         Reviewed by Gustavo Noronha Silva.
2928
2929         No new tests. This is covered by existing accelerated compositing and
2930         WebGL tests.
2931
2932         Rely on the shared version of GL acquisition from GLContext. This reduces
2933         a lot of code and now allows us to connect WebGL into the accelerated compositing
2934         rendering path.
2935
2936         * GNUmakefile.list.am: GLContext should be included for all X11 builds now.
2937         There are no longer GTK+ specific versions of GraphicsContext3D.
2938         * platform/graphics/GraphicsContext3D.h: Add a default argument for
2939         resolveMultisamplingIfNecessary. This will resolve the entire texture.
2940         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: GraphicsContext3D is
2941         now responsible for creating GraphicsContext3DPrivate in the constructor.
2942         (WebCore::GraphicsContext3D::platformLayer): Now return m_private.
2943         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Added.
2944         * platform/graphics/cairo/GraphicsContext3DPrivate.h: Renamed from Source/WebCore/platform/graphics/glx/GraphicsContext3DPrivate.h.
2945         * platform/graphics/glx/GraphicsContext3DPrivate.cpp: Removed.
2946         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2947         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Properly
2948         handle the default argument.
2949         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2950         (WebCore::GraphicsContext3D::prepareTexture): Use the new default argument now.
2951         (WebCore::GraphicsContext3D::readRenderingResults): Ditto.
2952
2953 2012-02-18  Martin Robinson  <mrobinson@igalia.com>
2954
2955         [GTK] [AC] Generalize WindowContextGL
2956         https://bugs.webkit.org/show_bug.cgi?id=78969
2957
2958         Reviewed by Gustavo Noronha Silva.
2959
2960         No new tests. This should not change functionality.
2961
2962         * GNUmakefile.list.am: Added new files to source list.
2963         * platform/graphics/cairo/GLContext.h: Added. An abstraction for all GL contexts.
2964         * platform/graphics/glx/GLContextGLX.cpp: Added. This file is composed of very little
2965         new code, as the logic for instantiating offscreen GL contexts is copied from
2966         GraphicsContext3DPrivate. The code duplication will be removed in a followup patch.
2967         (WebCore::GLContext::platformContext):
2968         * platform/graphics/gtk/GLContextGtk.cpp: Added. This includes some helper factories
2969         for creating and caching GL contexts for GTK+ widgets.
2970
2971 2012-03-02  W. James MacLean  <wjmaclean@chromium.org>
2972
2973         [chromium] Remove TRACE_EVENT from CCQuadCuller::cullOccludedQuads.
2974         https://bugs.webkit.org/show_bug.cgi?id=80174
2975
2976         Reviewed by James Robinson.
2977
2978         Covered by existing chromium unit tests.
2979
2980         Firing TRACE_EVENT once per draw quad is overwhelming.
2981
2982         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2983         (WebCore::CCQuadCuller::cullOccludedQuads):
2984
2985 2012-03-02  Erik Arvidsson  <arv@chromium.org>
2986
2987         [V8] Make inline event attributes use evt for SVG and event otherwise
2988         https://bugs.webkit.org/show_bug.cgi?id=80167
2989
2990         Reviewed by Ojan Vafai.
2991
2992         Test: fast/dom/inline-event-attributes-event-param-name.html
2993
2994         * bindings/v8/V8LazyEventListener.cpp:
2995         (WebCore::V8LazyEventListener::prepareListenerObject):
2996
2997 2012-03-02  Gavin Peters  <gavinp@chromium.org>
2998
2999         Sync PageCache debugging with PageCache behaviour
3000         https://bugs.webkit.org/show_bug.cgi?id=79943
3001
3002         Sync up the debug printing code in PageCache with the actual logic,
3003         and clean up the debug printing at the same time.
3004
3005         Reviewed by Brady Eidson.
3006
3007         No new tests, as this is a refactor of debug only code.
3008
3009         * history/PageCache.cpp:
3010         (WebCore):
3011         (WebCore::logCanCacheFrameDecision):
3012         (WebCore::logCanCachePageDecision):
3013
3014 2012-03-02  Maciej Stachowiak  <mjs@apple.com>
3015
3016         REGRESSION(r97353): Crash when accessing location or history properties inside a navigated window
3017         https://bugs.webkit.org/show_bug.cgi?id=80133
3018         <rdar://problem/10432233>
3019         
3020         Reviewed by Antti Koivisto.
3021
3022         Test: fast/dom/Window/navigated-window-properties.html
3023
3024         * bindings/js/JSDOMWindowCustom.cpp:
3025         (WebCore): Remove custom getters for window.location and window.history; they
3026         were unnecessary and did the wrong thing when DOMWindow returned null values 
3027         for these.
3028         * page/DOMWindow.idl: ditto
3029         * bindings/js/JSDOMBinding.cpp:
3030         (WebCore::reportException): Remove assert about null values and update comment,
3031         since this is now an expected state for navigated inner windows.
3032
3033 2012-03-02  Ryosuke Niwa  <rniwa@webkit.org>
3034
3035         REGRESSION(r74971): Can't select a line of RTL text on Facebook
3036         https://bugs.webkit.org/show_bug.cgi?id=59435
3037
3038         Reviewed by Eric Seidel.
3039
3040         The bug was caused by inline text boxes created by BRs being placed at the end of the line
3041         according to the block's direction regardless of its unicode bidi-level. e.g. if we have
3042         <div dir="rtl"><span dir="ltr">hello<br>world</span></div>
3043         the inline box generated by the br has the bidi-level of 2 like the rest of text in the span.
3044         This inline text box gives an illusion of having text on the left of "hello" to hit testing
3045         and editing code and causes all sorts of problems.
3046
3047         Fixed the bug by replacing calls to nextLeafChild and prevLeafChild by newly introduced
3048         nextLeafChildIgnoringLineBreak and prevLeafChildIgnoringLineBreak. These two functions will
3049         return 0 when they hit the end of a line or inline text box that's a line break. In effect,
3050         hit testing and editing code can ignore inline boxes generated by br's.
3051
3052         In the long term, we should move these two functions into RenderedPosition along with the rest
3053         of code that converts a Position and an inline box, offset pair.
3054
3055         Test: editing/selection/select-line-break-with-opposite-directionality.html
3056
3057         * dom/Position.cpp:
3058         (WebCore::Position::getInlineBoxAndOffset):
3059         * editing/RenderedPosition.cpp:
3060         (WebCore::RenderedPosition::prevLeafChild):
3061         (WebCore::RenderedPosition::nextLeafChild):
3062         * rendering/InlineBox.cpp:
3063         (WebCore::InlineBox::nextLeafChildIgnoringLineBreak):
3064         (WebCore::InlineBox::prevLeafChildIgnoringLineBreak):
3065         * rendering/InlineBox.h:
3066         * rendering/RenderBlock.cpp:
3067         (WebCore::RenderBlock::positionForPointWithInlineChildren):
3068         * rendering/RenderText.cpp:
3069         (WebCore::lineDirectionPointFitsInBox): If we're on the left of a RTL line, we should stay at
3070         upstream position since we're at the end of a line.
3071         (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi): Merge the two special cases into
3072         the general loop as the comment suggests. Skip an inline text box for a line break at the left
3073         edge when there are more line boxes on the line.
3074         (WebCore::RenderText::positionForPoint):
3075         * rendering/RootInlineBox.cpp:
3076         (WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition): Ignore line boxes created for
3077         line boxes when there are other boxes on the line.
3078
3079 2012-03-02  Adam Treat  <atreat@rim.com>
3080
3081         https://bugs.webkit.org/show_bug.cgi?id=80161
3082         PR: 141157
3083
3084         BlackBerryPlatformScreen.h API has been updated.  Reflect those
3085         changes in our usage.
3086
3087         Reviewed by Antonio Gomes.
3088         Internally reviewed by Jakob Petsovits
3089
3090         * platform/blackberry/PlatformScreenBlackBerry.cpp:
3091         (WebCore::screenAvailableRect):
3092         (WebCore::screenRect):
3093
3094 2012-03-02  Julien Chaffraix  <jchaffraix@webkit.org>
3095
3096         Move the 'overflow' event dispatching logic out of RenderLayer
3097         https://bugs.webkit.org/show_bug.cgi?id=80090
3098
3099         Unreviewed build fix.
3100
3101         * rendering/RenderBlock.cpp:
3102         (OverflowEventDispatcher): Removed the unused function.
3103
3104 2012-03-02  Julien Chaffraix  <jchaffraix@webkit.org>
3105
3106         Move the 'overflow' event dispatching logic out of RenderLayer
3107         https://bugs.webkit.org/show_bug.cgi?id=80090
3108
3109         Reviewed by Simon Fraser.
3110
3111         Test: fast/events/overflow-events-writing-mode.html
3112
3113         This moves the 'overflow' event dispatch from RenderLayer to an helper class
3114         OverflowEventDispatcher. For now, the class lives in RenderBlock as it matches
3115         the existing code but it may be moved later to its own class as FrameView could
3116         benefit from it too or if we need to support 'overflow' events on RenderBoxes.
3117
3118         * rendering/RenderBlock.cpp:
3119         (WebCore):
3120         (OverflowEventDispatcher):
3121         (WebCore::OverflowEventDispatcher::OverflowEventDispatcher):
3122         (WebCore::OverflowEventDispatcher::~OverflowEventDispatcher):
3123         (WebCore::OverflowEventDispatcher::computeOverflowStatus):
3124         RAII dispatcher class that stores the information before layout and compare
3125         them after to dispatch the right information.
3126
3127         (WebCore::RenderBlock::layout): Added an instance of OverflowEventDispatcher.
3128
3129         * rendering/RenderBox.h:
3130         (WebCore::RenderBox::hasHorizontalLayoutOverflow):
3131         (WebCore::RenderBox::hasVerticalLayoutOverflow):
3132         Helper method to know if we have an horizontal / vertical layout overflow.
3133
3134         * rendering/RenderLayer.cpp:
3135         (WebCore::RenderLayer::RenderLayer):
3136         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
3137         * rendering/RenderLayer.h:
3138         Removed the scroll tracking logic as we don't need it anymore. This removes
3139         3 booleans from RenderLayer.
3140
3141 2012-03-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3142
3143         Create a method in Element to compare attributes with other Element
3144         https://bugs.webkit.org/show_bug.cgi?id=80169
3145
3146         Reviewed by Ryosuke Niwa.
3147
3148         Avoid manually peeking at attribute storage to get this information. This
3149         simplify the callsites. The actual implementation of comparison was moved to
3150         ElementAttributeData. The mapsEquivalent() function still exists for the sake
3151         of DocumentType nodes.
3152
3153         * dom/Element.cpp:
3154         (WebCore::Element::hasEquivalentAttributes):
3155         (WebCore):
3156         * dom/Element.h:
3157         (Element):
3158         * dom/ElementAttributeData.cpp:
3159         (WebCore::ElementAttributeData::isEquivalent):
3160         (WebCore):
3161         * dom/ElementAttributeData.h:
3162         (ElementAttributeData):
3163         * dom/NamedNodeMap.cpp:
3164         (WebCore::NamedNodeMap::mapsEquivalent):
3165         * dom/Node.cpp:
3166         (WebCore::Node::isEqualNode):
3167         * editing/htmlediting.cpp:
3168         (WebCore::areIdenticalElements): Use Element::hasTagName() instead of matching
3169         directly to make code a bit clearer.
3170
3171 2012-03-02  Zan Dobersek  <zandobersek@gmail.com>
3172
3173         [GTK] Smooth scrolling support
3174         https://bugs.webkit.org/show_bug.cgi?id=16123
3175
3176         Reviewed by Martin Robinson.
3177
3178         No new tests - no new functionality.
3179
3180         Add the ScrollAnimatorNone class to compilation and enable
3181         the smooth scrolling feature by default at compilation time.
3182
3183         * GNUmakefile.am:
3184         * GNUmakefile.list.am:
3185
3186 2012-03-02  Philippe Normand  <pnormand@igalia.com>
3187
3188         [GStreamer] media/media-can-play-flac-audio.html fails
3189         https://bugs.webkit.org/show_bug.cgi?id=80124
3190
3191         Reviewed by Martin Robinson.
3192
3193         Handle audio/x-flac in the mimeTypeCache() function so that we
3194         advertize both audio/flac and audio/x-flac.
3195
3196         No new tests, this is covered already by media/media-can-play-flac-audio.html.
3197
3198         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3199
3200 2012-03-02  Pavel Podivilov  <podivilov@chromium.org>
3201
3202         Web Inspector: fix fronted compilation.
3203         https://bugs.webkit.org/show_bug.cgi?id=80154
3204
3205         Reviewed by Yury Semikhatsky.
3206
3207         * inspector/front-end/DebuggerModel.js:
3208         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
3209         * inspector/front-end/DebuggerPresentationModel.js:
3210         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
3211         * inspector/front-end/ScriptsSearchScope.js:
3212         (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
3213
3214 2012-03-02  Kaustubh Atrawalkar  <kaustubh@motorola.com>
3215
3216         Rename DOMURL to URL in the bindings
3217         https://bugs.webkit.org/show_bug.cgi?id=78214
3218
3219         Reviewed by Kentaro Hara.
3220
3221         No new tests. Interface name change.
3222
3223         * html/DOMURL.idl: Added InterfaceName attribute to DOMURL.
3224
3225 2012-03-02  Roland Steiner  <rolandsteiner@chromium.org>
3226
3227         Add :scope pseudo-class
3228         https://bugs.webkit.org/show_bug.cgi?id=79077
3229
3230         Add :scope pseudo class name & pseudoId
3231         Add selector check for the new pseudo-class
3232
3233         Reviewed by Antti Koivisto.
3234
3235         Test: fast/css/style-scoped/scope-pseudo.html
3236
3237         * css/CSSSelector.cpp:
3238         (WebCore::CSSSelector::pseudoId):
3239         (WebCore::nameToPseudoTypeMap):
3240         (WebCore::CSSSelector::extractPseudoType):
3241         * css/CSSSelector.h:
3242         * css/SelectorChecker.cpp:
3243         (WebCore::SelectorChecker::checkOneSelector):
3244
3245 2012-03-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3246
3247         Make parser code not depend on NamedNodeMap
3248         https://bugs.webkit.org/show_bug.cgi?id=79963
3249
3250         Reviewed by Adam Barth.
3251
3252         Instead of creating Element-less NamedNodeMaps, the parsing code now creates
3253         AttributeVectors, that are used to fill Element via the parserSetAttributes()
3254         method. This allows us to remove even more methods from the NamedNodeMap.
3255
3256         The AttributeVector class contains convenience methods that take the attribute's
3257         QualifiedName as parameter. This class is also used inside ElementAttributeData.
3258
3259         * dom/Attr.h:
3260         (Attr):
3261         * dom/Element.cpp:
3262         (WebCore::Element::getAttribute):
3263         (WebCore::Element::parserSetAttributes): Now we have to create the attribute
3264         storage, and fill it (by Vector::swap()) with the passed attributes. Also use an
3265         early return to reduce indentation.
3266         (WebCore::Element::insertedIntoDocument):
3267         (WebCore::Element::removedFromDocument):
3268         (WebCore::Element::getURLAttribute):
3269         (WebCore::Element::getNonEmptyURLAttribute):
3270         * dom/Element.h:
3271         (Element):
3272         (WebCore::Element::fastHasAttribute):
3273         (WebCore::Element::fastGetAttribute):
3274         (WebCore::Element::hasAttributesWithoutUpdate):
3275         (WebCore::Element::attributeItem):
3276         (WebCore::Element::getAttributeItem):
3277         * dom/ElementAttributeData.cpp:
3278         (WebCore::AttributeVector::removeAttribute):
3279         (WebCore):
3280         * dom/ElementAttributeData.h:
3281         (AttributeVector):
3282         (WebCore::AttributeVector::create):
3283         (WebCore::AttributeVector::attributeItem):
3284         (WebCore::AttributeVector::AttributeVector):
3285         (WebCore):
3286         (WebCore::AttributeVector::getAttributeItem):
3287         (WebCore::AttributeVector::getAttributeItemIndex):
3288         (WebCore::AttributeVector::insertAttribute): Boolean parameter isn't necessary
3289         since all the callers used 'false', indicating that duplicates were not allowed.
3290         (WebCore::ElementAttributeData::attributeItem):
3291         (WebCore::ElementAttributeData::getAttributeItem):
3292         (WebCore::ElementAttributeData::getAttributeItemIndex):
3293         (ElementAttributeData):
3294         * dom/NamedNodeMap.cpp:
3295         (WebCore::NamedNodeMap::getNamedItem):
3296         (WebCore::NamedNodeMap::setNamedItem):
3297         (WebCore::NamedNodeMap::removeNamedItem):
3298         (WebCore::NamedNodeMap::mapsEquivalent):
3299         * dom/NamedNodeMap.h:
3300         * html/parser/HTMLConstructionSite.cpp:
3301         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
3302         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
3303         (WebCore::HTMLConstructionSite::insertScriptElement):
3304         (WebCore::HTMLConstructionSite::createElement):
3305         (WebCore::HTMLConstructionSite::createHTMLElement):
3306         (WebCore):
3307         * html/parser/HTMLToken.h:
3308         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
3309         * html/parser/HTMLTreeBuilder.cpp:
3310         (WebCore::HTMLTreeBuilder::processFakeStartTag):
3311         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
3312         (WebCore):
3313         * html/parser/HTMLTreeBuilder.h:
3314         * html/parser/TextDocumentParser.cpp:
3315         (WebCore::TextDocumentParser::insertFakePreElement):
3316         * xml/parser/MarkupTokenBase.h:
3317         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
3318         (WebCore::AtomicMarkupTokenBase::attributes):
3319         (WebCore::AtomicMarkupTokenBase::takeAttributes):
3320         (AtomicMarkupTokenBase):
3321         (WebCore::::initializeAttributes):
3322         * xml/parser/XMLToken.h:
3323         (WebCore::AtomicXMLToken::AtomicXMLToken):
3324         * xml/parser/XMLTreeBuilder.cpp:
3325         (WebCore::XMLTreeBuilder::processNamespaces):
3326         (WebCore::XMLTreeBuilder::processAttributes):
3327
3328 2012-03-02  Yury Semikhatsky  <yurys@chromium.org>
3329
3330         Web Inspector: assertion failure in JSMainThreadExecState::instrumentedCall
3331         https://bugs.webkit.org/show_bug.cgi?id=80152
3332
3333         Extracted common code of JS call instrumentation into instrumentFunctionCall method
3334         and call it directly where the instrumentation is needed instead of calling
3335         JSMainThreadExecState::instrumentedCall which works on the main thread only.
3336
3337         Reviewed by Pavel Feldman.
3338
3339         * bindings/js/JSCallbackData.cpp:
3340         (WebCore::JSCallbackData::invokeCallback):
3341         * bindings/js/JSEventListener.cpp:
3342         (WebCore::JSEventListener::handleEvent):
3343         * bindings/js/JSMainThreadExecState.h:
3344         (WebCore::JSMainThreadExecState::instrumentFunctionCall):
3345
3346 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
3347
3348         [Forms] Make order of attribute/method in HTMLTextAreaElement.idl as same as specification
3349         https://bugs.webkit.org/show_bug.cgi?id=80101
3350
3351         Reviewed by Kent Tamura.
3352
3353         No new tests. No behavior changes.
3354
3355         * html/HTMLTextAreaElement.idl: Reorder attribute/method position.
3356
3357 2012-03-02  Patrick Gansterer  <paroga@webkit.org>
3358
3359         Build fix after r109538.
3360
3361         * CMakeLists.txt:
3362         * Modules/websockets/WebSocketDeflater.cpp:
3363
3364 2012-03-02  Roland Steiner  <rolandsteiner@chromium.org>
3365
3366         Scoped stylesheets don't appear to work in Shadow DOM
3367         https://bugs.webkit.org/show_bug.cgi?id=79549
3368
3369         Make the scope stack in CSSStyleSelector use ContainerNode* instead of Element*.
3370         Adapt using sites accordingly.
3371         Push the ShadowRoot to the scope stack in the same way that elements are pushed.
3372         Fix an issue with removedFromDocument() on destruction.
3373
3374         Reviewed by Antti Koivisto.
3375
3376         Test: fast/css/style-scoped/style-scoped-in-shadow.html
3377
3378         * css/CSSStyleSelector.cpp:
3379         (RuleSet):
3380         (WebCore::CSSStyleSelector::CSSStyleSelector):
3381         (WebCore::CSSStyleSelector::determineScope):
3382         (WebCore::CSSStyleSelector::ruleSetForScope):
3383         (WebCore::CSSStyleSelector::appendAuthorStylesheets):
3384         (WebCore::CSSStyleSelector::setupScopeStack):
3385         (WebCore::CSSStyleSelector::pushScope):
3386         (WebCore):
3387         (WebCore::CSSStyleSelector::popScope):
3388         (WebCore::CSSStyleSelector::pushParentElement):
3389         (WebCore::CSSStyleSelector::popParentElement):
3390         (WebCore::CSSStyleSelector::pushParentShadowRoot):
3391         (WebCore::CSSStyleSelector::popParentShadowRoot):
3392         (WebCore::CSSStyleSelector::matchScopedAuthorRules):
3393         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3394         * css/CSSStyleSelector.h:
3395         (CSSStyleSelector):
3396         (WebCore::CSSStyleSelector::pushScope):
3397         (WebCore::CSSStyleSelector::popScope):
3398         (WebCore::CSSStyleSelector::MatchOptions::MatchOptions):
3399         (MatchOptions):
3400         (WebCore::CSSStyleSelector::scopeStackIsConsistent):
3401         (WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame):
3402         (ScopeStackFrame):
3403         * css/SelectorChecker.h:
3404         (SelectorCheckingContext):
3405         * dom/Element.cpp:
3406         (WebCore::StyleSelectorParentPusher::push):
3407         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
3408         (WebCore::Element::beginParsingChildren):
3409         (WebCore::Element::finishParsingChildren):
3410         * dom/ShadowRoot.cpp:
3411         (WebCore::ShadowRoot::attach):
3412         (WebCore):
3413         * dom/ShadowRoot.h:
3414         (ShadowRoot):
3415         * dom/ShadowTree.cpp:
3416         (WebCore::ShadowTree::recalcShadowTreeStyle):
3417         * html/HTMLStyleElement.cpp:
3418         (WebCore::HTMLStyleElement::removedFromDocument):
3419
3420 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
3421
3422         [Forms] Make order of attribute/method in HTMLSelectElement.idl as same as specification
3423         https://bugs.webkit.org/show_bug.cgi?id=80097
3424
3425         Reviewed by Kent Tamura.
3426
3427         No new tests. No behavior changes.
3428
3429         * html/HTMLSelectElement.idl: Reorder attribute/method position.
3430
3431 2012-03-02  Pavel Podivilov  <podivilov@chromium.org>
3432
3433         Web Inspector: limit RawSourceCode usages to DebuggerPresentationModel.
3434         https://bugs.webkit.org/show_bug.cgi?id=80146
3435
3436         Reviewed by Vsevolod Vlasov.
3437
3438         * inspector/front-end/DebuggerPresentationModel.js:
3439         (WebInspector.DebuggerPresentationModel.prototype.uiLocationToRawLocation):
3440         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
3441         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
3442         * inspector/front-end/ObjectPopoverHelper.js:
3443         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
3444         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
3445         * inspector/front-end/ScriptsSearchScope.js:
3446         (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
3447
3448 2012-03-02  Pavel Podivilov  <podivilov@chromium.org>
3449
3450         Web Inspector: update execution line using LiveLocation.
3451         https://bugs.webkit.org/show_bug.cgi?id=80143
3452
3453         Reviewed by Vsevolod Vlasov.
3454
3455         * inspector/front-end/DebuggerPresentationModel.js:
3456         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
3457         (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
3458         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.updateExecutionLine):
3459         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
3460
3461 2012-03-02  Leo Yang  <leo.yang@torchmobile.com.cn>
3462
3463         [BlackBerry] Build fix for LocalizedStringsBlackBerry.cpp
3464         https://bugs.webkit.org/show_bug.cgi?id=80099
3465
3466         Unreviewed build fix.
3467
3468         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
3469
3470 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3471
3472         Fix build on AppleWebKit after 109548.
3473
3474         * WebCore.exp.in:
3475
3476 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
3477
3478         [Forms] Make order of attribute/method in HTMLOptionElement.idl as same as specification
3479         https://bugs.webkit.org/show_bug.cgi?id=80095
3480
3481         Reviewed by Kentaro Hara.
3482
3483         No new tests. No behavior changes.
3484
3485         * html/HTMLOptionElement.idl: Reorder attribute/method position.
3486
3487 2012-03-02  Adam Barth  <abarth@webkit.org>
3488
3489         WorkerContext shouldn't know about IndexedDB
3490         https://bugs.webkit.org/show_bug.cgi?id=80094
3491
3492         Reviewed by Kentaro Hara.
3493
3494         There are still a couple IndexedDB stragglers we should clean up in
3495         WebCore proper.  This patch moves some IndexedDB logic from
3496         WorkerContext into the indexeddb module.
3497
3498         In the process of writing this patch, I noticed that some IndexedDB
3499         files were missing from various build systems, so I added them.  I
3500         suspect that means IndexedDB is only enabled by default on Chromium.
3501
3502         * CMakeLists.txt:
3503         * DerivedSources.make:
3504         * DerivedSources.pri:
3505         * GNUmakefile.list.am:
3506         * Modules/indexeddb/WorkerContextIndexedDatabase.cpp: Added.
3507         (WebCore):
3508         (WebCore::WorkerContextIndexedDatabase::WorkerContextIndexedDatabase):
3509         (WebCore::WorkerContextIndexedDatabase::~WorkerContextIndexedDatabase):
3510         (WebCore::WorkerContextIndexedDatabase::from):
3511         (WebCore::WorkerContextIndexedDatabase::webkitIndexedDB):
3512         * Modules/indexeddb/WorkerContextIndexedDatabase.h: Added.
3513         (WebCore):
3514         (WorkerContextIndexedDatabase):
3515         * Modules/indexeddb/WorkerContextIndexedDatabase.idl: Added.
3516         * Target.pri:
3517         * WebCore.gypi:
3518         * WebCore.vcproj/WebCore.vcproj:
3519         * WebCore.xcodeproj/project.pbxproj:
3520         * workers/WorkerContext.cpp:
3521         (WebCore):
3522         * workers/WorkerContext.h:
3523         (WebCore):
3524         (WorkerContext):
3525         * workers/WorkerContext.idl:
3526
3527 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
3528
3529         [Qt] Compile WebCore without QtWidgets
3530         https://bugs.webkit.org/show_bug.cgi?id=80141
3531
3532         Reviewed by Tor Arne Vestbø.
3533
3534         * Target.pri: Don't add widgets to QT.
3535         * WebCore.pri: Use QT += opengl only with Qt 4, because it has an implicit QtWidgets
3536         dependency. With Qt 5 all necessary OpenGL API is part of QtGui (with a QOpenGL* prefix).
3537
3538 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
3539
3540         [Forms] Make order of attribute/method in HTMLFormElement.idl as same as specification
3541         https://bugs.webkit.org/show_bug.cgi?id=80093
3542
3543         Reviewed by Kentaro Hara.
3544
3545         No new tests. No behavior changes
3546
3547         * html/HTMLFormElement.idl: Reorder attribute/method position.
3548
3549 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
3550
3551         [Forms] Make order of attribute/method in HTMLButtonElement.idl as same as specification
3552         https://bugs.webkit.org/show_bug.cgi?id=80091
3553
3554         Reviewed by Kentaro Hara.
3555
3556         No new tests. No behavior changes.
3557
3558         * html/HTMLButtonElement.idl: Reorder attribute/method position.
3559
3560 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3561
3562         Suspend/Resume API for pausing timers and animations.
3563         https://bugs.webkit.org/show_bug.cgi?id=76063
3564
3565         Reviewed by Kenneth Rohde Christiansen.
3566
3567         * dom/ActiveDOMObject.h:
3568             New ReasonForSuspension: PageWillBePaused.
3569         * html/HTMLMediaElement.cpp:
3570         (WebCore::HTMLMediaElement::suspend): Handle new ReasonForSuspension.
3571         * page/Frame.cpp:
3572         (WebCore::Frame::Frame):
3573         (WebCore::Frame::setDocument):
3574         (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
3575         (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
3576         * page/Frame.h:
3577         (WebCore::Frame::activeDOMObjectsAndAnimationsSuspended):
3578             Frame now maintains a state of suspending animation and ActiveDOMObjects,
3579             which is inherited to all child-frames.
3580         * page/Page.cpp:
3581         (WebCore::Page::suspendActiveDOMObjectsAndAnimations):
3582         (WebCore::Page::resumeActiveDOMObjectsAndAnimations):
3583         * page/Page.h:
3584             Functions for suspending and resuming active DOM objects and animations in all frames.
3585         * rendering/RenderObject.cpp:
3586         (WebCore::RenderObject::willRenderImage):
3587             WillRenderImage now checks for suspension. This causes animated images to pause
3588             together with all other types of animations.
3589
3590 2012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
3591
3592         [Forms] Make order of attribute/method in HTMLFieldSetElement.idl as same as specification
3593         https://bugs.webkit.org/show_bug.cgi?id=80092
3594
3595         Reviewed by Kentaro Hara.
3596
3597         No new tests. No behavior changes.
3598
3599         * html/HTMLFieldSetElement.idl: Reorder attribute/method position.
3600
3601 2012-03-02  Antti Koivisto  <antti@apple.com>
3602
3603         possible regression: r104060 maybe causing crashes
3604         https://bugs.webkit.org/show_bug.cgi?id=75676
3605
3606         Rubber-stamped by Simon Hausmann.
3607
3608         Remove the speculative fix (the problem was elsewhere, http://trac.webkit.org/changeset/104845).
3609
3610         Also remove the debugging code added for this bug.
3611     
3612         * dom/Document.cpp:
3613         (WebCore::Document::Document):
3614         (WebCore::Document::clearStyleSelector):
3615         (WebCore::Document::updateActiveStylesheets):
3616         * dom/Document.h:
3617         (Document):
3618
3619 2012-03-01  Alexander Pavlov  <apavlov@chromium.org>
3620
3621         Web Inspector: Implement suggestions in Watch Expressions
3622         https://bugs.webkit.org/show_bug.cgi?id=79912
3623
3624         Drive-by: make subproperties in ObjectPropertySections editable
3625
3626         Reviewed by Pavel Feldman.
3627
3628         * inspector/front-end/ConsoleView.js:
3629         (WebInspector.ConsoleView):
3630         (WebInspector.ConsoleView.prototype.completionsForTextPrompt):
3631         * inspector/front-end/DatabaseQueryView.js:
3632         * inspector/front-end/ObjectPropertiesSection.js:
3633         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
3634         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
3635         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
3636         (WebInspector.ObjectPropertyTreeElement.prototype.renderPromptAsBlock):
3637         (WebInspector.ObjectPropertyTreeElement.prototype.elementAndValueToEdit):
3638         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing.blurListener):
3639         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
3640         (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded):
3641         (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled):
3642         (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted):
3643         (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
3644         (WebInspector.ObjectPropertyPrompt):
3645         * inspector/front-end/StylesSidebarPane.js:
3646         * inspector/front-end/TextPrompt.js:
3647         (WebInspector.TextPrompt.prototype.complete):
3648         * inspector/front-end/WatchExpressionsSidebarPane.js:
3649         (WebInspector.WatchExpressionTreeElement.prototype.renderPromptAsBlock):
3650         (WebInspector.WatchExpressionTreeElement.prototype.elementAndValueToEdit):
3651         (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
3652         * inspector/front-end/inspector.css:
3653         (.watch-expressions > li.editing-sub-part .text-prompt):
3654
3655 2012-03-02  Antti Koivisto  <antti@apple.com>
3656
3657         REGRESSION (r104060): Page contents not painted if inserting a new stylesheet and temporary body node
3658         https://bugs.webkit.org/show_bug.cgi?id=76590
3659
3660         Reviewed by Maciej Stachowiak.
3661
3662         Test: fast/css/pending-stylesheet-repaint.html
3663         
3664         If there has been a style recalc with a pending stylesheet, the forced repaint will need to be triggered even
3665         if the stylesheet doesn't affect the rendering. Otherwise we may end up never painting at all.
3666
3667         * dom/Document.cpp:
3668         (WebCore::Document::styleSelectorChanged):
3669
3670 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
3671
3672         [Qt] Move QStyle theming code out of WebCore into WebKit1
3673         https://bugs.webkit.org/show_bug.cgi?id=80128
3674
3675         Reviewed by Kenneth Rohde Christiansen.
3676
3677         Moved QStyle dependant code into WebKit1, where it's okay to depend on
3678         QtWidgets/QStyle. Added factory hooks into RenderThemeQt to allow changing
3679         the default "mobile" style to QStyle on start-up.
3680
3681         * Target.pri:
3682         * platform/qt/RenderThemeQt.cpp:
3683         (WebCore):
3684         (WebCore::RenderThemeQt::setCustomTheme):
3685         (WebCore::RenderThemeQt::customScrollbarTheme):
3686         (WebCore::createTheme):
3687         (WebCore::RenderTheme::themeForPage):
3688         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
3689         * platform/qt/RenderThemeQt.h:
3690         (WebCore):
3691         (RenderThemeQt):
3692         * platform/qt/RenderThemeQtMobile.cpp:
3693         * platform/qt/ScrollbarThemeQt.cpp:
3694         (WebCore::ScrollbarTheme::nativeTheme):
3695
3696 2012-03-02  Luke Macpherson   <macpherson@chromium.org>
3697
3698         Handle CSSPropertyWebkitColumnRuleStyle in CSSStyleApplyProperty.
3699         https://bugs.webkit.org/show_bug.cgi?id=80085
3700
3701         Reviewed by Eric Seidel.
3702
3703         No new tests / refactoring only.
3704
3705         * css/CSSStyleApplyProperty.cpp:
3706         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3707         * css/CSSStyleSelector.cpp:
3708         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3709
3710 2012-03-02  Yury Semikhatsky  <yurys@chromium.org>
3711
3712         Web Inspector: enable Timeline panel for workers
3713         https://bugs.webkit.org/show_bug.cgi?id=80130
3714
3715         Enabled Timeline panel for worker inspector. Refactored
3716         JS function calls instrumentation to work for both
3717         worker contexts and documents.
3718
3719         Reviewed by Pavel Feldman.
3720
3721         * bindings/js/JSCallbackData.cpp:
3722         (WebCore::JSCallbackData::invokeCallback):
3723         * bindings/js/JSEventListener.cpp:
3724         (WebCore::JSEventListener::handleEvent):
3725         * bindings/js/JSMainThreadExecState.h:
3726         (WebCore):
3727         (WebCore::JSMainThreadExecState::instrumentedCall):
3728         * bindings/js/ScriptState.cpp:
3729         (WebCore::scriptExecutionContextFromScriptState):
3730         (WebCore):
3731         * bindings/js/ScriptState.h:
3732         (WebCore):
3733         * bindings/v8/ScriptState.cpp:
3734         (WebCore::ScriptState::scriptExecutionContext):
3735         (WebCore):
3736         (WebCore::scriptExecutionContextFromScriptState):
3737         * bindings/v8/ScriptState.h:
3738         (WebCore):
3739         (ScriptState):
3740         * bindings/v8/V8Proxy.cpp:
3741         (WebCore::V8Proxy::instrumentedCallFunction):
3742         * bindings/v8/V8WorkerContextEventListener.cpp:
3743         (WebCore::V8WorkerContextEventListener::callListenerFunction):
3744         * inspector/InjectedScript.cpp:
3745         (WebCore::InjectedScript::callFunctionWithEvalEnabled):
3746         * inspector/InspectorInstrumentation.cpp:
3747         (WebCore):
3748         (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
3749         * inspector/InspectorInstrumentation.h:
3750         (InspectorInstrumentation):
3751         (WebCore::InspectorInstrumentation::willCallFunction):
3752         (WebCore):
3753         (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
3754         * inspector/WorkerInspectorController.cpp:
3755         (WebCore::WorkerInspectorController::WorkerInspectorController):
3756         (WebCore::WorkerInspectorController::connectFrontend):
3757         (WebCore::WorkerInspectorController::disconnectFrontend):
3758         (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
3759         * inspector/WorkerInspectorController.h:
3760         (WebCore):
3761         (WorkerInspectorController):
3762         * inspector/front-end/inspector.js:
3763         (WebInspector._createPanels):
3764
3765 2012-03-02  Kenichi Ishibashi  <bashi@chromium.org>
3766
3767         Adding WebSocket per-frame DEFLATE extension
3768         https://bugs.webkit.org/show_bug.cgi?id=77522
3769
3770         Add WebSocketDeflateFramer class which handles deflate-frame extension.
3771         This class encapsulates WebSocketDeflater and WebSocketInflater classes,
3772         which depend on zlib, so that WebSocketChannel is not necessary to aware
3773         zlib dependency.
3774
3775         Reviewed by Kent Tamura.
3776
3777         Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
3778                http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
3779                http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
3780                http/tests/websocket/tests/hybi/deflate-frame-parameter.html
3781
3782         * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
3783         * GNUmakefile.list.am: Ditto.
3784         * Target.pri: Ditto.
3785         * WebCore.gypi: Ditto.
3786         * WebCore.gyp/WebCore.gyp: Added zlib dependency.
3787         * WebCore.vcproj/WebCore.vcproj: Added WebSocketDeflateFramer.(cpp|h)
3788         * WebCore.xcodeproj/project.pbxproj: Ditto.
3789         * websockets/WebSocket.cpp:
3790         (WebCore::WebSocket::didConnect): Set m_extensions.
3791         * websockets/WebSocketChannel.cpp:
3792         (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
3793         (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
3794         (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
3795         (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
3796         * websockets/WebSocketChannel.h:
3797         * websockets/WebSocketDeflateFramer.cpp: Added.
3798         (WebCore):
3799         (WebSocketExtensionDeflateFrame):
3800         (WebCore::WebSocketExtensionDeflateFrame::create):
3801         (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
3802         (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
3803         (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
3804         (WebCore::WebSocketExtensionDeflateFrame::processResponse):
3805         (WebCore::DeflateResultHolder::DeflateResultHolder):
3806         (WebCore::DeflateResultHolder::~DeflateResultHolder):
3807         (WebCore::DeflateResultHolder::fail):
3808         (WebCore::InflateResultHolder::InflateResultHolder):
3809         (WebCore::InflateResultHolder::~InflateResultHolder):
3810         (WebCore::InflateResultHolder::fail):
3811         (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
3812         (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
3813         (WebCore::WebSocketDeflateFramer::canDeflate):
3814         (WebCore::WebSocketDeflateFramer::enableDeflate):
3815         (WebCore::WebSocketDeflateFramer::deflate):
3816         (WebCore::WebSocketDeflateFramer::resetDeflateContext):
3817         (WebCore::WebSocketDeflateFramer::inflate):
3818         (WebCore::WebSocketDeflateFramer::resetInflateContext):
3819         (WebCore::WebSocketDeflateFramer::didFail):
3820         * websockets/WebSocketDeflateFramer.h: Added.
3821         (WebCore):
3822         (DeflateResultHolder):
3823         (WebCore::DeflateResultHolder::succeeded):
3824         (WebCore::DeflateResultHolder::failureReason):
3825         (InflateResultHolder):
3826         (WebCore::InflateResultHolder::succeeded):
3827         (WebCore::InflateResultHolder::failureReason):
3828         (WebSocketDeflateFramer):
3829         (WebCore::WebSocketDeflateFramer::enabled):
3830
3831 2012-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
3832
3833         Web Inspector: [InspectorIndexedDB] Show meaningful description for object store items values.
3834         https://bugs.webkit.org/show_bug.cgi?id=79691
3835
3836         Reviewed by Pavel Feldman.
3837
3838         * inspector/front-end/IndexedDBModel.js:
3839         (WebInspector.IndexedDBModel.idbKeyFromKey):
3840         * inspector/front-end/IndexedDBViews.js:
3841         (WebInspector.IDBDataView.prototype._updateData.callback):
3842         (WebInspector.IDBDataView.prototype._updateData):
3843         (WebInspector.IDBDataGridNode.prototype.createCell):
3844         (WebInspector.IDBDataGridNode.prototype._formatValue):
3845         * inspector/front-end/ObjectPropertiesSection.js:
3846         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
3847         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
3848         * inspector/front-end/RemoteObject.js:
3849         (WebInspector.LocalJSONObject.prototype.get subtype):
3850         * inspector/front-end/indexedDBViews.css:
3851         (.indexed-db-data-view .data-grid .data-container td):
3852         (.indexed-db-data-view .data-grid .data-container td.primaryKey-column):
3853         (.indexed-db-data-view .data-grid .data-container td.primaryKey-column div.primitive-value):
3854         (.indexed-db-data-view .data-grid .data-container td .section .header .title):
3855
3856 2012-03-02  Wei James  <james.wei@intel.com>
3857
3858         [Chromium] Layout Test webaudio/audiobuffersource-channels.html is failing
3859         https://bugs.webkit.org/show_bug.cgi?id=79765
3860
3861         Reviewed by Chris Rogers.
3862
3863         * webaudio/AudioBuffer.cpp:
3864         (WebCore::AudioBuffer::create):
3865         * webaudio/AudioBufferSourceNode.cpp:
3866         (WebCore::AudioBufferSourceNode::setBuffer):
3867         * webaudio/AudioContext.h:
3868         (WebCore):
3869         (AudioContext):
3870         (WebCore::AudioContext::maxNumberOfChannels):
3871         * webaudio/AudioNodeOutput.cpp:
3872         (WebCore::AudioNodeOutput::AudioNodeOutput):
3873         (WebCore::AudioNodeOutput::setNumberOfChannels):
3874
3875 2012-03-02  Luke Macpherson   <macpherson@chromium.org>
3876
3877         Handle CSSPropertyWebkitRegionBreakAfter, CSSPropertyWebkitRegionBreakBefore and CSSPropertyWebkitRegionBreakInside in CSSStyleApplyProperty.
3878         https://bugs.webkit.org/show_bug.cgi?id=80066
3879
3880         Reviewed by Eric Seidel.
3881
3882         No new tests / refactoring only.
3883
3884         * css/CSSStyleApplyProperty.cpp:
3885         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3886         * css/CSSStyleSelector.cpp:
3887         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3888
3889 2012-03-02  Pablo Flouret  <pablof@motorola.com>
3890
3891         Implement DefaultParagraphSeparator execCommand, to let authors choose the default block element
3892         https://bugs.webkit.org/show_bug.cgi?id=59961
3893
3894         Reviewed by Ryosuke Niwa.
3895
3896         http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#the-defaultparagraphseparator-command
3897
3898         Test: editing/execCommand/default-paragraph-separator.html
3899
3900         * editing/Editor.cpp:
3901         (WebCore::Editor::Editor):
3902         * editing/Editor.h:
3903         (WebCore::Editor::defaultParagraphSeparator):
3904         (WebCore::Editor::setDefaultParagraphSeparator):
3905         (Editor):
3906         * editing/EditorCommand.cpp:
3907         (WebCore::executeDefaultParagraphSeparator):
3908         (WebCore):
3909         (WebCore::valueDefaultParagraphSeparator):
3910         (WebCore::createCommandMap):
3911         * editing/htmlediting.cpp:
3912         (WebCore::createDefaultParagraphElement):
3913
3914         * html/HTMLParagraphElement.cpp:
3915         (WebCore::HTMLParagraphElement::create):
3916         (WebCore):
3917         * html/HTMLParagraphElement.h:
3918         (HTMLParagraphElement):
3919             Added create(Document*) method that defaults to pTag as the QualifiedName.
3920
3921 2012-03-02  Kenneth Russell  <kbr@google.com>
3922
3923         [chromium] Fix errors in LayerRendererChromium cleanup
3924         https://bugs.webkit.org/show_bug.cgi?id=80064
3925
3926         Reviewed by James Robinson.
3927
3928         Tested manually by forcing lost context while rendering Flash on
3929         Mac OS in a Debug build.
3930
3931         * platform/graphics/chromium/LayerRendererChromium.cpp:
3932         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3933
3934 2012-03-02  Andy Estes  <aestes@apple.com>
3935
3936         Fix errors found when building the Mac port with ICONDATABASE disabled.
3937         https://bugs.webkit.org/show_bug.cgi?id=80059
3938
3939         Reviewed by Brady Eidson.
3940
3941         * WebCore.exp.in: Only export IconDatabase symbols when the feature is
3942         enabled.
3943         * loader/icon/IconDatabase.h:
3944         (WebCore::IconDatabase::create): WebKit calls this static method, so it
3945         should be defined on the stub class.
3946         (WebCore::IconDatabase::allowDatabaseCleanup): Ditto.
3947         (WebCore::IconDatabase::checkIntegrityBeforeOpening): Ditto.
3948
3949 2012-03-02  Luke Macpherson   <macpherson@chromium.org>
3950
3951         Handle CSSPropertyWebkitColorCorrection in CSSStyleApplyProperty.
3952         https://bugs.webkit.org/show_bug.cgi?id=80056
3953
3954         Reviewed by Eric Seidel.
3955
3956         No new tests / refactoring only.
3957
3958         * css/CSSStyleApplyProperty.cpp:
3959         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3960         * css/CSSStyleSelector.cpp:
3961         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3962
3963 2012-03-02  John Bauman  <jbauman@chromium.org>
3964
3965         [chromium] Send didCommitAndDrawFrame after swap
3966         https://bugs.webkit.org/show_bug.cgi?id=80052
3967
3968         Reviewed by James Robinson.
3969
3970         Sending didCommitAndDrawFrame before the swap was causing plugins to
3971         redraw themselves between compositing and the swap, which reduces
3972         opportunities for optimization.
3973
3974         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3975         (WebCore::CCSingleThreadProxy::compositeAndReadback):
3976         (WebCore::CCSingleThreadProxy::compositeImmediately):
3977         (WebCore::CCSingleThreadProxy::doComposite):
3978         (WebCore):
3979         (WebCore::CCSingleThreadProxy::didSwapFrame):
3980         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3981         (CCSingleThreadProxy):
3982
3983 2012-03-02  Raymond Toy  <rtoy@google.com>
3984
3985         AudioParam needs tests for the parameter automation routines.
3986         https://bugs.webkit.org/show_bug.cgi?id=77666
3987
3988         Reviewed by Chris Rogers.
3989
3990         Tests: webaudio/audioparam-linearRampToValueAtTime.html
3991                webaudio/audioparam-setTargetValueAtTime.html
3992                webaudio/audioparam-setValueAtTime.html
3993                webaudio/audioparam-setValueCurveAtTime.html
3994
3995         * webaudio/AudioParamTimeline.cpp:
3996         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Round the
3997         curveIndex to fix timing issue in setValueCurveAtTime.
3998
3999 2012-03-01  Pablo Flouret  <pablof@motorola.com>
4000
4001         Fix code generators to correctly guard header declarations that have a [Conditional] attribute.
4002         https://bugs.webkit.org/show_bug.cgi?id=79375
4003
4004         Reviewed by Kentaro Hara.
4005
4006         In most cases code generators weren't checking the Conditional attribute
4007         when generating code in headers for function/attribute/constants, they
4008         were just guarding against the Conditional for the whole interface.
4009
4010         * bindings/scripts/CodeGeneratorCPP.pm:
4011         (GenerateHeader):
4012         * bindings/scripts/CodeGeneratorJS.pm:
4013         (GenerateHeader):
4014         * bindings/scripts/CodeGeneratorObjC.pm:
4015         (GenerateHeader):
4016         * bindings/scripts/CodeGeneratorV8.pm:
4017         (GenerateHeader):
4018         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
4019         * bindings/scripts/test/CPP/WebDOMTestObj.h:
4020         * bindings/scripts/test/JS/JSTestInterface.h:
4021         (JSTestInterface):
4022         (WebCore):
4023         * bindings/scripts/test/JS/JSTestObj.h:
4024         (WebCore):
4025         * bindings/scripts/test/ObjC/DOMTestInterface.h:
4026         * bindings/scripts/test/ObjC/DOMTestObj.h:
4027
4028
4029 2012-03-01  Dana Jansens  <danakj@chromium.org>
4030
4031         [chromium] Make opaque paint tracker aware of SkCanvas layers
4032         https://bugs.webkit.org/show_bug.cgi?id=79145
4033
4034         Reviewed by Stephen White.
4035
4036         The current opaque paint tracker ignored SkCanvas layers entirely. But
4037         SkCanvas layers can be used to apply things like alpha. So we make it
4038         know about layers, and apply any clipping and SkPaint objects for layers
4039         when tracking a paint.
4040
4041         Image clipping is done via a layer, so we can now also remove the
4042         special-case code around image clipping in PlatformContextSkia and
4043         OpaqueRegionSkia.
4044
4045         Unit test: PlatformContextSkiaTest.contextTransparencyLayerTest
4046
4047         Test: compositing/culling/clear-fixed-iframe.html
4048
4049         * platform/graphics/skia/OpaqueRegionSkia.cpp:
4050         (WebCore::OpaqueRegionSkia::didDrawRect):
4051         (WebCore::OpaqueRegionSkia::didDrawPath):
4052         (WebCore::OpaqueRegionSkia::didDrawPoints):
4053         (WebCore::OpaqueRegionSkia::didDrawBounded):
4054         (WebCore::OpaqueRegionSkia::didDraw):
4055         (WebCore):
4056         * platform/graphics/skia/OpaqueRegionSkia.h:
4057         (OpaqueRegionSkia):
4058         * platform/graphics/skia/PlatformContextSkia.cpp:
4059         * platform/graphics/skia/PlatformContextSkia.h:
4060         (PlatformContextSkia):
4061
4062 2012-03-02  Kent Tamura  <tkent@chromium.org>
4063
4064         Add HTML-capable popup API to ChromeClient
4065         https://bugs.webkit.org/show_bug.cgi?id=79078
4066
4067         Reviewed by Dimitri Glazkov.
4068
4069         This API will be used to implement a calendar picker of <input type=date>.
4070         The code is enclosed with ENABLE_PAGE_POPUP, and doesn't change any
4071         behavior for now.
4072
4073         * page/ChromeClient.h: Added declarations of openPagePopup() and closePagePopup().
4074         * loader/EmptyClients.h:
4075         (EmptyChromeClient): Add empty implementations of new ChromeClient functions.
4076         * page/PagePopup.h: Added.
4077         (PagePopup): Define an empty interface
4078         * page/PagePopupClient.h: Added.
4079         (PagePopupClient): Define an interface to provide various information to HTMLPopup.
4080
4081 2012-03-01  Hironori Bono  <hbono@chromium.org>
4082
4083         Render overflow controls of an RTL element to its left-side.
4084         https://bugs.webkit.org/show_bug.cgi?id=54623
4085
4086         This change adds a new flag WTF_USE_RTL_SCROLLBAR and render the
4087         vertical scrollbars and resizers of RTL elements to their left side if
4088         this new flag is enabled.
4089
4090         Reviewed by Ryosuke Niwa.
4091
4092         Test: platform/chromium/fast/events/rtl-scrollbar.html
4093
4094         * rendering/RenderBlock.cpp:
4095         (WebCore::RenderBlock::addOverflowFromPositionedObjects): Move child elements right.
4096         (WebCore::RenderBlock::determineLogicalLeftPositionForChild): ditto.
4097         * rendering/RenderBox.cpp:
4098         (WebCore::RenderBox::overflowClipRect): Move the content rectangle right.
4099         * rendering/RenderLayer.cpp:
4100         (WebCore::cornerStart): Added a function that calculates the X&