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